def take_action(self, parsed_args): identity_client = self.app.client_manager.identity if (not parsed_args.name and not parsed_args.type and not parsed_args.description and not parsed_args.enable and not parsed_args.disable): sys.stderr.write(_("Incorrect set of arguments provided. " "See openstack --help for more details\n")) return service = common.find_service(identity_client, parsed_args.service) kwargs = {} if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.description: kwargs['description'] = parsed_args.description if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False identity_client.services.update( service.id, **kwargs )
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity if (not parsed_args.name and not parsed_args.type and not parsed_args.enable and not parsed_args.disable): return service = common.find_service(identity_client, parsed_args.service) kwargs = {} if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False identity_client.services.update( service.id, **kwargs ) return
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity if (not parsed_args.name and not parsed_args.type and not parsed_args.description and not parsed_args.enable and not parsed_args.disable): return service = common.find_service(identity_client, parsed_args.service) kwargs = {} if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.description: kwargs['description'] = parsed_args.description if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False identity_client.services.update( service.id, **kwargs ) return
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) service._info.pop('links') return zip(*sorted(six.iteritems(service._info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = None if parsed_args.service: service = common_utils.find_service(identity_client, parsed_args.service) region = None if parsed_args.region: region = utils.find_resource(identity_client.regions, parsed_args.region) project = None if parsed_args.project: project = utils.find_resource(identity_client.projects, parsed_args.project) limits = identity_client.limits.list( service=service, resource_name=parsed_args.resource_name, region=region, project=project) columns = ('ID', 'Project ID', 'Service ID', 'Resource Name', 'Resource Limit', 'Description', 'Region ID') return ( columns, (utils.get_item_properties(s, columns) for s in limits), )
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) identity_client.services.delete(service.id) return
def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity if (not parsed_args.name and not parsed_args.type and not parsed_args.enable and not parsed_args.disable): return service = common.find_service(identity_client, parsed_args.service) kwargs = service._info if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False if 'id' in kwargs: del kwargs['id'] identity_client.services.update( service.id, **kwargs ) return
def take_action(self, parsed_args): self.log.debug('take_action(%s)' % parsed_args) identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) return zip(*sorted(six.iteritems(service._info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity project = common_utils.find_project(identity_client, parsed_args.project) service = common_utils.find_service(identity_client, parsed_args.service) region = None if parsed_args.region: val = getattr(parsed_args, 'region', None) if 'None' not in val: # NOTE (vishakha): Due to bug #1799153 and for any another # related case where GET resource API does not support the # filter by name, osc_lib.utils.find_resource() method cannot # be used because that method try to fall back to list all the # resource if requested resource cannot be get via name. Which # ends up with NoUniqueMatch error. # So osc_lib.utils.find_resource() function cannot be used for # 'regions', using common_utils.get_resource() instead. region = common_utils.get_resource(identity_client.regions, parsed_args.region) limit = identity_client.limits.create( project, service, parsed_args.resource_name, parsed_args.resource_limit, description=parsed_args.description, region=region) limit._info.pop('links', None) return zip(*sorted(six.iteritems(limit._info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity project = common_utils.find_project( identity_client, parsed_args.project ) service = common_utils.find_service( identity_client, parsed_args.service ) region = None if parsed_args.region: region = utils.find_resource( identity_client.regions, parsed_args.region ) limit = identity_client.limits.create( project, service, parsed_args.resource_name, parsed_args.resource_limit, description=parsed_args.description, region=region ) limit._info.pop('links', None) return zip(*sorted(six.iteritems(limit._info)))
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) if (not parsed_args.interface and not parsed_args.url and not parsed_args.service and not parsed_args.region and not parsed_args.enabled and not parsed_args.disabled): sys.stdout.write("Endpoint not updated, no arguments present") return service_id = None if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) service_id = service.id enabled = None if parsed_args.enabled: enabled = True if parsed_args.disabled: enabled = False identity_client.endpoints.update(endpoint.id, service=service_id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=enabled) return
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity result = 0 for service in parsed_args.services: try: service = common.find_service(identity_client, service) identity_client.services.delete(service.id) except Exception as e: result += 1 LOG.error( _("Failed to delete service with " "name or ID '%(service)s': %(e)s"), { 'service': service, 'e': e }) if result > 0: total = len(parsed_args.services) msg = (_("%(result)s of %(total)s services failed " "to delete.") % { 'result': result, 'total': total }) raise exceptions.CommandError(msg)
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) if (not parsed_args.interface and not parsed_args.url and not parsed_args.service and not parsed_args.region and not parsed_args.enabled and not parsed_args.disabled): sys.stdout.write("Endpoint not updated, no arguments present") return service_id = None if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) service_id = service.id enabled = None if parsed_args.enabled: enabled = True if parsed_args.disabled: enabled = False identity_client.endpoints.update( endpoint.id, service=service_id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=enabled ) return
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = None if parsed_args.service: service = common_utils.find_service(identity_client, parsed_args.service) region = None if parsed_args.region: val = getattr(parsed_args, 'region', None) if 'None' not in val: # NOTE (vishakha): Due to bug #1799153 and for any another # related case where GET resource API does not support the # filter by name, osc_lib.utils.find_resource() method cannot # be used because that method try to fall back to list all the # resource if requested resource cannot be get via name. Which # ends up with NoUniqueMatch error. # So osc_lib.utils.find_resource() function cannot be used for # 'regions', using common_utils.get_resource() instead. region = common_utils.get_resource(identity_client.regions, parsed_args.region) registered_limits = identity_client.registered_limits.list( service=service, resource_name=parsed_args.resource_name, region=region) columns = ('ID', 'Service ID', 'Resource Name', 'Default Limit', 'Description', 'Region ID') return ( columns, (utils.get_item_properties(s, columns) for s in registered_limits), )
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) return zip(*sorted(six.iteritems(service._info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity if (not parsed_args.name and not parsed_args.type and not parsed_args.description and not parsed_args.enable and not parsed_args.disable): sys.stderr.write("Incorrect set of arguments " "provided. See openstack --help for more " "details\n") return service = common.find_service(identity_client, parsed_args.service) kwargs = {} if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.description: kwargs['description'] = parsed_args.description if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False identity_client.services.update( service.id, **kwargs )
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) identity_client = self.app.client_manager.identity columns = ("ID", "Region", "Service Name", "Service Type", "Enabled", "Interface", "URL") data = identity_client.endpoints.list() for ep in data: service = common.find_service(identity_client, ep.service_id) ep.service_name = service.name ep.service_type = service.type return (columns, (utils.get_item_properties(s, columns, formatters={}) for s in data))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity data = identity_client.endpoints.list() match = None for ep in data: if ep.id == parsed_args.endpoint_or_service: match = ep service = common.find_service(identity_client, ep.service_id) if match is None: service = common.find_service(identity_client, parsed_args.endpoint_or_service) for ep in data: if ep.service_id == service.id: match = ep if match is None: return None info = {} info.update(match._info) info['service_name'] = service.name info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) service = common.find_service(identity_client, endpoint.service_id) info = {} info.update(endpoint._info) info["service_name"] = service.name info["service_type"] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity endpoint = None if parsed_args.endpoint: endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) project = None if parsed_args.project: project = common.find_project(identity_client, parsed_args.project, parsed_args.project_domain) if endpoint: columns = ('ID', 'Name') data = ( identity_client.endpoint_filter .list_projects_for_endpoint(endpoint=endpoint.id) ) else: columns = ('ID', 'Region', 'Service Name', 'Service Type', 'Enabled', 'Interface', 'URL') kwargs = {} if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) kwargs['service'] = service.id if parsed_args.interface: kwargs['interface'] = parsed_args.interface if parsed_args.region: kwargs['region'] = parsed_args.region if project: data = ( identity_client.endpoint_filter .list_endpoints_for_project(project=project.id) ) else: data = identity_client.endpoints.list(**kwargs) service_list = identity_client.services.list() for ep in data: service = common.find_service_in_list(service_list, ep.service_id) ep.service_name = get_service_name(service) ep.service_type = service.type return (columns, (utils.get_item_properties( s, columns, formatters={}, ) for s in data))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) service = common.find_service(identity_client, endpoint.service_id) info = {} endpoint._info.pop('links') info.update(endpoint._info) info['service_name'] = get_service_name(service) info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) service = common.find_service(identity_client, endpoint.service_id) info = {} info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity columns = ('ID', 'Region', 'Service Name', 'Service Type', 'Enabled', 'Interface', 'URL') kwargs = {} if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) kwargs['service'] = service.id if parsed_args.interface: kwargs['interface'] = parsed_args.interface if parsed_args.region: kwargs['region'] = parsed_args.region data = identity_client.endpoints.list(**kwargs) for ep in data: service = common.find_service(identity_client, ep.service_id) ep.service_name = get_service_name(service) ep.service_type = service.type return (columns, (utils.get_item_properties( s, columns, formatters={}, ) for s in data))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) endpoint = identity_client.endpoints.create( parsed_args.region, service.id, parsed_args.publicurl, parsed_args.adminurl, parsed_args.internalurl,) info = {} info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity columns = ('ID', 'Region', 'Service Name', 'Service Type', 'Enabled', 'Interface', 'URL') data = identity_client.endpoints.list() for ep in data: service = common.find_service(identity_client, ep.service_id) ep.service_name = service.name ep.service_type = service.type return (columns, (utils.get_item_properties( s, columns, formatters={}, ) for s in data))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = None if parsed_args.service: service = common_utils.find_service( identity_client, parsed_args.service ) region = None if parsed_args.region: region = utils.find_resource( identity_client.regions, parsed_args.region ) val = getattr(parsed_args, 'region', None) if 'None' not in val: # NOTE (vishakha): Due to bug #1799153 and for any another # related case where GET resource API does not support the # filter by name, osc_lib.utils.find_resource() method cannot # be used because that method try to fall back to list all the # resource if requested resource cannot be get via name. Which # ends up with NoUniqueMatch error. # So osc_lib.utils.find_resource() function cannot be used for # 'regions', using common_utils.get_resource() instead. region = common_utils.get_resource( identity_client.regions, parsed_args.region ) project = None if parsed_args.project: project = utils.find_resource( identity_client.projects, parsed_args.project ) limits = identity_client.limits.list( service=service, resource_name=parsed_args.resource_name, region=region, project=project ) columns = ( 'ID', 'Project ID', 'Service ID', 'Resource Name', 'Resource Limit', 'Description', 'Region ID' ) return ( columns, (utils.get_item_properties(s, columns) for s in limits), )
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) endpoint = identity_client.endpoints.create( service=service.id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=parsed_args.enabled) info = {} endpoint._info.pop('links') info.update(endpoint._info) info['service_name'] = get_service_name(service) info['service_type'] = service.type return zip(*sorted(info.items()))
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) endpoint = identity_client.endpoints.create( service=service.id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=parsed_args.enabled) info = {} info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity if parsed_args.long: columns = ('ID', 'Region', 'Service Name', 'Service Type', 'PublicURL', 'AdminURL', 'InternalURL') else: columns = ('ID', 'Region', 'Service Name', 'Service Type') data = identity_client.endpoints.list() for ep in data: service = common.find_service(identity_client, ep.service_id) ep.service_name = service.name ep.service_type = service.type return (columns, (utils.get_item_properties( s, columns, formatters={}, ) for s in data))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity result = 0 for i in parsed_args.service: try: service = common.find_service(identity_client, i) identity_client.services.delete(service.id) except Exception as e: result += 1 LOG.error(_("Failed to delete consumer with type, " "name or ID '%(service)s': %(e)s"), {'service': i, 'e': e}) if result > 0: total = len(parsed_args.service) msg = (_("%(result)s of %(total)s services failed " "to delete.") % {'result': result, 'total': total}) raise exceptions.CommandError(msg)
def take_action(self, parsed_args): self.log.debug('take_action(%s)', parsed_args) identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) endpoint = identity_client.endpoints.create( service=service.id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=parsed_args.enabled ) info = {} info.update(endpoint._info) info['service_name'] = service.name info['service_type'] = service.type return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): self.log.debug("take_action(%s)" % parsed_args) identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) 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: sys.stdout.write("Endpoint not updated, no arguments present") return identity_client.endpoints.update( endpoint.id, service=service.id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=parsed_args.enabled, ) return
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) service_id = None if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) service_id = service.id enabled = None if parsed_args.enabled: enabled = True if parsed_args.disabled: enabled = False identity_client.endpoints.update(endpoint.id, service=service_id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=enabled)
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = common.find_service(identity_client, parsed_args.service) kwargs = {} if parsed_args.type: kwargs['type'] = parsed_args.type if parsed_args.name: kwargs['name'] = parsed_args.name if parsed_args.description: kwargs['description'] = parsed_args.description if parsed_args.enable: kwargs['enabled'] = True if parsed_args.disable: kwargs['enabled'] = False identity_client.services.update( service.id, **kwargs )
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity auth_ref = self.app.client_manager.auth_ref if parsed_args.catalog: endpoints = auth_ref.service_catalog.get_endpoints( service_type=parsed_args.service) for (service, service_endpoints) in six.iteritems(endpoints): if service_endpoints: info = {"type": service} info.update(service_endpoints[0]) return zip(*sorted(six.iteritems(info))) msg = _("No service catalog with a type, name or ID of '%s' " "exists.") % (parsed_args.service) raise exceptions.CommandError(msg) else: service = common.find_service(identity_client, parsed_args.service) info = {} info.update(service._info) return zip(*sorted(six.iteritems(info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity service = None if parsed_args.service: service = common_utils.find_service(identity_client, parsed_args.service) region = None if parsed_args.region: region = utils.find_resource(identity_client.regions, parsed_args.region) registered_limit = identity_client.registered_limits.update( parsed_args.registered_limit_id, service=service, resource_name=parsed_args.resource_name, default_limit=parsed_args.default_limit, description=parsed_args.description, region=region) registered_limit._info.pop('links', None) return zip(*sorted(six.iteritems(registered_limit._info)))
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity endpoint = utils.find_resource(identity_client.endpoints, parsed_args.endpoint) service_id = None if parsed_args.service: service = common.find_service(identity_client, parsed_args.service) service_id = service.id enabled = None if parsed_args.enabled: enabled = True if parsed_args.disabled: enabled = False identity_client.endpoints.update( endpoint.id, service=service_id, url=parsed_args.url, interface=parsed_args.interface, region=parsed_args.region, enabled=enabled )
def take_action(self, parsed_args): identity_client = self.app.client_manager.identity project = common_utils.find_project( identity_client, parsed_args.project ) service = common_utils.find_service( identity_client, parsed_args.service ) region = None if parsed_args.region: val = getattr(parsed_args, 'region', None) if 'None' not in val: # NOTE (vishakha): Due to bug #1799153 and for any another # related case where GET resource API does not support the # filter by name, osc_lib.utils.find_resource() method cannot # be used because that method try to fall back to list all the # resource if requested resource cannot be get via name. Which # ends up with NoUniqueMatch error. # So osc_lib.utils.find_resource() function cannot be used for # 'regions', using common_utils.get_resource() instead. region = common_utils.get_resource( identity_client.regions, parsed_args.region ) limit = identity_client.limits.create( project, service, parsed_args.resource_name, parsed_args.resource_limit, description=parsed_args.description, region=region ) limit._info.pop('links', None) return zip(*sorted(six.iteritems(limit._info)))