alikafka-20190916/alibabacloud_alikafka20190916/models.py (7,158 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel class ChangeResourceGroupRequest(TeaModel): def __init__(self, new_resource_group_id=None, region_id=None, resource_id=None): # The ID of the resource group to which you want to transfer the cloud resource. # # > You can use resource groups to manage resources owned by your Alibaba Cloud account. Resource groups simplify the resource and permission management of your Alibaba Cloud account. For more information, see [What is resource management?](~~94475~~) self.new_resource_group_id = new_resource_group_id # type: str # The region ID of the resource. self.region_id = region_id # type: str # The ID of the resource to which you want to attach a tag. Only the ID of a Message Queue for Apache Kafka instance is supported. # # For example, if the ID of the instance is alikafka_post-cn-v0h1fgs2xxxx, the resource ID is alikafka_post-cn-v0h1fgs2xxxx. self.resource_id = resource_id # type: str def validate(self): pass def to_map(self): _map = super(ChangeResourceGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.new_resource_group_id is not None: result['NewResourceGroupId'] = self.new_resource_group_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_id is not None: result['ResourceId'] = self.resource_id return result def from_map(self, m=None): m = m or dict() if m.get('NewResourceGroupId') is not None: self.new_resource_group_id = m.get('NewResourceGroupId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') return self class ChangeResourceGroupResponseBody(TeaModel): def __init__(self, code=None, message=None, new_resource_group_id=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the new resource group. You can view the available resource groups in the Resource Management console. self.new_resource_group_id = new_resource_group_id # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: long def validate(self): pass def to_map(self): _map = super(ChangeResourceGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.new_resource_group_id is not None: result['NewResourceGroupId'] = self.new_resource_group_id if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('NewResourceGroupId') is not None: self.new_resource_group_id = m.get('NewResourceGroupId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ChangeResourceGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ChangeResourceGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ChangeResourceGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ChangeResourceGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class ConvertPostPayOrderRequest(TeaModel): def __init__(self, duration=None, instance_id=None, region_id=None): # The subscription duration. Unit: months. Valid values: # # * **1~12**\ # * **24**\ # * **36**\ self.duration = duration # type: int # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(ConvertPostPayOrderRequest, self).to_map() if _map is not None: return _map result = dict() if self.duration is not None: result['Duration'] = self.duration if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('Duration') is not None: self.duration = m.get('Duration') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class ConvertPostPayOrderResponseBody(TeaModel): def __init__(self, code=None, message=None, order_id=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The error message returned. self.message = message # type: str # The ID of the order. self.order_id = order_id # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ConvertPostPayOrderResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.order_id is not None: result['OrderId'] = self.order_id if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ConvertPostPayOrderResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ConvertPostPayOrderResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ConvertPostPayOrderResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ConvertPostPayOrderResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateAclRequest(TeaModel): def __init__(self, acl_operation_type=None, acl_operation_types=None, acl_permission_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, host=None, instance_id=None, region_id=None, username=None): # The operation type. Valid values: # # * **Write**: data writes # * **Read**: data reads # * **Describe**: reads of transaction IDs****\ # * **IdempotentWrite**: idempotent data writes to clusters****\ self.acl_operation_type = acl_operation_type # type: str self.acl_operation_types = acl_operation_types # type: str self.acl_permission_type = acl_permission_type # type: str # The name or ID of the resource. # # * The value can be the name of a topic, consumer group, or cluster, or the ID of a transaction. # * You can use an asterisk (\*) to represent the names or IDs of all relevant resources. self.acl_resource_name = acl_resource_name # type: str # The matching mode. Valid values: # # * **LITERAL**: exact match # * **PREFIXED**: prefix match self.acl_resource_pattern_type = acl_resource_pattern_type # type: str # The resource type. Valid values: # # * **Topic**\ # * **Group**\ # * **Cluster**\ # * **TransactionalId**: transaction self.acl_resource_type = acl_resource_type # type: str self.host = host # type: str # The instance ID. self.instance_id = instance_id # type: str # The region ID. self.region_id = region_id # type: str # The username. # # You can use an asterisk (\*) to represent all usernames. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(CreateAclRequest, self).to_map() if _map is not None: return _map result = dict() if self.acl_operation_type is not None: result['AclOperationType'] = self.acl_operation_type if self.acl_operation_types is not None: result['AclOperationTypes'] = self.acl_operation_types if self.acl_permission_type is not None: result['AclPermissionType'] = self.acl_permission_type if self.acl_resource_name is not None: result['AclResourceName'] = self.acl_resource_name if self.acl_resource_pattern_type is not None: result['AclResourcePatternType'] = self.acl_resource_pattern_type if self.acl_resource_type is not None: result['AclResourceType'] = self.acl_resource_type if self.host is not None: result['Host'] = self.host if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('AclOperationType') is not None: self.acl_operation_type = m.get('AclOperationType') if m.get('AclOperationTypes') is not None: self.acl_operation_types = m.get('AclOperationTypes') if m.get('AclPermissionType') is not None: self.acl_permission_type = m.get('AclPermissionType') if m.get('AclResourceName') is not None: self.acl_resource_name = m.get('AclResourceName') if m.get('AclResourcePatternType') is not None: self.acl_resource_pattern_type = m.get('AclResourcePatternType') if m.get('AclResourceType') is not None: self.acl_resource_type = m.get('AclResourceType') if m.get('Host') is not None: self.host = m.get('Host') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Username') is not None: self.username = m.get('Username') return self class CreateAclResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreateAclResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreateAclResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateAclResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateAclResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateAclResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateConsumerGroupRequestTag(TeaModel): def __init__(self, key=None, value=None): # The tag key. # # * You must specify this parameter. # * The tag key can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain `http://` or `https://`. self.key = key # type: str # The tag value. # # * You can leave this parameter empty. # * The tag value can be up to 128 characters in length and cannot start with acs: or aliyun. It cannot contain `http://` or `https://`. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreateConsumerGroupRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateConsumerGroupRequest(TeaModel): def __init__(self, consumer_id=None, instance_id=None, region_id=None, remark=None, tag=None): # The name of the consumer group. # # * The value can contain only letters, digits, hyphens (-), and underscores (\_), and the value must contain at least one letter or digit. # * The value must be 3 to 128 characters in length. If the value that you specify contains more than 128 characters, the system automatically truncates the value to 128 characters. # * After a consumer group is created, you cannot change the name of the consumer group. self.consumer_id = consumer_id # type: str # The instance ID. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str # The description of the consumer group. self.remark = remark # type: str # The tags. self.tag = tag # type: list[CreateConsumerGroupRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreateConsumerGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.remark is not None: result['Remark'] = self.remark result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Remark') is not None: self.remark = m.get('Remark') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreateConsumerGroupRequestTag() self.tag.append(temp_model.from_map(k)) return self class CreateConsumerGroupResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreateConsumerGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreateConsumerGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateConsumerGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateConsumerGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateConsumerGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class CreatePostPayOrderRequestServerlessConfig(TeaModel): def __init__(self, reserved_publish_capacity=None, reserved_subscribe_capacity=None): self.reserved_publish_capacity = reserved_publish_capacity # type: long self.reserved_subscribe_capacity = reserved_subscribe_capacity # type: long def validate(self): pass def to_map(self): _map = super(CreatePostPayOrderRequestServerlessConfig, self).to_map() if _map is not None: return _map result = dict() if self.reserved_publish_capacity is not None: result['ReservedPublishCapacity'] = self.reserved_publish_capacity if self.reserved_subscribe_capacity is not None: result['ReservedSubscribeCapacity'] = self.reserved_subscribe_capacity return result def from_map(self, m=None): m = m or dict() if m.get('ReservedPublishCapacity') is not None: self.reserved_publish_capacity = m.get('ReservedPublishCapacity') if m.get('ReservedSubscribeCapacity') is not None: self.reserved_subscribe_capacity = m.get('ReservedSubscribeCapacity') return self class CreatePostPayOrderRequestTag(TeaModel): def __init__(self, key=None, value=None): # The key of tag N. # # * Valid values of N: 1 to 20. # * If this parameter is left empty, the keys of all tags are matched. # * The tag key must be up to 128 characters in length. It cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.key = key # type: str # The value of tag N. # # * Valid values of N: 1 to 20. # * If you do not specify a tag key, you cannot specify a tag value. If this parameter is not configured, all tag values are matched. # * The tag value must be 1 to 128 characters in length. It cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreatePostPayOrderRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreatePostPayOrderRequest(TeaModel): def __init__(self, deploy_type=None, disk_size=None, disk_type=None, eip_max=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, resource_group_id=None, serverless_config=None, spec_type=None, tag=None, topic_quota=None): # The deployment mode of the instance. Valid values: # # * **4**: deploys the instance that allows access from the Internet and a VPC. # * **5**: deploys the instance that allows access only from a VPC. self.deploy_type = deploy_type # type: int # The disk size. # # For more information about the valid values, see [Billing](~~84737~~). self.disk_size = disk_size # type: int # The disk type. Valid values: # # * **0**: ultra disk # * **1**: standard SSD self.disk_type = disk_type # type: str # The Internet traffic for the instance. # # * This parameter is required if the **DeployType** parameter is set to **4**. # * For more information about the valid values, see [Billing](~~84737~~). self.eip_max = eip_max # type: int # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * You must specify at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you specify only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * You must specify at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you specify only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The ID of the resource group. # # If this parameter is left empty, the default resource group is used. You can view the resource group ID on the Resource Group page in the Resource Management console. self.resource_group_id = resource_group_id # type: str self.serverless_config = serverless_config # type: CreatePostPayOrderRequestServerlessConfig # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # For more information about these instance editions, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The tags. self.tag = tag # type: list[CreatePostPayOrderRequestTag] # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): if self.serverless_config: self.serverless_config.validate() if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreatePostPayOrderRequest, self).to_map() if _map is not None: return _map result = dict() if self.deploy_type is not None: result['DeployType'] = self.deploy_type if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.disk_type is not None: result['DiskType'] = self.disk_type if self.eip_max is not None: result['EipMax'] = self.eip_max if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.serverless_config is not None: result['ServerlessConfig'] = self.serverless_config.to_map() if self.spec_type is not None: result['SpecType'] = self.spec_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('DiskType') is not None: self.disk_type = m.get('DiskType') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ServerlessConfig') is not None: temp_model = CreatePostPayOrderRequestServerlessConfig() self.serverless_config = temp_model.from_map(m['ServerlessConfig']) if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreatePostPayOrderRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class CreatePostPayOrderShrinkRequestTag(TeaModel): def __init__(self, key=None, value=None): # The key of tag N. # # * Valid values of N: 1 to 20. # * If this parameter is left empty, the keys of all tags are matched. # * The tag key must be up to 128 characters in length. It cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.key = key # type: str # The value of tag N. # # * Valid values of N: 1 to 20. # * If you do not specify a tag key, you cannot specify a tag value. If this parameter is not configured, all tag values are matched. # * The tag value must be 1 to 128 characters in length. It cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreatePostPayOrderShrinkRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreatePostPayOrderShrinkRequest(TeaModel): def __init__(self, deploy_type=None, disk_size=None, disk_type=None, eip_max=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, resource_group_id=None, serverless_config_shrink=None, spec_type=None, tag=None, topic_quota=None): # The deployment mode of the instance. Valid values: # # * **4**: deploys the instance that allows access from the Internet and a VPC. # * **5**: deploys the instance that allows access only from a VPC. self.deploy_type = deploy_type # type: int # The disk size. # # For more information about the valid values, see [Billing](~~84737~~). self.disk_size = disk_size # type: int # The disk type. Valid values: # # * **0**: ultra disk # * **1**: standard SSD self.disk_type = disk_type # type: str # The Internet traffic for the instance. # # * This parameter is required if the **DeployType** parameter is set to **4**. # * For more information about the valid values, see [Billing](~~84737~~). self.eip_max = eip_max # type: int # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * You must specify at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you specify only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * You must specify at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you specify only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The ID of the resource group. # # If this parameter is left empty, the default resource group is used. You can view the resource group ID on the Resource Group page in the Resource Management console. self.resource_group_id = resource_group_id # type: str self.serverless_config_shrink = serverless_config_shrink # type: str # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # For more information about these instance editions, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The tags. self.tag = tag # type: list[CreatePostPayOrderShrinkRequestTag] # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreatePostPayOrderShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.deploy_type is not None: result['DeployType'] = self.deploy_type if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.disk_type is not None: result['DiskType'] = self.disk_type if self.eip_max is not None: result['EipMax'] = self.eip_max if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.serverless_config_shrink is not None: result['ServerlessConfig'] = self.serverless_config_shrink if self.spec_type is not None: result['SpecType'] = self.spec_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('DiskType') is not None: self.disk_type = m.get('DiskType') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ServerlessConfig') is not None: self.serverless_config_shrink = m.get('ServerlessConfig') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreatePostPayOrderShrinkRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class CreatePostPayOrderResponseBody(TeaModel): def __init__(self, code=None, message=None, order_id=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the order. self.order_id = order_id # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreatePostPayOrderResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.order_id is not None: result['OrderId'] = self.order_id if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreatePostPayOrderResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreatePostPayOrderResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreatePostPayOrderResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreatePostPayOrderResponseBody() self.body = temp_model.from_map(m['body']) return self class CreatePrePayOrderRequestConfluentConfig(TeaModel): def __init__(self, connect_cu=None, connect_replica=None, control_center_cu=None, control_center_replica=None, control_center_storage=None, kafka_cu=None, kafka_replica=None, kafka_rest_proxy_cu=None, kafka_rest_proxy_replica=None, kafka_storage=None, ksql_cu=None, ksql_replica=None, ksql_storage=None, schema_registry_cu=None, schema_registry_replica=None, zoo_keeper_cu=None, zoo_keeper_replica=None, zoo_keeper_storage=None): self.connect_cu = connect_cu # type: int self.connect_replica = connect_replica # type: int self.control_center_cu = control_center_cu # type: int self.control_center_replica = control_center_replica # type: int self.control_center_storage = control_center_storage # type: int self.kafka_cu = kafka_cu # type: int self.kafka_replica = kafka_replica # type: int self.kafka_rest_proxy_cu = kafka_rest_proxy_cu # type: int self.kafka_rest_proxy_replica = kafka_rest_proxy_replica # type: int self.kafka_storage = kafka_storage # type: int self.ksql_cu = ksql_cu # type: int self.ksql_replica = ksql_replica # type: int self.ksql_storage = ksql_storage # type: int self.schema_registry_cu = schema_registry_cu # type: int self.schema_registry_replica = schema_registry_replica # type: int self.zoo_keeper_cu = zoo_keeper_cu # type: int self.zoo_keeper_replica = zoo_keeper_replica # type: int self.zoo_keeper_storage = zoo_keeper_storage # type: int def validate(self): pass def to_map(self): _map = super(CreatePrePayOrderRequestConfluentConfig, self).to_map() if _map is not None: return _map result = dict() if self.connect_cu is not None: result['ConnectCU'] = self.connect_cu if self.connect_replica is not None: result['ConnectReplica'] = self.connect_replica if self.control_center_cu is not None: result['ControlCenterCU'] = self.control_center_cu if self.control_center_replica is not None: result['ControlCenterReplica'] = self.control_center_replica if self.control_center_storage is not None: result['ControlCenterStorage'] = self.control_center_storage if self.kafka_cu is not None: result['KafkaCU'] = self.kafka_cu if self.kafka_replica is not None: result['KafkaReplica'] = self.kafka_replica if self.kafka_rest_proxy_cu is not None: result['KafkaRestProxyCU'] = self.kafka_rest_proxy_cu if self.kafka_rest_proxy_replica is not None: result['KafkaRestProxyReplica'] = self.kafka_rest_proxy_replica if self.kafka_storage is not None: result['KafkaStorage'] = self.kafka_storage if self.ksql_cu is not None: result['KsqlCU'] = self.ksql_cu if self.ksql_replica is not None: result['KsqlReplica'] = self.ksql_replica if self.ksql_storage is not None: result['KsqlStorage'] = self.ksql_storage if self.schema_registry_cu is not None: result['SchemaRegistryCU'] = self.schema_registry_cu if self.schema_registry_replica is not None: result['SchemaRegistryReplica'] = self.schema_registry_replica if self.zoo_keeper_cu is not None: result['ZooKeeperCU'] = self.zoo_keeper_cu if self.zoo_keeper_replica is not None: result['ZooKeeperReplica'] = self.zoo_keeper_replica if self.zoo_keeper_storage is not None: result['ZooKeeperStorage'] = self.zoo_keeper_storage return result def from_map(self, m=None): m = m or dict() if m.get('ConnectCU') is not None: self.connect_cu = m.get('ConnectCU') if m.get('ConnectReplica') is not None: self.connect_replica = m.get('ConnectReplica') if m.get('ControlCenterCU') is not None: self.control_center_cu = m.get('ControlCenterCU') if m.get('ControlCenterReplica') is not None: self.control_center_replica = m.get('ControlCenterReplica') if m.get('ControlCenterStorage') is not None: self.control_center_storage = m.get('ControlCenterStorage') if m.get('KafkaCU') is not None: self.kafka_cu = m.get('KafkaCU') if m.get('KafkaReplica') is not None: self.kafka_replica = m.get('KafkaReplica') if m.get('KafkaRestProxyCU') is not None: self.kafka_rest_proxy_cu = m.get('KafkaRestProxyCU') if m.get('KafkaRestProxyReplica') is not None: self.kafka_rest_proxy_replica = m.get('KafkaRestProxyReplica') if m.get('KafkaStorage') is not None: self.kafka_storage = m.get('KafkaStorage') if m.get('KsqlCU') is not None: self.ksql_cu = m.get('KsqlCU') if m.get('KsqlReplica') is not None: self.ksql_replica = m.get('KsqlReplica') if m.get('KsqlStorage') is not None: self.ksql_storage = m.get('KsqlStorage') if m.get('SchemaRegistryCU') is not None: self.schema_registry_cu = m.get('SchemaRegistryCU') if m.get('SchemaRegistryReplica') is not None: self.schema_registry_replica = m.get('SchemaRegistryReplica') if m.get('ZooKeeperCU') is not None: self.zoo_keeper_cu = m.get('ZooKeeperCU') if m.get('ZooKeeperReplica') is not None: self.zoo_keeper_replica = m.get('ZooKeeperReplica') if m.get('ZooKeeperStorage') is not None: self.zoo_keeper_storage = m.get('ZooKeeperStorage') return self class CreatePrePayOrderRequestTag(TeaModel): def __init__(self, key=None, value=None): # The key of tag N. # # * Valid values of N: 1 to 20. # * If this parameter is left empty, the keys of all tags are matched. # * The tag key can be up to 128 characters in length and cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.key = key # type: str # The value of tag N. # # * Valid values of N: 1 to 20. # * This parameter can be left empty. # * The tag value can be 1 to 128 characters in length and cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreatePrePayOrderRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreatePrePayOrderRequest(TeaModel): def __init__(self, confluent_config=None, deploy_type=None, disk_size=None, disk_type=None, duration=None, eip_max=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, resource_group_id=None, spec_type=None, tag=None, topic_quota=None): self.confluent_config = confluent_config # type: CreatePrePayOrderRequestConfluentConfig # The deployment mode of the instance. Valid values: # # * **4**: deploys the instance that allows access from the Internet and a VPC. # * **5**: deploys the instance that allows access only from a VPC. self.deploy_type = deploy_type # type: int # The disk size. Unit: GB. # # For more information about the valid values, see [Billing](~~84737~~). self.disk_size = disk_size # type: int # The disk type. Valid values: # # * **0**: ultra disk # * **1**: standard SSD self.disk_type = disk_type # type: str self.duration = duration # type: int # The Internet traffic for the instance. # # * This parameter is required if the **DeployType** parameter is set to **4**. # * For more information about the valid values, see [Pay-as-you-go](~~72142~~). self.eip_max = eip_max # type: int # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * You must configure at least one of the **IoMax** and **IoMaxSpec** parameters. If both parameters are configured, the value of the **IoMaxSpec** parameter takes effect. We recommend that you configure only the **IoMaxSpec** parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * You must configure at least one of the **IoMax** and **IoMaxSpec** parameters. If both parameters are configured, the value of the **IoMaxSpec** parameter takes effect. We recommend that you configure only the **IoMaxSpec** parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The ID of the resource group. # # If this parameter is left empty, the default resource group is used. You can view the resource group ID on the Resource Group page in the Resource Management console. self.resource_group_id = resource_group_id # type: str # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # For more information, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The tags. self.tag = tag # type: list[CreatePrePayOrderRequestTag] # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): if self.confluent_config: self.confluent_config.validate() if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreatePrePayOrderRequest, self).to_map() if _map is not None: return _map result = dict() if self.confluent_config is not None: result['ConfluentConfig'] = self.confluent_config.to_map() if self.deploy_type is not None: result['DeployType'] = self.deploy_type if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.disk_type is not None: result['DiskType'] = self.disk_type if self.duration is not None: result['Duration'] = self.duration if self.eip_max is not None: result['EipMax'] = self.eip_max if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.spec_type is not None: result['SpecType'] = self.spec_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('ConfluentConfig') is not None: temp_model = CreatePrePayOrderRequestConfluentConfig() self.confluent_config = temp_model.from_map(m['ConfluentConfig']) if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('DiskType') is not None: self.disk_type = m.get('DiskType') if m.get('Duration') is not None: self.duration = m.get('Duration') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreatePrePayOrderRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class CreatePrePayOrderShrinkRequestTag(TeaModel): def __init__(self, key=None, value=None): # The key of tag N. # # * Valid values of N: 1 to 20. # * If this parameter is left empty, the keys of all tags are matched. # * The tag key can be up to 128 characters in length and cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.key = key # type: str # The value of tag N. # # * Valid values of N: 1 to 20. # * This parameter can be left empty. # * The tag value can be 1 to 128 characters in length and cannot start with acs: or aliyun or contain [http:// or https://.](http://https://。) self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreatePrePayOrderShrinkRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreatePrePayOrderShrinkRequest(TeaModel): def __init__(self, confluent_config_shrink=None, deploy_type=None, disk_size=None, disk_type=None, duration=None, eip_max=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, resource_group_id=None, spec_type=None, tag=None, topic_quota=None): self.confluent_config_shrink = confluent_config_shrink # type: str # The deployment mode of the instance. Valid values: # # * **4**: deploys the instance that allows access from the Internet and a VPC. # * **5**: deploys the instance that allows access only from a VPC. self.deploy_type = deploy_type # type: int # The disk size. Unit: GB. # # For more information about the valid values, see [Billing](~~84737~~). self.disk_size = disk_size # type: int # The disk type. Valid values: # # * **0**: ultra disk # * **1**: standard SSD self.disk_type = disk_type # type: str self.duration = duration # type: int # The Internet traffic for the instance. # # * This parameter is required if the **DeployType** parameter is set to **4**. # * For more information about the valid values, see [Pay-as-you-go](~~72142~~). self.eip_max = eip_max # type: int # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * You must configure at least one of the **IoMax** and **IoMaxSpec** parameters. If both parameters are configured, the value of the **IoMaxSpec** parameter takes effect. We recommend that you configure only the **IoMaxSpec** parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * You must configure at least one of the **IoMax** and **IoMaxSpec** parameters. If both parameters are configured, the value of the **IoMaxSpec** parameter takes effect. We recommend that you configure only the **IoMaxSpec** parameter. # * For more information about the valid values, see [Billing](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The ID of the resource group. # # If this parameter is left empty, the default resource group is used. You can view the resource group ID on the Resource Group page in the Resource Management console. self.resource_group_id = resource_group_id # type: str # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # For more information, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The tags. self.tag = tag # type: list[CreatePrePayOrderShrinkRequestTag] # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreatePrePayOrderShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.confluent_config_shrink is not None: result['ConfluentConfig'] = self.confluent_config_shrink if self.deploy_type is not None: result['DeployType'] = self.deploy_type if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.disk_type is not None: result['DiskType'] = self.disk_type if self.duration is not None: result['Duration'] = self.duration if self.eip_max is not None: result['EipMax'] = self.eip_max if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.spec_type is not None: result['SpecType'] = self.spec_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('ConfluentConfig') is not None: self.confluent_config_shrink = m.get('ConfluentConfig') if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('DiskType') is not None: self.disk_type = m.get('DiskType') if m.get('Duration') is not None: self.duration = m.get('Duration') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreatePrePayOrderShrinkRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class CreatePrePayOrderResponseBody(TeaModel): def __init__(self, code=None, message=None, order_id=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the order. self.order_id = order_id # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreatePrePayOrderResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.order_id is not None: result['OrderId'] = self.order_id if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreatePrePayOrderResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreatePrePayOrderResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreatePrePayOrderResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreatePrePayOrderResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateSaslUserRequest(TeaModel): def __init__(self, instance_id=None, mechanism=None, password=None, region_id=None, type=None, username=None): # The instance ID. self.instance_id = instance_id # type: str # The encryption method. Valid values: # # * SCRAM-SHA-512 (default) # * SCRAM-SHA-256 # # > # # * This parameter is available only for ApsaraMQ for Kafka V3 serverless instances. self.mechanism = mechanism # type: str # The password of the SASL user. self.password = password # type: str # The region ID. self.region_id = region_id # type: str # The SASL mechanism. Valid values: # # * **plain**: a simple mechanism that uses usernames and passwords to verify user identities. Message Queue for Apache Kafka provides an optimized PLAIN mechanism that allows you to dynamically create SASL users for an instance without the need to restart the instance. # * **scram**: a mechanism that uses usernames and passwords to verify user identities. This mechanism provides better security protection than the PLAIN mechanism. Message Queue for Apache Kafka uses SCRAM-SHA-256. # # Default value: **plain**. self.type = type # type: str # The name of the SASL user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(CreateSaslUserRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.mechanism is not None: result['Mechanism'] = self.mechanism if self.password is not None: result['Password'] = self.password if self.region_id is not None: result['RegionId'] = self.region_id if self.type is not None: result['Type'] = self.type if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('Mechanism') is not None: self.mechanism = m.get('Mechanism') if m.get('Password') is not None: self.password = m.get('Password') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Type') is not None: self.type = m.get('Type') if m.get('Username') is not None: self.username = m.get('Username') return self class CreateSaslUserResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreateSaslUserResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreateSaslUserResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateSaslUserResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateSaslUserResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateSaslUserResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateTopicRequestTag(TeaModel): def __init__(self, key=None, value=None): # The tag key. # # * If you do not specify this parameter, the keys of all tags are matched. # * The tag key must be 1 to 128 characters in length and cannot contain `http://` or `https://`. The tag key cannot start with `aliyun` or `acs:`. self.key = key # type: str # The tag value. # # * You can leave this parameter empty. # * The tag value must be 1 to 128 characters in length and cannot contain http:// or https://. The tag value cannot start with aliyun or acs:. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(CreateTopicRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class CreateTopicRequest(TeaModel): def __init__(self, compact_topic=None, config=None, instance_id=None, local_topic=None, min_insync_replicas=None, partition_num=None, region_id=None, remark=None, replication_factor=None, tag=None, topic=None): # The log cleanup policy that is used for the topic. This parameter is available only when LocalTopic is set to true. Valid values: # # * false: The topic uses the default log cleanup policy. # * true: The topic uses the log compaction policy. self.compact_topic = compact_topic # type: bool # The additional configurations. # # * The value of this parameter must be in JSON format. # * The key must be **replications**. The value indicates the number of replicas for the topic. The value must be an integer that ranges from 1 to 3. # * This parameter is available only when **LocalTopic** is set to **true**, or the instance is of the **Open Source Edition (Local Disk)**.****\ # # > If you specify this parameter, **ReplicationFactor** does not take effect. self.config = config # type: str # The instance ID. self.instance_id = instance_id # type: str # The type of storage that the topic uses. Valid values: # # * false: The topic uses cloud storage. # * true: The topic uses local storage. self.local_topic = local_topic # type: bool # The minimum number of in-sync replicas (ISRs). # # * This parameter is available only when **LocalTopic** is set to **true**, or the instance is of the **Open Source Edition (Local Disk)**.****\ # * The value of this parameter must be smaller than the value of ReplicationFactor. # * Valid values: 1 to 3. self.min_insync_replicas = min_insync_replicas # type: long # The number of partitions in the topic. # # * Valid values: 1 to 360. # * The system recommends the number of partitions based on the specification of the instance. You can view the recommended number in the Message Queue for Apache Kafka console. We recommend that you specify the number that is recommended by the system as the value of this parameter to reduce the risk of data skew. self.partition_num = partition_num # type: str # The region ID of the instance in which you want to create a topic. self.region_id = region_id # type: str # The description of the topic. # # * The description can contain only letters, digits, hyphens (-), and underscores (\_). # * The description must be 3 to 64 characters in length. self.remark = remark # type: str # The number of replicas for the topic. # # * This parameter is available only when **LocalTopic** is set to **true**, or the instance is of the **Open Source Edition (Local Disk)**.****\ # * Valid values: 1 to 3. # # > If you set this parameter to **1**, data loss may occur. Exercise caution when you configure this parameter. self.replication_factor = replication_factor # type: long # The tags that you want to add to the topic. self.tag = tag # type: list[CreateTopicRequestTag] # The topic name. # # * The name can contain only letters, digits, hyphens (-), and underscores (\_). # * The name must be 3 to 64 characters in length. If the name that you specify contains more than 64 characters, the system automatically truncates the name. # * After a topic is created, you cannot change the name of the topic. self.topic = topic # type: str def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(CreateTopicRequest, self).to_map() if _map is not None: return _map result = dict() if self.compact_topic is not None: result['CompactTopic'] = self.compact_topic if self.config is not None: result['Config'] = self.config if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.local_topic is not None: result['LocalTopic'] = self.local_topic if self.min_insync_replicas is not None: result['MinInsyncReplicas'] = self.min_insync_replicas if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.remark is not None: result['Remark'] = self.remark if self.replication_factor is not None: result['ReplicationFactor'] = self.replication_factor result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('CompactTopic') is not None: self.compact_topic = m.get('CompactTopic') if m.get('Config') is not None: self.config = m.get('Config') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('LocalTopic') is not None: self.local_topic = m.get('LocalTopic') if m.get('MinInsyncReplicas') is not None: self.min_insync_replicas = m.get('MinInsyncReplicas') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Remark') is not None: self.remark = m.get('Remark') if m.get('ReplicationFactor') is not None: self.replication_factor = m.get('ReplicationFactor') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreateTopicRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('Topic') is not None: self.topic = m.get('Topic') return self class CreateTopicResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the call is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the call was successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(CreateTopicResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class CreateTopicResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: CreateTopicResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(CreateTopicResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = CreateTopicResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteAclRequest(TeaModel): def __init__(self, acl_operation_type=None, acl_operation_types=None, acl_permission_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, host=None, instance_id=None, region_id=None, username=None): # The operation allowed by the access control list (ACL). Valid values: # # * **Write**: data writes # * **Read**: data reads # * **Describe**: reads of transactional IDs # * **IdempotentWrite**: idempotent data writes to clusters self.acl_operation_type = acl_operation_type # type: str # The operations allowed by the ACL. Separate multiple operations with commas (,). # # Valid values: # # * **Write**: data writes # * **Read**: data reads # * **Describe**: reads of **transactional IDs**\ # * **IdempotentWrite**: idempotent data writes to **clusters**\ # # > This parameter is available only for ApsaraMQ for Kafka V3 serverless instances. self.acl_operation_types = acl_operation_types # type: str # The authorization method. Valid values: # # * Deny # * ALLOW # # > This parameter is available only for ApsaraMQ for Kafka V3 serverless instances. self.acl_permission_type = acl_permission_type # type: str # The name of the resource. # # * The value can be the name of a topic or consumer group. # * You can use an asterisk (\*) to indicate the names of all topics or consumer groups. self.acl_resource_name = acl_resource_name # type: str # The mode that is used to match resources. Valid values: # # * **LITERAL:** full match # * **PREFIXED**: prefix match self.acl_resource_pattern_type = acl_resource_pattern_type # type: str # The resource type. Valid values: # # * **Topic**: topic # * **Group**: consumer group # * **Cluster**: cluster # * **TransactionalId**: transactional ID self.acl_resource_type = acl_resource_type # type: str # The IP address of the source. self.host = host # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The ID of the region. self.region_id = region_id # type: str # The name of the user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(DeleteAclRequest, self).to_map() if _map is not None: return _map result = dict() if self.acl_operation_type is not None: result['AclOperationType'] = self.acl_operation_type if self.acl_operation_types is not None: result['AclOperationTypes'] = self.acl_operation_types if self.acl_permission_type is not None: result['AclPermissionType'] = self.acl_permission_type if self.acl_resource_name is not None: result['AclResourceName'] = self.acl_resource_name if self.acl_resource_pattern_type is not None: result['AclResourcePatternType'] = self.acl_resource_pattern_type if self.acl_resource_type is not None: result['AclResourceType'] = self.acl_resource_type if self.host is not None: result['Host'] = self.host if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('AclOperationType') is not None: self.acl_operation_type = m.get('AclOperationType') if m.get('AclOperationTypes') is not None: self.acl_operation_types = m.get('AclOperationTypes') if m.get('AclPermissionType') is not None: self.acl_permission_type = m.get('AclPermissionType') if m.get('AclResourceName') is not None: self.acl_resource_name = m.get('AclResourceName') if m.get('AclResourcePatternType') is not None: self.acl_resource_pattern_type = m.get('AclResourcePatternType') if m.get('AclResourceType') is not None: self.acl_resource_type = m.get('AclResourceType') if m.get('Host') is not None: self.host = m.get('Host') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Username') is not None: self.username = m.get('Username') return self class DeleteAclResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(DeleteAclResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DeleteAclResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteAclResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteAclResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteAclResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteConsumerGroupRequest(TeaModel): def __init__(self, consumer_id=None, instance_id=None, region_id=None): # The name of the consumer group. self.consumer_id = consumer_id # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteConsumerGroupRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class DeleteConsumerGroupResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(DeleteConsumerGroupResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DeleteConsumerGroupResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteConsumerGroupResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteConsumerGroupResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteConsumerGroupResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteInstanceRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(DeleteInstanceRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class DeleteInstanceResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(DeleteInstanceResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DeleteInstanceResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteInstanceResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteInstanceResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteSaslUserRequest(TeaModel): def __init__(self, instance_id=None, mechanism=None, region_id=None, type=None, username=None): # The ID of the instance. self.instance_id = instance_id # type: str self.mechanism = mechanism # type: str # The ID of the region. self.region_id = region_id # type: str # The SASL mechanism. Valid values: # # * **plain**: a simple mechanism that uses usernames and passwords to verify user identities. Message Queue for Apache Kafka provides an optimized PLAIN mechanism that allows you to dynamically create SASL users for an instance without the need to restart the instance. # * **scram**: a mechanism that uses usernames and passwords to verify user identities. This mechanism provides better security protection than the PLAIN mechanism. Message Queue for Apache Kafka uses SCRAM-SHA-256. # # Default value: **plain**. self.type = type # type: str # The name of the user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(DeleteSaslUserRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.mechanism is not None: result['Mechanism'] = self.mechanism if self.region_id is not None: result['RegionId'] = self.region_id if self.type is not None: result['Type'] = self.type if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('Mechanism') is not None: self.mechanism = m.get('Mechanism') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Type') is not None: self.type = m.get('Type') if m.get('Username') is not None: self.username = m.get('Username') return self class DeleteSaslUserResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(DeleteSaslUserResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DeleteSaslUserResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteSaslUserResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteSaslUserResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteSaslUserResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteTopicRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, topic=None): # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str # The name of the topic. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(DeleteTopicRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class DeleteTopicResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code. The status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(DeleteTopicResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DeleteTopicResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DeleteTopicResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DeleteTopicResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DeleteTopicResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeAclsRequest(TeaModel): def __init__(self, acl_operation_type=None, acl_permission_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, host=None, instance_id=None, region_id=None, username=None): self.acl_operation_type = acl_operation_type # type: str self.acl_permission_type = acl_permission_type # type: str # The name or ID of the resource. # # * The value can be the name of a topic or a consumer group. # * You can use an asterisk (\*) to represent the names of all topics or consumer groups. self.acl_resource_name = acl_resource_name # type: str # The match mode. Valid values: # # * LITERAL: full-name match # * PREFIXED: prefix match self.acl_resource_pattern_type = acl_resource_pattern_type # type: str # The resource type. Valid values: # # * **Topic**\ # * **Group**\ self.acl_resource_type = acl_resource_type # type: str self.host = host # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The ID of the region. self.region_id = region_id # type: str # The name of the user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(DescribeAclsRequest, self).to_map() if _map is not None: return _map result = dict() if self.acl_operation_type is not None: result['AclOperationType'] = self.acl_operation_type if self.acl_permission_type is not None: result['AclPermissionType'] = self.acl_permission_type if self.acl_resource_name is not None: result['AclResourceName'] = self.acl_resource_name if self.acl_resource_pattern_type is not None: result['AclResourcePatternType'] = self.acl_resource_pattern_type if self.acl_resource_type is not None: result['AclResourceType'] = self.acl_resource_type if self.host is not None: result['Host'] = self.host if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('AclOperationType') is not None: self.acl_operation_type = m.get('AclOperationType') if m.get('AclPermissionType') is not None: self.acl_permission_type = m.get('AclPermissionType') if m.get('AclResourceName') is not None: self.acl_resource_name = m.get('AclResourceName') if m.get('AclResourcePatternType') is not None: self.acl_resource_pattern_type = m.get('AclResourcePatternType') if m.get('AclResourceType') is not None: self.acl_resource_type = m.get('AclResourceType') if m.get('Host') is not None: self.host = m.get('Host') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Username') is not None: self.username = m.get('Username') return self class DescribeAclsResponseBodyKafkaAclListKafkaAclVO(TeaModel): def __init__(self, acl_operation_type=None, acl_permission_type=None, acl_resource_name=None, acl_resource_pattern_type=None, acl_resource_type=None, host=None, username=None): # The type of the operation. Valid values: # # * **Write**\ # * **Read**\ self.acl_operation_type = acl_operation_type # type: str self.acl_permission_type = acl_permission_type # type: str # The name of the resource. # # * The value can be the name of a topic or a consumer group. # * An asterisk (\*) represents the names of all topics or consumer groups. self.acl_resource_name = acl_resource_name # type: str # The match mode. Valid values: # # * **LITERAL**: full-name match # * **PREFIXED**: prefix match self.acl_resource_pattern_type = acl_resource_pattern_type # type: str # The type of the resources to which you want to attach tags. Valid values: # # * **Topic**\ # * **Group**\ self.acl_resource_type = acl_resource_type # type: str # The host. self.host = host # type: str # The name of the user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(DescribeAclsResponseBodyKafkaAclListKafkaAclVO, self).to_map() if _map is not None: return _map result = dict() if self.acl_operation_type is not None: result['AclOperationType'] = self.acl_operation_type if self.acl_permission_type is not None: result['AclPermissionType'] = self.acl_permission_type if self.acl_resource_name is not None: result['AclResourceName'] = self.acl_resource_name if self.acl_resource_pattern_type is not None: result['AclResourcePatternType'] = self.acl_resource_pattern_type if self.acl_resource_type is not None: result['AclResourceType'] = self.acl_resource_type if self.host is not None: result['Host'] = self.host if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('AclOperationType') is not None: self.acl_operation_type = m.get('AclOperationType') if m.get('AclPermissionType') is not None: self.acl_permission_type = m.get('AclPermissionType') if m.get('AclResourceName') is not None: self.acl_resource_name = m.get('AclResourceName') if m.get('AclResourcePatternType') is not None: self.acl_resource_pattern_type = m.get('AclResourcePatternType') if m.get('AclResourceType') is not None: self.acl_resource_type = m.get('AclResourceType') if m.get('Host') is not None: self.host = m.get('Host') if m.get('Username') is not None: self.username = m.get('Username') return self class DescribeAclsResponseBodyKafkaAclList(TeaModel): def __init__(self, kafka_acl_vo=None): self.kafka_acl_vo = kafka_acl_vo # type: list[DescribeAclsResponseBodyKafkaAclListKafkaAclVO] def validate(self): if self.kafka_acl_vo: for k in self.kafka_acl_vo: if k: k.validate() def to_map(self): _map = super(DescribeAclsResponseBodyKafkaAclList, self).to_map() if _map is not None: return _map result = dict() result['KafkaAclVO'] = [] if self.kafka_acl_vo is not None: for k in self.kafka_acl_vo: result['KafkaAclVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.kafka_acl_vo = [] if m.get('KafkaAclVO') is not None: for k in m.get('KafkaAclVO'): temp_model = DescribeAclsResponseBodyKafkaAclListKafkaAclVO() self.kafka_acl_vo.append(temp_model.from_map(k)) return self class DescribeAclsResponseBody(TeaModel): def __init__(self, code=None, kafka_acl_list=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The ACLs. self.kafka_acl_list = kafka_acl_list # type: DescribeAclsResponseBodyKafkaAclList # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): if self.kafka_acl_list: self.kafka_acl_list.validate() def to_map(self): _map = super(DescribeAclsResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.kafka_acl_list is not None: result['KafkaAclList'] = self.kafka_acl_list.to_map() if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('KafkaAclList') is not None: temp_model = DescribeAclsResponseBodyKafkaAclList() self.kafka_acl_list = temp_model.from_map(m['KafkaAclList']) if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class DescribeAclsResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DescribeAclsResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DescribeAclsResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DescribeAclsResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeSaslUsersRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The ID of the instance. self.instance_id = instance_id # type: str # The ID of the region. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(DescribeSaslUsersRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class DescribeSaslUsersResponseBodySaslUserListSaslUserVO(TeaModel): def __init__(self, mechanism=None, password=None, type=None, username=None): self.mechanism = mechanism # type: str # The password that is used to access the Elasticsearch cluster. self.password = password # type: str # The request type. Valid values: # # * **plain**: a simple mechanism that uses usernames and passwords to verify user identities. Message Queue for Apache Kafka provides an optimized PLAIN mechanism that allows you to dynamically create SASL users for an instance without the need to restart the instance. # * **scram**: a mechanism that uses usernames and passwords to verify user identities. This mechanism provides better security protection than the PLAIN mechanism. Message Queue for Apache Kafka uses SCRAM-SHA-256. # # Default value: **plain**. self.type = type # type: str # The name of the user. self.username = username # type: str def validate(self): pass def to_map(self): _map = super(DescribeSaslUsersResponseBodySaslUserListSaslUserVO, self).to_map() if _map is not None: return _map result = dict() if self.mechanism is not None: result['Mechanism'] = self.mechanism if self.password is not None: result['Password'] = self.password if self.type is not None: result['Type'] = self.type if self.username is not None: result['Username'] = self.username return result def from_map(self, m=None): m = m or dict() if m.get('Mechanism') is not None: self.mechanism = m.get('Mechanism') if m.get('Password') is not None: self.password = m.get('Password') if m.get('Type') is not None: self.type = m.get('Type') if m.get('Username') is not None: self.username = m.get('Username') return self class DescribeSaslUsersResponseBodySaslUserList(TeaModel): def __init__(self, sasl_user_vo=None): self.sasl_user_vo = sasl_user_vo # type: list[DescribeSaslUsersResponseBodySaslUserListSaslUserVO] def validate(self): if self.sasl_user_vo: for k in self.sasl_user_vo: if k: k.validate() def to_map(self): _map = super(DescribeSaslUsersResponseBodySaslUserList, self).to_map() if _map is not None: return _map result = dict() result['SaslUserVO'] = [] if self.sasl_user_vo is not None: for k in self.sasl_user_vo: result['SaslUserVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.sasl_user_vo = [] if m.get('SaslUserVO') is not None: for k in m.get('SaslUserVO'): temp_model = DescribeSaslUsersResponseBodySaslUserListSaslUserVO() self.sasl_user_vo.append(temp_model.from_map(k)) return self class DescribeSaslUsersResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, sasl_user_list=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # The SASL users. self.sasl_user_list = sasl_user_list # type: DescribeSaslUsersResponseBodySaslUserList # Indicates whether the request is successful. self.success = success # type: bool def validate(self): if self.sasl_user_list: self.sasl_user_list.validate() def to_map(self): _map = super(DescribeSaslUsersResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.sasl_user_list is not None: result['SaslUserList'] = self.sasl_user_list.to_map() if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('SaslUserList') is not None: temp_model = DescribeSaslUsersResponseBodySaslUserList() self.sasl_user_list = temp_model.from_map(m['SaslUserList']) if m.get('Success') is not None: self.success = m.get('Success') return self class DescribeSaslUsersResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: DescribeSaslUsersResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(DescribeSaslUsersResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = DescribeSaslUsersResponseBody() self.body = temp_model.from_map(m['body']) return self class EnableAutoGroupCreationRequest(TeaModel): def __init__(self, enable=None, instance_id=None, region_id=None): # Specify whether to enable the flexible group creation feature. Valid values: # # * **true**: enables the flexible group creation feature. # * **false**: disabled the flexible group creation feature. self.enable = enable # type: bool # The instance ID. # # You can call the [GetInstanceList](~~437663~~) operation to query instances. self.instance_id = instance_id # type: str # The region ID. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(EnableAutoGroupCreationRequest, self).to_map() if _map is not None: return _map result = dict() if self.enable is not None: result['Enable'] = self.enable if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('Enable') is not None: self.enable = m.get('Enable') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class EnableAutoGroupCreationResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The returned HTTP status code. # # If the value **200** is returned, the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(EnableAutoGroupCreationResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class EnableAutoGroupCreationResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: EnableAutoGroupCreationResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(EnableAutoGroupCreationResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = EnableAutoGroupCreationResponseBody() self.body = temp_model.from_map(m['body']) return self class EnableAutoTopicCreationRequest(TeaModel): def __init__(self, instance_id=None, operate=None, partition_num=None, region_id=None): # The instance ID. self.instance_id = instance_id # type: str # The operation that you want to perform. Valid values: # # * enable: enables the automatic topic creation feature. # * disable: disables the automatic topic creation feature. # * updatePartition: changes the number of partitions in topics that are automatically created. self.operate = operate # type: str # The changed number of partitions in topics that are automatically created. # # This parameter takes effect only if you set Operate to updatePartition. self.partition_num = partition_num # type: long # The region ID. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(EnableAutoTopicCreationRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.operate is not None: result['Operate'] = self.operate if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('Operate') is not None: self.operate = m.get('Operate') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class EnableAutoTopicCreationResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The returned status code. If the request is successful, 200 is returned. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(EnableAutoTopicCreationResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class EnableAutoTopicCreationResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: EnableAutoTopicCreationResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(EnableAutoTopicCreationResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = EnableAutoTopicCreationResponseBody() self.body = temp_model.from_map(m['body']) return self class GetAllInstanceIdListRequest(TeaModel): def __init__(self, region_id=None): # The region ID of the instance. This parameter is reserved. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(GetAllInstanceIdListRequest, self).to_map() if _map is not None: return _map result = dict() if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class GetAllInstanceIdListResponseBody(TeaModel): def __init__(self, code=None, instance_ids=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The IDs of instances that are managed by the Alibaba Cloud account in all the regions. self.instance_ids = instance_ids # type: dict[str, any] # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(GetAllInstanceIdListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.instance_ids is not None: result['InstanceIds'] = self.instance_ids if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('InstanceIds') is not None: self.instance_ids = m.get('InstanceIds') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class GetAllInstanceIdListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetAllInstanceIdListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetAllInstanceIdListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetAllInstanceIdListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetAllowedIpListRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The instance ID. self.instance_id = instance_id # type: str # The region ID. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(GetAllowedIpListRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class GetAllowedIpListResponseBodyAllowedListInternetList(TeaModel): def __init__(self, allowed_ip_group=None, allowed_ip_list=None, port_range=None): # The group to which the IP address whitelist belongs. self.allowed_ip_group = allowed_ip_group # type: dict[str, str] # The information about the IP address whitelist. self.allowed_ip_list = allowed_ip_list # type: list[str] # The port range. Valid value: # # **9093/9093**. self.port_range = port_range # type: str def validate(self): pass def to_map(self): _map = super(GetAllowedIpListResponseBodyAllowedListInternetList, self).to_map() if _map is not None: return _map result = dict() if self.allowed_ip_group is not None: result['AllowedIpGroup'] = self.allowed_ip_group if self.allowed_ip_list is not None: result['AllowedIpList'] = self.allowed_ip_list if self.port_range is not None: result['PortRange'] = self.port_range return result def from_map(self, m=None): m = m or dict() if m.get('AllowedIpGroup') is not None: self.allowed_ip_group = m.get('AllowedIpGroup') if m.get('AllowedIpList') is not None: self.allowed_ip_list = m.get('AllowedIpList') if m.get('PortRange') is not None: self.port_range = m.get('PortRange') return self class GetAllowedIpListResponseBodyAllowedListVpcList(TeaModel): def __init__(self, allowed_ip_group=None, allowed_ip_list=None, port_range=None): # The group to which the IP address whitelist belongs. self.allowed_ip_group = allowed_ip_group # type: dict[str, str] # The information about the IP address whitelist. self.allowed_ip_list = allowed_ip_list # type: list[str] # The port range. Valid value: # # **9092/9092**. self.port_range = port_range # type: str def validate(self): pass def to_map(self): _map = super(GetAllowedIpListResponseBodyAllowedListVpcList, self).to_map() if _map is not None: return _map result = dict() if self.allowed_ip_group is not None: result['AllowedIpGroup'] = self.allowed_ip_group if self.allowed_ip_list is not None: result['AllowedIpList'] = self.allowed_ip_list if self.port_range is not None: result['PortRange'] = self.port_range return result def from_map(self, m=None): m = m or dict() if m.get('AllowedIpGroup') is not None: self.allowed_ip_group = m.get('AllowedIpGroup') if m.get('AllowedIpList') is not None: self.allowed_ip_list = m.get('AllowedIpList') if m.get('PortRange') is not None: self.port_range = m.get('PortRange') return self class GetAllowedIpListResponseBodyAllowedList(TeaModel): def __init__(self, deploy_type=None, internet_list=None, vpc_list=None): # The deployment mode of the instance. Valid values: # # * **4**: allows access from the Internet and a virtual private cloud (VPC). # * **5**: allows access from a VPC. # # > Only integrators need to concern themselves with the value of this parameter. self.deploy_type = deploy_type # type: int # The whitelist for access from the Internet. self.internet_list = internet_list # type: list[GetAllowedIpListResponseBodyAllowedListInternetList] # The whitelist for access from a virtual private cloud (VPC). self.vpc_list = vpc_list # type: list[GetAllowedIpListResponseBodyAllowedListVpcList] def validate(self): if self.internet_list: for k in self.internet_list: if k: k.validate() if self.vpc_list: for k in self.vpc_list: if k: k.validate() def to_map(self): _map = super(GetAllowedIpListResponseBodyAllowedList, self).to_map() if _map is not None: return _map result = dict() if self.deploy_type is not None: result['DeployType'] = self.deploy_type result['InternetList'] = [] if self.internet_list is not None: for k in self.internet_list: result['InternetList'].append(k.to_map() if k else None) result['VpcList'] = [] if self.vpc_list is not None: for k in self.vpc_list: result['VpcList'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') self.internet_list = [] if m.get('InternetList') is not None: for k in m.get('InternetList'): temp_model = GetAllowedIpListResponseBodyAllowedListInternetList() self.internet_list.append(temp_model.from_map(k)) self.vpc_list = [] if m.get('VpcList') is not None: for k in m.get('VpcList'): temp_model = GetAllowedIpListResponseBodyAllowedListVpcList() self.vpc_list.append(temp_model.from_map(k)) return self class GetAllowedIpListResponseBody(TeaModel): def __init__(self, allowed_list=None, code=None, message=None, request_id=None, success=None): # The IP address whitelist. self.allowed_list = allowed_list # type: GetAllowedIpListResponseBodyAllowedList # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): if self.allowed_list: self.allowed_list.validate() def to_map(self): _map = super(GetAllowedIpListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.allowed_list is not None: result['AllowedList'] = self.allowed_list.to_map() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('AllowedList') is not None: temp_model = GetAllowedIpListResponseBodyAllowedList() self.allowed_list = temp_model.from_map(m['AllowedList']) if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class GetAllowedIpListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetAllowedIpListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetAllowedIpListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetAllowedIpListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetConsumerListRequest(TeaModel): def __init__(self, consumer_id=None, current_page=None, instance_id=None, page_size=None, region_id=None): # The name of the consumer group. If you do not configure this parameter, all consumer groups are queried. self.consumer_id = consumer_id # type: str # The page number. self.current_page = current_page # type: int # The ID of the instance to which the consumer group belongs. self.instance_id = instance_id # type: str # The number of entries to be returned per page. self.page_size = page_size # type: int # The region ID of the instance to which the consumer group belongs. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(GetConsumerListRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.current_page is not None: result['CurrentPage'] = self.current_page if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.page_size is not None: result['PageSize'] = self.page_size if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('CurrentPage') is not None: self.current_page = m.get('CurrentPage') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class GetConsumerListResponseBodyConsumerListConsumerVOTagsTagVO(TeaModel): def __init__(self, key=None, value=None): # The tag key. self.key = key # type: str # The tag value. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetConsumerListResponseBodyConsumerListConsumerVOTagsTagVO, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetConsumerListResponseBodyConsumerListConsumerVOTags(TeaModel): def __init__(self, tag_vo=None): self.tag_vo = tag_vo # type: list[GetConsumerListResponseBodyConsumerListConsumerVOTagsTagVO] def validate(self): if self.tag_vo: for k in self.tag_vo: if k: k.validate() def to_map(self): _map = super(GetConsumerListResponseBodyConsumerListConsumerVOTags, self).to_map() if _map is not None: return _map result = dict() result['TagVO'] = [] if self.tag_vo is not None: for k in self.tag_vo: result['TagVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.tag_vo = [] if m.get('TagVO') is not None: for k in m.get('TagVO'): temp_model = GetConsumerListResponseBodyConsumerListConsumerVOTagsTagVO() self.tag_vo.append(temp_model.from_map(k)) return self class GetConsumerListResponseBodyConsumerListConsumerVO(TeaModel): def __init__(self, automatically_created_group=None, consumer_id=None, instance_id=None, region_id=None, remark=None, tags=None): # Indicates that the consumer group was automatically created by the system. self.automatically_created_group = automatically_created_group # type: bool # The consumer group ID. self.consumer_id = consumer_id # type: str # The instance ID. self.instance_id = instance_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str # The instance description. self.remark = remark # type: str # The tags. self.tags = tags # type: GetConsumerListResponseBodyConsumerListConsumerVOTags def validate(self): if self.tags: self.tags.validate() def to_map(self): _map = super(GetConsumerListResponseBodyConsumerListConsumerVO, self).to_map() if _map is not None: return _map result = dict() if self.automatically_created_group is not None: result['AutomaticallyCreatedGroup'] = self.automatically_created_group if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.remark is not None: result['Remark'] = self.remark if self.tags is not None: result['Tags'] = self.tags.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('AutomaticallyCreatedGroup') is not None: self.automatically_created_group = m.get('AutomaticallyCreatedGroup') if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Remark') is not None: self.remark = m.get('Remark') if m.get('Tags') is not None: temp_model = GetConsumerListResponseBodyConsumerListConsumerVOTags() self.tags = temp_model.from_map(m['Tags']) return self class GetConsumerListResponseBodyConsumerList(TeaModel): def __init__(self, consumer_vo=None): self.consumer_vo = consumer_vo # type: list[GetConsumerListResponseBodyConsumerListConsumerVO] def validate(self): if self.consumer_vo: for k in self.consumer_vo: if k: k.validate() def to_map(self): _map = super(GetConsumerListResponseBodyConsumerList, self).to_map() if _map is not None: return _map result = dict() result['ConsumerVO'] = [] if self.consumer_vo is not None: for k in self.consumer_vo: result['ConsumerVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.consumer_vo = [] if m.get('ConsumerVO') is not None: for k in m.get('ConsumerVO'): temp_model = GetConsumerListResponseBodyConsumerListConsumerVO() self.consumer_vo.append(temp_model.from_map(k)) return self class GetConsumerListResponseBody(TeaModel): def __init__(self, code=None, consumer_list=None, current_page=None, message=None, page_size=None, request_id=None, success=None, total=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The consumer groups. self.consumer_list = consumer_list # type: GetConsumerListResponseBodyConsumerList # The number of the page to return. Pages start from page 1. self.current_page = current_page # type: int # The returned message. self.message = message # type: str # The number of entries returned per page. self.page_size = page_size # type: int # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool # The total number of entries returned. self.total = total # type: long def validate(self): if self.consumer_list: self.consumer_list.validate() def to_map(self): _map = super(GetConsumerListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.consumer_list is not None: result['ConsumerList'] = self.consumer_list.to_map() if self.current_page is not None: result['CurrentPage'] = self.current_page if self.message is not None: result['Message'] = self.message if self.page_size is not None: result['PageSize'] = self.page_size if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success if self.total is not None: result['Total'] = self.total return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('ConsumerList') is not None: temp_model = GetConsumerListResponseBodyConsumerList() self.consumer_list = temp_model.from_map(m['ConsumerList']) if m.get('CurrentPage') is not None: self.current_page = m.get('CurrentPage') if m.get('Message') is not None: self.message = m.get('Message') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') if m.get('Total') is not None: self.total = m.get('Total') return self class GetConsumerListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetConsumerListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetConsumerListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetConsumerListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetConsumerProgressRequest(TeaModel): def __init__(self, consumer_id=None, instance_id=None, region_id=None): # The name of the consumer group. self.consumer_id = consumer_id # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(GetConsumerProgressRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoListRebalanceInfoList(TeaModel): def __init__(self, generation=None, group_id=None, last_rebalance_timestamp=None, reason=None, rebalance_success=None, rebalance_time_consuming=None): # The number of rebalances. self.generation = generation # type: long # The group ID of the subscriber. self.group_id = group_id # type: str # The time when the last rebalance occurred. Unit: milliseconds. self.last_rebalance_timestamp = last_rebalance_timestamp # type: long # The cause of the rebalance. self.reason = reason # type: str # Indicates whether new members are added to the consumer group in the rebalance. self.rebalance_success = rebalance_success # type: bool # The duration of the rebalance. Unit: milliseconds. self.rebalance_time_consuming = rebalance_time_consuming # type: long def validate(self): pass def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoListRebalanceInfoList, self).to_map() if _map is not None: return _map result = dict() if self.generation is not None: result['Generation'] = self.generation if self.group_id is not None: result['GroupId'] = self.group_id if self.last_rebalance_timestamp is not None: result['LastRebalanceTimestamp'] = self.last_rebalance_timestamp if self.reason is not None: result['Reason'] = self.reason if self.rebalance_success is not None: result['RebalanceSuccess'] = self.rebalance_success if self.rebalance_time_consuming is not None: result['RebalanceTimeConsuming'] = self.rebalance_time_consuming return result def from_map(self, m=None): m = m or dict() if m.get('Generation') is not None: self.generation = m.get('Generation') if m.get('GroupId') is not None: self.group_id = m.get('GroupId') if m.get('LastRebalanceTimestamp') is not None: self.last_rebalance_timestamp = m.get('LastRebalanceTimestamp') if m.get('Reason') is not None: self.reason = m.get('Reason') if m.get('RebalanceSuccess') is not None: self.rebalance_success = m.get('RebalanceSuccess') if m.get('RebalanceTimeConsuming') is not None: self.rebalance_time_consuming = m.get('RebalanceTimeConsuming') return self class GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoList(TeaModel): def __init__(self, rebalance_info_list=None): self.rebalance_info_list = rebalance_info_list # type: list[GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoListRebalanceInfoList] def validate(self): if self.rebalance_info_list: for k in self.rebalance_info_list: if k: k.validate() def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoList, self).to_map() if _map is not None: return _map result = dict() result['RebalanceInfoList'] = [] if self.rebalance_info_list is not None: for k in self.rebalance_info_list: result['RebalanceInfoList'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.rebalance_info_list = [] if m.get('RebalanceInfoList') is not None: for k in m.get('RebalanceInfoList'): temp_model = GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoListRebalanceInfoList() self.rebalance_info_list.append(temp_model.from_map(k)) return self class GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetListOffsetList(TeaModel): def __init__(self, broker_offset=None, consumer_offset=None, last_timestamp=None, partition=None): # The latest offset in the partition of the topic. self.broker_offset = broker_offset # type: long # The consumer offset in the partition of the topic. self.consumer_offset = consumer_offset # type: long # The time when the last consumed message in the partition was generated. self.last_timestamp = last_timestamp # type: long # The partition ID. self.partition = partition # type: int def validate(self): pass def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetListOffsetList, self).to_map() if _map is not None: return _map result = dict() if self.broker_offset is not None: result['BrokerOffset'] = self.broker_offset if self.consumer_offset is not None: result['ConsumerOffset'] = self.consumer_offset if self.last_timestamp is not None: result['LastTimestamp'] = self.last_timestamp if self.partition is not None: result['Partition'] = self.partition return result def from_map(self, m=None): m = m or dict() if m.get('BrokerOffset') is not None: self.broker_offset = m.get('BrokerOffset') if m.get('ConsumerOffset') is not None: self.consumer_offset = m.get('ConsumerOffset') if m.get('LastTimestamp') is not None: self.last_timestamp = m.get('LastTimestamp') if m.get('Partition') is not None: self.partition = m.get('Partition') return self class GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetList(TeaModel): def __init__(self, offset_list=None): self.offset_list = offset_list # type: list[GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetListOffsetList] def validate(self): if self.offset_list: for k in self.offset_list: if k: k.validate() def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetList, self).to_map() if _map is not None: return _map result = dict() result['OffsetList'] = [] if self.offset_list is not None: for k in self.offset_list: result['OffsetList'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.offset_list = [] if m.get('OffsetList') is not None: for k in m.get('OffsetList'): temp_model = GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetListOffsetList() self.offset_list.append(temp_model.from_map(k)) return self class GetConsumerProgressResponseBodyConsumerProgressTopicListTopicList(TeaModel): def __init__(self, last_timestamp=None, offset_list=None, topic=None, total_diff=None): # The time when the last consumed message in the topic was generated. self.last_timestamp = last_timestamp # type: long # The consumer offsets. self.offset_list = offset_list # type: GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetList # The topic name. self.topic = topic # type: str # The number of unconsumed messages in the topic to which the consumer group subscribes. self.total_diff = total_diff # type: long def validate(self): if self.offset_list: self.offset_list.validate() def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressTopicListTopicList, self).to_map() if _map is not None: return _map result = dict() if self.last_timestamp is not None: result['LastTimestamp'] = self.last_timestamp if self.offset_list is not None: result['OffsetList'] = self.offset_list.to_map() if self.topic is not None: result['Topic'] = self.topic if self.total_diff is not None: result['TotalDiff'] = self.total_diff return result def from_map(self, m=None): m = m or dict() if m.get('LastTimestamp') is not None: self.last_timestamp = m.get('LastTimestamp') if m.get('OffsetList') is not None: temp_model = GetConsumerProgressResponseBodyConsumerProgressTopicListTopicListOffsetList() self.offset_list = temp_model.from_map(m['OffsetList']) if m.get('Topic') is not None: self.topic = m.get('Topic') if m.get('TotalDiff') is not None: self.total_diff = m.get('TotalDiff') return self class GetConsumerProgressResponseBodyConsumerProgressTopicList(TeaModel): def __init__(self, topic_list=None): self.topic_list = topic_list # type: list[GetConsumerProgressResponseBodyConsumerProgressTopicListTopicList] def validate(self): if self.topic_list: for k in self.topic_list: if k: k.validate() def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgressTopicList, self).to_map() if _map is not None: return _map result = dict() result['TopicList'] = [] if self.topic_list is not None: for k in self.topic_list: result['TopicList'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.topic_list = [] if m.get('TopicList') is not None: for k in m.get('TopicList'): temp_model = GetConsumerProgressResponseBodyConsumerProgressTopicListTopicList() self.topic_list.append(temp_model.from_map(k)) return self class GetConsumerProgressResponseBodyConsumerProgress(TeaModel): def __init__(self, last_timestamp=None, rebalance_info_list=None, topic_list=None, total_diff=None): # The time when the last message consumed by the consumer group was generated. self.last_timestamp = last_timestamp # type: long # The details of rebalances in the consumer group. self.rebalance_info_list = rebalance_info_list # type: GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoList # The consumer progress of each topic to which the consumer group subscribes. self.topic_list = topic_list # type: GetConsumerProgressResponseBodyConsumerProgressTopicList # The total number of unconsumed messages in all topics to which the consumer group subscribes. self.total_diff = total_diff # type: long def validate(self): if self.rebalance_info_list: self.rebalance_info_list.validate() if self.topic_list: self.topic_list.validate() def to_map(self): _map = super(GetConsumerProgressResponseBodyConsumerProgress, self).to_map() if _map is not None: return _map result = dict() if self.last_timestamp is not None: result['LastTimestamp'] = self.last_timestamp if self.rebalance_info_list is not None: result['RebalanceInfoList'] = self.rebalance_info_list.to_map() if self.topic_list is not None: result['TopicList'] = self.topic_list.to_map() if self.total_diff is not None: result['TotalDiff'] = self.total_diff return result def from_map(self, m=None): m = m or dict() if m.get('LastTimestamp') is not None: self.last_timestamp = m.get('LastTimestamp') if m.get('RebalanceInfoList') is not None: temp_model = GetConsumerProgressResponseBodyConsumerProgressRebalanceInfoList() self.rebalance_info_list = temp_model.from_map(m['RebalanceInfoList']) if m.get('TopicList') is not None: temp_model = GetConsumerProgressResponseBodyConsumerProgressTopicList() self.topic_list = temp_model.from_map(m['TopicList']) if m.get('TotalDiff') is not None: self.total_diff = m.get('TotalDiff') return self class GetConsumerProgressResponseBody(TeaModel): def __init__(self, code=None, consumer_progress=None, message=None, request_id=None, success=None): # The returned HTTP status code. If the request is successful, 200 is returned. self.code = code # type: int # The consumer progress of the consumer group. self.consumer_progress = consumer_progress # type: GetConsumerProgressResponseBodyConsumerProgress # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): if self.consumer_progress: self.consumer_progress.validate() def to_map(self): _map = super(GetConsumerProgressResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.consumer_progress is not None: result['ConsumerProgress'] = self.consumer_progress.to_map() if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('ConsumerProgress') is not None: temp_model = GetConsumerProgressResponseBodyConsumerProgress() self.consumer_progress = temp_model.from_map(m['ConsumerProgress']) if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class GetConsumerProgressResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetConsumerProgressResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetConsumerProgressResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetConsumerProgressResponseBody() self.body = temp_model.from_map(m['body']) return self class GetInstanceListRequestTag(TeaModel): def __init__(self, key=None, value=None): # The tag key. # # * If you leave this parameter empty, the keys of all tags are matched. # * The tag key can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain `http://` or `https://`. self.key = key # type: str # The tag value. # # * If you leave Key empty, you must also leave this parameter empty. If you leave this parameter empty, the values of all tags are matched. # * The tag value can be up to 128 characters in length. It cannot start with aliyun or acs: and cannot contain `http://` or `https://`. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetInstanceListRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetInstanceListRequest(TeaModel): def __init__(self, instance_id=None, order_id=None, region_id=None, resource_group_id=None, series=None, tag=None): # The IDs of instances. self.instance_id = instance_id # type: list[str] # The ID of the order. You can obtain the order ID on the [Orders](https://usercenter2-intl.aliyun.com/order/list?pageIndex=1\&pageSize=20\&spm=5176.12818093.top-nav.ditem-ord.36f016d0OQFmJa) page in Alibaba Cloud User Center. self.order_id = order_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str # The ID of the resource group. You can obtain this ID on the Resource Group page in the Resource Management console. self.resource_group_id = resource_group_id # type: str self.series = series # type: str # The tags. self.tag = tag # type: list[GetInstanceListRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(GetInstanceListRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.order_id is not None: result['OrderId'] = self.order_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.series is not None: result['Series'] = self.series result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('Series') is not None: self.series = m.get('Series') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = GetInstanceListRequestTag() self.tag.append(temp_model.from_map(k)) return self class GetInstanceListResponseBodyInstanceListInstanceVOConfluentConfig(TeaModel): def __init__(self, connect_cu=None, connect_replica=None, control_center_cu=None, control_center_replica=None, control_center_storage=None, kafka_cu=None, kafka_replica=None, kafka_rest_proxy_cu=None, kafka_rest_proxy_replica=None, kafka_storage=None, ksql_cu=None, ksql_replica=None, ksql_storage=None, schema_registry_cu=None, schema_registry_replica=None, zoo_keeper_cu=None, zoo_keeper_replica=None, zoo_keeper_storage=None): self.connect_cu = connect_cu # type: int self.connect_replica = connect_replica # type: int self.control_center_cu = control_center_cu # type: int self.control_center_replica = control_center_replica # type: int self.control_center_storage = control_center_storage # type: int self.kafka_cu = kafka_cu # type: int self.kafka_replica = kafka_replica # type: int self.kafka_rest_proxy_cu = kafka_rest_proxy_cu # type: int self.kafka_rest_proxy_replica = kafka_rest_proxy_replica # type: int self.kafka_storage = kafka_storage # type: int self.ksql_cu = ksql_cu # type: int self.ksql_replica = ksql_replica # type: int self.ksql_storage = ksql_storage # type: int self.schema_registry_cu = schema_registry_cu # type: int self.schema_registry_replica = schema_registry_replica # type: int self.zoo_keeper_cu = zoo_keeper_cu # type: int self.zoo_keeper_replica = zoo_keeper_replica # type: int self.zoo_keeper_storage = zoo_keeper_storage # type: int def validate(self): pass def to_map(self): _map = super(GetInstanceListResponseBodyInstanceListInstanceVOConfluentConfig, self).to_map() if _map is not None: return _map result = dict() if self.connect_cu is not None: result['ConnectCU'] = self.connect_cu if self.connect_replica is not None: result['ConnectReplica'] = self.connect_replica if self.control_center_cu is not None: result['ControlCenterCU'] = self.control_center_cu if self.control_center_replica is not None: result['ControlCenterReplica'] = self.control_center_replica if self.control_center_storage is not None: result['ControlCenterStorage'] = self.control_center_storage if self.kafka_cu is not None: result['KafkaCU'] = self.kafka_cu if self.kafka_replica is not None: result['KafkaReplica'] = self.kafka_replica if self.kafka_rest_proxy_cu is not None: result['KafkaRestProxyCU'] = self.kafka_rest_proxy_cu if self.kafka_rest_proxy_replica is not None: result['KafkaRestProxyReplica'] = self.kafka_rest_proxy_replica if self.kafka_storage is not None: result['KafkaStorage'] = self.kafka_storage if self.ksql_cu is not None: result['KsqlCU'] = self.ksql_cu if self.ksql_replica is not None: result['KsqlReplica'] = self.ksql_replica if self.ksql_storage is not None: result['KsqlStorage'] = self.ksql_storage if self.schema_registry_cu is not None: result['SchemaRegistryCU'] = self.schema_registry_cu if self.schema_registry_replica is not None: result['SchemaRegistryReplica'] = self.schema_registry_replica if self.zoo_keeper_cu is not None: result['ZooKeeperCU'] = self.zoo_keeper_cu if self.zoo_keeper_replica is not None: result['ZooKeeperReplica'] = self.zoo_keeper_replica if self.zoo_keeper_storage is not None: result['ZooKeeperStorage'] = self.zoo_keeper_storage return result def from_map(self, m=None): m = m or dict() if m.get('ConnectCU') is not None: self.connect_cu = m.get('ConnectCU') if m.get('ConnectReplica') is not None: self.connect_replica = m.get('ConnectReplica') if m.get('ControlCenterCU') is not None: self.control_center_cu = m.get('ControlCenterCU') if m.get('ControlCenterReplica') is not None: self.control_center_replica = m.get('ControlCenterReplica') if m.get('ControlCenterStorage') is not None: self.control_center_storage = m.get('ControlCenterStorage') if m.get('KafkaCU') is not None: self.kafka_cu = m.get('KafkaCU') if m.get('KafkaReplica') is not None: self.kafka_replica = m.get('KafkaReplica') if m.get('KafkaRestProxyCU') is not None: self.kafka_rest_proxy_cu = m.get('KafkaRestProxyCU') if m.get('KafkaRestProxyReplica') is not None: self.kafka_rest_proxy_replica = m.get('KafkaRestProxyReplica') if m.get('KafkaStorage') is not None: self.kafka_storage = m.get('KafkaStorage') if m.get('KsqlCU') is not None: self.ksql_cu = m.get('KsqlCU') if m.get('KsqlReplica') is not None: self.ksql_replica = m.get('KsqlReplica') if m.get('KsqlStorage') is not None: self.ksql_storage = m.get('KsqlStorage') if m.get('SchemaRegistryCU') is not None: self.schema_registry_cu = m.get('SchemaRegistryCU') if m.get('SchemaRegistryReplica') is not None: self.schema_registry_replica = m.get('SchemaRegistryReplica') if m.get('ZooKeeperCU') is not None: self.zoo_keeper_cu = m.get('ZooKeeperCU') if m.get('ZooKeeperReplica') is not None: self.zoo_keeper_replica = m.get('ZooKeeperReplica') if m.get('ZooKeeperStorage') is not None: self.zoo_keeper_storage = m.get('ZooKeeperStorage') return self class GetInstanceListResponseBodyInstanceListInstanceVOTagsTagVO(TeaModel): def __init__(self, key=None, value=None): # The tag key. self.key = key # type: str # The tag value. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetInstanceListResponseBodyInstanceListInstanceVOTagsTagVO, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetInstanceListResponseBodyInstanceListInstanceVOTags(TeaModel): def __init__(self, tag_vo=None): self.tag_vo = tag_vo # type: list[GetInstanceListResponseBodyInstanceListInstanceVOTagsTagVO] def validate(self): if self.tag_vo: for k in self.tag_vo: if k: k.validate() def to_map(self): _map = super(GetInstanceListResponseBodyInstanceListInstanceVOTags, self).to_map() if _map is not None: return _map result = dict() result['TagVO'] = [] if self.tag_vo is not None: for k in self.tag_vo: result['TagVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.tag_vo = [] if m.get('TagVO') is not None: for k in m.get('TagVO'): temp_model = GetInstanceListResponseBodyInstanceListInstanceVOTagsTagVO() self.tag_vo.append(temp_model.from_map(k)) return self class GetInstanceListResponseBodyInstanceListInstanceVOUpgradeServiceDetailInfo(TeaModel): def __init__(self, current_2open_source_version=None): # The open source Apache Kafka version that corresponds to the instance. self.current_2open_source_version = current_2open_source_version # type: str def validate(self): pass def to_map(self): _map = super(GetInstanceListResponseBodyInstanceListInstanceVOUpgradeServiceDetailInfo, self).to_map() if _map is not None: return _map result = dict() if self.current_2open_source_version is not None: result['Current2OpenSourceVersion'] = self.current_2open_source_version return result def from_map(self, m=None): m = m or dict() if m.get('Current2OpenSourceVersion') is not None: self.current_2open_source_version = m.get('Current2OpenSourceVersion') return self class GetInstanceListResponseBodyInstanceListInstanceVO(TeaModel): def __init__(self, all_config=None, confluent_config=None, create_time=None, deploy_type=None, disk_size=None, disk_type=None, domain_endpoint=None, eip_max=None, end_point=None, expired_time=None, instance_id=None, io_max=None, io_max_read=None, io_max_spec=None, io_max_write=None, kms_key_id=None, msg_retain=None, name=None, paid_type=None, region_id=None, reserved_publish_capacity=None, reserved_subscribe_capacity=None, resource_group_id=None, sasl_domain_endpoint=None, security_group=None, series=None, service_status=None, spec_type=None, ssl_domain_endpoint=None, ssl_end_point=None, standard_zone_id=None, tags=None, topic_num_limit=None, upgrade_service_detail_info=None, used_group_count=None, used_partition_count=None, used_topic_count=None, v_switch_id=None, view_instance_status_code=None, vpc_id=None, zone_id=None): # The configurations of the deployed ApsaraMQ for Kafka instance. self.all_config = all_config # type: str self.confluent_config = confluent_config # type: GetInstanceListResponseBodyInstanceListInstanceVOConfluentConfig # The time when the instance was created. Unit: milliseconds. self.create_time = create_time # type: long # The type of the network in which the instance is deployed. Valid values: # # * **4**: Internet and VPC # * **5**: VPC self.deploy_type = deploy_type # type: int # The disk size. Unit: GB. self.disk_size = disk_size # type: int # The disk type. Valid values: # # * **0**: ultra disk # * **1**: standard SSD self.disk_type = disk_type # type: int # The default endpoint of the instance in domain name mode. ApsaraMQ for Kafka instances support endpoints in domain name mode and IP address mode. # # * Endpoints in domain name mode: An endpoint in this mode consists of the domain name of the instance and a port number. The format of an endpoint in this mode is `{Instance domain name}:{Port number}`. # * Endpoints in IP address mode: An endpoint in this mode consists of the IP address of the broker and a port number. The format of an endpoint in this mode is `{Broker IP address}:{Port number}`. self.domain_endpoint = domain_endpoint # type: str # The peak Internet traffic allowed for the instance. self.eip_max = eip_max # type: int # The default endpoint of the instance in IP address mode. ApsaraMQ for Kafka instances support endpoints in domain name mode and IP address mode. # # * Endpoints in domain name mode: An endpoint in this mode consists of the domain name of the instance and a port number. The format of an endpoint in this mode is `{Instance domain name}:{Port number}`. # * Endpoints in IP address mode: An endpoint in this mode consists of the IP address of the broker and a port number. The format of an endpoint in this mode is `{Broker IP address}:{Port number}`. self.end_point = end_point # type: str # The time when the instance expires. Unit: milliseconds. self.expired_time = expired_time # type: long # The instance ID. self.instance_id = instance_id # type: str # The peak traffic allowed for the instance. self.io_max = io_max # type: int self.io_max_read = io_max_read # type: int # The traffic specification. self.io_max_spec = io_max_spec # type: str self.io_max_write = io_max_write # type: int # The ID of the key that is used for disk encryption in the region where the instance is deployed. self.kms_key_id = kms_key_id # type: str # The retention period of messages in the instance. Unit: hours. self.msg_retain = msg_retain # type: int # The instance name. self.name = name # type: str # The billing method of the instance. Valid values: # # * **0**: subscription # * **1**: pay-as-you-go self.paid_type = paid_type # type: int # The ID of the region where the instance resides. self.region_id = region_id # type: str self.reserved_publish_capacity = reserved_publish_capacity # type: int self.reserved_subscribe_capacity = reserved_subscribe_capacity # type: int # The resource group ID. self.resource_group_id = resource_group_id # type: str # The Simple Authentication and Security Layer (SASL) endpoint of the instance in domain name mode. ApsaraMQ for Kafka instances support endpoints in domain name mode and IP address mode. # # * Endpoints in domain name mode: An endpoint in this mode consists of the domain name of the instance and a port number. The format of an endpoint in this mode is `{Instance domain name}:{Port number}`. # * Endpoints in IP address mode: An endpoint in this mode consists of the IP address of the broker and a port number. The format of an endpoint in this mode is `{Broker IP address}:{Port number}`. self.sasl_domain_endpoint = sasl_domain_endpoint # type: str # The security group of the instance. # # * If the instance is deployed by using the ApsaraMQ for Kafka console or calling the [StartInstance](~~157786~~) operation without a security group configured, no value is returned. # * If the instance is deployed by calling the [StartInstance](~~157786~~) operation with a security group configured, the returned value is the configured security group. self.security_group = security_group # type: str self.series = series # type: str # The instance status. Valid values: # # * **0**: pending # * **1**: preparing hardware resources # * **2**: initializing # * **3**: starting # * **5**: running # * **6**: migrating # * **7**: ready for upgrade # * **8**: upgrading # * **9**: ready for changes # * **10**: released # * **11**: changing # * **15**: expired self.service_status = service_status # type: int # The instance edition. Valid values: # # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # * **normal**: Standard Edition self.spec_type = spec_type # type: str # The SSL endpoint of the instance in domain name mode. ApsaraMQ for Kafka instances support endpoints in domain name mode and IP address mode. # # * Endpoints in domain name mode: An endpoint in this mode consists of the domain name of the instance and a port number. The format of an endpoint in this mode is `{Instance domain name}:{Port number}`. # * Endpoints in IP address mode: An endpoint in this mode consists of the IP address of the broker and a port number. The format of an endpoint in this mode is `{Broker IP address}:{Port number}`. self.ssl_domain_endpoint = ssl_domain_endpoint # type: str # The Secure Sockets Layer (SSL) endpoint of the instance in IP address mode. ApsaraMQ for Kafka instances support endpoints in domain name mode and IP address mode. # # * Endpoints in domain name mode: An endpoint in this mode consists of the domain name of the instance and a port number. The format of an endpoint in this mode is `{Instance domain name}:{Port number}`. # * Endpoints in IP address mode: An endpoint in this mode consists of the IP address of the broker and a port number. The format of an endpoint in this mode is `{Broker IP address}:{Port number}`. self.ssl_end_point = ssl_end_point # type: str # The zone ID. self.standard_zone_id = standard_zone_id # type: str # The tags. self.tags = tags # type: GetInstanceListResponseBodyInstanceListInstanceVOTags # The maximum number of topics on the instance. self.topic_num_limit = topic_num_limit # type: int # The upgrade information of the instance. self.upgrade_service_detail_info = upgrade_service_detail_info # type: GetInstanceListResponseBodyInstanceListInstanceVOUpgradeServiceDetailInfo # The number of used groups. self.used_group_count = used_group_count # type: int # The number of used partitions. self.used_partition_count = used_partition_count # type: int # The number of used topics. self.used_topic_count = used_topic_count # type: int # The vSwitch ID of the instance. self.v_switch_id = v_switch_id # type: str self.view_instance_status_code = view_instance_status_code # type: int # The virtual private cloud (VPC) ID. self.vpc_id = vpc_id # type: str # The zone ID. self.zone_id = zone_id # type: str def validate(self): if self.confluent_config: self.confluent_config.validate() if self.tags: self.tags.validate() if self.upgrade_service_detail_info: self.upgrade_service_detail_info.validate() def to_map(self): _map = super(GetInstanceListResponseBodyInstanceListInstanceVO, self).to_map() if _map is not None: return _map result = dict() if self.all_config is not None: result['AllConfig'] = self.all_config if self.confluent_config is not None: result['ConfluentConfig'] = self.confluent_config.to_map() if self.create_time is not None: result['CreateTime'] = self.create_time if self.deploy_type is not None: result['DeployType'] = self.deploy_type if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.disk_type is not None: result['DiskType'] = self.disk_type if self.domain_endpoint is not None: result['DomainEndpoint'] = self.domain_endpoint if self.eip_max is not None: result['EipMax'] = self.eip_max if self.end_point is not None: result['EndPoint'] = self.end_point if self.expired_time is not None: result['ExpiredTime'] = self.expired_time if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_read is not None: result['IoMaxRead'] = self.io_max_read if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.io_max_write is not None: result['IoMaxWrite'] = self.io_max_write if self.kms_key_id is not None: result['KmsKeyId'] = self.kms_key_id if self.msg_retain is not None: result['MsgRetain'] = self.msg_retain if self.name is not None: result['Name'] = self.name if self.paid_type is not None: result['PaidType'] = self.paid_type if self.region_id is not None: result['RegionId'] = self.region_id if self.reserved_publish_capacity is not None: result['ReservedPublishCapacity'] = self.reserved_publish_capacity if self.reserved_subscribe_capacity is not None: result['ReservedSubscribeCapacity'] = self.reserved_subscribe_capacity if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.sasl_domain_endpoint is not None: result['SaslDomainEndpoint'] = self.sasl_domain_endpoint if self.security_group is not None: result['SecurityGroup'] = self.security_group if self.series is not None: result['Series'] = self.series if self.service_status is not None: result['ServiceStatus'] = self.service_status if self.spec_type is not None: result['SpecType'] = self.spec_type if self.ssl_domain_endpoint is not None: result['SslDomainEndpoint'] = self.ssl_domain_endpoint if self.ssl_end_point is not None: result['SslEndPoint'] = self.ssl_end_point if self.standard_zone_id is not None: result['StandardZoneId'] = self.standard_zone_id if self.tags is not None: result['Tags'] = self.tags.to_map() if self.topic_num_limit is not None: result['TopicNumLimit'] = self.topic_num_limit if self.upgrade_service_detail_info is not None: result['UpgradeServiceDetailInfo'] = self.upgrade_service_detail_info.to_map() if self.used_group_count is not None: result['UsedGroupCount'] = self.used_group_count if self.used_partition_count is not None: result['UsedPartitionCount'] = self.used_partition_count if self.used_topic_count is not None: result['UsedTopicCount'] = self.used_topic_count if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id if self.view_instance_status_code is not None: result['ViewInstanceStatusCode'] = self.view_instance_status_code if self.vpc_id is not None: result['VpcId'] = self.vpc_id if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m=None): m = m or dict() if m.get('AllConfig') is not None: self.all_config = m.get('AllConfig') if m.get('ConfluentConfig') is not None: temp_model = GetInstanceListResponseBodyInstanceListInstanceVOConfluentConfig() self.confluent_config = temp_model.from_map(m['ConfluentConfig']) if m.get('CreateTime') is not None: self.create_time = m.get('CreateTime') if m.get('DeployType') is not None: self.deploy_type = m.get('DeployType') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('DiskType') is not None: self.disk_type = m.get('DiskType') if m.get('DomainEndpoint') is not None: self.domain_endpoint = m.get('DomainEndpoint') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('EndPoint') is not None: self.end_point = m.get('EndPoint') if m.get('ExpiredTime') is not None: self.expired_time = m.get('ExpiredTime') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxRead') is not None: self.io_max_read = m.get('IoMaxRead') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('IoMaxWrite') is not None: self.io_max_write = m.get('IoMaxWrite') if m.get('KmsKeyId') is not None: self.kms_key_id = m.get('KmsKeyId') if m.get('MsgRetain') is not None: self.msg_retain = m.get('MsgRetain') if m.get('Name') is not None: self.name = m.get('Name') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ReservedPublishCapacity') is not None: self.reserved_publish_capacity = m.get('ReservedPublishCapacity') if m.get('ReservedSubscribeCapacity') is not None: self.reserved_subscribe_capacity = m.get('ReservedSubscribeCapacity') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('SaslDomainEndpoint') is not None: self.sasl_domain_endpoint = m.get('SaslDomainEndpoint') if m.get('SecurityGroup') is not None: self.security_group = m.get('SecurityGroup') if m.get('Series') is not None: self.series = m.get('Series') if m.get('ServiceStatus') is not None: self.service_status = m.get('ServiceStatus') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') if m.get('SslDomainEndpoint') is not None: self.ssl_domain_endpoint = m.get('SslDomainEndpoint') if m.get('SslEndPoint') is not None: self.ssl_end_point = m.get('SslEndPoint') if m.get('StandardZoneId') is not None: self.standard_zone_id = m.get('StandardZoneId') if m.get('Tags') is not None: temp_model = GetInstanceListResponseBodyInstanceListInstanceVOTags() self.tags = temp_model.from_map(m['Tags']) if m.get('TopicNumLimit') is not None: self.topic_num_limit = m.get('TopicNumLimit') if m.get('UpgradeServiceDetailInfo') is not None: temp_model = GetInstanceListResponseBodyInstanceListInstanceVOUpgradeServiceDetailInfo() self.upgrade_service_detail_info = temp_model.from_map(m['UpgradeServiceDetailInfo']) if m.get('UsedGroupCount') is not None: self.used_group_count = m.get('UsedGroupCount') if m.get('UsedPartitionCount') is not None: self.used_partition_count = m.get('UsedPartitionCount') if m.get('UsedTopicCount') is not None: self.used_topic_count = m.get('UsedTopicCount') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') if m.get('ViewInstanceStatusCode') is not None: self.view_instance_status_code = m.get('ViewInstanceStatusCode') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class GetInstanceListResponseBodyInstanceList(TeaModel): def __init__(self, instance_vo=None): self.instance_vo = instance_vo # type: list[GetInstanceListResponseBodyInstanceListInstanceVO] def validate(self): if self.instance_vo: for k in self.instance_vo: if k: k.validate() def to_map(self): _map = super(GetInstanceListResponseBodyInstanceList, self).to_map() if _map is not None: return _map result = dict() result['InstanceVO'] = [] if self.instance_vo is not None: for k in self.instance_vo: result['InstanceVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.instance_vo = [] if m.get('InstanceVO') is not None: for k in m.get('InstanceVO'): temp_model = GetInstanceListResponseBodyInstanceListInstanceVO() self.instance_vo.append(temp_model.from_map(k)) return self class GetInstanceListResponseBody(TeaModel): def __init__(self, code=None, instance_list=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the call is successful. self.code = code # type: int # The instances. self.instance_list = instance_list # type: GetInstanceListResponseBodyInstanceList # The message returned. self.message = message # type: str # The ID of the region. self.request_id = request_id # type: str # Indicates whether the call was successful. self.success = success # type: bool def validate(self): if self.instance_list: self.instance_list.validate() def to_map(self): _map = super(GetInstanceListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.instance_list is not None: result['InstanceList'] = self.instance_list.to_map() if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('InstanceList') is not None: temp_model = GetInstanceListResponseBodyInstanceList() self.instance_list = temp_model.from_map(m['InstanceList']) if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class GetInstanceListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetInstanceListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetInstanceListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetInstanceListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetQuotaTipRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The ID of the instance. self.instance_id = instance_id # type: str # The ID of the region in which the instance resides. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(GetQuotaTipRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class GetQuotaTipResponseBodyQuotaData(TeaModel): def __init__(self, group_left=None, group_used=None, is_partition_buy=None, partition_left=None, partition_num_of_buy=None, partition_quota=None, partition_used=None, topic_left=None, topic_num_of_buy=None, topic_quota=None, topic_used=None): # The number of available groups. self.group_left = group_left # type: int # The number of used groups. self.group_used = group_used # type: int # The method that you use to purchase partitions. Valid values: # # * 0: indicates that the instance is purchased based on topics. # * 1: indicates that the instance is purchased based on partitions. self.is_partition_buy = is_partition_buy # type: int # The number of available partitions. self.partition_left = partition_left # type: int # The number of purchased partitions. self.partition_num_of_buy = partition_num_of_buy # type: int # The quota of partitions. self.partition_quota = partition_quota # type: int # The number of used partitions. self.partition_used = partition_used # type: int # The number of available topics. self.topic_left = topic_left # type: int # The number of purchased topics. self.topic_num_of_buy = topic_num_of_buy # type: int # The quota of topics. self.topic_quota = topic_quota # type: int # The number of used topics. self.topic_used = topic_used # type: int def validate(self): pass def to_map(self): _map = super(GetQuotaTipResponseBodyQuotaData, self).to_map() if _map is not None: return _map result = dict() if self.group_left is not None: result['GroupLeft'] = self.group_left if self.group_used is not None: result['GroupUsed'] = self.group_used if self.is_partition_buy is not None: result['IsPartitionBuy'] = self.is_partition_buy if self.partition_left is not None: result['PartitionLeft'] = self.partition_left if self.partition_num_of_buy is not None: result['PartitionNumOfBuy'] = self.partition_num_of_buy if self.partition_quota is not None: result['PartitionQuota'] = self.partition_quota if self.partition_used is not None: result['PartitionUsed'] = self.partition_used if self.topic_left is not None: result['TopicLeft'] = self.topic_left if self.topic_num_of_buy is not None: result['TopicNumOfBuy'] = self.topic_num_of_buy if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota if self.topic_used is not None: result['TopicUsed'] = self.topic_used return result def from_map(self, m=None): m = m or dict() if m.get('GroupLeft') is not None: self.group_left = m.get('GroupLeft') if m.get('GroupUsed') is not None: self.group_used = m.get('GroupUsed') if m.get('IsPartitionBuy') is not None: self.is_partition_buy = m.get('IsPartitionBuy') if m.get('PartitionLeft') is not None: self.partition_left = m.get('PartitionLeft') if m.get('PartitionNumOfBuy') is not None: self.partition_num_of_buy = m.get('PartitionNumOfBuy') if m.get('PartitionQuota') is not None: self.partition_quota = m.get('PartitionQuota') if m.get('PartitionUsed') is not None: self.partition_used = m.get('PartitionUsed') if m.get('TopicLeft') is not None: self.topic_left = m.get('TopicLeft') if m.get('TopicNumOfBuy') is not None: self.topic_num_of_buy = m.get('TopicNumOfBuy') if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') if m.get('TopicUsed') is not None: self.topic_used = m.get('TopicUsed') return self class GetQuotaTipResponseBody(TeaModel): def __init__(self, code=None, message=None, quota_data=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The additional message. This message is typically used to describe API call failures for troubleshooting. self.message = message # type: str # The quota. self.quota_data = quota_data # type: GetQuotaTipResponseBodyQuotaData # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): if self.quota_data: self.quota_data.validate() def to_map(self): _map = super(GetQuotaTipResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.quota_data is not None: result['QuotaData'] = self.quota_data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('QuotaData') is not None: temp_model = GetQuotaTipResponseBodyQuotaData() self.quota_data = temp_model.from_map(m['QuotaData']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class GetQuotaTipResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetQuotaTipResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetQuotaTipResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetQuotaTipResponseBody() self.body = temp_model.from_map(m['body']) return self class GetTopicListRequest(TeaModel): def __init__(self, current_page=None, instance_id=None, page_size=None, region_id=None, topic=None): # The page number of the page to return. Default value: 1. self.current_page = current_page # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The number of entries to return on each page. Default value: 10 self.page_size = page_size # type: str # The region ID of the instance to which the topics that you want to query belong. self.region_id = region_id # type: str # The name of the topic that you want to query. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(GetTopicListRequest, self).to_map() if _map is not None: return _map result = dict() if self.current_page is not None: result['CurrentPage'] = self.current_page if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.page_size is not None: result['PageSize'] = self.page_size if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('CurrentPage') is not None: self.current_page = m.get('CurrentPage') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicListResponseBodyTopicListTopicVOTagsTagVO(TeaModel): def __init__(self, key=None, value=None): # The tag key. self.key = key # type: str # The tag value. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(GetTopicListResponseBodyTopicListTopicVOTagsTagVO, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class GetTopicListResponseBodyTopicListTopicVOTags(TeaModel): def __init__(self, tag_vo=None): self.tag_vo = tag_vo # type: list[GetTopicListResponseBodyTopicListTopicVOTagsTagVO] def validate(self): if self.tag_vo: for k in self.tag_vo: if k: k.validate() def to_map(self): _map = super(GetTopicListResponseBodyTopicListTopicVOTags, self).to_map() if _map is not None: return _map result = dict() result['TagVO'] = [] if self.tag_vo is not None: for k in self.tag_vo: result['TagVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.tag_vo = [] if m.get('TagVO') is not None: for k in m.get('TagVO'): temp_model = GetTopicListResponseBodyTopicListTopicVOTagsTagVO() self.tag_vo.append(temp_model.from_map(k)) return self class GetTopicListResponseBodyTopicListTopicVO(TeaModel): def __init__(self, auto_create=None, compact_topic=None, create_time=None, instance_id=None, local_topic=None, partition_num=None, region_id=None, remark=None, status=None, status_name=None, tags=None, topic=None): self.auto_create = auto_create # type: bool # The log cleanup policy that is used for the topic. This parameter is returned when the **LocalTopic** parameter is set to **true**. Valid values: # # * false: The topic uses the default log cleanup policy. # * true: The topic uses the log compaction policy. self.compact_topic = compact_topic # type: bool # The timestamp that indicates when the topic was created. Unit: milliseconds. self.create_time = create_time # type: long # The ID of the instance self.instance_id = instance_id # type: str # The type of storage used by the topic. Valid values: # # * false: The topic uses cloud storage. # * true: The topic uses local storage. self.local_topic = local_topic # type: bool # The number of partitions in the topic. self.partition_num = partition_num # type: int # The region ID of the instance to which the topics that you want to query belong. self.region_id = region_id # type: str # The description of the topic. Valid values: # # * The description contains only letters, digits, hyphens (-), and underscores (\_). # * The description is 3 to 64 characters in length. self.remark = remark # type: str # The status of the topic. Valid values: # # **0:** indicates that the topic is running. # # If the topic is deleted, this parameter is not returned. self.status = status # type: int # The status of the topic. Valid values: # # **Running**\ # # If the topic is deleted, this parameter is not returned. self.status_name = status_name # type: str # The tags. self.tags = tags # type: GetTopicListResponseBodyTopicListTopicVOTags # The name of the topic. Valid values: # # * The name contains only letters, digits, hyphens (-), and underscores (\_). # * The name is 3 to 64 characters in length. If the name that you specified contains more than 64 characters, the returned name is automatically truncated. self.topic = topic # type: str def validate(self): if self.tags: self.tags.validate() def to_map(self): _map = super(GetTopicListResponseBodyTopicListTopicVO, self).to_map() if _map is not None: return _map result = dict() if self.auto_create is not None: result['AutoCreate'] = self.auto_create if self.compact_topic is not None: result['CompactTopic'] = self.compact_topic if self.create_time is not None: result['CreateTime'] = self.create_time if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.local_topic is not None: result['LocalTopic'] = self.local_topic if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.remark is not None: result['Remark'] = self.remark if self.status is not None: result['Status'] = self.status if self.status_name is not None: result['StatusName'] = self.status_name if self.tags is not None: result['Tags'] = self.tags.to_map() if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('AutoCreate') is not None: self.auto_create = m.get('AutoCreate') if m.get('CompactTopic') is not None: self.compact_topic = m.get('CompactTopic') if m.get('CreateTime') is not None: self.create_time = m.get('CreateTime') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('LocalTopic') is not None: self.local_topic = m.get('LocalTopic') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Remark') is not None: self.remark = m.get('Remark') if m.get('Status') is not None: self.status = m.get('Status') if m.get('StatusName') is not None: self.status_name = m.get('StatusName') if m.get('Tags') is not None: temp_model = GetTopicListResponseBodyTopicListTopicVOTags() self.tags = temp_model.from_map(m['Tags']) if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicListResponseBodyTopicList(TeaModel): def __init__(self, topic_vo=None): self.topic_vo = topic_vo # type: list[GetTopicListResponseBodyTopicListTopicVO] def validate(self): if self.topic_vo: for k in self.topic_vo: if k: k.validate() def to_map(self): _map = super(GetTopicListResponseBodyTopicList, self).to_map() if _map is not None: return _map result = dict() result['TopicVO'] = [] if self.topic_vo is not None: for k in self.topic_vo: result['TopicVO'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.topic_vo = [] if m.get('TopicVO') is not None: for k in m.get('TopicVO'): temp_model = GetTopicListResponseBodyTopicListTopicVO() self.topic_vo.append(temp_model.from_map(k)) return self class GetTopicListResponseBody(TeaModel): def __init__(self, code=None, current_page=None, message=None, page_size=None, request_id=None, success=None, topic_list=None, total=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The page number of the returned page. self.current_page = current_page # type: int # The message returned. self.message = message # type: str # The number of entries returned on each page. self.page_size = page_size # type: int # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request was successful. self.success = success # type: bool # The information about the topic. self.topic_list = topic_list # type: GetTopicListResponseBodyTopicList # The number of topics. self.total = total # type: int def validate(self): if self.topic_list: self.topic_list.validate() def to_map(self): _map = super(GetTopicListResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.current_page is not None: result['CurrentPage'] = self.current_page if self.message is not None: result['Message'] = self.message if self.page_size is not None: result['PageSize'] = self.page_size if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success if self.topic_list is not None: result['TopicList'] = self.topic_list.to_map() if self.total is not None: result['Total'] = self.total return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('CurrentPage') is not None: self.current_page = m.get('CurrentPage') if m.get('Message') is not None: self.message = m.get('Message') if m.get('PageSize') is not None: self.page_size = m.get('PageSize') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') if m.get('TopicList') is not None: temp_model = GetTopicListResponseBodyTopicList() self.topic_list = temp_model.from_map(m['TopicList']) if m.get('Total') is not None: self.total = m.get('Total') return self class GetTopicListResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetTopicListResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetTopicListResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetTopicListResponseBody() self.body = temp_model.from_map(m['body']) return self class GetTopicStatusRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, topic=None): # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str # The name of the topic. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(GetTopicStatusRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicStatusResponseBodyTopicStatusOffsetTableOffsetTable(TeaModel): def __init__(self, last_update_timestamp=None, max_offset=None, min_offset=None, partition=None, topic=None): # The last time when the partition was modified. self.last_update_timestamp = last_update_timestamp # type: long # The latest offset in the partition of the topic. self.max_offset = max_offset # type: long # The earliest offset in the partition of the topic. self.min_offset = min_offset # type: long # The ID of the partition. self.partition = partition # type: int # The name of the topic. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(GetTopicStatusResponseBodyTopicStatusOffsetTableOffsetTable, self).to_map() if _map is not None: return _map result = dict() if self.last_update_timestamp is not None: result['LastUpdateTimestamp'] = self.last_update_timestamp if self.max_offset is not None: result['MaxOffset'] = self.max_offset if self.min_offset is not None: result['MinOffset'] = self.min_offset if self.partition is not None: result['Partition'] = self.partition if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('LastUpdateTimestamp') is not None: self.last_update_timestamp = m.get('LastUpdateTimestamp') if m.get('MaxOffset') is not None: self.max_offset = m.get('MaxOffset') if m.get('MinOffset') is not None: self.min_offset = m.get('MinOffset') if m.get('Partition') is not None: self.partition = m.get('Partition') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicStatusResponseBodyTopicStatusOffsetTable(TeaModel): def __init__(self, offset_table=None): self.offset_table = offset_table # type: list[GetTopicStatusResponseBodyTopicStatusOffsetTableOffsetTable] def validate(self): if self.offset_table: for k in self.offset_table: if k: k.validate() def to_map(self): _map = super(GetTopicStatusResponseBodyTopicStatusOffsetTable, self).to_map() if _map is not None: return _map result = dict() result['OffsetTable'] = [] if self.offset_table is not None: for k in self.offset_table: result['OffsetTable'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.offset_table = [] if m.get('OffsetTable') is not None: for k in m.get('OffsetTable'): temp_model = GetTopicStatusResponseBodyTopicStatusOffsetTableOffsetTable() self.offset_table.append(temp_model.from_map(k)) return self class GetTopicStatusResponseBodyTopicStatus(TeaModel): def __init__(self, last_time_stamp=None, offset_table=None, total_count=None): # The time when the last consumed message was generated. self.last_time_stamp = last_time_stamp # type: long # The information about offsets in the topic. self.offset_table = offset_table # type: GetTopicStatusResponseBodyTopicStatusOffsetTable # The number of messages in the topic. self.total_count = total_count # type: long def validate(self): if self.offset_table: self.offset_table.validate() def to_map(self): _map = super(GetTopicStatusResponseBodyTopicStatus, self).to_map() if _map is not None: return _map result = dict() if self.last_time_stamp is not None: result['LastTimeStamp'] = self.last_time_stamp if self.offset_table is not None: result['OffsetTable'] = self.offset_table.to_map() if self.total_count is not None: result['TotalCount'] = self.total_count return result def from_map(self, m=None): m = m or dict() if m.get('LastTimeStamp') is not None: self.last_time_stamp = m.get('LastTimeStamp') if m.get('OffsetTable') is not None: temp_model = GetTopicStatusResponseBodyTopicStatusOffsetTable() self.offset_table = temp_model.from_map(m['OffsetTable']) if m.get('TotalCount') is not None: self.total_count = m.get('TotalCount') return self class GetTopicStatusResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None, topic_status=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool # The status information about messages in the topic. self.topic_status = topic_status # type: GetTopicStatusResponseBodyTopicStatus def validate(self): if self.topic_status: self.topic_status.validate() def to_map(self): _map = super(GetTopicStatusResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success if self.topic_status is not None: result['TopicStatus'] = self.topic_status.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') if m.get('TopicStatus') is not None: temp_model = GetTopicStatusResponseBodyTopicStatus() self.topic_status = temp_model.from_map(m['TopicStatus']) return self class GetTopicStatusResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetTopicStatusResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetTopicStatusResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetTopicStatusResponseBody() self.body = temp_model.from_map(m['body']) return self class GetTopicSubscribeStatusRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, topic=None): # The instance ID. # # You can call the [GetInstanceList](~~437663~~) operation to query instances. self.instance_id = instance_id # type: str # The region ID. self.region_id = region_id # type: str # The topic name. # # You can call the [GetTopicList](~~437677~~) operation to query topics. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(GetTopicSubscribeStatusRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicSubscribeStatusResponseBodyTopicSubscribeStatus(TeaModel): def __init__(self, consumer_groups=None, topic=None): # The groups that subscribe to the topic. self.consumer_groups = consumer_groups # type: list[str] # The topic name. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(GetTopicSubscribeStatusResponseBodyTopicSubscribeStatus, self).to_map() if _map is not None: return _map result = dict() if self.consumer_groups is not None: result['ConsumerGroups'] = self.consumer_groups if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerGroups') is not None: self.consumer_groups = m.get('ConsumerGroups') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class GetTopicSubscribeStatusResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None, topic_subscribe_status=None): # The HTTP status code. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool # The subscription details. self.topic_subscribe_status = topic_subscribe_status # type: GetTopicSubscribeStatusResponseBodyTopicSubscribeStatus def validate(self): if self.topic_subscribe_status: self.topic_subscribe_status.validate() def to_map(self): _map = super(GetTopicSubscribeStatusResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success if self.topic_subscribe_status is not None: result['TopicSubscribeStatus'] = self.topic_subscribe_status.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') if m.get('TopicSubscribeStatus') is not None: temp_model = GetTopicSubscribeStatusResponseBodyTopicSubscribeStatus() self.topic_subscribe_status = temp_model.from_map(m['TopicSubscribeStatus']) return self class GetTopicSubscribeStatusResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: GetTopicSubscribeStatusResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(GetTopicSubscribeStatusResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = GetTopicSubscribeStatusResponseBody() self.body = temp_model.from_map(m['body']) return self class ListTagResourcesRequestTag(TeaModel): def __init__(self, key=None, value=None): # The tag key. # # * If you leave this parameter empty, the keys of all tags are matched. # * The tag key must be 1 to 128 characters in length and cannot start with acs: or aliyun. The tag key cannot contain http:// or https://. self.key = key # type: str # The tag value. # # * If you do not specify the tag key, you cannot specify the tag value. If you leave this parameter empty, the values of all tags are matched. # * The tag value must be 1 to 128 characters in length and cannot start with acs: or aliyun. The tag value cannot contain http:// or https://. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(ListTagResourcesRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class ListTagResourcesRequest(TeaModel): def __init__(self, next_token=None, region_id=None, resource_id=None, resource_type=None, tag=None): # The token that determines the start point of the next query. self.next_token = next_token # type: str # The ID of the region in which the resource is deployed. self.region_id = region_id # type: str # The resource ID. The following items describe the formats of resource IDs: # # * Instance ID: instanceId # * Topic ID: Kafka_alikafka_instanceId_topic # * Group ID: Kafka_alikafka_instanceId_consumerGroup # # For example, you create an instance whose ID is alikafka_post-cn-v0h1fgs2xxxx, a topic whose name is test-topic, and a group whose ID is test-consumer-group. In this case, the resource IDs are alikafka_post-cn-v0h1fgs2xxxx, Kafka_alikafka_post-cn-v0h1fgs2xxxx_test-topic, and Kafka_alikafka_post-cn-v0h1fgs2xxxx_test-consumer-group. # # > You must specify one of the **ResourceId** and **Tag** parameters to query the tags that are attached to a resource. Otherwise, the call fails. self.resource_id = resource_id # type: list[str] # The type of the resource whose tags you want to query. The value is an enumerated value. Valid values: # # * **INSTANCE**\ # * **TOPIC**\ # * **CONSUMERGROUP**\ self.resource_type = resource_type # type: str # The tags. self.tag = tag # type: list[ListTagResourcesRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(ListTagResourcesRequest, self).to_map() if _map is not None: return _map result = dict() if self.next_token is not None: result['NextToken'] = self.next_token if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_id is not None: result['ResourceId'] = self.resource_id if self.resource_type is not None: result['ResourceType'] = self.resource_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('NextToken') is not None: self.next_token = m.get('NextToken') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = ListTagResourcesRequestTag() self.tag.append(temp_model.from_map(k)) return self class ListTagResourcesResponseBodyTagResourcesTagResource(TeaModel): def __init__(self, resource_id=None, resource_type=None, tag_key=None, tag_value=None): # The ID of the resource. A resource ID complies with the following rules: # # * The resource ID of an instance is the value of the instanceId parameter. # * The resource ID of a topic is the value of the Kafka_alikafka_instanceId_topic parameter. # * The resource ID of a consumer group is the value of the Kafka_alikafka_instanceId_consumerGroup parameter. # # For example, the resources whose tags you want to query include the alikafka_post-cn-v0h1fgs2xxxx instance, the test-topic topic, and the test-consumer-group consumer group. In this case, their resource IDs are alikafka_post-cn-v0h1fgs2xxxx, Kafka_alikafka_post-cn-v0h1fgs2xxxx_test-topic, and Kafka_alikafka_post-cn-v0h1fgs2xxxx_test-consumer-group. self.resource_id = resource_id # type: str # The type of the resource. The value is an enumerated value. Valid values: # # * **Instance**\ # * **Topic**\ # * **Consumergroup**\ self.resource_type = resource_type # type: str # The key of the tag. self.tag_key = tag_key # type: str # The value of the tag. self.tag_value = tag_value # type: str def validate(self): pass def to_map(self): _map = super(ListTagResourcesResponseBodyTagResourcesTagResource, self).to_map() if _map is not None: return _map result = dict() if self.resource_id is not None: result['ResourceId'] = self.resource_id if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.tag_key is not None: result['TagKey'] = self.tag_key if self.tag_value is not None: result['TagValue'] = self.tag_value return result def from_map(self, m=None): m = m or dict() if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('TagKey') is not None: self.tag_key = m.get('TagKey') if m.get('TagValue') is not None: self.tag_value = m.get('TagValue') return self class ListTagResourcesResponseBodyTagResources(TeaModel): def __init__(self, tag_resource=None): self.tag_resource = tag_resource # type: list[ListTagResourcesResponseBodyTagResourcesTagResource] def validate(self): if self.tag_resource: for k in self.tag_resource: if k: k.validate() def to_map(self): _map = super(ListTagResourcesResponseBodyTagResources, self).to_map() if _map is not None: return _map result = dict() result['TagResource'] = [] if self.tag_resource is not None: for k in self.tag_resource: result['TagResource'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() self.tag_resource = [] if m.get('TagResource') is not None: for k in m.get('TagResource'): temp_model = ListTagResourcesResponseBodyTagResourcesTagResource() self.tag_resource.append(temp_model.from_map(k)) return self class ListTagResourcesResponseBody(TeaModel): def __init__(self, next_token=None, request_id=None, tag_resources=None): # The token that determines the start point of the next query. self.next_token = next_token # type: str # The ID of the request. self.request_id = request_id # type: str # Details of the resource and tags, such as the resource ID, the resource type, tag keys, and tag values. self.tag_resources = tag_resources # type: ListTagResourcesResponseBodyTagResources def validate(self): if self.tag_resources: self.tag_resources.validate() def to_map(self): _map = super(ListTagResourcesResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.next_token is not None: result['NextToken'] = self.next_token if self.request_id is not None: result['RequestId'] = self.request_id if self.tag_resources is not None: result['TagResources'] = self.tag_resources.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('NextToken') is not None: self.next_token = m.get('NextToken') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TagResources') is not None: temp_model = ListTagResourcesResponseBodyTagResources() self.tag_resources = temp_model.from_map(m['TagResources']) return self class ListTagResourcesResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ListTagResourcesResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ListTagResourcesResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ListTagResourcesResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyInstanceNameRequest(TeaModel): def __init__(self, instance_id=None, instance_name=None, region_id=None): # The ID of the instance. self.instance_id = instance_id # type: str # The instance name. Valid values: # # * The name can contain only letters, digits, hyphens (-), and underscores (\_). # * The name must be 3 to 64 characters in length. A name that contains more than 64 characters is automatically truncated. self.instance_name = instance_name # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(ModifyInstanceNameRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.instance_name is not None: result['InstanceName'] = self.instance_name if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('InstanceName') is not None: self.instance_name = m.get('InstanceName') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class ModifyInstanceNameResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code. The status code 200 indicates that the call is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the call is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ModifyInstanceNameResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ModifyInstanceNameResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ModifyInstanceNameResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ModifyInstanceNameResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ModifyInstanceNameResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyPartitionNumRequest(TeaModel): def __init__(self, add_partition_num=None, instance_id=None, region_id=None, topic=None): # The number of partitions that you want to add to the topic. # # * The value must be an integer that is greater than 0. # * To reduce the risk of data skew, we recommend that you set the value to a multiple of 6. # * The number of total partitions ranges from 1 to 360. self.add_partition_num = add_partition_num # type: int # The instance ID. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str # The topic name. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(ModifyPartitionNumRequest, self).to_map() if _map is not None: return _map result = dict() if self.add_partition_num is not None: result['AddPartitionNum'] = self.add_partition_num if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('AddPartitionNum') is not None: self.add_partition_num = m.get('AddPartitionNum') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class ModifyPartitionNumResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ModifyPartitionNumResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ModifyPartitionNumResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ModifyPartitionNumResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ModifyPartitionNumResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ModifyPartitionNumResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyTopicRemarkRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, remark=None, topic=None): # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str # The description of the topic. self.remark = remark # type: str # The name of the topic. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(ModifyTopicRemarkRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.remark is not None: result['Remark'] = self.remark if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Remark') is not None: self.remark = m.get('Remark') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class ModifyTopicRemarkResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ModifyTopicRemarkResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ModifyTopicRemarkResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ModifyTopicRemarkResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ModifyTopicRemarkResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ModifyTopicRemarkResponseBody() self.body = temp_model.from_map(m['body']) return self class QueryMessageRequest(TeaModel): def __init__(self, begin_time=None, instance_id=None, offset=None, partition=None, query_type=None, region_id=None, topic=None): # The beginning of the time range to query. The value of this parameter is a UNIX timestamp in milliseconds. self.begin_time = begin_time # type: long # The instance ID. self.instance_id = instance_id # type: str # The consumer offset of the partition. self.offset = offset # type: str # The partition ID. self.partition = partition # type: str # The query type. Valid values: # # * byOffset: queries messages by offset. If you select this value, you must configure Partition and Offset. # * byTimestamp: queries messages by time. If you select this value, you must configure BeginTime. self.query_type = query_type # type: str # The ID of the region where the resource resides. self.region_id = region_id # type: str # The topic name. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(QueryMessageRequest, self).to_map() if _map is not None: return _map result = dict() if self.begin_time is not None: result['BeginTime'] = self.begin_time if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.offset is not None: result['Offset'] = self.offset if self.partition is not None: result['Partition'] = self.partition if self.query_type is not None: result['QueryType'] = self.query_type if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('BeginTime') is not None: self.begin_time = m.get('BeginTime') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('Offset') is not None: self.offset = m.get('Offset') if m.get('Partition') is not None: self.partition = m.get('Partition') if m.get('QueryType') is not None: self.query_type = m.get('QueryType') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class QueryMessageResponseBodyMessageList(TeaModel): def __init__(self, checksum=None, key=None, key_truncated=None, offset=None, partition=None, serialized_key_size=None, serialized_value_size=None, timestamp=None, timestamp_type=None, topic=None, truncated_key_size=None, truncated_value_size=None, value=None, value_truncated=None): # The check value of the chaincode. self.checksum = checksum # type: long # The message key. self.key = key # type: str # Indicates whether the key is truncated. self.key_truncated = key_truncated # type: bool # The consumer offset of the partition. self.offset = offset # type: long # The partition ID. self.partition = partition # type: long # The size of the key after serialization. Unit: bytes. self.serialized_key_size = serialized_key_size # type: int # The size of the value after serialization. Unit: bytes. self.serialized_value_size = serialized_value_size # type: int # The time when the message was created. The value of this parameter is a UNIX timestamp in milliseconds. self.timestamp = timestamp # type: long # The time type. self.timestamp_type = timestamp_type # type: str # The topic name. self.topic = topic # type: str # The truncated size of the message key. Unit: bytes. # # * A message is truncated only if the message exceeds 10 MB in size. self.truncated_key_size = truncated_key_size # type: int # The truncated size of the message value. Unit: bytes. # # * A message is truncated only if the message exceeds 10 MB in size. self.truncated_value_size = truncated_value_size # type: int # The message value. self.value = value # type: str # Indicates whether the value is truncated. self.value_truncated = value_truncated # type: bool def validate(self): pass def to_map(self): _map = super(QueryMessageResponseBodyMessageList, self).to_map() if _map is not None: return _map result = dict() if self.checksum is not None: result['Checksum'] = self.checksum if self.key is not None: result['Key'] = self.key if self.key_truncated is not None: result['KeyTruncated'] = self.key_truncated if self.offset is not None: result['Offset'] = self.offset if self.partition is not None: result['Partition'] = self.partition if self.serialized_key_size is not None: result['SerializedKeySize'] = self.serialized_key_size if self.serialized_value_size is not None: result['SerializedValueSize'] = self.serialized_value_size if self.timestamp is not None: result['Timestamp'] = self.timestamp if self.timestamp_type is not None: result['TimestampType'] = self.timestamp_type if self.topic is not None: result['Topic'] = self.topic if self.truncated_key_size is not None: result['TruncatedKeySize'] = self.truncated_key_size if self.truncated_value_size is not None: result['TruncatedValueSize'] = self.truncated_value_size if self.value is not None: result['Value'] = self.value if self.value_truncated is not None: result['ValueTruncated'] = self.value_truncated return result def from_map(self, m=None): m = m or dict() if m.get('Checksum') is not None: self.checksum = m.get('Checksum') if m.get('Key') is not None: self.key = m.get('Key') if m.get('KeyTruncated') is not None: self.key_truncated = m.get('KeyTruncated') if m.get('Offset') is not None: self.offset = m.get('Offset') if m.get('Partition') is not None: self.partition = m.get('Partition') if m.get('SerializedKeySize') is not None: self.serialized_key_size = m.get('SerializedKeySize') if m.get('SerializedValueSize') is not None: self.serialized_value_size = m.get('SerializedValueSize') if m.get('Timestamp') is not None: self.timestamp = m.get('Timestamp') if m.get('TimestampType') is not None: self.timestamp_type = m.get('TimestampType') if m.get('Topic') is not None: self.topic = m.get('Topic') if m.get('TruncatedKeySize') is not None: self.truncated_key_size = m.get('TruncatedKeySize') if m.get('TruncatedValueSize') is not None: self.truncated_value_size = m.get('TruncatedValueSize') if m.get('Value') is not None: self.value = m.get('Value') if m.get('ValueTruncated') is not None: self.value_truncated = m.get('ValueTruncated') return self class QueryMessageResponseBody(TeaModel): def __init__(self, code=None, message=None, message_list=None, request_id=None, success=None): # The returned HTTP status code. If the request is successful, 200 is returned. self.code = code # type: int # The returned message. self.message = message # type: str # The messages. self.message_list = message_list # type: list[QueryMessageResponseBodyMessageList] # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. Valid values: # # * **true**\ # * **false**\ self.success = success # type: bool def validate(self): if self.message_list: for k in self.message_list: if k: k.validate() def to_map(self): _map = super(QueryMessageResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message result['MessageList'] = [] if self.message_list is not None: for k in self.message_list: result['MessageList'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') self.message_list = [] if m.get('MessageList') is not None: for k in m.get('MessageList'): temp_model = QueryMessageResponseBodyMessageList() self.message_list.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class QueryMessageResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: QueryMessageResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(QueryMessageResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = QueryMessageResponseBody() self.body = temp_model.from_map(m['body']) return self class ReleaseInstanceRequest(TeaModel): def __init__(self, force_delete_instance=None, instance_id=None, region_id=None): # Specifies whether to immediately release the physical resources of the instance. Valid values: # # * **true**: The physical resources of the instance are immediately released. # * **false**: The physical resources of the instance are retained for a period of time before they are released. self.force_delete_instance = force_delete_instance # type: bool # The ID of the instance. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(ReleaseInstanceRequest, self).to_map() if _map is not None: return _map result = dict() if self.force_delete_instance is not None: result['ForceDeleteInstance'] = self.force_delete_instance if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('ForceDeleteInstance') is not None: self.force_delete_instance = m.get('ForceDeleteInstance') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class ReleaseInstanceResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ReleaseInstanceResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ReleaseInstanceResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ReleaseInstanceResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ReleaseInstanceResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ReleaseInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class ReopenInstanceRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The instance ID. self.instance_id = instance_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(ReopenInstanceRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class ReopenInstanceResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The returned HTTP status code. If the request is successful, 200 is returned. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(ReopenInstanceResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class ReopenInstanceResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: ReopenInstanceResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(ReopenInstanceResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = ReopenInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class StartInstanceRequest(TeaModel): def __init__(self, config=None, cross_zone=None, deploy_module=None, instance_id=None, is_eip_inner=None, is_force_selected_zones=None, is_set_user_and_password=None, kmskey_id=None, name=None, notifier=None, password=None, region_id=None, security_group=None, selected_zones=None, service_version=None, user_phone_num=None, username=None, v_switch_id=None, v_switch_ids=None, vpc_id=None, zone_id=None): # The initial configurations of ApsaraMQ for Kafka. The value must be a valid JSON string. # # If you do not specify this parameter, it is left empty. # # The following parameters can be configured for **Config**: # # * **enable.vpc_sasl_ssl**: specifies whether to enable VPC transmission encryption. Valid values: # # * **true**: enables VPC transmission encryption. If you enable VPC transmission encryption, you must also enable access control list (ACL). # * **false**: disables VPC transmission encryption. By default, VPC transmission encryption is disabled. # # * **enable.acl**: specifies whether to enable ACL. Valid values: # # * **true**: enables ACL. # * **false**: disables ACL. By default, ACL is disabled. # # * **kafka.log.retention.hours**: the maximum message retention period when the disk capacity is sufficient. Unit: hours. Valid values: 24 to 480. Default value: **72**. When the disk usage reaches 85%, the disk capacity is considered insufficient and the system deletes messages in the order in which they are stored to ensure service availability. # # * **kafka.message.max.bytes**: the maximum size of messages that ApsaraMQ for Kafka can send and receive. Unit: bytes. Valid values: 1048576 to 10485760. Default value: **1048576**. Before you change the value of this parameter, make sure that the new value matches the corresponding configurations on the producers and consumers. self.config = config # type: str # Specifies whether cross-zone deployment is required. Valid values: # # * true # * false # # Default value: true. self.cross_zone = cross_zone # type: bool # The deployment mode of the instance. Valid values: # # * **vpc**: deploys the instance that allows access only from a VPC. # * **eip**: deploys the instance that allows access from the Internet and a VPC. # # The deployment mode of the instance must match the type of the instance. If the instance allows access only from a VPC, set the value to **vpc**. If the instance allows access from the Internet and a VPC, set the value to **eip**. self.deploy_module = deploy_module # type: str # The ID of the instance. self.instance_id = instance_id # type: str # Specifies whether the instance supports elastic IP addresses (EIPs). Valid values: # # * **true**: supports EIPs and allows access from the Internet and a VPC. # * **false**: does not support EIPs and allows access only from a VPC. # # The value of this parameter must match the type of the instance. For example, if the instance allows access only from a VPC, set this parameter to **false**. self.is_eip_inner = is_eip_inner # type: bool # Specifies whether to forcibly deploy the instance in the selected zones. self.is_force_selected_zones = is_force_selected_zones # type: bool # Specifies whether to set a new username and password. Valid values: # # * **true**: sets a new username and password. # * **false**: does not set a new username or password. # # This parameter is available only if you deploy an instance that allows access from the Internet and a VPC. self.is_set_user_and_password = is_set_user_and_password # type: bool # The ID of the key that is used for disk encryption in the region where the instance is deployed. You can obtain the ID of the key in the [Key Management Service (KMS) console](https://kms.console.aliyun.com/?spm=a2c4g.11186623.2.5.336745b8hfiU21) or create a key. For more information, see [Manage CMKs](~~181610~~). # # If this parameter is configured, disk encryption is enabled for the instance. You cannot disable disk encryption after disk encryption is enabled. When you call this operation, the system checks whether the AliyunServiceRoleForAlikafkaInstanceEncryption service-linked role is created. If the role is not created, the system automatically creates the role. For more information, see [Service-linked roles](~~190460~~). self.kmskey_id = kmskey_id # type: str # The name of the instance. # # > If you specify a value for this parameter, make sure that the specified value is unique in the region of the instance. self.name = name # type: str # The alert contact. self.notifier = notifier # type: str # The password that corresponds to the username. # # This parameter is available only if you deploy an instance that allows access from the Internet and a VPC. self.password = password # type: str # The region ID of the instance. self.region_id = region_id # type: str # The security group of the instance. # # If you do not specify this parameter, ApsaraMQ for Kafka automatically configures a security group for your instance. If you specify this parameter, you must create a security group in advance. For more information, see [Create a security group](~~25468~~). self.security_group = security_group # type: str # The two-dimensional arrays that consist of the candidate set for primary zones and the candidate set for secondary zones. # # * If you set CrossZone to true and specify Zone H and Zone F as the candidate set for primary zones and Zone K as the candidate set for secondary zones, set this parameter to `[[\"zoneh\",\"zonef\"],[\"zonek\"]]`. # # **\ # # **Note** If you specify multiple zones as the primary or secondary zones, the system deploys the instance in one of the zones without prioritizing them. For example, if you set this parameter to `[[\"zoneh\",\"zonef\"],[\"zonek\"]]`, the primary zone in which the instance is deployed can be Zone H or Zone F, and the secondary zone is Zone K. # # * If you set CrossZone to false and want to deploy the instance in Zone K, set this parameter to `[[\"zonek\"],[]]`. In this case, the value of this parameter must still be two-dimensional arrays, but the array that specifies the candidate for secondary zones is left empty. self.selected_zones = selected_zones # type: str # The version of ApsaraMQ for Kafka. Valid values: 0.10.2 and 2.2.0. self.service_version = service_version # type: str # The mobile phone number of the alert contact. self.user_phone_num = user_phone_num # type: str # The username that is used to access the instance. # # This parameter is available only if you deploy an instance that allows access from the Internet and a VPC. self.username = username # type: str # The ID of the vSwitch to which you want to connect the instance. self.v_switch_id = v_switch_id # type: str self.v_switch_ids = v_switch_ids # type: list[str] # The ID of the virtual private cloud (VPC) in which you want to deploy the instance. self.vpc_id = vpc_id # type: str # The ID of the zone in which you want to deploy the instance. # # * The zone ID of the instance must be the same as that of the vSwitch. # * The value must be in the format of zoneX or Region ID-X. For example, you can set this parameter to zonea or cn-hangzhou-k. self.zone_id = zone_id # type: str def validate(self): pass def to_map(self): _map = super(StartInstanceRequest, self).to_map() if _map is not None: return _map result = dict() if self.config is not None: result['Config'] = self.config if self.cross_zone is not None: result['CrossZone'] = self.cross_zone if self.deploy_module is not None: result['DeployModule'] = self.deploy_module if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.is_eip_inner is not None: result['IsEipInner'] = self.is_eip_inner if self.is_force_selected_zones is not None: result['IsForceSelectedZones'] = self.is_force_selected_zones if self.is_set_user_and_password is not None: result['IsSetUserAndPassword'] = self.is_set_user_and_password if self.kmskey_id is not None: result['KMSKeyId'] = self.kmskey_id if self.name is not None: result['Name'] = self.name if self.notifier is not None: result['Notifier'] = self.notifier if self.password is not None: result['Password'] = self.password if self.region_id is not None: result['RegionId'] = self.region_id if self.security_group is not None: result['SecurityGroup'] = self.security_group if self.selected_zones is not None: result['SelectedZones'] = self.selected_zones if self.service_version is not None: result['ServiceVersion'] = self.service_version if self.user_phone_num is not None: result['UserPhoneNum'] = self.user_phone_num if self.username is not None: result['Username'] = self.username if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id if self.v_switch_ids is not None: result['VSwitchIds'] = self.v_switch_ids if self.vpc_id is not None: result['VpcId'] = self.vpc_id if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m=None): m = m or dict() if m.get('Config') is not None: self.config = m.get('Config') if m.get('CrossZone') is not None: self.cross_zone = m.get('CrossZone') if m.get('DeployModule') is not None: self.deploy_module = m.get('DeployModule') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IsEipInner') is not None: self.is_eip_inner = m.get('IsEipInner') if m.get('IsForceSelectedZones') is not None: self.is_force_selected_zones = m.get('IsForceSelectedZones') if m.get('IsSetUserAndPassword') is not None: self.is_set_user_and_password = m.get('IsSetUserAndPassword') if m.get('KMSKeyId') is not None: self.kmskey_id = m.get('KMSKeyId') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Notifier') is not None: self.notifier = m.get('Notifier') if m.get('Password') is not None: self.password = m.get('Password') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('SecurityGroup') is not None: self.security_group = m.get('SecurityGroup') if m.get('SelectedZones') is not None: self.selected_zones = m.get('SelectedZones') if m.get('ServiceVersion') is not None: self.service_version = m.get('ServiceVersion') if m.get('UserPhoneNum') is not None: self.user_phone_num = m.get('UserPhoneNum') if m.get('Username') is not None: self.username = m.get('Username') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') if m.get('VSwitchIds') is not None: self.v_switch_ids = m.get('VSwitchIds') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class StartInstanceResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(StartInstanceResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class StartInstanceResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: StartInstanceResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(StartInstanceResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = StartInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class StopInstanceRequest(TeaModel): def __init__(self, instance_id=None, region_id=None): # The instance ID. self.instance_id = instance_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(StopInstanceRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class StopInstanceResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The returned status code. If the request is successful, 200 is returned. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(StopInstanceResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class StopInstanceResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: StopInstanceResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(StopInstanceResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = StopInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class TagResourcesRequestTag(TeaModel): def __init__(self, key=None, value=None): # The tag key. # # * You must specify this parameter. # * The tag key must be 1 to 128 characters in length and cannot start with `acs:` or `aliyun`. The tag key cannot contain `http://` or `https://`. self.key = key # type: str # The tag value. # # * You can leave this parameter empty. # * The tag value must be 1 to 128 characters in length and cannot start with acs: or aliyun. The tag key cannot contain http:// or https://. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(TagResourcesRequestTag, self).to_map() if _map is not None: return _map result = dict() if self.key is not None: result['Key'] = self.key if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Key') is not None: self.key = m.get('Key') if m.get('Value') is not None: self.value = m.get('Value') return self class TagResourcesRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, resource_id=None, resource_type=None, tag=None): # The ID of the Message Queue for Apache RocketMQ instance which contains the resource to which you want to attach tags. self.instance_id = instance_id # type: str # The ID of the region in which the resource is deployed. self.region_id = region_id # type: str # The list of resource IDs. self.resource_id = resource_id # type: list[str] # The type of the resources. The value is an enumerated value. Valid values: # # * **INSTANCE**\ # * **TOPIC**\ # * **CONSUMERGROUP**\ # # > The value of this parameter is not case-sensitive. self.resource_type = resource_type # type: str # The tags that you want to add. self.tag = tag # type: list[TagResourcesRequestTag] def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super(TagResourcesRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_id is not None: result['ResourceId'] = self.resource_id if self.resource_type is not None: result['ResourceType'] = self.resource_type result['Tag'] = [] if self.tag is not None: for k in self.tag: result['Tag'].append(k.to_map() if k else None) return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = TagResourcesRequestTag() self.tag.append(temp_model.from_map(k)) return self class TagResourcesResponseBody(TeaModel): def __init__(self, request_id=None): # The ID of the request. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(TagResourcesResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class TagResourcesResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: TagResourcesResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(TagResourcesResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = TagResourcesResponseBody() self.body = temp_model.from_map(m['body']) return self class UntagResourcesRequest(TeaModel): def __init__(self, all=None, region_id=None, resource_id=None, resource_type=None, tag_key=None): # Specifies whether to detach all tags from the resource. This parameter only takes effect when the TagKey.N parameter is not configured. Default value: **false**. self.all = all # type: bool # The ID of the region in which the resource is deployed. self.region_id = region_id # type: str # The IDs of the resources from which you want to detach tags. self.resource_id = resource_id # type: list[str] # The type of the resources. Valid values: # # * **INSTANCE**\ # * **TOPIC**\ # * **CONSUMERGROUP**\ # # > The value of this parameter is not case-sensitive. self.resource_type = resource_type # type: str # The tag key. self.tag_key = tag_key # type: list[str] def validate(self): pass def to_map(self): _map = super(UntagResourcesRequest, self).to_map() if _map is not None: return _map result = dict() if self.all is not None: result['All'] = self.all if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_id is not None: result['ResourceId'] = self.resource_id if self.resource_type is not None: result['ResourceType'] = self.resource_type if self.tag_key is not None: result['TagKey'] = self.tag_key return result def from_map(self, m=None): m = m or dict() if m.get('All') is not None: self.all = m.get('All') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceId') is not None: self.resource_id = m.get('ResourceId') if m.get('ResourceType') is not None: self.resource_type = m.get('ResourceType') if m.get('TagKey') is not None: self.tag_key = m.get('TagKey') return self class UntagResourcesResponseBody(TeaModel): def __init__(self, request_id=None): # The ID of the request. self.request_id = request_id # type: str def validate(self): pass def to_map(self): _map = super(UntagResourcesResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m=None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UntagResourcesResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UntagResourcesResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UntagResourcesResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UntagResourcesResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateAllowedIpRequest(TeaModel): def __init__(self, allowed_list_ip=None, allowed_list_type=None, description=None, instance_id=None, port_range=None, region_id=None, update_type=None): # The IP addresses that you want to manage. You can specify a CIDR block. Example: **192.168.0.0/16**. # # * If the **UpdateType** parameter is set to **add**, specify one or more IP addresses for this parameter. Separate multiple IP addresses with commas (,). # * If the **UpdateType** parameter is set to **delete**, specify only one IP address. # * Exercise caution when you delete IP addresses. self.allowed_list_ip = allowed_list_ip # type: str # The type of the whitelist. Valid values: # # * **vpc**: a whitelist for access from a VPC. # * **internet**: a whitelist for access from the Internet. self.allowed_list_type = allowed_list_type # type: str # The description of the whitelist. self.description = description # type: str # The ID of the instance. self.instance_id = instance_id # type: str # The port range. Valid values: # # * **9092/9092**: the port range for access from virtual private clouds (VPCs) by using the default endpoint. # * **9093/9093**: the port range for access from the Internet. # * **9094/9094**: the port range for access from VPCs by using the Simple Authentication and Security Layer (SASL) endpoint. # * **9095/9095**: the port range for access from VPCs by using the Secure Sockets Layer (SSL) endpoint. # # This parameter must correspond to **AllowdedListType**. self.port_range = port_range # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str # The type of configuration change. Valid values: # # * **add**\ # * **delete**\ self.update_type = update_type # type: str def validate(self): pass def to_map(self): _map = super(UpdateAllowedIpRequest, self).to_map() if _map is not None: return _map result = dict() if self.allowed_list_ip is not None: result['AllowedListIp'] = self.allowed_list_ip if self.allowed_list_type is not None: result['AllowedListType'] = self.allowed_list_type if self.description is not None: result['Description'] = self.description if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.port_range is not None: result['PortRange'] = self.port_range if self.region_id is not None: result['RegionId'] = self.region_id if self.update_type is not None: result['UpdateType'] = self.update_type return result def from_map(self, m=None): m = m or dict() if m.get('AllowedListIp') is not None: self.allowed_list_ip = m.get('AllowedListIp') if m.get('AllowedListType') is not None: self.allowed_list_type = m.get('AllowedListType') if m.get('Description') is not None: self.description = m.get('Description') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('PortRange') is not None: self.port_range = m.get('PortRange') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('UpdateType') is not None: self.update_type = m.get('UpdateType') return self class UpdateAllowedIpResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code that is returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpdateAllowedIpResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpdateAllowedIpResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateAllowedIpResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateAllowedIpResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateAllowedIpResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateConsumerOffsetRequestOffsets(TeaModel): def __init__(self, offset=None, partition=None): # The consumer offset of the partition. self.offset = offset # type: long # The partition ID. self.partition = partition # type: int def validate(self): pass def to_map(self): _map = super(UpdateConsumerOffsetRequestOffsets, self).to_map() if _map is not None: return _map result = dict() if self.offset is not None: result['Offset'] = self.offset if self.partition is not None: result['Partition'] = self.partition return result def from_map(self, m=None): m = m or dict() if m.get('Offset') is not None: self.offset = m.get('Offset') if m.get('Partition') is not None: self.partition = m.get('Partition') return self class UpdateConsumerOffsetRequest(TeaModel): def __init__(self, consumer_id=None, instance_id=None, offsets=None, region_id=None, reset_type=None, time=None, topic=None): # The name of the consumer group. # # * The name can contain letters, digits, hyphens (-), and underscores (\_). # * The name must be **3 to 64** characters in length. If a name contains more than **64** characters, the name is automatically truncated. # * The name of a consumer group cannot be changed after the consumer group is created. self.consumer_id = consumer_id # type: str # The instance ID. self.instance_id = instance_id # type: str # If you set resetType to offset, you can use this parameter to reset the consumer offset of each partition of a specific topic in the consumer group. self.offsets = offsets # type: list[UpdateConsumerOffsetRequestOffsets] # The region ID of the instance to which the consumer group belongs. self.region_id = region_id # type: str # The method that is used to reset the consumer offsets of the subscribed topics of a consumer group. Valid values: # # * **timestamp** (default) # * **offset**\ self.reset_type = reset_type # type: str # The point in time when message consumption starts. The value of this parameter is a UNIX timestamp in milliseconds. The value of this parameter must be **less than 0** or **within the retention period of the consumer offset**. This parameter takes effect only if you set resetType to timestamp. # # * If you want to reset the consumer offset to the latest offset, set this parameter to -1. # * If you want to reset the consumer offset to the earliest offset, set this parameter to -2. self.time = time # type: str # The topic name. # # * The name can contain letters, digits, underscores (\_), and hyphens (-). # * The name must be **3 to 64** characters in length. If a name contains more than **64** characters, the name is automatically truncated. # * The name of a topic cannot be changed after the topic is created. # # **If you want to reset the consumer offsets of all topics to which the consumer subscribes, specify an empty string. self.topic = topic # type: str def validate(self): if self.offsets: for k in self.offsets: if k: k.validate() def to_map(self): _map = super(UpdateConsumerOffsetRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id result['Offsets'] = [] if self.offsets is not None: for k in self.offsets: result['Offsets'].append(k.to_map() if k else None) if self.region_id is not None: result['RegionId'] = self.region_id if self.reset_type is not None: result['ResetType'] = self.reset_type if self.time is not None: result['Time'] = self.time if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') self.offsets = [] if m.get('Offsets') is not None: for k in m.get('Offsets'): temp_model = UpdateConsumerOffsetRequestOffsets() self.offsets.append(temp_model.from_map(k)) if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResetType') is not None: self.reset_type = m.get('ResetType') if m.get('Time') is not None: self.time = m.get('Time') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class UpdateConsumerOffsetShrinkRequest(TeaModel): def __init__(self, consumer_id=None, instance_id=None, offsets_shrink=None, region_id=None, reset_type=None, time=None, topic=None): # The name of the consumer group. # # * The name can contain letters, digits, hyphens (-), and underscores (\_). # * The name must be **3 to 64** characters in length. If a name contains more than **64** characters, the name is automatically truncated. # * The name of a consumer group cannot be changed after the consumer group is created. self.consumer_id = consumer_id # type: str # The instance ID. self.instance_id = instance_id # type: str # If you set resetType to offset, you can use this parameter to reset the consumer offset of each partition of a specific topic in the consumer group. self.offsets_shrink = offsets_shrink # type: str # The region ID of the instance to which the consumer group belongs. self.region_id = region_id # type: str # The method that is used to reset the consumer offsets of the subscribed topics of a consumer group. Valid values: # # * **timestamp** (default) # * **offset**\ self.reset_type = reset_type # type: str # The point in time when message consumption starts. The value of this parameter is a UNIX timestamp in milliseconds. The value of this parameter must be **less than 0** or **within the retention period of the consumer offset**. This parameter takes effect only if you set resetType to timestamp. # # * If you want to reset the consumer offset to the latest offset, set this parameter to -1. # * If you want to reset the consumer offset to the earliest offset, set this parameter to -2. self.time = time # type: str # The topic name. # # * The name can contain letters, digits, underscores (\_), and hyphens (-). # * The name must be **3 to 64** characters in length. If a name contains more than **64** characters, the name is automatically truncated. # * The name of a topic cannot be changed after the topic is created. # # **If you want to reset the consumer offsets of all topics to which the consumer subscribes, specify an empty string. self.topic = topic # type: str def validate(self): pass def to_map(self): _map = super(UpdateConsumerOffsetShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.consumer_id is not None: result['ConsumerId'] = self.consumer_id if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.offsets_shrink is not None: result['Offsets'] = self.offsets_shrink if self.region_id is not None: result['RegionId'] = self.region_id if self.reset_type is not None: result['ResetType'] = self.reset_type if self.time is not None: result['Time'] = self.time if self.topic is not None: result['Topic'] = self.topic return result def from_map(self, m=None): m = m or dict() if m.get('ConsumerId') is not None: self.consumer_id = m.get('ConsumerId') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('Offsets') is not None: self.offsets_shrink = m.get('Offsets') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResetType') is not None: self.reset_type = m.get('ResetType') if m.get('Time') is not None: self.time = m.get('Time') if m.get('Topic') is not None: self.topic = m.get('Topic') return self class UpdateConsumerOffsetResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code that is returned. The status code **200** indicates that the request is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the call was successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpdateConsumerOffsetResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpdateConsumerOffsetResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateConsumerOffsetResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateConsumerOffsetResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateConsumerOffsetResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateInstanceConfigRequest(TeaModel): def __init__(self, config=None, instance_id=None, region_id=None): # The configurations that you want to update for the ApsaraMQ for Kafka instance. The value must be a valid JSON string. self.config = config # type: str # The instance ID. self.instance_id = instance_id # type: str # The region ID of the instance. self.region_id = region_id # type: str def validate(self): pass def to_map(self): _map = super(UpdateInstanceConfigRequest, self).to_map() if _map is not None: return _map result = dict() if self.config is not None: result['Config'] = self.config if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m=None): m = m or dict() if m.get('Config') is not None: self.config = m.get('Config') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class UpdateInstanceConfigResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code. The status code 200 indicates that the call is successful. self.code = code # type: int # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the call is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpdateInstanceConfigResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpdateInstanceConfigResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateInstanceConfigResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateInstanceConfigResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateInstanceConfigResponseBody() self.body = temp_model.from_map(m['body']) return self class UpdateTopicConfigRequest(TeaModel): def __init__(self, config=None, instance_id=None, region_id=None, topic=None, value=None): # The key of the topic configuration. # # * ApsaraMQ for Kafka V2 instances allow you to modify configurations only for topics that use local storage. # * ApsaraMQ for Kafka V3 instances allow you to modify configurations for all topics. # * The following keys are supported by `local topic` of ApsaraMQ for Kafka V2 instances: retention.ms, retention.bytes, and replications. # * The following keys are supported by ApsaraMQ for Kafka V3 instances: retention.hours and max.message.bytes. self.config = config # type: str # The instance ID. self.instance_id = instance_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str # The topic name. self.topic = topic # type: str # The value of the topic configuration. # # * `retention.hours` specifies the message retention period. Value type: string. Valid values: 24 to 8760. # * `max.message.bytes` specifies the maximum size of a sent message. Value type: string. Valid values: 1048576 to 10485760. self.value = value # type: str def validate(self): pass def to_map(self): _map = super(UpdateTopicConfigRequest, self).to_map() if _map is not None: return _map result = dict() if self.config is not None: result['Config'] = self.config if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.topic is not None: result['Topic'] = self.topic if self.value is not None: result['Value'] = self.value return result def from_map(self, m=None): m = m or dict() if m.get('Config') is not None: self.config = m.get('Config') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('Topic') is not None: self.topic = m.get('Topic') if m.get('Value') is not None: self.value = m.get('Value') return self class UpdateTopicConfigResponseBody(TeaModel): def __init__(self, code=None, data=None, message=None, request_id=None, success=None): # The HTTP status code. If the request is successful, 200 is returned. self.code = code # type: long # The returned data. self.data = data # type: str # The returned message. self.message = message # type: str # The request ID. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpdateTopicConfigResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.data is not None: result['Data'] = self.data if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Data') is not None: self.data = m.get('Data') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpdateTopicConfigResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpdateTopicConfigResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpdateTopicConfigResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpdateTopicConfigResponseBody() self.body = temp_model.from_map(m['body']) return self class UpgradeInstanceVersionRequest(TeaModel): def __init__(self, instance_id=None, region_id=None, target_version=None): # The ID of the instance. self.instance_id = instance_id # type: str # The ID of the region where the instance resides. self.region_id = region_id # type: str # The major version to be upgraded to. Valid values: # # * **0.10.2**\ # * **2.2.0**\ # # If you set this parameter to the current major version, the system upgrades the instance to the latest minor version. self.target_version = target_version # type: str def validate(self): pass def to_map(self): _map = super(UpgradeInstanceVersionRequest, self).to_map() if _map is not None: return _map result = dict() if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.target_version is not None: result['TargetVersion'] = self.target_version return result def from_map(self, m=None): m = m or dict() if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('TargetVersion') is not None: self.target_version = m.get('TargetVersion') return self class UpgradeInstanceVersionResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code that is returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The error message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpgradeInstanceVersionResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpgradeInstanceVersionResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpgradeInstanceVersionResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpgradeInstanceVersionResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpgradeInstanceVersionResponseBody() self.body = temp_model.from_map(m['body']) return self class UpgradePostPayOrderRequestServerlessConfig(TeaModel): def __init__(self, reserved_publish_capacity=None, reserved_subscribe_capacity=None): # The traffic reserved for message publishing. Unit: MB/s. Valid values: 1 to 31457280. You can specify only integers for this parameter. self.reserved_publish_capacity = reserved_publish_capacity # type: long # The traffic reserved for message subscription. Unit: MB/s. Valid values: 1 to 31457280. You can specify only integers for this parameter. self.reserved_subscribe_capacity = reserved_subscribe_capacity # type: long def validate(self): pass def to_map(self): _map = super(UpgradePostPayOrderRequestServerlessConfig, self).to_map() if _map is not None: return _map result = dict() if self.reserved_publish_capacity is not None: result['ReservedPublishCapacity'] = self.reserved_publish_capacity if self.reserved_subscribe_capacity is not None: result['ReservedSubscribeCapacity'] = self.reserved_subscribe_capacity return result def from_map(self, m=None): m = m or dict() if m.get('ReservedPublishCapacity') is not None: self.reserved_publish_capacity = m.get('ReservedPublishCapacity') if m.get('ReservedSubscribeCapacity') is not None: self.reserved_subscribe_capacity = m.get('ReservedSubscribeCapacity') return self class UpgradePostPayOrderRequest(TeaModel): def __init__(self, disk_size=None, eip_max=None, eip_model=None, instance_id=None, io_max=None, io_max_spec=None, partition_num=None, region_id=None, serverless_config=None, spec_type=None, topic_quota=None): # The disk size. Unit: GB. # # * The disk size that you specify must be greater than or equal to the current disk size of the instance. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.disk_size = disk_size # type: int # The Internet traffic for the instance. # # * The Internet traffic that you specify must be greater than or equal to the current Internet traffic of the instance. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > # # * If you set **EipModel** to **true**, set **EipMax** to a value that is greater than 0. # # * If you set **EipModel** to **false**, set **EipMax** to **0**. # # * When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.eip_max = eip_max # type: int # Specifies whether to enable Internet access for the instance. Valid values: # # * true: enables Internet access. # * false: disables Internet access. self.eip_model = eip_model # type: bool # The instance ID. self.instance_id = instance_id # type: str # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * The maximum traffic that you specify must be greater than or equal to the current maximum traffic of the instance. # * You must configure at least one of IoMax and IoMaxSpec. If you configure both parameters, the value of IoMaxSpec takes effect. We recommend that you configure only IoMaxSpec. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * The traffic specification that you specify must be greater than or equal to the current traffic specification of the instance. # * You must configure at least one of IoMax and IoMaxSpec. If you configure both parameters, the value of IoMaxSpec takes effect. We recommend that you configure only IoMaxSpec. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.io_max_spec = io_max_spec # type: str # The number of partitions. We recommend that you configure this parameter. # # * You must configure one of PartitionNum and TopicQuota. We recommend that you configure only ParittionNum. # * If you configure PartitionNum and TopicQuota at the same time, the system verifies whether the price of the partitions equals the price of the topics based on the previous topic-based selling mode. If the price of the partitions does not equal the price of the topics, an error is returned. If the price of the partitions equals the price of the topics, the instance is purchased based on the partition number. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The parameters configured for the Serverless instance. When you create an ApsaraMQ for Kafka V3 serverless instance, you must configure these parameters. self.serverless_config = serverless_config # type: UpgradePostPayOrderRequestServerlessConfig # The instance edition. # # Valid values for this parameter if you set PaidType to 1: # # * normal: Standard Edition (High Write) # * professional: Professional Edition (High Write) # * professionalForHighRead: Professional Edition (High Read) # # Valid values for this parameter if you set PaidType to 3: # # * normal: Serverless Standard Edition # * professional: Serverless Professional Edition # # For more information, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The number of topics. We recommend that you do not configure this parameter. # # * You must configure one of PartitionNum and TopicQuota. We recommend that you configure only ParittionNum. # * If you configure PartitionNum and TopicQuota at the same time, the system verifies whether the price of the partitions equals the price of the topics based on the previous topic-based selling mode. If the price of the partitions does not equal the price of the topics, an error is returned. If the price of the partitions equals the price of the topics, the instance is purchased based on the partition number. # * The default value of TopicQuota varies based on the value of IoMaxSpec. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.topic_quota = topic_quota # type: int def validate(self): if self.serverless_config: self.serverless_config.validate() def to_map(self): _map = super(UpgradePostPayOrderRequest, self).to_map() if _map is not None: return _map result = dict() if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.eip_max is not None: result['EipMax'] = self.eip_max if self.eip_model is not None: result['EipModel'] = self.eip_model if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.serverless_config is not None: result['ServerlessConfig'] = self.serverless_config.to_map() if self.spec_type is not None: result['SpecType'] = self.spec_type if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('EipModel') is not None: self.eip_model = m.get('EipModel') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ServerlessConfig') is not None: temp_model = UpgradePostPayOrderRequestServerlessConfig() self.serverless_config = temp_model.from_map(m['ServerlessConfig']) if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class UpgradePostPayOrderShrinkRequest(TeaModel): def __init__(self, disk_size=None, eip_max=None, eip_model=None, instance_id=None, io_max=None, io_max_spec=None, partition_num=None, region_id=None, serverless_config_shrink=None, spec_type=None, topic_quota=None): # The disk size. Unit: GB. # # * The disk size that you specify must be greater than or equal to the current disk size of the instance. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.disk_size = disk_size # type: int # The Internet traffic for the instance. # # * The Internet traffic that you specify must be greater than or equal to the current Internet traffic of the instance. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > # # * If you set **EipModel** to **true**, set **EipMax** to a value that is greater than 0. # # * If you set **EipModel** to **false**, set **EipMax** to **0**. # # * When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.eip_max = eip_max # type: int # Specifies whether to enable Internet access for the instance. Valid values: # # * true: enables Internet access. # * false: disables Internet access. self.eip_model = eip_model # type: bool # The instance ID. self.instance_id = instance_id # type: str # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * The maximum traffic that you specify must be greater than or equal to the current maximum traffic of the instance. # * You must configure at least one of IoMax and IoMaxSpec. If you configure both parameters, the value of IoMaxSpec takes effect. We recommend that you configure only IoMaxSpec. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * The traffic specification that you specify must be greater than or equal to the current traffic specification of the instance. # * You must configure at least one of IoMax and IoMaxSpec. If you configure both parameters, the value of IoMaxSpec takes effect. We recommend that you configure only IoMaxSpec. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.io_max_spec = io_max_spec # type: str # The number of partitions. We recommend that you configure this parameter. # # * You must configure one of PartitionNum and TopicQuota. We recommend that you configure only ParittionNum. # * If you configure PartitionNum and TopicQuota at the same time, the system verifies whether the price of the partitions equals the price of the topics based on the previous topic-based selling mode. If the price of the partitions does not equal the price of the topics, an error is returned. If the price of the partitions equals the price of the topics, the instance is purchased based on the partition number. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The parameters configured for the Serverless instance. When you create an ApsaraMQ for Kafka V3 serverless instance, you must configure these parameters. self.serverless_config_shrink = serverless_config_shrink # type: str # The instance edition. # # Valid values for this parameter if you set PaidType to 1: # # * normal: Standard Edition (High Write) # * professional: Professional Edition (High Write) # * professionalForHighRead: Professional Edition (High Read) # # Valid values for this parameter if you set PaidType to 3: # # * normal: Serverless Standard Edition # * professional: Serverless Professional Edition # # For more information, see [Billing](~~84737~~). self.spec_type = spec_type # type: str # The number of topics. We recommend that you do not configure this parameter. # # * You must configure one of PartitionNum and TopicQuota. We recommend that you configure only ParittionNum. # * If you configure PartitionNum and TopicQuota at the same time, the system verifies whether the price of the partitions equals the price of the topics based on the previous topic-based selling mode. If the price of the partitions does not equal the price of the topics, an error is returned. If the price of the partitions equals the price of the topics, the instance is purchased based on the partition number. # * The default value of TopicQuota varies based on the value of IoMaxSpec. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For information about the valid values of this parameter, see [Billing](~~84737~~). # # > When you create an ApsaraMQ for Kafka V3 serverless instance, you do not need to configure this parameter. self.topic_quota = topic_quota # type: int def validate(self): pass def to_map(self): _map = super(UpgradePostPayOrderShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.eip_max is not None: result['EipMax'] = self.eip_max if self.eip_model is not None: result['EipModel'] = self.eip_model if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.serverless_config_shrink is not None: result['ServerlessConfig'] = self.serverless_config_shrink if self.spec_type is not None: result['SpecType'] = self.spec_type if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('EipModel') is not None: self.eip_model = m.get('EipModel') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ServerlessConfig') is not None: self.serverless_config_shrink = m.get('ServerlessConfig') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class UpgradePostPayOrderResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpgradePostPayOrderResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpgradePostPayOrderResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpgradePostPayOrderResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpgradePostPayOrderResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpgradePostPayOrderResponseBody() self.body = temp_model.from_map(m['body']) return self class UpgradePrePayOrderRequestConfluentConfig(TeaModel): def __init__(self, connect_cu=None, connect_replica=None, control_center_cu=None, control_center_replica=None, control_center_storage=None, kafka_cu=None, kafka_replica=None, kafka_rest_proxy_cu=None, kafka_rest_proxy_replica=None, kafka_storage=None, ksql_cu=None, ksql_replica=None, ksql_storage=None, schema_registry_cu=None, schema_registry_replica=None, zoo_keeper_cu=None, zoo_keeper_replica=None, zoo_keeper_storage=None): self.connect_cu = connect_cu # type: int self.connect_replica = connect_replica # type: int self.control_center_cu = control_center_cu # type: int self.control_center_replica = control_center_replica # type: int self.control_center_storage = control_center_storage # type: int self.kafka_cu = kafka_cu # type: int self.kafka_replica = kafka_replica # type: int self.kafka_rest_proxy_cu = kafka_rest_proxy_cu # type: int self.kafka_rest_proxy_replica = kafka_rest_proxy_replica # type: int self.kafka_storage = kafka_storage # type: int self.ksql_cu = ksql_cu # type: int self.ksql_replica = ksql_replica # type: int self.ksql_storage = ksql_storage # type: int self.schema_registry_cu = schema_registry_cu # type: int self.schema_registry_replica = schema_registry_replica # type: int self.zoo_keeper_cu = zoo_keeper_cu # type: int self.zoo_keeper_replica = zoo_keeper_replica # type: int self.zoo_keeper_storage = zoo_keeper_storage # type: int def validate(self): pass def to_map(self): _map = super(UpgradePrePayOrderRequestConfluentConfig, self).to_map() if _map is not None: return _map result = dict() if self.connect_cu is not None: result['ConnectCU'] = self.connect_cu if self.connect_replica is not None: result['ConnectReplica'] = self.connect_replica if self.control_center_cu is not None: result['ControlCenterCU'] = self.control_center_cu if self.control_center_replica is not None: result['ControlCenterReplica'] = self.control_center_replica if self.control_center_storage is not None: result['ControlCenterStorage'] = self.control_center_storage if self.kafka_cu is not None: result['KafkaCU'] = self.kafka_cu if self.kafka_replica is not None: result['KafkaReplica'] = self.kafka_replica if self.kafka_rest_proxy_cu is not None: result['KafkaRestProxyCU'] = self.kafka_rest_proxy_cu if self.kafka_rest_proxy_replica is not None: result['KafkaRestProxyReplica'] = self.kafka_rest_proxy_replica if self.kafka_storage is not None: result['KafkaStorage'] = self.kafka_storage if self.ksql_cu is not None: result['KsqlCU'] = self.ksql_cu if self.ksql_replica is not None: result['KsqlReplica'] = self.ksql_replica if self.ksql_storage is not None: result['KsqlStorage'] = self.ksql_storage if self.schema_registry_cu is not None: result['SchemaRegistryCU'] = self.schema_registry_cu if self.schema_registry_replica is not None: result['SchemaRegistryReplica'] = self.schema_registry_replica if self.zoo_keeper_cu is not None: result['ZooKeeperCU'] = self.zoo_keeper_cu if self.zoo_keeper_replica is not None: result['ZooKeeperReplica'] = self.zoo_keeper_replica if self.zoo_keeper_storage is not None: result['ZooKeeperStorage'] = self.zoo_keeper_storage return result def from_map(self, m=None): m = m or dict() if m.get('ConnectCU') is not None: self.connect_cu = m.get('ConnectCU') if m.get('ConnectReplica') is not None: self.connect_replica = m.get('ConnectReplica') if m.get('ControlCenterCU') is not None: self.control_center_cu = m.get('ControlCenterCU') if m.get('ControlCenterReplica') is not None: self.control_center_replica = m.get('ControlCenterReplica') if m.get('ControlCenterStorage') is not None: self.control_center_storage = m.get('ControlCenterStorage') if m.get('KafkaCU') is not None: self.kafka_cu = m.get('KafkaCU') if m.get('KafkaReplica') is not None: self.kafka_replica = m.get('KafkaReplica') if m.get('KafkaRestProxyCU') is not None: self.kafka_rest_proxy_cu = m.get('KafkaRestProxyCU') if m.get('KafkaRestProxyReplica') is not None: self.kafka_rest_proxy_replica = m.get('KafkaRestProxyReplica') if m.get('KafkaStorage') is not None: self.kafka_storage = m.get('KafkaStorage') if m.get('KsqlCU') is not None: self.ksql_cu = m.get('KsqlCU') if m.get('KsqlReplica') is not None: self.ksql_replica = m.get('KsqlReplica') if m.get('KsqlStorage') is not None: self.ksql_storage = m.get('KsqlStorage') if m.get('SchemaRegistryCU') is not None: self.schema_registry_cu = m.get('SchemaRegistryCU') if m.get('SchemaRegistryReplica') is not None: self.schema_registry_replica = m.get('SchemaRegistryReplica') if m.get('ZooKeeperCU') is not None: self.zoo_keeper_cu = m.get('ZooKeeperCU') if m.get('ZooKeeperReplica') is not None: self.zoo_keeper_replica = m.get('ZooKeeperReplica') if m.get('ZooKeeperStorage') is not None: self.zoo_keeper_storage = m.get('ZooKeeperStorage') return self class UpgradePrePayOrderRequest(TeaModel): def __init__(self, confluent_config=None, disk_size=None, eip_max=None, eip_model=None, instance_id=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, spec_type=None, topic_quota=None): self.confluent_config = confluent_config # type: UpgradePrePayOrderRequestConfluentConfig # The size of the disk. # # * The disk size that you specify must be greater than or equal to the current disk size of the instance. # * For more information about the valid values, see [Billing overview](~~84737~~). self.disk_size = disk_size # type: int # The Internet traffic for the instance. # # * The Internet traffic volume that you specify must be greater than or equal to the current Internet traffic volume of the instance. # * For more information about the valid values, see [Billing overview](~~84737~~). # > - If the **EipModel** parameter is set to **true**, set the **EipMax** parameter to a value that is greater than 0. # > - If the **EipModel** parameter is set to **false**, set the **EipMax** parameter to **0**. self.eip_max = eip_max # type: int # Specifies whether to enable Internet access for the instance. Valid values: # # * true: enables Internet access. # * false: disables Internet access. self.eip_model = eip_model # type: bool # The ID of the instance. self.instance_id = instance_id # type: str # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * The maximum traffic volume that you specify must be greater than or equal to the current maximum traffic volume of the instance. # * You must configure at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you configure only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing overview](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * The traffic specification that you specify must be greater than or equal to the current traffic specification of the instance. # * You must configure at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you configure only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing overview](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing overview](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # You cannot downgrade an instance from the Professional Edition to the Standard Edition. For more information about these instance editions, see [Billing overview](~~84737~~). self.spec_type = spec_type # type: str # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing overview](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): if self.confluent_config: self.confluent_config.validate() def to_map(self): _map = super(UpgradePrePayOrderRequest, self).to_map() if _map is not None: return _map result = dict() if self.confluent_config is not None: result['ConfluentConfig'] = self.confluent_config.to_map() if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.eip_max is not None: result['EipMax'] = self.eip_max if self.eip_model is not None: result['EipModel'] = self.eip_model if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.spec_type is not None: result['SpecType'] = self.spec_type if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('ConfluentConfig') is not None: temp_model = UpgradePrePayOrderRequestConfluentConfig() self.confluent_config = temp_model.from_map(m['ConfluentConfig']) if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('EipModel') is not None: self.eip_model = m.get('EipModel') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class UpgradePrePayOrderShrinkRequest(TeaModel): def __init__(self, confluent_config_shrink=None, disk_size=None, eip_max=None, eip_model=None, instance_id=None, io_max=None, io_max_spec=None, paid_type=None, partition_num=None, region_id=None, spec_type=None, topic_quota=None): self.confluent_config_shrink = confluent_config_shrink # type: str # The size of the disk. # # * The disk size that you specify must be greater than or equal to the current disk size of the instance. # * For more information about the valid values, see [Billing overview](~~84737~~). self.disk_size = disk_size # type: int # The Internet traffic for the instance. # # * The Internet traffic volume that you specify must be greater than or equal to the current Internet traffic volume of the instance. # * For more information about the valid values, see [Billing overview](~~84737~~). # > - If the **EipModel** parameter is set to **true**, set the **EipMax** parameter to a value that is greater than 0. # > - If the **EipModel** parameter is set to **false**, set the **EipMax** parameter to **0**. self.eip_max = eip_max # type: int # Specifies whether to enable Internet access for the instance. Valid values: # # * true: enables Internet access. # * false: disables Internet access. self.eip_model = eip_model # type: bool # The ID of the instance. self.instance_id = instance_id # type: str # The maximum traffic for the instance. We recommend that you do not configure this parameter. # # * The maximum traffic volume that you specify must be greater than or equal to the current maximum traffic volume of the instance. # * You must configure at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you configure only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing overview](~~84737~~). self.io_max = io_max # type: int # The traffic specification of the instance. We recommend that you configure this parameter. # # * The traffic specification that you specify must be greater than or equal to the current traffic specification of the instance. # * You must configure at least one of the IoMax and IoMaxSpec parameters. If you configure both parameters, the value of the IoMaxSpec parameter takes effect. We recommend that you configure only the IoMaxSpec parameter. # * For more information about the valid values, see [Billing overview](~~84737~~). self.io_max_spec = io_max_spec # type: str self.paid_type = paid_type # type: int # The number of partitions. We recommend that you configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * For more information about the valid values, see [Billing overview](~~84737~~). self.partition_num = partition_num # type: int # The region ID of the instance. self.region_id = region_id # type: str # The edition of the instance. Valid values: # # * **normal**: Standard Edition (High Write) # * **professional**: Professional Edition (High Write) # * **professionalForHighRead**: Professional Edition (High Read) # # You cannot downgrade an instance from the Professional Edition to the Standard Edition. For more information about these instance editions, see [Billing overview](~~84737~~). self.spec_type = spec_type # type: str # The number of topics. We recommend that you do not configure this parameter. # # * You must specify at least one of the PartitionNum and TopicQuota parameters. We recommend that you configure only the PartitionNum parameter. # * If you specify both parameters, the topic-based sales model is used to check whether the PartitionNum value and the TopicQuota value are the same. If they are not the same, a failure response is returned. If they are the same, the order is placed based on the PartitionNum value. # * The default value of the TopicQuota parameter varies based on the value of the IoMaxSpec parameter. If the number of topics that you consume exceeds the default value, you are charged additional fees. # * For more information about the valid values, see [Billing overview](~~84737~~). self.topic_quota = topic_quota # type: int def validate(self): pass def to_map(self): _map = super(UpgradePrePayOrderShrinkRequest, self).to_map() if _map is not None: return _map result = dict() if self.confluent_config_shrink is not None: result['ConfluentConfig'] = self.confluent_config_shrink if self.disk_size is not None: result['DiskSize'] = self.disk_size if self.eip_max is not None: result['EipMax'] = self.eip_max if self.eip_model is not None: result['EipModel'] = self.eip_model if self.instance_id is not None: result['InstanceId'] = self.instance_id if self.io_max is not None: result['IoMax'] = self.io_max if self.io_max_spec is not None: result['IoMaxSpec'] = self.io_max_spec if self.paid_type is not None: result['PaidType'] = self.paid_type if self.partition_num is not None: result['PartitionNum'] = self.partition_num if self.region_id is not None: result['RegionId'] = self.region_id if self.spec_type is not None: result['SpecType'] = self.spec_type if self.topic_quota is not None: result['TopicQuota'] = self.topic_quota return result def from_map(self, m=None): m = m or dict() if m.get('ConfluentConfig') is not None: self.confluent_config_shrink = m.get('ConfluentConfig') if m.get('DiskSize') is not None: self.disk_size = m.get('DiskSize') if m.get('EipMax') is not None: self.eip_max = m.get('EipMax') if m.get('EipModel') is not None: self.eip_model = m.get('EipModel') if m.get('InstanceId') is not None: self.instance_id = m.get('InstanceId') if m.get('IoMax') is not None: self.io_max = m.get('IoMax') if m.get('IoMaxSpec') is not None: self.io_max_spec = m.get('IoMaxSpec') if m.get('PaidType') is not None: self.paid_type = m.get('PaidType') if m.get('PartitionNum') is not None: self.partition_num = m.get('PartitionNum') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('SpecType') is not None: self.spec_type = m.get('SpecType') if m.get('TopicQuota') is not None: self.topic_quota = m.get('TopicQuota') return self class UpgradePrePayOrderResponseBody(TeaModel): def __init__(self, code=None, message=None, request_id=None, success=None): # The HTTP status code returned. The HTTP status code 200 indicates that the request is successful. self.code = code # type: int # The error message returned. self.message = message # type: str # The ID of the request. self.request_id = request_id # type: str # Indicates whether the request is successful. self.success = success # type: bool def validate(self): pass def to_map(self): _map = super(UpgradePrePayOrderResponseBody, self).to_map() if _map is not None: return _map result = dict() if self.code is not None: result['Code'] = self.code if self.message is not None: result['Message'] = self.message if self.request_id is not None: result['RequestId'] = self.request_id if self.success is not None: result['Success'] = self.success return result def from_map(self, m=None): m = m or dict() if m.get('Code') is not None: self.code = m.get('Code') if m.get('Message') is not None: self.message = m.get('Message') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('Success') is not None: self.success = m.get('Success') return self class UpgradePrePayOrderResponse(TeaModel): def __init__(self, headers=None, status_code=None, body=None): self.headers = headers # type: dict[str, str] self.status_code = status_code # type: int self.body = body # type: UpgradePrePayOrderResponseBody def validate(self): if self.body: self.body.validate() def to_map(self): _map = super(UpgradePrePayOrderResponse, self).to_map() if _map is not None: return _map result = dict() if self.headers is not None: result['headers'] = self.headers if self.status_code is not None: result['statusCode'] = self.status_code if self.body is not None: result['body'] = self.body.to_map() return result def from_map(self, m=None): m = m or dict() if m.get('headers') is not None: self.headers = m.get('headers') if m.get('statusCode') is not None: self.status_code = m.get('statusCode') if m.get('body') is not None: temp_model = UpgradePrePayOrderResponseBody() self.body = temp_model.from_map(m['body']) return self