diff options
| author | Jenkins <jenkins@review.openstack.org> | 2014-03-13 06:33:24 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2014-03-13 06:33:24 +0000 |
| commit | ce63fa01219cf4a6e1fab8c3be7e5d20d35f08e1 (patch) | |
| tree | 156d4e79d0e10aa74d7727d4f2f7a68c14466496 /openstackclient/identity | |
| parent | 65f094e73802380b967c75c126c0938281973707 (diff) | |
| parent | 70e6333e7d4b3fa87496ff3a888527693875273b (diff) | |
| download | python-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.py | 22 | ||||
| -rw-r--r-- | openstackclient/identity/v3/project.py | 22 |
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: |
