Exemplo n.º 1
0
    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
        )
Exemplo n.º 2
0
    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
Exemplo n.º 3
0
    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
Exemplo n.º 4
0
    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)))
Exemplo n.º 5
0
    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
Exemplo n.º 7
0
    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
Exemplo n.º 8
0
    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)))
Exemplo n.º 9
0
    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)))
Exemplo n.º 10
0
    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)))
Exemplo n.º 11
0
    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
Exemplo n.º 12
0
    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)
Exemplo n.º 13
0
    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),
        )
Exemplo n.º 15
0
    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)))
Exemplo n.º 16
0
    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
        )
Exemplo n.º 17
0
    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
        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))
Exemplo n.º 19
0
 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)))
Exemplo n.º 21
0
    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))
Exemplo n.º 22
0
    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))
Exemplo n.º 23
0
 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):
        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)))
Exemplo n.º 25
0
    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)))
Exemplo n.º 26
0
    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)))
Exemplo n.º 27
0
    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
        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))
Exemplo n.º 29
0
    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)))
Exemplo n.º 30
0
    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))
Exemplo n.º 31
0
    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))
Exemplo n.º 32
0
    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),
        )
Exemplo n.º 33
0
    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()))
Exemplo n.º 34
0
    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)))
Exemplo n.º 35
0
    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))
Exemplo n.º 36
0
    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)
Exemplo n.º 37
0
    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))
Exemplo n.º 38
0
    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
Exemplo n.º 40
0
    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)
Exemplo n.º 41
0
    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)))
Exemplo n.º 43
0
    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)))
Exemplo n.º 44
0
    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
        )
Exemplo n.º 45
0
    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)))