summaryrefslogtreecommitdiff
path: root/openstackclient/identity/v3/project.py
diff options
context:
space:
mode:
Diffstat (limited to 'openstackclient/identity/v3/project.py')
-rw-r--r--openstackclient/identity/v3/project.py22
1 files changed, 22 insertions, 0 deletions
diff --git a/openstackclient/identity/v3/project.py b/openstackclient/identity/v3/project.py
index f245a888..ebae733d 100644
--- a/openstackclient/identity/v3/project.py
+++ b/openstackclient/identity/v3/project.py
@@ -22,6 +22,7 @@ from cliff import command
from cliff import lister
from cliff import show
+from openstackclient.common import parseractions
from openstackclient.common import utils
@@ -58,6 +59,13 @@ class CreateProject(show.ShowOne):
action='store_true',
help='Disable project',
)
+ parser.add_argument(
+ '--property',
+ metavar='<key=value>',
+ action=parseractions.KeyValueAction,
+ help='Property to add for this project '
+ '(repeat option to set multiple properties)',
+ )
return parser
def take_action(self, parsed_args):
@@ -75,12 +83,16 @@ class CreateProject(show.ShowOne):
enabled = True
if parsed_args.disable:
enabled = False
+ kwargs = {}
+ if parsed_args.property:
+ kwargs = parsed_args.property.copy()
project = identity_client.projects.create(
parsed_args.name,
domain,
description=parsed_args.description,
enabled=enabled,
+ **kwargs
)
info = {}
@@ -182,6 +194,13 @@ class SetProject(command.Command):
action='store_true',
help='Disable project',
)
+ parser.add_argument(
+ '--property',
+ metavar='<key=value>',
+ action=parseractions.KeyValueAction,
+ help='Property to add for this project '
+ '(repeat option to set multiple properties)',
+ )
return parser
def take_action(self, parsed_args):
@@ -192,6 +211,7 @@ class SetProject(command.Command):
and not parsed_args.description
and not parsed_args.domain
and not parsed_args.enable
+ and not parsed_args.property
and not parsed_args.disable):
return
@@ -214,6 +234,8 @@ class SetProject(command.Command):
kwargs['enabled'] = True
if parsed_args.disable:
kwargs['enabled'] = False
+ if parsed_args.property:
+ kwargs.update(parsed_args.property)
if 'id' in kwargs:
del kwargs['id']
if 'domain_id' in kwargs: