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
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)
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)
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
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')
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
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)
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')
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')
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
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
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')
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
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')
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')
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)