summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorRodrigo Duarte <rodrigods@lsd.ufcg.edu.br>2014-09-22 14:04:01 +0000
committerRodrigo Duarte Sousa <rodrigods@lsd.ufcg.edu.br>2015-03-23 15:45:09 -0300
commit2ed0e220490da5c6ee8f34754d70540890b17921 (patch)
tree9c3b9babe4656f579ad3a3ad018f44320a7f47a1 /openstackclient/identity
parenta8c44074f93815ea670d4bc09156795c66505f31 (diff)
downloadpython-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.py15
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)))