diff options
| author | Rodrigo Duarte <rodrigods@lsd.ufcg.edu.br> | 2014-09-22 14:04:01 +0000 |
|---|---|---|
| committer | Rodrigo Duarte Sousa <rodrigods@lsd.ufcg.edu.br> | 2015-03-23 15:45:09 -0300 |
| commit | 2ed0e220490da5c6ee8f34754d70540890b17921 (patch) | |
| tree | 9c3b9babe4656f579ad3a3ad018f44320a7f47a1 /openstackclient/identity | |
| parent | a8c44074f93815ea670d4bc09156795c66505f31 (diff) | |
| download | python-openstackclient-2ed0e220490da5c6ee8f34754d70540890b17921.tar.gz | |
Add parent field to project creation
Adding the possibility to create projects hierarchies by adding
the parent field in the create project call.
Co-Authored-By: Victor Silva <victor@lsd.ufcg.edu.br>
Implements: bp hierarchical-multitenancy
Change-Id: I4eac4f5bc067634cc38c305dacc59ab1da63c153
Diffstat (limited to 'openstackclient/identity')
| -rw-r--r-- | openstackclient/identity/v3/project.py | 15 |
1 files changed, 13 insertions, 2 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py index 1c93ad5d..49979763 100644 --- a/openstackclient/identity/v3/project.py +++ b/openstackclient/identity/v3/project.py @@ -47,6 +47,11 @@ class CreateProject(show.ShowOne): help='Domain owning the project (name or ID)', ) parser.add_argument( + '--parent', + metavar='<project>', + help='Parent of the project (name or ID)', + ) + parser.add_argument( '--description', metavar='<description>', help='Project description', @@ -86,6 +91,13 @@ class CreateProject(show.ShowOne): else: domain = None + parent = None + if parsed_args.parent: + parent = utils.find_resource( + identity_client.projects, + parsed_args.parent, + ).id + enabled = True if parsed_args.disable: enabled = False @@ -97,6 +109,7 @@ class CreateProject(show.ShowOne): project = identity_client.projects.create( name=parsed_args.name, domain=domain, + parent=parent, description=parsed_args.description, enabled=enabled, **kwargs @@ -111,8 +124,6 @@ class CreateProject(show.ShowOne): raise e project._info.pop('links') - # TODO(stevemar): Remove the line below when we support multitenancy - project._info.pop('parent_id', None) return zip(*sorted(six.iteritems(project._info))) |
