コード例 #1
0
 def get_parser(self, prog_name):
     parser = super(CreateVerification, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar='<provider_id>',
         help=_('The UUID of the provider.')
     )
     parser.add_argument(
         'checkpoint_id',
         metavar='<checkpoint_id>',
         help=_('The UUID of the checkpoint.')
     )
     parser.add_argument(
         '--parameters-json',
         type=str,
         dest='parameters_json',
         metavar='<parameters>',
         default=None,
         help=_('Verification parameters in json format.')
     )
     parser.add_argument(
         '--parameters',
         action='append',
         metavar='resource_type=<type>[,resource_id=<id>,key=val,...]',
         default=[],
         help=_("Verification parameters, may be specified multiple times. "
                "resource_type: type of resource to apply parameters. "
                "resource_id: limit the parameters to a specific resource. "
                "Other keys and values: according to provider\'s "
                "verification schema.")
     )
     return parser
コード例 #2
0
ファイル: plans.py プロジェクト: openstack/python-smaugclient
 def get_parser(self, prog_name):
     parser = super(UpdatePlan, self).get_parser(prog_name)
     parser.add_argument(
         "plan_id",
         metavar="<PLAN ID>",
         help=_("Id of plan to update.")
     )
     parser.add_argument(
         "--name",
         metavar="<name>",
         help=_("A name to which the plan will be renamed.")
     )
     parser.add_argument(
         "--description",
         metavar="<description>",
         help=_("Description to which the plan will be updated.")
     )
     parser.add_argument(
         "--resources",
         metavar="<id=type=name,id=type=name>",
         help=_("Resources to which the plan will be updated.")
     )
     parser.add_argument(
         "--status",
         metavar="<suspended|started>",
         help=_("status to which the plan will be updated.")
     )
     return parser
コード例 #3
0
 def get_parser(self, prog_name):
     parser = super(ListProviders, self).get_parser(prog_name)
     parser.add_argument(
         '--name',
         metavar='<name>',
         help=_('Filters results by a name. Default=None.'),
     )
     parser.add_argument(
         '--description',
         metavar='<description>',
         help=_('Filters results by a description. Default=None.'),
     )
     parser.add_argument(
         '--marker',
         metavar='<provider>',
         help=_('The last provider ID of the previous page'),
     )
     parser.add_argument(
         '--limit',
         type=int,
         metavar='<num-providers>',
         help=_('Maximum number of providers to display'),
     )
     parser.add_argument(
         '--sort',
         metavar="<key>[:<direction>]",
         default=None,
         help=_("Sort output by selected keys and directions(asc or desc) "
                "(default: name:asc), multiple keys and directions can be "
                "specified separated by comma"),
     )
     return parser
コード例 #4
0
 def get_parser(self, prog_name):
     parser = super(ListCheckpoints, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar='<provider_id>',
         help=_('ID of provider.'),
     )
     parser.add_argument(
         '--all-projects',
         action='store_true',
         default=False,
         help=_('Include all projects (admin only)'),
     )
     parser.add_argument(
         '--plan_id',
         metavar='<plan_id>',
         default=None,
         help=_('Filters results by a plan ID. Default=None.'),
     )
     parser.add_argument(
         '--start_date',
         type=str,
         metavar='<start_date>',
         default=None,
         help=_('Filters results by a start date("Y-m-d"). Default=None.'),
     )
     parser.add_argument(
         '--end_date',
         type=str,
         metavar='<end_date>',
         default=None,
         help=_('Filters results by a end date("Y-m-d"). Default=None.'),
     )
     parser.add_argument(
         '--project_id',
         metavar='<project_id>',
         default=None,
         help=_('Filters results by a project ID. Default=None.'),
     )
     parser.add_argument(
         '--marker',
         metavar='<checkpoint>',
         help=_('The last checkpoint ID of the previous page.'),
     )
     parser.add_argument(
         '--limit',
         type=int,
         metavar='<num-checkpoints>',
         help=_('Maximum number of checkpoints to display.'),
     )
     parser.add_argument(
         '--sort',
         metavar="<key>[:<direction>]",
         default=None,
         help=_("Sort output by selected keys and directions(asc or desc), "
                "multiple keys and directions can be "
                "specified separated by comma"),
     )
     return parser
コード例 #5
0
 def get_parser(self, prog_name):
     parser = super(ListServices, self).get_parser(prog_name)
     parser.add_argument(
         '--host',
         metavar='<host>',
         help=_('Filter results by host'),
     )
     parser.add_argument(
         '--binary',
         metavar='<binary>',
         help=_('Filter results by binary'),
     )
     return parser
コード例 #6
0
 def get_parser(self, prog_name):
     parser = super(ShowCheckpoint, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar="<provider_id>",
         help=_('Id of provider.')
     )
     parser.add_argument(
         'checkpoint_id',
         metavar="<checkpoint_id>",
         help=_('Id of checkpoint.')
     )
     return parser
コード例 #7
0
 def get_parser(self, prog_name):
     parser = super(DisableService, self).get_parser(prog_name)
     parser.add_argument(
         'service_id',
         metavar='<service_id>',
         help=_('The ID of the service.'),
     )
     parser.add_argument(
         '--reason',
         metavar='<reason>',
         help=_('Reason for disabling the service.')
     )
     return parser
コード例 #8
0
 def get_parser(self, prog_name):
     parser = super(ListScheduledOperations, self).get_parser(prog_name)
     parser.add_argument(
         '--all-projects',
         action='store_true',
         default=False,
         help=_('Shows details for all tenants. Admin only.'),
     )
     parser.add_argument(
         '--name',
         metavar='<name>',
         help=_('Filters results by a name. Default=None.'),
     )
     parser.add_argument(
         '--operation_type',
         metavar='<operation_type>',
         default=None,
         help=_('Filters results by a type. Default=None.'),
     )
     parser.add_argument(
         '--trigger_id',
         metavar='<trigger_id>',
         default=None,
         help=_('Filters results by a trigger id. Default=None.'),
     )
     parser.add_argument(
         '--operation_definition',
         metavar='<operation_definition>',
         default=None,
         help=_('Filters results by a operation definition. Default=None.'),
     )
     parser.add_argument(
         '--marker',
         metavar='<scheduled_operations>',
         help=_('The last scheduled_operations ID of the previous page'),
     )
     parser.add_argument(
         '--limit',
         type=int,
         metavar='<num-scheduled_operations>',
         help=_('Maximum number of scheduled_operations to display'),
     )
     parser.add_argument(
         '--sort',
         metavar="<key>[:<direction>]",
         default=None,
         help=_("Sort output by selected keys and directions(asc or desc) "
                "(default: name:asc), multiple keys and directions can be "
                "specified separated by comma"),
     )
     parser.add_argument(
         '--project',
         metavar='<project>',
         help=_('Filter results by a project(admin only)')
     )
     return parser
コード例 #9
0
 def get_parser(self, prog_name):
     parser = super(DeleteCheckpoint, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar='<provider_id>',
         help=_('Id of provider.')
     )
     parser.add_argument(
         'checkpoint',
         metavar='<checkpoint>',
         nargs="+",
         help=_('Id of checkpoint.')
     )
     return parser
コード例 #10
0
class HttpServerError(HttpError):
    """Server-side HTTP error.

    Exception for cases in which the server is aware that it has
    erred or is incapable of performing the request.
    """
    message = _("HTTP Server Error")
コード例 #11
0
class BadRequest(HTTPClientError):
    """HTTP 400 - Bad Request.

    The request cannot be fulfilled due to bad syntax.
    """
    http_status = 400
    message = _("Bad Request")
コード例 #12
0
ファイル: base.py プロジェクト: openstack/python-smaugclient
    def find(self, base_url=None, **kwargs):
        """Find a single item with attributes matching ``**kwargs``.

        :param base_url: if provided, the generated URL will be appended to it
        """
        kwargs = self._filter_kwargs(kwargs)

        rl = self._list(
            '%(base_url)s%(query)s' % {
                'base_url': self.build_url(base_url=base_url, **kwargs),
                'query': '?%s' % parse.urlencode(kwargs) if kwargs else '',
            },
            self.collection_key)
        num = len(rl)

        if num == 0:
            msg = _("No %(name)s matching %(args)s.") % {
                'name': self.resource_class.__name__,
                'args': kwargs
            }
            raise exceptions.NotFound(404, msg)
        elif num > 1:
            raise exceptions.NoUniqueMatch
        else:
            return rl[0]
コード例 #13
0
class RequestTimeout(HTTPClientError):
    """HTTP 408 - Request Timeout.

    The server timed out waiting for the request.
    """
    http_status = 408
    message = _("Request Timeout")
コード例 #14
0
class PaymentRequired(HTTPClientError):
    """HTTP 402 - Payment Required.

    Reserved for future use.
    """
    http_status = 402
    message = _("Payment Required")
コード例 #15
0
class ProxyAuthenticationRequired(HTTPClientError):
    """HTTP 407 - Proxy Authentication Required.

    The client must first authenticate itself with the proxy.
    """
    http_status = 407
    message = _("Proxy Authentication Required")
コード例 #16
0
 def get_parser(self, prog_name):
     parser = super(EnableService, self).get_parser(prog_name)
     parser.add_argument(
         'service_id',
         metavar='<service_id>',
         help=_('The ID of the service.')
     )
     return parser
コード例 #17
0
ファイル: plans.py プロジェクト: openstack/python-smaugclient
 def get_parser(self, prog_name):
     parser = super(ShowPlan, self).get_parser(prog_name)
     parser.add_argument(
         'plan',
         metavar="<plan>",
         help=_('The UUID of the plan.')
     )
     return parser
コード例 #18
0
class Gone(HTTPClientError):
    """HTTP 410 - Gone.

    Indicates that the resource requested is no longer available and will
    not be available again.
    """
    http_status = 410
    message = _("Gone")
コード例 #19
0
class Conflict(HTTPClientError):
    """HTTP 409 - Conflict.

    Indicates that the request could not be processed because of conflict
    in the request, such as an edit conflict.
    """
    http_status = 409
    message = _("Conflict")
コード例 #20
0
class NotAcceptable(HTTPClientError):
    """HTTP 406 - Not Acceptable.

    The requested resource is only capable of generating content not
    acceptable according to the Accept headers sent in the request.
    """
    http_status = 406
    message = _("Not Acceptable")
コード例 #21
0
class MethodNotAllowed(HTTPClientError):
    """HTTP 405 - Method Not Allowed.

    A request was made of a resource using a request method not supported
    by that resource.
    """
    http_status = 405
    message = _("Method Not Allowed")
コード例 #22
0
class NotFound(HTTPClientError):
    """HTTP 404 - Not Found.

    The requested resource could not be found but may be available again
    in the future.
    """
    http_status = 404
    message = _("Not Found")
コード例 #23
0
class Forbidden(HTTPClientError):
    """HTTP 403 - Forbidden.

    The request was a valid request, but the server is refusing to respond
    to it.
    """
    http_status = 403
    message = _("Forbidden")
コード例 #24
0
class MultipleChoices(HTTPRedirection):
    """HTTP 300 - Multiple Choices.

    Indicates multiple options for the resource that the client may follow.
    """

    http_status = 300
    message = _("Multiple Choices")
コード例 #25
0
 def get_parser(self, prog_name):
     parser = super(ShowOperationLog, self).get_parser(prog_name)
     parser.add_argument(
         'operation_log',
         metavar="<operation_log>",
         help=_('The UUID of the operation_log.')
     )
     return parser
コード例 #26
0
class Unauthorized(HTTPClientError):
    """HTTP 401 - Unauthorized.

    Similar to 403 Forbidden, but specifically for use when authentication
    is required and has failed or has not yet been provided.
    """
    http_status = 401
    message = _("Unauthorized")
コード例 #27
0
 def get_parser(self, prog_name):
     parser = super(ShowProtectable, self).get_parser(prog_name)
     parser.add_argument(
         'protectable_type',
         metavar="<protectable_type>",
         help=_('Protectable type.')
     )
     return parser
コード例 #28
0
 def get_parser(self, prog_name):
     parser = super(ShowScheduledOperation, self).get_parser(prog_name)
     parser.add_argument(
         'scheduledoperation',
         metavar="<scheduledoperation>",
         help=_('The UUID of the scheduledoperation.')
     )
     return parser
コード例 #29
0
 def get_parser(self, prog_name):
     parser = super(ShowTrigger, self).get_parser(prog_name)
     parser.add_argument(
         'trigger',
         metavar="<trigger>",
         help=_('The UUID of the trigger.')
     )
     return parser
コード例 #30
0
 def get_parser(self, prog_name):
     parser = super(ShowRestore, self).get_parser(prog_name)
     parser.add_argument(
         'restore',
         metavar="<restore>",
         help=_('The UUID of the restore.')
     )
     return parser
コード例 #31
0
 def get_parser(self, prog_name):
     parser = super(ShowVerification, self).get_parser(prog_name)
     parser.add_argument(
         'verification',
         metavar="<verification>",
         help=_('The UUID of the verification.')
     )
     return parser
コード例 #32
0
 def get_parser(self, prog_name):
     parser = super(DeleteTrigger, self).get_parser(prog_name)
     parser.add_argument(
         'trigger',
         metavar='<trigger>',
         nargs="+",
         help=_('ID of trigger.')
     )
     return parser
コード例 #33
0
 def get_parser(self, prog_name):
     parser = super(UpdateTrigger, self).get_parser(prog_name)
     parser.add_argument(
         "trigger_id",
         metavar="<TRIGGER ID>",
         help=_("Id of trigger to update.")
     )
     parser.add_argument(
         "--name",
         metavar="<name>",
         help=_("A name to which the trigger will be renamed.")
     )
     parser.add_argument(
         "--properties",
         metavar="<key=value,key=value>",
         help=_("Properties of trigger which will be updated.")
     )
     return parser
コード例 #34
0
 def get_parser(self, prog_name):
     parser = super(CreateTrigger, self).get_parser(prog_name)
     parser.add_argument(
         'name',
         metavar='<name>',
         help=_('The name of the trigger.')
     )
     parser.add_argument(
         'type',
         metavar='<type>',
         help=_('Type of trigger.')
     )
     parser.add_argument(
         'properties',
         metavar='<key=value,key=value>',
         help=_('Properties of trigger.')
     )
     return parser
コード例 #35
0
ファイル: plans.py プロジェクト: openstack/python-smaugclient
 def get_parser(self, prog_name):
     parser = super(DeletePlan, self).get_parser(prog_name)
     parser.add_argument(
         'plan',
         metavar='<plan>',
         nargs="+",
         help=_('ID of plan.')
     )
     return parser
コード例 #36
0
 def get_parser(self, prog_name):
     parser = super(DeleteScheduledOperation, self).get_parser(prog_name)
     parser.add_argument(
         'scheduledoperation',
         metavar='<scheduledoperation>',
         nargs="+",
         help=_('ID of scheduled operation.')
     )
     return parser
コード例 #37
0
 def get_parser(self, prog_name):
     parser = super(ListTriggers, self).get_parser(prog_name)
     parser.add_argument(
         '--all-projects',
         action='store_true',
         default=False,
         help=_('Shows details for all tenants. Admin only.'),
     )
     parser.add_argument(
         '--name',
         metavar='<name>',
         default=None,
         help=_('Filters results by a name. Default=None.'),
     )
     parser.add_argument(
         '--type',
         metavar='<type>',
         default=None,
         help=_('Filters results by a type. Default=None.'),
     )
     parser.add_argument(
         '--properties',
         metavar='<properties>',
         default=None,
         help=_('Filters results by a properties. Default=None.'),
     )
     parser.add_argument(
         '--marker',
         metavar='<trigger>',
         help=_('The last trigger ID of the previous page'),
     )
     parser.add_argument(
         '--limit',
         type=int,
         metavar='<num-triggers>',
         help=_('Maximum number of triggers to display'),
     )
     parser.add_argument(
         '--sort',
         metavar="<key>[:<direction>]",
         default=None,
         help=_("Sort output by selected keys and directions(asc or desc) "
                "(default: name:asc), multiple keys and directions can be "
                "specified separated by comma"),
     )
     parser.add_argument(
         '--project',
         metavar='<project>',
         help=_('Display information from single tenant (Admin only).')
     )
     return parser
コード例 #38
0
 def get_parser(self, prog_name):
     parser = super(ResetCheckpointState, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar='<provider_id>',
         help=_('Id of provider.')
     )
     parser.add_argument(
         'checkpoint',
         metavar='<checkpoint>',
         nargs="+",
         help=_('Id of checkpoint.')
     )
     parser.add_argument(
         '--available',
         action='store_const', dest='state',
         default='error', const='available',
         help=_('Request the checkpoint be reset to "available" state '
                'instead of "error" state(the default).'),
     )
     return parser
コード例 #39
0
 def get_parser(self, prog_name):
     parser = super(CreateCheckpoint, self).get_parser(prog_name)
     parser.add_argument(
         'provider_id',
         metavar='<provider_id>',
         help=_('ID of provider.')
     )
     parser.add_argument(
         'plan_id',
         metavar='<plan_id>',
         help=_('ID of plan.')
     )
     parser.add_argument(
         '--extra_info',
         type=str,
         nargs='*',
         metavar='<key=value>',
         default=None,
         help=_('The extra info of a checkpoint.')
     )
     return parser
コード例 #40
0
 def get_parser(self, prog_name):
     parser = super(ShowProtectableInstance, self).get_parser(prog_name)
     parser.add_argument(
         'protectable_type',
         metavar="<protectable_type>",
         help=_('Protectable type.')
     )
     parser.add_argument(
         'protectable_id',
         metavar="<protectable_id>",
         help=_('Protectable instance id.')
     )
     parser.add_argument(
         '--parameters',
         type=str,
         nargs='*',
         metavar="<key=value>",
         default=None,
         help=_('Show a instance by parameters key and value pair. '
                'Default=None.')
     )
     return parser
コード例 #41
0
ファイル: plans.py プロジェクト: openstack/python-smaugclient
 def get_parser(self, prog_name):
     parser = super(ListPlans, self).get_parser(prog_name)
     parser.add_argument(
         '--all-projects',
         action='store_true',
         default=False,
         help=_('Include all projects (admin only)'),
     )
     parser.add_argument(
         '--name',
         metavar='<name>',
         help=_('Filter results by plan name'),
     )
     parser.add_argument(
         '--description',
         metavar='<description>',
         help=_('Filter results by plan description'),
     )
     parser.add_argument(
         '--status',
         metavar='<status>',
         help=_('Filter results by status'),
     )
     parser.add_argument(
         '--marker',
         metavar='<plan>',
         help=_('The last plan ID of the previous page'),
     )
     parser.add_argument(
         '--limit',
         type=int,
         metavar='<num-plans>',
         help=_('Maximum number of plans to display'),
     )
     parser.add_argument(
         '--sort',
         metavar="<key>[:<direction>]",
         default=None,
         help=_("Sort output by selected keys and directions(asc or desc) "
                "(default: name:asc), multiple keys and directions can be "
                "specified separated by comma"),
     )
     parser.add_argument(
         '--project',
         metavar='<project>',
         help=_('Filter results by a project(admin only)')
     )
     return parser
コード例 #42
0
 def get_parser(self, prog_name):
     parser = super(CreateScheduledOperation, self).get_parser(prog_name)
     parser.add_argument(
         'name',
         metavar='<name>',
         help=_('The name of the scheduled operation.')
     )
     parser.add_argument(
         'operation_type',
         metavar='<operation_type>',
         help=_('Operation Type of scheduled operation.')
     )
     parser.add_argument(
         'trigger_id',
         metavar='<trigger_id>',
         help=_('Trigger id of scheduled operation.')
     )
     parser.add_argument(
         'operation_definition',
         metavar='<key=value,key=value>',
         help=_('Operation definition of scheduled operation.')
     )
     return parser
コード例 #43
0
ファイル: base.py プロジェクト: openstack/python-smaugclient
    def find(self, **kwargs):
        """Find a single item with attributes matching ``**kwargs``.

        This isn't very efficient: it loads the entire list then filters on
        the Python side.
        """
        matches = self.findall(**kwargs)
        num_matches = len(matches)
        if num_matches == 0:
            msg = _("No %(name)s matching %(args)s.") % {
                'name': self.resource_class.__name__,
                'args': kwargs
            }
            raise exceptions.NotFound(msg)
        elif num_matches > 1:
            raise exceptions.NoUniqueMatch()
        else:
            return matches[0]
コード例 #44
0
class HttpError(ClientException):
    """The base exception class for all HTTP exceptions."""
    http_status = 0
    message = _("HTTP Error")

    def __init__(self,
                 message=None,
                 details=None,
                 response=None,
                 request_id=None,
                 url=None,
                 method=None,
                 http_status=None):
        self.http_status = http_status or self.http_status
        self.message = message or self.message
        self.details = details
        self.request_id = request_id
        self.response = response
        self.url = url
        self.method = method
        formatted_string = "%s (HTTP %s)" % (self.message, self.http_status)
        if request_id:
            formatted_string += " (Request-ID: %s)" % request_id
        super(HttpError, self).__init__(formatted_string)