summaryrefslogtreecommitdiff
path: root/openstackclient/identity
diff options
context:
space:
mode:
authorJenkins <jenkins@review.openstack.org>2014-03-13 06:33:24 +0000
committerGerrit Code Review <review@openstack.org>2014-03-13 06:33:24 +0000
commitce63fa01219cf4a6e1fab8c3be7e5d20d35f08e1 (patch)
tree156d4e79d0e10aa74d7727d4f2f7a68c14466496 /openstackclient/identity
parent65f094e73802380b967c75c126c0938281973707 (diff)
parent70e6333e7d4b3fa87496ff3a888527693875273b (diff)
downloadpython-openstackclient-ce63fa01219cf4a6e1fab8c3be7e5d20d35f08e1.tar.gz
Merge "Add ability to set key value pairs in projects"
Diffstat (limited to 'openstackclient/identity')
-rw-r--r--openstackclient/identity/v2_0/project.py22
-rw-r--r--openstackclient/identity/v3/project.py22
2 files changed, 44 insertions, 0 deletions
diff --git a/openstackclient/identity/v2_0/project.py b/openstackclient/identity/v2_0/project.py
index 2d0acb8f..60a52ad4 100644
--- a/openstackclient/identity/v2_0/project.py
+++ b/openstackclient/identity/v2_0/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
@@ -53,6 +54,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):
@@ -62,11 +70,15 @@ 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.tenants.create(
parsed_args.name,
description=parsed_args.description,
enabled=enabled,
+ **kwargs
)
info = {}
@@ -163,6 +175,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):
@@ -172,6 +191,7 @@ class SetProject(command.Command):
if (not parsed_args.name
and not parsed_args.description
and not parsed_args.enable
+ and not parsed_args.property
and not parsed_args.disable):
return
@@ -189,6 +209,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 'name' in kwargs:
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: