From bea6e6ac23e893a85f4b0a49bab52934aca86726 Mon Sep 17 00:00:00 2001 From: Terry Howe Date: Wed, 12 Mar 2014 11:51:17 -0600 Subject: Make endpoint commands more consistent Make endpoints more consistent across create, show, etc * Make the name option required for create * Use a common function to fetch services by id, name or type * Have show work by endpoint id or by service id, type or name * Have show display all the fields by default * Remove capability to filter queries by attribute value pairs Change-Id: Idaa4b8d930ba859fd62de777e44a10b1ed58c79b Partial-Bug: #1184012 --- openstackclient/identity/v3/endpoint.py | 13 +++++-------- openstackclient/identity/v3/service.py | 16 ++++------------ 2 files changed, 9 insertions(+), 20 deletions(-) (limited to 'openstackclient/identity/v3') diff --git a/openstackclient/identity/v3/endpoint.py b/openstackclient/identity/v3/endpoint.py index 055f9fe2..a51383ea 100644 --- a/openstackclient/identity/v3/endpoint.py +++ b/openstackclient/identity/v3/endpoint.py @@ -24,6 +24,7 @@ from cliff import lister from cliff import show from openstackclient.common import utils +from openstackclient.identity import common class CreateEndpoint(show.ShowOne): @@ -69,8 +70,7 @@ class CreateEndpoint(show.ShowOne): def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - service = utils.find_resource(identity_client.services, - parsed_args.service) + service = common.find_service(identity_client, parsed_args.service) endpoint = identity_client.endpoints.create( service.id, @@ -122,8 +122,7 @@ class ListEndpoint(lister.Lister): data = identity_client.endpoints.list() for ep in data: - service = utils.find_resource( - identity_client.services, ep.service_id) + service = common.find_service(identity_client, ep.service_id) ep.service_name = service.name ep.service_type = service.type return (columns, @@ -182,8 +181,7 @@ class SetEndpoint(command.Command): identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) - service = utils.find_resource(identity_client.services, - parsed_args.service) + service = common.find_service(identity_client, parsed_args.service) if (not parsed_args.interface and not parsed_args.url and not parsed_args.service and not parsed_args.region): @@ -221,8 +219,7 @@ class ShowEndpoint(show.ShowOne): endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) - service = utils.find_resource(identity_client.services, - endpoint.service_id) + service = common.find_service(identity_client, endpoint.service_id) info = {} info.update(endpoint._info) diff --git a/openstackclient/identity/v3/service.py b/openstackclient/identity/v3/service.py index 7e3bfc6b..8576a6e6 100644 --- a/openstackclient/identity/v3/service.py +++ b/openstackclient/identity/v3/service.py @@ -23,6 +23,7 @@ from cliff import lister from cliff import show from openstackclient.common import utils +from openstackclient.identity import common class CreateService(show.ShowOne): @@ -90,10 +91,7 @@ class DeleteService(command.Command): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - service = utils.find_resource( - identity_client.services, - parsed_args.service, - ) + service = common.find_service(identity_client, parsed_args.service) identity_client.services.delete(service.id) return @@ -161,10 +159,7 @@ class SetService(command.Command): and not parsed_args.disable): return - service = utils.find_resource( - identity_client.services, - parsed_args.service, - ) + service = common.find_service(identity_client, parsed_args.service) kwargs = service._info if parsed_args.type: @@ -203,9 +198,6 @@ class ShowService(show.ShowOne): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity - service = utils.find_resource( - identity_client.services, - parsed_args.service, - ) + service = common.find_service(identity_client, parsed_args.service) return zip(*sorted(six.iteritems(service._info))) -- cgit v1.2.1