diff options
| author | Jenkins <jenkins@review.openstack.org> | 2015-12-22 17:54:22 +0000 |
|---|---|---|
| committer | Gerrit Code Review <review@openstack.org> | 2015-12-22 17:54:22 +0000 |
| commit | 49bed38a89ffb932334b3bdab9e59b32099c9e81 (patch) | |
| tree | 5baa1860d8eeba010f3d836441694d0e20feaa28 /openstackclient/image | |
| parent | a080227b07fc533ca782dd08c4bb17cdf3450bc5 (diff) | |
| parent | 0a444fc949584c9ac2a555bfa9ad221913ad4779 (diff) | |
| download | python-openstackclient-49bed38a89ffb932334b3bdab9e59b32099c9e81.tar.gz | |
Merge "Add owner validation for "openstack image create/set""
Diffstat (limited to 'openstackclient/image')
| -rw-r--r-- | openstackclient/image/v2/image.py | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/openstackclient/image/v2/image.py b/openstackclient/image/v2/image.py index 1fcb92d9..ad536ba2 100644 --- a/openstackclient/image/v2/image.py +++ b/openstackclient/image/v2/image.py @@ -220,6 +220,7 @@ class CreateImage(show.ShowOne): help="Set a tag on this image " "(repeat option to set multiple tags)", ) + common.add_project_domain_option_to_parser(parser) for deadopt in self.deadopts: parser.add_argument( "--%s" % deadopt, @@ -231,6 +232,7 @@ class CreateImage(show.ShowOne): def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) + identity_client = self.app.client_manager.identity image_client = self.app.client_manager.image for deadopt in self.deadopts: @@ -285,6 +287,13 @@ class CreateImage(show.ShowOne): self.log.warning("Failed to get an image file.") return {}, {} + if parsed_args.owner: + kwargs['owner'] = common.find_project( + identity_client, + parsed_args.owner, + parsed_args.project_domain, + ).id + # If a volume is specified. if parsed_args.volume: volume_client = self.app.client_manager.volume @@ -704,6 +713,7 @@ class SetImage(command.Command): action="store_true", help="Activate the image", ) + common.add_project_domain_option_to_parser(parser) for deadopt in self.deadopts: parser.add_argument( "--%s" % deadopt, @@ -715,6 +725,7 @@ class SetImage(command.Command): def take_action(self, parsed_args): self.log.debug("take_action(%s)", parsed_args) + identity_client = self.app.client_manager.identity image_client = self.app.client_manager.image for deadopt in self.deadopts: @@ -779,6 +790,13 @@ class SetImage(command.Command): # Tags should be extended, but duplicates removed kwargs['tags'] = list(set(image.tags).union(set(parsed_args.tags))) + if parsed_args.owner: + kwargs['owner'] = common.find_project( + identity_client, + parsed_args.owner, + parsed_args.project_domain, + ).id + try: image = image_client.images.update(image.id, **kwargs) except Exception as e: |
