v3 Domain CRUD
Change-Id: I830055dc3bd079715403029a85890c40b687f632
This commit is contained in:
		 Dolph Mathews
					Dolph Mathews
				
			
				
					committed by
					
						 Gerrit Code Review
						Gerrit Code Review
					
				
			
			
				
	
			
			
			 Gerrit Code Review
						Gerrit Code Review
					
				
			
						parent
						
							0534c02351
						
					
				
				
					commit
					ac3beb3671
				
			| @@ -17,6 +17,7 @@ import logging | |||||||
|  |  | ||||||
| from keystoneclient.v2_0 import client | from keystoneclient.v2_0 import client | ||||||
| from keystoneclient.v3 import endpoints | from keystoneclient.v3 import endpoints | ||||||
|  | from keystoneclient.v3 import domains | ||||||
| from keystoneclient.v3 import policies | from keystoneclient.v3 import policies | ||||||
| from keystoneclient.v3 import services | from keystoneclient.v3 import services | ||||||
|  |  | ||||||
| @@ -61,6 +62,7 @@ class Client(client.Client): | |||||||
|         super(Client, self).__init__(endpoint=endpoint, **kwargs) |         super(Client, self).__init__(endpoint=endpoint, **kwargs) | ||||||
|  |  | ||||||
|         self.endpoints = endpoints.EndpointManager(self) |         self.endpoints = endpoints.EndpointManager(self) | ||||||
|  |         self.domains = domains.DomainManager(self) | ||||||
|         self.policies = policies.PolicyManager(self) |         self.policies = policies.PolicyManager(self) | ||||||
|         self.services = services.ServiceManager(self) |         self.services = services.ServiceManager(self) | ||||||
|  |  | ||||||
|   | |||||||
							
								
								
									
										55
									
								
								keystoneclient/v3/domains.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										55
									
								
								keystoneclient/v3/domains.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,55 @@ | |||||||
|  | # Copyright 2011 OpenStack LLC. | ||||||
|  | # Copyright 2011 Nebula, Inc. | ||||||
|  | # All Rights Reserved. | ||||||
|  | # | ||||||
|  | #    Licensed under the Apache License, Version 2.0 (the "License"); you may | ||||||
|  | #    not use this file except in compliance with the License. You may obtain | ||||||
|  | #    a copy of the License at | ||||||
|  | # | ||||||
|  | #         http://www.apache.org/licenses/LICENSE-2.0 | ||||||
|  | # | ||||||
|  | #    Unless required by applicable law or agreed to in writing, software | ||||||
|  | #    distributed under the License is distributed on an "AS IS" BASIS, WITHOUT | ||||||
|  | #    WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the | ||||||
|  | #    License for the specific language governing permissions and limitations | ||||||
|  | #    under the License. | ||||||
|  |  | ||||||
|  | from keystoneclient import base | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class Domain(base.Resource): | ||||||
|  |     """Represents an Identity domain. | ||||||
|  |  | ||||||
|  |     Attributes: | ||||||
|  |         * id: a uuid that identifies the domain | ||||||
|  |  | ||||||
|  |     """ | ||||||
|  |     pass | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class DomainManager(base.CrudManager): | ||||||
|  |     """Manager class for manipulating Identity domains.""" | ||||||
|  |     resource_class = Domain | ||||||
|  |     collection_key = 'domains' | ||||||
|  |     key = 'domain' | ||||||
|  |  | ||||||
|  |     def create(self, name, description=None, enabled=True): | ||||||
|  |         return super(DomainManager, self).create( | ||||||
|  |             name=name, | ||||||
|  |             description=description, | ||||||
|  |             enabled=enabled) | ||||||
|  |  | ||||||
|  |     def get(self, domain): | ||||||
|  |         return super(DomainManager, self).get( | ||||||
|  |             domain_id=base.getid(domain)) | ||||||
|  |  | ||||||
|  |     def update(self, domain, name=None, description=None, enabled=None): | ||||||
|  |         return super(DomainManager, self).update( | ||||||
|  |             domain_id=base.getid(domain), | ||||||
|  |             name=name, | ||||||
|  |             description=description, | ||||||
|  |             enabled=enabled) | ||||||
|  |  | ||||||
|  |     def delete(self, domain): | ||||||
|  |         return super(DomainManager, self).delete( | ||||||
|  |             domain_id=base.getid(domain)) | ||||||
							
								
								
									
										20
									
								
								tests/v3/test_domains.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										20
									
								
								tests/v3/test_domains.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,20 @@ | |||||||
|  | import uuid | ||||||
|  |  | ||||||
|  | from keystoneclient.v3 import domains | ||||||
|  | from tests.v3 import utils | ||||||
|  |  | ||||||
|  |  | ||||||
|  | class DomainTests(utils.TestCase, utils.CrudTests): | ||||||
|  |     def setUp(self): | ||||||
|  |         super(DomainTests, self).setUp() | ||||||
|  |         self.additionalSetUp() | ||||||
|  |         self.key = 'domain' | ||||||
|  |         self.collection_key = 'domains' | ||||||
|  |         self.model = domains.Domain | ||||||
|  |         self.manager = self.client.domains | ||||||
|  |  | ||||||
|  |     def new_ref(self, **kwargs): | ||||||
|  |         kwargs = super(DomainTests, self).new_ref(**kwargs) | ||||||
|  |         kwargs.setdefault('enabled', True) | ||||||
|  |         kwargs.setdefault('name', uuid.uuid4().hex) | ||||||
|  |         return kwargs | ||||||
		Reference in New Issue
	
	Block a user