Exemple #1
0
class DeleteNotification(resource.Resource):
    service = auto_scaling_service.AutoScalingService()
    allow_delete = True
    topic_urn = resource.URI('topic_urn')
    scaling_group_id = resource.URI('scaling_group_id')
    base_path = '/scaling_notification/%(scaling_group_id)s/%(topic_urn)s'

    def delete_notification(self, session):
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()

        response = session.delete(request.uri,
                                  endpoint_filter=self.service,
                                  endpoint_override=endpoint_override,
                                  headers=request.headers)

        if not response.status_code == 204:
            _logger.debug(
                'failed request AS service delete notification url is %s response code is %s '
                % (response.url, response.status_code))
            raise exceptions.InvalidRequest(
                "Request AS service delete notification %s failed" %
                request.uri)
        else:
            return self
class CancelOrder(resource2.Resource):
    base_path = "%(domain_id)s/customer/order-mgr/orders/actions"
    service = bss_service.BssService()
    allow_create = True
    put_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')
    action_id = resource2.URI('action_id')

    # request
    # Order ID.
    orderId = resource2.Body('orderId')
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')

    def create(self, session, prepend_key=True,**parms):
        endpoint_override = self.service.get_endpoint_override()
        service = self.get_service_filter(self, session)
        request = self._prepare_request(requires_id=False,
                                        prepend_key=prepend_key)
        response = session.put(request.uri, endpoint_filter=self.service,
                               endpoint_override=endpoint_override,
                               json=request.body, headers=request.headers,
                               microversion=service.microversion,params={"action_id":self.action_id})
        self._translate_response(response)
        return self
Exemple #3
0
class StackFiles(resource.Resource):

    service = orchestration_service.OrchestrationService()
    base_path = "/stacks/%(stack_name)s/%(stack_id)s/files"

    # capabilities
    allow_create = False
    allow_list = False
    allow_get = True
    allow_delete = False
    allow_update = False

    # Properties
    #: Name of the stack where the template is referenced.
    stack_name = resource.URI('stack_name')
    #: ID of the stack where the template is referenced.
    stack_id = resource.URI('stack_id')

    def get(self, session):
        # The stack files response contains a map of filenames and file
        # contents.
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()
        return session.get(request.uri,
                           endpoint_filter=self.service,
                           endpoint_override=endpoint_override)
class StackEnvironment(resource.Resource):

    service = orchestration_service.OrchestrationService()
    base_path = "/stacks/%(stack_name)s/%(stack_id)s/environment"

    # capabilities
    allow_create = False
    allow_list = False
    allow_get = True
    allow_delete = False
    allow_update = False

    # Properties
    #: Name of the stack where the template is referenced.
    stack_name = resource.URI('stack_name')
    #: ID of the stack where the template is referenced.
    stack_id = resource.URI('stack_id')
    #: A list of parameter names whose values are encrypted
    encrypted_param_names = resource.Body('encrypted_param_names')
    #: A list of event sinks
    event_sinks = resource.Body('event_sinks')
    #: A map of parameters and their default values defined for the stack.
    parameter_defaults = resource.Body('parameter_defaults')
    #: A map of parametes defined in the stack template.
    parameters = resource.Body('parameters', type=dict)
    #: A map containing customized resource definitions.
    resource_registry = resource.Body('resource_registry', type=dict)
class StackTemplate(resource.Resource):

    service = orchestration_service.OrchestrationService()
    base_path = "/stacks/%(stack_name)s/%(stack_id)s/template"

    # capabilities
    allow_create = False
    allow_list = False
    allow_get = True
    allow_delete = False
    allow_update = False

    # Properties
    #: Name of the stack where the template is referenced.
    stack_name = resource.URI('stack_name')
    #: ID of the stack where the template is referenced.
    stack_id = resource.URI('stack_id')
    #: The description specified in the template
    description = resource.Body('Description')
    #: The version of the orchestration HOT template.
    heat_template_version = resource.Body('heat_template_version')
    #: Key and value that contain output data.
    outputs = resource.Body('outputs', type=dict)
    #: Key and value pairs that contain template parameters
    parameters = resource.Body('parameters', type=dict)
    #: Key and value pairs that contain definition of resources in the
    #: template
    resources = resource.Body('resources', type=dict)
Exemple #6
0
class QueryResourceStatusByOrderId(resource2.Resource):
    base_path = "%(domain_id)s/common/order-mgr/orders-resource/%(order_id)s"
    service = bss_intl_service.BssIntlService()
    allow_get = True

    # request
    # User domain ID
    domain_id = resource2.URI('domain_id')
    order_id = resource2.URI('order_id')
    offset = resource2.Body('offset')
    limit = resource2.Body('limit')

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    # Number of records that match the query conditions.
    totalSize = resource2.Body('totalSize')
    resources = resource2.Body('resources')

    def get(self, session, requires_id=False):
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()
        service = self.get_service_filter(self, session)
        xstr = lambda s: '' if s is None else str(s)
        query_dict = {'offset': xstr(self.offset), 'limit': xstr(self.limit)}
        query_str = urlencode(query_dict, doseq=True)
        url = request.uri + "?" + query_str
        response = session.get(url,
                               endpoint_filter=self.service,
                               microversion=service.microversion,
                               endpoint_override=endpoint_override)
        self._translate_response(response)
        return self
class QueryOrderDetail(resource2.Resource):
    base_path = "%(domain_id)s/common/order-mgr/orders/%(order_id)s"
    service = bss_service.BssService()
    allow_get = True
    allow_list = True

    _query_mapping = resource2.QueryParameters('offset', 'limit')

    # request
    # User domain ID
    domain_id = resource2.URI('domain_id')
    order_id = resource2.URI('order_id')
    offset = resource2.Body('offset')
    limit = resource2.Body('limit')

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    # Total number of records.
    count = resource2.Body('count')
    # Order details.
    orderInfo = resource2.Body('orderInfo')
    # ID of the primary order item mapping the order item.
    orderlineItems = resource2.Body('orderlineItems')
class ResourceBackup(resource2.Resource):
    resource_key = 'checkpoint'
    resources_key = None
    base_path = '/providers/%(provider_id)s/resources/%(resource_id)s/action'
    service = csbs_service.CsbsService()

    # Capabilities.
    allow_create = True

    # Uri parameter.
    # Backup provider id.
    provider_id = resource2.URI('provider_id')
    # The id of the backup object.
    resource_id = resource2.URI('resource_id')

    # Request parameter.
    # Backup parameter.
    protect = resource2.Body('protect', type=dict)

    # Response parameter.
    # Status of backup.
    status = resource2.Body('status')
    # Create time.
    created_at = resource2.Body('created_at')
    # Backup record id.
    id = resource2.Body('id')
    # Resource graph.
    resource_graph = resource2.Body('resource_graph')
    # Id of project.
    project_id = resource2.Body('project_id')
    # Backup plan information.
    protection_plan = resource2.Body('protection_plan', type=dict)
Exemple #9
0
class FunctionAliaseExpansion(FunctionAliase):
    base_path = '/fgs/functions/%(function_urn)s/aliases/%(alias_name)s'
    function_urn = resource.URI('function_urn')
    alias_name = resource.URI('alias_name')

    # capabilities
    allow_create = False
    allow_list = False
    allow_update = True
    allow_delete = True
Exemple #10
0
class TriggerExpansion(Trigger):
    base_path = '/fgs/triggers/%(function_urn)s/%(tg_type)s/%(tg_id)s'
    function_urn = resource.URI('function_urn')
    tg_type = resource.URI('tg_type')
    tg_id = resource.URI('tg_id')

    # capabilities
    allow_create = False
    allow_list = False
    allow_get = True
class IndividualRealnameAuth(resource2.Resource):
    base_path = "%(domain_id)s/partner/customer-mgr/realname-auth/individual"
    service = bss_service.BssService()
    allow_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')

    # request
    # Customer ID.
    customerId = resource2.Body('customerId')
    # Authentication method.
    identifyType = resource2.Body('identifyType')
    # Certificate type.
    verifiedType = resource2.Body('verifiedType')
    # Attachment URL for individual certificate authentication. The URL must be entered in sequence.
    verifiedFileURL = resource2.Body('verifiedFileURL', type=list)
    # Real-name authentication name.
    name = resource2.Body('name')
    # Enterprise certificate number.
    verifiedNumber = resource2.Body('verifiedNumber')
    # Change type.
    changeType = resource2.Body('changeType')
    # Platform ID assigned by Huawei to a partner.
    xaccountType = resource2.Body('xaccountType')
    bankCardInfo = resource2.Body('bankCardInfo')
    # response
    # Whether to transfer to manual review.
    isReview = resource2.Body('isReview')
    # Error list.
    errorItems = resource2.Body('errorItems', type=list)
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
Exemple #12
0
class ClusterPolicy(resource.Resource):
    resource_key = 'cluster_policy'
    resources_key = 'cluster_policies'
    base_path = '/clusters/%(cluster_id)s/policies'
    service = clustering_service.ClusteringService()

    # Capabilities
    allow_list = True
    allow_get = True

    _query_mapping = resource.QueryParameters(
        'sort', 'policy_name', 'policy_type', is_enabled='enabled')

    # Properties
    #: ID of the policy object.
    policy_id = resource.Body('policy_id', alternate_id=True)
    #: Name of the policy object.
    policy_name = resource.Body('policy_name')
    #: ID of the cluster object.
    cluster_id = resource.URI('cluster_id')
    #: Name of the cluster object.
    cluster_name = resource.Body('cluster_name')
    #: Type string of the policy.
    policy_type = resource.Body('policy_type')
    #: Whether the policy is enabled on the cluster. *Type: bool*
    is_enabled = resource.Body('enabled', type=bool)
    #: Data associated with the cluster-policy binding.
    data = resource.Body('data', type=dict)
class QueryRealnameAuth(resource2.Resource):
    base_path = "%(domain_id)s/partner/customer-mgr/realname-auth/result"
    service = bss_service.BssService()
    allow_get = True

    # User domain ID
    domain_id = resource2.URI('domain_id')
    # request
    # Customer ID.
    customerId = resource2.Body('customerId')

    reviewResult = resource2.Body('reviewResult')
    opinion = resource2.Body('opinion', type=list)
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')

    def get(self, session, requires_id=False):
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()
        service = self.get_service_filter(self, session)
        query_dict = {'customerId': self.customerId}
        query_str = urlencode(query_dict, doseq=True)
        url = request.uri + '?' + query_str
        response = session.get(url, endpoint_filter=self.service,
                               microversion=service.microversion,
                               endpoint_override=endpoint_override)
        self._translate_response(response)
        return self
Exemple #14
0
class Member(resource2.Resource):
    resources_key = 'members'
    base_path = '/images/%(image_id)s/members'
    service = image_service.ImageService()

    # capabilities
    allow_create = True
    allow_get = True
    allow_update = True
    allow_delete = True
    allow_list = True

    # See https://bugs.launchpad.net/glance/+bug/1526991 for member/member_id
    # 'member' is documented incorrectly as being deprecated but it's the
    # only thing that works. 'member_id' is not accepted.

    #: The ID of the image member. An image member is a tenant
    #: with whom the image is shared.
    member_id = resource2.Body('member', alternate_id=True)
    #: The date and time when the member was created.
    created_at = resource2.Body('created_at')
    #: Image ID stored through the image API. Typically a UUID.
    image_id = resource2.URI('image_id')
    #: The status of the image.
    status = resource2.Body('status')
    #: The URL for schema of the member.
    schema = resource2.Body('schema')
    #: The date and time when the member was updated.
    updated_at = resource2.Body('updated_at')
class Message(_dmsresource.Resource):

    # No response for this post method
    base_path = '/queues/%(queue_id)s/messages'

    service = dms_service.DMSService()

    # capabilities
    allow_create = True

    # Properties
    #: Queue id
    queue_id = resource.URI('queue_id')

    @classmethod
    def create_messages(cls, session, queue_id=queue_id, **kwargs):
        endpoint_override = cls.service.get_endpoint_override()
        uri = cls.base_path % {'queue_id': queue_id}

        headers = {}
        headers.update({'Content-type': 'application/json'})
        headers.update({'Content-Length': str(len(str(kwargs)))})

        response = session.post(uri,
                                endpoint_filter=cls.service,
                                endpoint_override=endpoint_override,
                                json=kwargs,
                                headers=headers)

        return response
class PayPeriodOrder(resource2.Resource):
    base_path = "%(domain_id)s/customer/order-mgr/order/pay"
    service = bss_service.BssService()
    allow_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')

    # request
    # Order ID.
    orderId = resource2.Body('orderId')
    # Payment account type.
    payAccountType = resource2.Body('payAccountType', type=int)
    # partner account ID
    bpId = resource2.Body('bpId')
    # This parameter is reserved.
    couponIds = resource2.Body('couponIds', type=list)

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    # Payment sequence number corresponding to the order.
    tradeNo = resource2.Body('tradeNo')
    # Information about the resources whose quota or capacity is insufficient.
    quotaInfos = resource2.Body('quotaInfos', type=list)
    # Information about the enterprise project whose fund is insufficient.
    enterpriseProjectAuthResult = resource2.Body('enterpriseProjectAuthResult', type=list)
Exemple #17
0
class InstanceSlowLog(_rdsresource.Resource):

    base_path = 'instances/%(instanceId)s/slowlog'
    resources_key = 'slowLogList'
    service = rds_service.RDSService()

    _query_mapping = resource.QueryParameters('sftype', 'top')

    # capabilities
    allow_list = True
    # Properties
    # instanceId
    instanceId = resource.URI('instanceId')
    # Execuation count
    count = resource.Body('count')
    # Average time
    time = resource.Body('time')
    # Average time for waiting lock
    lockTime = resource.Body('lockTime')
    # Average sent rows
    rowsSent = resource.Body('rowsSent')
    # Average examined rows
    rowsExamined = resource.Body('rowsExamined')
    # Database belonged
    database = resource.Body('database')
    # User account
    users = resource.Body('users')
    # Query sample
    querySample = resource.Body('querySample')
Exemple #18
0
class CreateCustomer(resource2.Resource):
    base_path = "%(domain_id)s/partner/customer-mgr/customer"
    service = bss_intl_service.BssIntlService()
    allow_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')

    # request
    # Account name.
    domainName = resource2.Body('domainName')
    # Email address.
    email = resource2.Body('email')
    mobilePhone = resource2.Body('mobilePhone')
    countryCode = resource2.Body('countryCode')
    # Verification code.
    verificationCode = resource2.Body('verificationCode')
    # Unique ID of the user on the third-party system, which is assigned by the partner.
    xAccountId = resource2.Body('xAccountId')
    # Platform ID assigned by Huawei to a partner.
    xAccountType = resource2.Body('xAccountType')
    password = resource2.Body('password')
    # Two-letter ID representing the country/region of the customer.
    domainArea = resource2.Body('domainArea')
    # Indicates whether to disable the marketing message sending function.
    isCloseMarketMs = resource2.Body('isCloseMarketMs')
    # response
    domainId = resource2.Body('domainId')
    # Account name.
    domainName = resource2.Body('domainName')
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
Exemple #19
0
class SendVerificationcode(resource2.Resource):
    base_path = "%(domain_id)s/partner/common-mgr/verificationcode"
    service = bss_intl_service.BssIntlService()
    allow_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')

    # request
    receiverType = resource2.Body('receiverType', type=int)
    timeout = resource2.Body('timeout', type=int)
    # Email address.
    email = resource2.Body('email')
    mobilePhone = resource2.Body('mobilePhone')
    countryCode = resource2.Body('countryCode')
    # language
    lang = resource2.Body('lang')
    scene = resource2.Body('scene')
    # Customer ID.
    customerId = resource2.Body('customerId')

    def create(self, session, prepend_key=True):
        endpoint_override = self.service.get_endpoint_override()
        request = self._prepare_request(requires_id=False,
                                        prepend_key=prepend_key)
        response = session.post(request.uri,
                                endpoint_filter=self.service,
                                endpoint_override=endpoint_override,
                                json=request.body,
                                headers=request.headers)
        if (response.status_code == 204):
            return self
        self._translate_response(response)
        return self
Exemple #20
0
class BackupPolicy(_rdsresource.Resource):

    base_path = '/instances/%(instanceId)s/backups/policy'
    resource_key = 'policy'
    service = rds_service.RDSService()

    # capabilities
    allow_create = True
    allow_get = True

    # Properties
    #: instaceId
    instanceId = resource.URI('instanceId')
    #: Policy keep days
    #: *Type: int*
    keepday = resource.Body('keepday', type=int)
    #: Start time
    starttime = resource.Body('starttime')

    # use put to create, but we don't require id
    def create(self, session, prepend_key=True):
        endpoint_override = self.service.get_endpoint_override()
        request = self._prepare_request(requires_id=False,
                                        prepend_key=prepend_key)
        if endpoint_override is None:
            request.uri = self._get_custom_url(session, request.uri)
        response = session.put(request.uri,
                               endpoint_filter=self.service,
                               endpoint_override=endpoint_override,
                               json=request.body,
                               headers=request.headers)

        self._translate_response(response)
        return self
Exemple #21
0
class QueryBillResRecords(resource2.Resource):
    base_path = "%(domain_id)s/customer/account-mgr/bill/res-records"
    service = bss_service.BssService()
    allow_get = True

    # User domain ID
    domain_id = resource2.URI('domain_id')
    # request

    # Expenditure month.
    cycle = resource2.Body('cycle')
    # Cloud service type code.
    cloudServiceTypeCode = resource2.Body('cloudServiceTypeCode')
    # Resource type code. For example, the VM resource type code of ECS is hws.resource.type.vm.
    resourceTypeCode = resource2.Body('resourceTypeCode')
    # Cloud service region code, for example, cn-north-1.
    regionCode = resource2.Body('regionCode')
    # Resource instance ID.
    resInstanceId = resource2.Body('resInstanceId')
    # Billing mode.
    payMethod = resource2.Body('payMethod')
    # Enterprise project ID.
    enterpriseProjectId = resource2.Body('enterpriseProjectId')
    offset = resource2.Body('offset')
    limit = resource2.Body('limit')

    # response
    # currency
    currency = resource2.Body('currency')
    totalCount = resource2.Body('totalCount')
    monthlyRecords = resource2.Body('monthlyRecords', type=list)
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')

    def get(self, session, requires_id=False):
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()
        service = self.get_service_filter(self, session)
        xstr = lambda s: '' if s is None else str(s)
        query_dict = {
            'cycle': xstr(self.cycle),
            'cloudServiceTypeCode': xstr(self.cloudServiceTypeCode),
            'resourceTypeCode': xstr(self.resourceTypeCode),
            'regionCode': xstr(self.regionCode),
            'resInstanceId': xstr(self.resInstanceId),
            'payMethod': xstr(self.payMethod),
            'enterpriseProjectId': xstr(self.enterpriseProjectId),
            'offset': xstr(self.offset),
            'limit': xstr(self.limit)
        }
        query_str = urlencode(query_dict, doseq=True)
        url = request.uri + "?" + query_str
        response = session.get(url,
                               endpoint_filter=self.service,
                               microversion=service.microversion,
                               endpoint_override=endpoint_override)
        self._translate_response(response)
        return self
class QueryCustomerPeriodResourcesList(resource2.Resource):
    base_path = "%(domain_id)s/common/order-mgr/resources/detail"
    service = bss_intl_service.BssIntlService()
    allow_get = True
    allow_list = True

    _query_mapping = resource2.QueryParameters(
        'resource_ids', 'order_id', 'only_main_resource', 'status_list',
        'page_no','page_size')


    # User domain ID
    domain_id = resource2.URI('domain_id')


    # request
    # Resource IDs
    resource_ids = resource2.Body('resource_ids')
    order_id = resource2.Body('order_id')
    only_main_resource = resource2.Body('only_main_resource', type=int)
    status_list = resource2.Body('status_list')
    page_no = resource2.Body('page_no', type=int)
    page_size = resource2.Body('page_size', type=int)

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    data = resource2.Body('data', type=list)
    total_count = resource2.Body('total_count', type=int)
class QueryCustomerList(resource2.Resource):
    base_path = "%(domain_id)s/partner/customer-mgr/query"
    service = bss_intl_service.BssIntlService()
    allow_create = True

    # User domain ID
    domain_id = resource2.URI('domain_id')

    # request
    # Account name.
    domainName = resource2.Body('domainName')
    # Real-name authentication name.
    name = resource2.Body('name')
    # Page to be queried.
    offset = resource2.Body('offset', type=int)
    # Number of records on each page.
    limit = resource2.Body('limit', type=int)
    # Tag. Fuzzy search is supported.
    label = resource2.Body('label')
    cooperationType = resource2.Body('cooperationType')
    #  Start time of the association time range (UTC time).The value is in "yyyy-MM-dd 'T' HH:mm:ss 'Z'" format, such as 2019-05-06T08:05:01Z.
    cooperationTimeStart = resource2.Body('cooperationTimeStart')
    # End time of the association time range (UTC time). The value is in "yyyy-MM-dd 'T' HH:mm:ss 'Z'" format, such as 2019-05-06T08:05:01Z.
    cooperationTimeEnd = resource2.Body('cooperationTimeEnd')
    # response
    # Total number of records.
    count = resource2.Body('count')
    # Customer list.
    customerInfoList = resource2.Body('customerInfoList', type=list)
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    # Whether to freeze the account. 0: No 1: Yes
    isFrozen = resource2.Body('isFrozen')
Exemple #24
0
class SetCredit(resource2.Resource):
    base_path = "%(domain_id)s/partner/account-mgr/credit"
    service = bss_intl_service.BssIntlService()
    allow_create = True

    # request
    # User domain ID
    domain_id = resource2.URI('domain_id')
    # Customer ID.
    customerId = resource2.Body('customerId')
    adjustmentAmount = resource2.Body('adjustmentAmount')
    measureId = resource2.Body('measureId', type=int)
    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')

    def create(self, session, prepend_key=True):
        endpoint_override = self.service.get_endpoint_override()
        request = self._prepare_request(requires_id=False,
                                        prepend_key=prepend_key)
        response = session.post(request.uri,
                                endpoint_filter=self.service,
                                endpoint_override=endpoint_override,
                                json=request.body,
                                headers=request.headers)
        if (response.status_code == 204):
            return self
        self._translate_response(response)
        return self
Exemple #25
0
class ServerInterface(resource2.Resource):
    resource_key = 'interfaceAttachment'
    resources_key = 'interfaceAttachments'
    base_path = '/servers/%(server_id)s/os-interface'
    service = compute_service.ComputeService()

    # capabilities
    allow_create = True
    allow_get = True
    allow_update = False
    allow_delete = True
    allow_list = True

    #: Fixed IP addresses with subnet IDs.
    fixed_ips = resource2.Body('fixed_ips')
    #: The MAC address.
    mac_addr = resource2.Body('mac_addr')
    #: The network ID.
    net_id = resource2.Body('net_id')
    #: The ID of the port for which you want to create an interface.
    port_id = resource2.Body('port_id', alternate_id=True)
    #: The port state.
    port_state = resource2.Body('port_state')
    #: The ID for the server.
    server_id = resource2.URI('server_id')
Exemple #26
0
class Parameter(_rdsresource.Resource):

    base_path = '/datastores/versions/%(datastore_version_id)s/parameters'
    resources_key = 'configuration-parameters'
    service = rds_service.RDSServiceV3()

    # capabilities
    allow_list = True
    allow_get = True

    # Properties
    #: Parameter name
    name = resource.Body('name', alternate_id=True)
    #: Minimum value of the parameter
    #: *Type: int*
    min = resource.Body('min', type=int)
    #: Maximum value of the parameter
    #: *Type: int*
    max = resource.Body('max', type=int)
    #: Parameter type
    type = resource.Body('type')
    #: Value range
    value_range = resource.Body('value_range')
    #: Description
    description = resource.Body('description')
    #: Require restart or not
    #: *Type: bool*
    restart_required = resource.Body('restart_required', type=bool)
    #: Datastore version id
    datastore_version_id = resource.URI('datastore_version_id')
Exemple #27
0
class DataKey(KmsResource):

    # Properties
    #: Secret key ID
    key_id = resource.Body('key_id', alternate_id=True)
    #: Encryption context
    encryption_context = resource.URI('encryption_context')
    #: Datakey length
    datakey_length = resource.Body('datakey_length')
    #: Sequence
    sequence = resource.Body('sequence')
    #: Plain text of the data key
    plain_text = resource.Body('plain_text')
    #: Cipher text of the data key
    cipher_text = resource.Body('cipher_text')
    #: Error code when create a secret key
    error_code = resource.Body('error_code')
    #: Error message when create a secret key
    error_msg = resource.Body('error_msg')

    def create_data_key(self, session, **kwargs):
        return self._post(session, 'create-datakey', **kwargs)

    def create_data_key_wo_plain(self, session, **kwargs):
        return self._post(session, 'create-datakey-without-plaintext',
                          **kwargs)

    def encrypt(self, session, **params):
        return self._post(session, 'encrypt-datakey', **params)

    def decrypt(self, session, **params):

        if self.cipher_text is not None:
            params.update({'cipher_text': self.cipher_text})
        return self._post(session, 'decrypt-datakey', **params)
class QueryOrderList(resource2.Resource):
    base_path = "%(domain_id)s/common/order-mgr/orders/detail"
    service = bss_service.BssService()
    allow_get = True
    allow_list = True
    _query_mapping = resource2.QueryParameters(
        'order_id', 'customer_id', 'create_time_begin', 'create_time_end',
        'status', 'order_type', 'service_type', 'page_size', 'page_index', 'sort',
        'payment_time_begin', 'payment_time_end')

    # request
    # User domain ID
    domain_id = resource2.URI('domain_id')
    order_id = resource2.Body('order_id')
    customer_id = resource2.Body('customer_id')
    create_time_begin = resource2.Body('create_time_begin')
    create_time_end = resource2.Body('create_time_end')
    service_type = resource2.Body('service_type')
    #  0: The account name, mobile number, or email address does not exist.
    #  1: The account name, mobile number, or email address already exists.
    status = resource2.Body('status')
    order_type = resource2.Body('order_type')
    page_size = resource2.Body('page_size')
    page_index = resource2.Body('page_index')
    sort = resource2.Body('sort')
    payment_time_begin = resource2.Body('payment_time_begin')
    payment_time_end = resource2.Body('payment_time_end')

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    data = resource2.Body('data')
class InstanceHook(resource.Resource):
    resource_key = 'scaling_instance_hook'
    resources_key = 'scaling_instance_hooks'
    base_path = '/scaling_instance_hook/%(scaling_group_id)s/callback'

    allow_update = True
    service = auto_scaling_service.AutoScalingService()
    scaling_group_id = resource.URI('scaling_group_id')
    lifecycle_action_key = resource.Body('lifecycle_action_key')
    instance_id = resource.Body('instance_id')
    lifecycle_hook_name = resource.Body('lifecycle_hook_name')
    lifecycle_action_result = resource.Body('lifecycle_action_result')

    def call_back(self, session, **attrs):
        request = self._prepare_request(requires_id=False)
        endpoint_override = self.service.get_endpoint_override()

        response = session.put(request.uri,
                               endpoint_filter=self.service,
                               endpoint_override=endpoint_override,
                               json=attrs,
                               headers=request.headers)

        if not response.status_code == 204:
            _logger.debug(
                'request AS service lifecycle hook call back url is %s response code is %s '
                % (response.url, response.status_code))
            raise exceptions.InvalidRequest(
                "Request AS service lifecycle hook call back %s failed" %
                request.uri)
        else:
            return self
class OrderRenewByResourceid(resource2.Resource):
    base_path = "%(domain_id)s/common/order-mgr/resources/renew"
    service = bss_service.BssService()
    allow_create = True

    domain_id = resource2.URI('domain_id')

    # request
    # Resource IDs.
    resource_ids = resource2.Body('resource_ids', type=list)
    # Period type.
    period_type = resource2.Body('period_type', type=int)
    # Number of periods.
    period_num = resource2.Body('period_num', type=int)
    # Expiration policy.
    expire_mode = resource2.Body('expire_mode', type=int)
    # Whether enable automatic payment.
    isAutoPay = resource2.Body('isAutoPay', type=int)

    # response
    #  Status code.
    error_code = resource2.Body('error_code')
    # Error description.
    error_msg = resource2.Body('error_msg')
    # List of order IDs generated when resource subscription is renewed.
    order_ids = resource2.Body('order_ids', type=list)