selectdb-20230522/alibabacloud_selectdb20230522/models.py (6,434 lines of code) (raw):

# -*- coding: utf-8 -*- # This file is auto-generated, don't edit it. Thanks. from Tea.model import TeaModel from typing import Dict, List class AllocateInstancePublicConnectionRequest(TeaModel): def __init__( self, connection_string_prefix: str = None, dbinstance_id: str = None, net_type: str = None, region_id: str = None, resource_owner_id: int = None, ): # The prefix of the endpoint. Set the parameter to the prefix of the value of **ConnectionString**. # # This parameter is required. self.connection_string_prefix = connection_string_prefix # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The network type of the endpoint to be applied for. Set the value to Public. # # This parameter is required. self.net_type = net_type # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.connection_string_prefix is not None: result['ConnectionStringPrefix'] = self.connection_string_prefix if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.net_type is not None: result['NetType'] = self.net_type if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ConnectionStringPrefix') is not None: self.connection_string_prefix = m.get('ConnectionStringPrefix') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('NetType') is not None: self.net_type = m.get('NetType') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class AllocateInstancePublicConnectionResponseBody(TeaModel): def __init__( self, instance_name: str = None, request_id: str = None, task_id: int = None, ): # The name of the instance. self.instance_name = instance_name # The request ID. self.request_id = request_id # The task ID. self.task_id = task_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.instance_name is not None: result['InstanceName'] = self.instance_name if self.request_id is not None: result['RequestId'] = self.request_id if self.task_id is not None: result['TaskId'] = self.task_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('InstanceName') is not None: self.instance_name = m.get('InstanceName') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('TaskId') is not None: self.task_id = m.get('TaskId') return self class AllocateInstancePublicConnectionResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: AllocateInstancePublicConnectionResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = AllocateInstancePublicConnectionResponseBody() self.body = temp_model.from_map(m['body']) return self class CheckCreateDBInstanceRequest(TeaModel): def __init__( self, cache_size: int = None, charge_type: str = None, client_token: str = None, connection_string: str = None, dbinstance_class: str = None, dbinstance_description: str = None, engine: str = None, engine_version: str = None, period: str = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, security_iplist: str = None, used_time: int = None, v_switch_id: str = None, vpc_id: str = None, zone_id: str = None, ): # This parameter is required. self.cache_size = cache_size # This parameter is required. self.charge_type = charge_type self.client_token = client_token self.connection_string = connection_string # The specifications of the instance. Valid values: # # * **selectdb.xlarge**: 4 CPU cores and 32 GB of memory. # * **selectdb.2xlarge**: 8 CPU cores and 64 GB of memory. # * **selectdb.4xlarge**: 16 CPU cores and 128 GB of memory. # * **selectdb.8xlarge**: 32 CPU cores and 256 GB of memory. # * **selectdb.16xlarge**: 64 CPU cores and 512 GB of memory. # * **selectdb.24xlarge**: 96 CPU cores and 768 GB of memory. # * **selectdb.32xlarge**: 128 CPU cores and 1,024 GB of memory. # # This parameter is required. self.dbinstance_class = dbinstance_class self.dbinstance_description = dbinstance_description # The database engine of the instance. self.engine = engine # The version of the database engine. # # This parameter is required. self.engine_version = engine_version self.period = period # This parameter is required. self.region_id = region_id self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id self.security_iplist = security_iplist # The subscription duration of the instance. Valid values: # # * If Period is set to Year, valid values of UsedTime are 1, 2, 3, 4, and 5. # * If Period is set to Month, valid values of UsedTime are 1 to 12. # # > This parameter takes effect and is required only if ChargeType is set to Prepaid. self.used_time = used_time # This parameter is required. self.v_switch_id = v_switch_id # VPC ID。 # # This parameter is required. self.vpc_id = vpc_id # This parameter is required. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.client_token is not None: result['ClientToken'] = self.client_token if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.dbinstance_class is not None: result['DBInstanceClass'] = self.dbinstance_class if self.dbinstance_description is not None: result['DBInstanceDescription'] = self.dbinstance_description if self.engine is not None: result['Engine'] = self.engine if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.period is not None: result['Period'] = self.period 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.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist if self.used_time is not None: result['UsedTime'] = self.used_time if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id 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: dict = None): m = m or dict() if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClientToken') is not None: self.client_token = m.get('ClientToken') if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('DBInstanceClass') is not None: self.dbinstance_class = m.get('DBInstanceClass') if m.get('DBInstanceDescription') is not None: self.dbinstance_description = m.get('DBInstanceDescription') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('Period') is not None: self.period = m.get('Period') 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('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') if m.get('UsedTime') is not None: self.used_time = m.get('UsedTime') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') 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 CheckCreateDBInstanceResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CheckCreateDBInstanceResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CheckCreateDBInstanceResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CheckCreateDBInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class CheckServiceLinkedRoleRequest(TeaModel): def __init__( self, owner_account: str = None, resource_owner_id: int = None, ): self.owner_account = owner_account self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.owner_account is not None: result['OwnerAccount'] = self.owner_account if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('OwnerAccount') is not None: self.owner_account = m.get('OwnerAccount') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class CheckServiceLinkedRoleResponseBody(TeaModel): def __init__( self, has_service_linked_role: bool = None, request_id: str = None, ): self.has_service_linked_role = has_service_linked_role self.request_id = request_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.has_service_linked_role is not None: result['HasServiceLinkedRole'] = self.has_service_linked_role if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('HasServiceLinkedRole') is not None: self.has_service_linked_role = m.get('HasServiceLinkedRole') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CheckServiceLinkedRoleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CheckServiceLinkedRoleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CheckServiceLinkedRoleResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateDBClusterRequest(TeaModel): def __init__( self, cache_size: str = None, charge_type: str = None, dbcluster_class: str = None, dbcluster_description: str = None, dbinstance_id: str = None, engine: str = None, engine_version: str = None, period: str = None, region_id: str = None, resource_owner_id: int = None, used_time: str = None, v_switch_id: str = None, vpc_id: str = None, zone_id: str = None, ): # This parameter is required. self.cache_size = cache_size # This parameter is required. self.charge_type = charge_type # This parameter is required. self.dbcluster_class = dbcluster_class # This parameter is required. self.dbcluster_description = dbcluster_description # 代表资源一级ID的资源属性字段 # # This parameter is required. self.dbinstance_id = dbinstance_id # The database engine of the instance. self.engine = engine # This parameter is required. self.engine_version = engine_version self.period = period # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id self.used_time = used_time # This parameter is required. self.v_switch_id = v_switch_id # VPC ID. # # This parameter is required. self.vpc_id = vpc_id # This parameter is required. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.dbcluster_class is not None: result['DBClusterClass'] = self.dbcluster_class if self.dbcluster_description is not None: result['DBClusterDescription'] = self.dbcluster_description if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.engine is not None: result['Engine'] = self.engine if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.period is not None: result['Period'] = self.period if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.used_time is not None: result['UsedTime'] = self.used_time if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id 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: dict = None): m = m or dict() if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('DBClusterClass') is not None: self.dbcluster_class = m.get('DBClusterClass') if m.get('DBClusterDescription') is not None: self.dbcluster_description = m.get('DBClusterDescription') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('Period') is not None: self.period = m.get('Period') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('UsedTime') is not None: self.used_time = m.get('UsedTime') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') 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 CreateDBClusterResponseBodyData(TeaModel): def __init__( self, cluster_id: str = None, dbinstance_id: str = None, order_id: int = None, ): self.cluster_id = cluster_id self.dbinstance_id = dbinstance_id self.order_id = order_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.order_id is not None: result['OrderId'] = self.order_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') return self class CreateDBClusterResponseBody(TeaModel): def __init__( self, data: CreateDBClusterResponseBodyData = None, request_id: str = None, ): self.data = data self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = CreateDBClusterResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateDBClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateDBClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CreateDBClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateDBClusterBindingRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbcluster_id_bak: str = None, dbinstance_id: str = None, region_id: str = None, ): # The cluster ID. # # This parameter is required. self.dbcluster_id = dbcluster_id # The cluster ID. # # This parameter is required. self.dbcluster_id_bak = dbcluster_id_bak # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID self.region_id = region_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbcluster_id_bak is not None: result['DBClusterIdBak'] = self.dbcluster_id_bak if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBClusterIdBak') is not None: self.dbcluster_id_bak = m.get('DBClusterIdBak') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class CreateDBClusterBindingResponseBodyData(TeaModel): def __init__( self, db_cluster_id: str = None, db_instance_id: str = None, db_instance_name: str = None, ): # The cluster ID. self.db_cluster_id = db_cluster_id # The numeric ID. self.db_instance_id = db_instance_id # The instance ID. self.db_instance_name = db_instance_name def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.db_cluster_id is not None: result['DbClusterId'] = self.db_cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.db_instance_name is not None: result['DbInstanceName'] = self.db_instance_name return result def from_map(self, m: dict = None): m = m or dict() if m.get('DbClusterId') is not None: self.db_cluster_id = m.get('DbClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('DbInstanceName') is not None: self.db_instance_name = m.get('DbInstanceName') return self class CreateDBClusterBindingResponseBody(TeaModel): def __init__( self, data: CreateDBClusterBindingResponseBodyData = None, request_id: str = None, ): # The data returned. self.data = data # Id of the request self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = CreateDBClusterBindingResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateDBClusterBindingResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateDBClusterBindingResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CreateDBClusterBindingResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateDBInstanceRequestMultiZone(TeaModel): def __init__( self, v_switch_ids: List[str] = None, zone_id: str = None, ): # The vSwitch IDs. self.v_switch_ids = v_switch_ids # The zone ID. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.v_switch_ids is not None: result['VSwitchIds'] = self.v_switch_ids if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('VSwitchIds') is not None: self.v_switch_ids = m.get('VSwitchIds') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class CreateDBInstanceRequestTag(TeaModel): def __init__( self, key: str = None, value: str = None, ): # The tag key. self.key = key # The tag value. self.value = value def validate(self): pass def to_map(self): _map = super().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: dict = 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 CreateDBInstanceRequest(TeaModel): def __init__( self, add_vpcips: str = None, cache_size: int = None, charge_type: str = None, client_token: str = None, connection_string: str = None, dbinstance_class: str = None, dbinstance_description: str = None, deploy_scheme: str = None, engine: str = None, engine_version: str = None, multi_zone: List[CreateDBInstanceRequestMultiZone] = None, period: str = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, security_iplist: str = None, tag: List[CreateDBInstanceRequestTag] = None, used_time: int = None, v_switch_id: str = None, vpc_id: str = None, zone_id: str = None, ): self.add_vpcips = add_vpcips # The reserved cache size. # # This parameter is required. self.cache_size = cache_size # The billing method of the instance. Valid values: # # * **Postpaid**: pay-as-you-go # * **Prepaid**: subscription # # This parameter is required. self.charge_type = charge_type # The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. self.client_token = client_token # The instance endpoint. self.connection_string = connection_string # The instance type. You can call the [DescribeAllDBInstanceClass](https://help.aliyun.com/document_detail/2853363.html) operation to query instance types. # # This parameter is required. self.dbinstance_class = dbinstance_class # The instance description. self.dbinstance_description = dbinstance_description # The deployment method of the instance. # # Valid values: # # * multi_az # * single_az self.deploy_scheme = deploy_scheme # The database engine of the instance. Default value: **selectdb**. self.engine = engine # The database engine version of the instance. Default value: **3.0**. # # This parameter is required. self.engine_version = engine_version # The configurations of multi-zone deployment. # # > # # * This parameter takes effect and is required only when DeployScheme is set to multi_az. self.multi_zone = multi_zone # The unit of the subscription duration of the cluster. Valid values: # # * **Year**: subscription on a yearly basis. # * **Month**: subscription on a monthly basis. # # > This parameter takes effect and is required only when **ChargeType** is set to **Prepaid**. self.period = period # The region ID. # # This parameter is required. self.region_id = region_id # The resource group ID. self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id # The IP addresses in the whitelist of the instance. Separate multiple IP addresses with commas (,). self.security_iplist = security_iplist # The instance tags. self.tag = tag # The subscription duration of the instance. Valid values: # # * If Period is set to Year, valid values of UsedTime are 1, 2, 3, 4, and 5. # * If Period is set to Month, valid values of UsedTime are 1 to 12. # # > This parameter takes effect and is required only when **ChargeType** is set to **Prepaid**. self.used_time = used_time # The vSwitch ID. # # This parameter is required. self.v_switch_id = v_switch_id # The virtual private cloud (VPC) ID. # # This parameter is required. self.vpc_id = vpc_id # The zone ID. # # This parameter is required. self.zone_id = zone_id def validate(self): if self.multi_zone: for k in self.multi_zone: if k: k.validate() if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.add_vpcips is not None: result['AddVPCIPs'] = self.add_vpcips if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.client_token is not None: result['ClientToken'] = self.client_token if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.dbinstance_class is not None: result['DBInstanceClass'] = self.dbinstance_class if self.dbinstance_description is not None: result['DBInstanceDescription'] = self.dbinstance_description if self.deploy_scheme is not None: result['DeployScheme'] = self.deploy_scheme if self.engine is not None: result['Engine'] = self.engine if self.engine_version is not None: result['EngineVersion'] = self.engine_version result['MultiZone'] = [] if self.multi_zone is not None: for k in self.multi_zone: result['MultiZone'].append(k.to_map() if k else None) if self.period is not None: result['Period'] = self.period 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.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist 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.used_time is not None: result['UsedTime'] = self.used_time if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id 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: dict = None): m = m or dict() if m.get('AddVPCIPs') is not None: self.add_vpcips = m.get('AddVPCIPs') if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClientToken') is not None: self.client_token = m.get('ClientToken') if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('DBInstanceClass') is not None: self.dbinstance_class = m.get('DBInstanceClass') if m.get('DBInstanceDescription') is not None: self.dbinstance_description = m.get('DBInstanceDescription') if m.get('DeployScheme') is not None: self.deploy_scheme = m.get('DeployScheme') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') self.multi_zone = [] if m.get('MultiZone') is not None: for k in m.get('MultiZone'): temp_model = CreateDBInstanceRequestMultiZone() self.multi_zone.append(temp_model.from_map(k)) if m.get('Period') is not None: self.period = m.get('Period') 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('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = CreateDBInstanceRequestTag() self.tag.append(temp_model.from_map(k)) if m.get('UsedTime') is not None: self.used_time = m.get('UsedTime') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') 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 CreateDBInstanceShrinkRequest(TeaModel): def __init__( self, add_vpcips: str = None, cache_size: int = None, charge_type: str = None, client_token: str = None, connection_string: str = None, dbinstance_class: str = None, dbinstance_description: str = None, deploy_scheme: str = None, engine: str = None, engine_version: str = None, multi_zone_shrink: str = None, period: str = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, security_iplist: str = None, tag_shrink: str = None, used_time: int = None, v_switch_id: str = None, vpc_id: str = None, zone_id: str = None, ): self.add_vpcips = add_vpcips # The reserved cache size. # # This parameter is required. self.cache_size = cache_size # The billing method of the instance. Valid values: # # * **Postpaid**: pay-as-you-go # * **Prepaid**: subscription # # This parameter is required. self.charge_type = charge_type # The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. self.client_token = client_token # The instance endpoint. self.connection_string = connection_string # The instance type. You can call the [DescribeAllDBInstanceClass](https://help.aliyun.com/document_detail/2853363.html) operation to query instance types. # # This parameter is required. self.dbinstance_class = dbinstance_class # The instance description. self.dbinstance_description = dbinstance_description # The deployment method of the instance. # # Valid values: # # * multi_az # * single_az self.deploy_scheme = deploy_scheme # The database engine of the instance. Default value: **selectdb**. self.engine = engine # The database engine version of the instance. Default value: **3.0**. # # This parameter is required. self.engine_version = engine_version # The configurations of multi-zone deployment. # # > # # * This parameter takes effect and is required only when DeployScheme is set to multi_az. self.multi_zone_shrink = multi_zone_shrink # The unit of the subscription duration of the cluster. Valid values: # # * **Year**: subscription on a yearly basis. # * **Month**: subscription on a monthly basis. # # > This parameter takes effect and is required only when **ChargeType** is set to **Prepaid**. self.period = period # The region ID. # # This parameter is required. self.region_id = region_id # The resource group ID. self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id # The IP addresses in the whitelist of the instance. Separate multiple IP addresses with commas (,). self.security_iplist = security_iplist # The instance tags. self.tag_shrink = tag_shrink # The subscription duration of the instance. Valid values: # # * If Period is set to Year, valid values of UsedTime are 1, 2, 3, 4, and 5. # * If Period is set to Month, valid values of UsedTime are 1 to 12. # # > This parameter takes effect and is required only when **ChargeType** is set to **Prepaid**. self.used_time = used_time # The vSwitch ID. # # This parameter is required. self.v_switch_id = v_switch_id # The virtual private cloud (VPC) ID. # # This parameter is required. self.vpc_id = vpc_id # The zone ID. # # This parameter is required. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.add_vpcips is not None: result['AddVPCIPs'] = self.add_vpcips if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.client_token is not None: result['ClientToken'] = self.client_token if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.dbinstance_class is not None: result['DBInstanceClass'] = self.dbinstance_class if self.dbinstance_description is not None: result['DBInstanceDescription'] = self.dbinstance_description if self.deploy_scheme is not None: result['DeployScheme'] = self.deploy_scheme if self.engine is not None: result['Engine'] = self.engine if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.multi_zone_shrink is not None: result['MultiZone'] = self.multi_zone_shrink if self.period is not None: result['Period'] = self.period 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.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist if self.tag_shrink is not None: result['Tag'] = self.tag_shrink if self.used_time is not None: result['UsedTime'] = self.used_time if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id 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: dict = None): m = m or dict() if m.get('AddVPCIPs') is not None: self.add_vpcips = m.get('AddVPCIPs') if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClientToken') is not None: self.client_token = m.get('ClientToken') if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('DBInstanceClass') is not None: self.dbinstance_class = m.get('DBInstanceClass') if m.get('DBInstanceDescription') is not None: self.dbinstance_description = m.get('DBInstanceDescription') if m.get('DeployScheme') is not None: self.deploy_scheme = m.get('DeployScheme') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('MultiZone') is not None: self.multi_zone_shrink = m.get('MultiZone') if m.get('Period') is not None: self.period = m.get('Period') 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('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') if m.get('Tag') is not None: self.tag_shrink = m.get('Tag') if m.get('UsedTime') is not None: self.used_time = m.get('UsedTime') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') 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 CreateDBInstanceResponseBodyData(TeaModel): def __init__( self, dbinstance_id: str = None, order_id: int = None, ): # The instance ID. self.dbinstance_id = dbinstance_id # The order ID. self.order_id = order_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.order_id is not None: result['OrderId'] = self.order_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') return self class CreateDBInstanceResponseBody(TeaModel): def __init__( self, data: CreateDBInstanceResponseBodyData = None, request_id: str = None, ): # The returned result. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = CreateDBInstanceResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateDBInstanceResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateDBInstanceResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CreateDBInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateElasticRuleRequest(TeaModel): def __init__( self, cluster_class: str = None, cluster_id: str = None, db_instance_id: str = None, elastic_rule_start_time: str = None, execution_period: str = None, region_id: str = None, resource_owner_id: int = None, ): # The rule for computing resources of the required cluster. # # This parameter is required. self.cluster_class = cluster_class # The cluster ID. # # This parameter is required. self.cluster_id = cluster_id # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The time when you want to execute the scheduled scaling rule. # # This parameter is required. self.elastic_rule_start_time = elastic_rule_start_time # The execution cycle. # # Valid value: # # * Day # # This parameter is required. self.execution_period = execution_period # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_class is not None: result['ClusterClass'] = self.cluster_class if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.elastic_rule_start_time is not None: result['ElasticRuleStartTime'] = self.elastic_rule_start_time if self.execution_period is not None: result['ExecutionPeriod'] = self.execution_period if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterClass') is not None: self.cluster_class = m.get('ClusterClass') if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ElasticRuleStartTime') is not None: self.elastic_rule_start_time = m.get('ElasticRuleStartTime') if m.get('ExecutionPeriod') is not None: self.execution_period = m.get('ExecutionPeriod') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class CreateElasticRuleResponseBodyData(TeaModel): def __init__( self, cluster_class: str = None, cluster_id: str = None, db_instance_id: str = None, elastic_rule_start_time: str = None, execution_period: str = None, rule_id: int = None, ): # The rule for computing resources of the required cluster. self.cluster_class = cluster_class # The cluster ID. self.cluster_id = cluster_id # The instance ID. self.db_instance_id = db_instance_id # The time when the scheduled scaling rule is executed. self.elastic_rule_start_time = elastic_rule_start_time # The execution cycle. # # Valid value: # # * Day self.execution_period = execution_period # The rule ID. self.rule_id = rule_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_class is not None: result['ClusterClass'] = self.cluster_class if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.elastic_rule_start_time is not None: result['ElasticRuleStartTime'] = self.elastic_rule_start_time if self.execution_period is not None: result['ExecutionPeriod'] = self.execution_period if self.rule_id is not None: result['RuleId'] = self.rule_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterClass') is not None: self.cluster_class = m.get('ClusterClass') if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ElasticRuleStartTime') is not None: self.elastic_rule_start_time = m.get('ElasticRuleStartTime') if m.get('ExecutionPeriod') is not None: self.execution_period = m.get('ExecutionPeriod') if m.get('RuleId') is not None: self.rule_id = m.get('RuleId') return self class CreateElasticRuleResponseBody(TeaModel): def __init__( self, data: CreateElasticRuleResponseBodyData = None, request_id: str = None, ): # The data returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = CreateElasticRuleResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateElasticRuleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateElasticRuleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CreateElasticRuleResponseBody() self.body = temp_model.from_map(m['body']) return self class CreateServiceLinkedRoleForSelectDBRequest(TeaModel): def __init__( self, owner_account: str = None, resource_owner_id: int = None, ): self.owner_account = owner_account self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.owner_account is not None: result['OwnerAccount'] = self.owner_account if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('OwnerAccount') is not None: self.owner_account = m.get('OwnerAccount') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class CreateServiceLinkedRoleForSelectDBResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class CreateServiceLinkedRoleForSelectDBResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: CreateServiceLinkedRoleForSelectDBResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = CreateServiceLinkedRoleForSelectDBResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteDBClusterRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, ): # This parameter is required. self.dbcluster_id = dbcluster_id # 代表资源一级ID的资源属性字段 # # This parameter is required. self.dbinstance_id = dbinstance_id # This parameter is required. self.region_id = region_id # 代表资源组的资源属性字段 self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_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.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') 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('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DeleteDBClusterResponseBodyData(TeaModel): def __init__( self, dbinstance_id: str = None, order_id: str = None, ): self.dbinstance_id = dbinstance_id self.order_id = order_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.order_id is not None: result['OrderId'] = self.order_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') return self class DeleteDBClusterResponseBody(TeaModel): def __init__( self, data: DeleteDBClusterResponseBodyData = None, request_id: str = None, ): self.data = data self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = DeleteDBClusterResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteDBClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DeleteDBClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DeleteDBClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteDBClusterBindingRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbcluster_id_bak: str = None, dbinstance_id: str = None, region_id: str = None, ): # The ID of Cluster 1. # # This parameter is required. self.dbcluster_id = dbcluster_id # The ID of Cluster 2. # # This parameter is required. self.dbcluster_id_bak = dbcluster_id_bak # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID. self.region_id = region_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbcluster_id_bak is not None: result['DBClusterIdBak'] = self.dbcluster_id_bak if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBClusterIdBak') is not None: self.dbcluster_id_bak = m.get('DBClusterIdBak') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class DeleteDBClusterBindingResponseBody(TeaModel): def __init__( self, request_id: str = None, ): # Id of the request self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteDBClusterBindingResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DeleteDBClusterBindingResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DeleteDBClusterBindingResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteDBInstanceRequest(TeaModel): def __init__( self, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # This parameter is required. self.dbinstance_id = dbinstance_id # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DeleteDBInstanceResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DeleteDBInstanceResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DeleteDBInstanceResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DeleteDBInstanceResponseBody() self.body = temp_model.from_map(m['body']) return self class DeleteElasticRuleRequest(TeaModel): def __init__( self, cluster_id: str = None, db_instance_id: str = None, product: str = None, region_id: str = None, resource_owner_id: int = None, rule_id: int = None, ): # The cluster ID. # # This parameter is required. self.cluster_id = cluster_id # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The cloud service. self.product = product # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The rule ID. # # This parameter is required. self.rule_id = rule_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.product is not None: result['Product'] = self.product if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.rule_id is not None: result['RuleId'] = self.rule_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('Product') is not None: self.product = m.get('Product') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('RuleId') is not None: self.rule_id = m.get('RuleId') return self class DeleteElasticRuleResponseBody(TeaModel): def __init__( self, request_id: str = None, success: bool = None, ): # The request ID. self.request_id = request_id # Indicates whether the deletion is successful. # # Valid values: # # * true # * false self.success = success def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() 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: dict = None): m = m or dict() 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 DeleteElasticRuleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DeleteElasticRuleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DeleteElasticRuleResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeAllDBInstanceClassRequest(TeaModel): def __init__( self, region_id: str = None, resource_owner_id: int = None, ): # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DescribeAllDBInstanceClassResponseBodyClassCodeList(TeaModel): def __init__( self, class_code: str = None, cpu_cores: int = None, default_storage_in_gb: int = None, max_storage_in_gb: int = None, memory_in_gb: int = None, min_storage_in_gb: int = None, step_storage_in_gb: int = None, ): self.class_code = class_code self.cpu_cores = cpu_cores self.default_storage_in_gb = default_storage_in_gb self.max_storage_in_gb = max_storage_in_gb # The memory size. self.memory_in_gb = memory_in_gb self.min_storage_in_gb = min_storage_in_gb self.step_storage_in_gb = step_storage_in_gb def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.class_code is not None: result['ClassCode'] = self.class_code if self.cpu_cores is not None: result['CpuCores'] = self.cpu_cores if self.default_storage_in_gb is not None: result['DefaultStorageInGB'] = self.default_storage_in_gb if self.max_storage_in_gb is not None: result['MaxStorageInGB'] = self.max_storage_in_gb if self.memory_in_gb is not None: result['MemoryInGB'] = self.memory_in_gb if self.min_storage_in_gb is not None: result['MinStorageInGB'] = self.min_storage_in_gb if self.step_storage_in_gb is not None: result['StepStorageInGB'] = self.step_storage_in_gb return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClassCode') is not None: self.class_code = m.get('ClassCode') if m.get('CpuCores') is not None: self.cpu_cores = m.get('CpuCores') if m.get('DefaultStorageInGB') is not None: self.default_storage_in_gb = m.get('DefaultStorageInGB') if m.get('MaxStorageInGB') is not None: self.max_storage_in_gb = m.get('MaxStorageInGB') if m.get('MemoryInGB') is not None: self.memory_in_gb = m.get('MemoryInGB') if m.get('MinStorageInGB') is not None: self.min_storage_in_gb = m.get('MinStorageInGB') if m.get('StepStorageInGB') is not None: self.step_storage_in_gb = m.get('StepStorageInGB') return self class DescribeAllDBInstanceClassResponseBody(TeaModel): def __init__( self, class_code_list: List[DescribeAllDBInstanceClassResponseBodyClassCodeList] = None, request_id: str = None, ): # The instance specifications. self.class_code_list = class_code_list self.request_id = request_id def validate(self): if self.class_code_list: for k in self.class_code_list: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() result['ClassCodeList'] = [] if self.class_code_list is not None: for k in self.class_code_list: result['ClassCodeList'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() self.class_code_list = [] if m.get('ClassCodeList') is not None: for k in m.get('ClassCodeList'): temp_model = DescribeAllDBInstanceClassResponseBodyClassCodeList() self.class_code_list.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeAllDBInstanceClassResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeAllDBInstanceClassResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeAllDBInstanceClassResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeDBClusterConfigRequest(TeaModel): def __init__( self, config_key: str = None, dbcluster_id: str = None, dbinstance_id: str = None, region_id: str = None, ): # The configuration file to be modified. # # * For a compute cluster, set the value to be.conf. # * For a frontend (FE) cluster, set the value to fe.conf. # # This parameter is required. self.config_key = config_key # The cluster ID. # # This parameter is required. self.dbcluster_id = dbcluster_id # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID. self.region_id = region_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.config_key is not None: result['ConfigKey'] = self.config_key if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ConfigKey') is not None: self.config_key = m.get('ConfigKey') if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') return self class DescribeDBClusterConfigResponseBodyDataParams(TeaModel): def __init__( self, comment: str = None, default_value: str = None, is_dynamic: int = None, is_user_modifiable: int = None, name: str = None, optional: str = None, param_category: str = None, value: str = None, ): # The comments on the parameter. self.comment = comment # The default value of the parameter. self.default_value = default_value # Indicates whether the parameter immediately takes effect without requiring a restart. self.is_dynamic = is_dynamic # Indicates whether the parameter is modifiable. self.is_user_modifiable = is_user_modifiable # The name of the parameter. self.name = name # The value range of the parameter. self.optional = optional # The category of the parameter. self.param_category = param_category # The current value of the parameter. self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.comment is not None: result['Comment'] = self.comment if self.default_value is not None: result['DefaultValue'] = self.default_value if self.is_dynamic is not None: result['IsDynamic'] = self.is_dynamic if self.is_user_modifiable is not None: result['IsUserModifiable'] = self.is_user_modifiable if self.name is not None: result['Name'] = self.name if self.optional is not None: result['Optional'] = self.optional if self.param_category is not None: result['ParamCategory'] = self.param_category if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('Comment') is not None: self.comment = m.get('Comment') if m.get('DefaultValue') is not None: self.default_value = m.get('DefaultValue') if m.get('IsDynamic') is not None: self.is_dynamic = m.get('IsDynamic') if m.get('IsUserModifiable') is not None: self.is_user_modifiable = m.get('IsUserModifiable') if m.get('Name') is not None: self.name = m.get('Name') if m.get('Optional') is not None: self.optional = m.get('Optional') if m.get('ParamCategory') is not None: self.param_category = m.get('ParamCategory') if m.get('Value') is not None: self.value = m.get('Value') return self class DescribeDBClusterConfigResponseBodyData(TeaModel): def __init__( self, db_cluster_id: str = None, db_instance_id: str = None, db_instance_name: str = None, params: List[DescribeDBClusterConfigResponseBodyDataParams] = None, task_id: int = None, ): # The cluster ID. self.db_cluster_id = db_cluster_id # The numeric ID of the instance. self.db_instance_id = db_instance_id # The instance ID. self.db_instance_name = db_instance_name # The details about each parameter returned. self.params = params # The task ID. self.task_id = task_id def validate(self): if self.params: for k in self.params: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.db_cluster_id is not None: result['DbClusterId'] = self.db_cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.db_instance_name is not None: result['DbInstanceName'] = self.db_instance_name result['Params'] = [] if self.params is not None: for k in self.params: result['Params'].append(k.to_map() if k else None) if self.task_id is not None: result['TaskId'] = self.task_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DbClusterId') is not None: self.db_cluster_id = m.get('DbClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('DbInstanceName') is not None: self.db_instance_name = m.get('DbInstanceName') self.params = [] if m.get('Params') is not None: for k in m.get('Params'): temp_model = DescribeDBClusterConfigResponseBodyDataParams() self.params.append(temp_model.from_map(k)) if m.get('TaskId') is not None: self.task_id = m.get('TaskId') return self class DescribeDBClusterConfigResponseBody(TeaModel): def __init__( self, access_denied_detail: str = None, data: DescribeDBClusterConfigResponseBodyData = None, dynamic_code: str = None, dynamic_message: str = None, request_id: str = None, ): # The details about the access denial. This parameter is returned only if Resource Access Management (RAM) authentication failed. self.access_denied_detail = access_denied_detail # The information returned. self.data = data # The dynamic code. This parameter is not returned. self.dynamic_code = dynamic_code # The dynamic message. This parameter is not returned. self.dynamic_message = dynamic_message # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.access_denied_detail is not None: result['AccessDeniedDetail'] = self.access_denied_detail if self.data is not None: result['Data'] = self.data.to_map() if self.dynamic_code is not None: result['DynamicCode'] = self.dynamic_code if self.dynamic_message is not None: result['DynamicMessage'] = self.dynamic_message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AccessDeniedDetail') is not None: self.access_denied_detail = m.get('AccessDeniedDetail') if m.get('Data') is not None: temp_model = DescribeDBClusterConfigResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('DynamicCode') is not None: self.dynamic_code = m.get('DynamicCode') if m.get('DynamicMessage') is not None: self.dynamic_message = m.get('DynamicMessage') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeDBClusterConfigResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeDBClusterConfigResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeDBClusterConfigResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeDBClusterConfigChangeLogsRequest(TeaModel): def __init__( self, config_key: str = None, dbcluster_id: str = None, dbinstance_id: str = None, end_time: str = None, region_id: str = None, start_time: str = None, ): # The configuration file that you want to modify. For a compute cluster, set the value to be.conf. For a frontend (FE) cluster, set the value to fe.conf. self.config_key = config_key # The cluster ID. # # This parameter is required. self.dbcluster_id = dbcluster_id # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The end of the time range to query. Format: yyyy-MM-dd HH:mm:ss. # # This parameter is required. self.end_time = end_time # This parameter is required. self.region_id = region_id # The beginning of the time range to query. Format: yyyy-MM-dd HH:mm:ss. # # This parameter is required. self.start_time = start_time def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.config_key is not None: result['ConfigKey'] = self.config_key if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.end_time is not None: result['EndTime'] = self.end_time if self.region_id is not None: result['RegionId'] = self.region_id if self.start_time is not None: result['StartTime'] = self.start_time return result def from_map(self, m: dict = None): m = m or dict() if m.get('ConfigKey') is not None: self.config_key = m.get('ConfigKey') if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('EndTime') is not None: self.end_time = m.get('EndTime') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') return self class DescribeDBClusterConfigChangeLogsResponseBodyDataParamChangeLogs(TeaModel): def __init__( self, gmt_created: str = None, gmt_modified: str = None, id: int = None, is_applied: bool = None, name: str = None, new_value: str = None, old_value: str = None, ): self.gmt_created = gmt_created self.gmt_modified = gmt_modified # The ID of the change log. self.id = id # Indicates whether the modification has taken effect. self.is_applied = is_applied # The parameter name. self.name = name self.new_value = new_value self.old_value = old_value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.gmt_created is not None: result['GmtCreated'] = self.gmt_created if self.gmt_modified is not None: result['GmtModified'] = self.gmt_modified if self.id is not None: result['Id'] = self.id if self.is_applied is not None: result['IsApplied'] = self.is_applied if self.name is not None: result['Name'] = self.name if self.new_value is not None: result['NewValue'] = self.new_value if self.old_value is not None: result['OldValue'] = self.old_value return result def from_map(self, m: dict = None): m = m or dict() if m.get('GmtCreated') is not None: self.gmt_created = m.get('GmtCreated') if m.get('GmtModified') is not None: self.gmt_modified = m.get('GmtModified') if m.get('Id') is not None: self.id = m.get('Id') if m.get('IsApplied') is not None: self.is_applied = m.get('IsApplied') if m.get('Name') is not None: self.name = m.get('Name') if m.get('NewValue') is not None: self.new_value = m.get('NewValue') if m.get('OldValue') is not None: self.old_value = m.get('OldValue') return self class DescribeDBClusterConfigChangeLogsResponseBodyData(TeaModel): def __init__( self, db_cluster_id: str = None, db_instance_id: str = None, db_instance_name: str = None, param_change_logs: List[DescribeDBClusterConfigChangeLogsResponseBodyDataParamChangeLogs] = None, task_id: int = None, ): # The cluster ID. self.db_cluster_id = db_cluster_id self.db_instance_id = db_instance_id # The instance ID. self.db_instance_name = db_instance_name # The parameter change logs. self.param_change_logs = param_change_logs # The task ID. self.task_id = task_id def validate(self): if self.param_change_logs: for k in self.param_change_logs: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.db_cluster_id is not None: result['DbClusterId'] = self.db_cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.db_instance_name is not None: result['DbInstanceName'] = self.db_instance_name result['ParamChangeLogs'] = [] if self.param_change_logs is not None: for k in self.param_change_logs: result['ParamChangeLogs'].append(k.to_map() if k else None) if self.task_id is not None: result['TaskId'] = self.task_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DbClusterId') is not None: self.db_cluster_id = m.get('DbClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('DbInstanceName') is not None: self.db_instance_name = m.get('DbInstanceName') self.param_change_logs = [] if m.get('ParamChangeLogs') is not None: for k in m.get('ParamChangeLogs'): temp_model = DescribeDBClusterConfigChangeLogsResponseBodyDataParamChangeLogs() self.param_change_logs.append(temp_model.from_map(k)) if m.get('TaskId') is not None: self.task_id = m.get('TaskId') return self class DescribeDBClusterConfigChangeLogsResponseBody(TeaModel): def __init__( self, access_denied_detail: str = None, data: DescribeDBClusterConfigChangeLogsResponseBodyData = None, dynamic_code: str = None, dynamic_message: str = None, request_id: str = None, ): self.access_denied_detail = access_denied_detail # The information returned. self.data = data # The dynamic code. This parameter is not returned. self.dynamic_code = dynamic_code # The dynamic message. This parameter is not returned. self.dynamic_message = dynamic_message self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.access_denied_detail is not None: result['AccessDeniedDetail'] = self.access_denied_detail if self.data is not None: result['Data'] = self.data.to_map() if self.dynamic_code is not None: result['DynamicCode'] = self.dynamic_code if self.dynamic_message is not None: result['DynamicMessage'] = self.dynamic_message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AccessDeniedDetail') is not None: self.access_denied_detail = m.get('AccessDeniedDetail') if m.get('Data') is not None: temp_model = DescribeDBClusterConfigChangeLogsResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('DynamicCode') is not None: self.dynamic_code = m.get('DynamicCode') if m.get('DynamicMessage') is not None: self.dynamic_message = m.get('DynamicMessage') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeDBClusterConfigChangeLogsResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeDBClusterConfigChangeLogsResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeDBClusterConfigChangeLogsResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeDBInstanceAttributeRequest(TeaModel): def __init__( self, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DescribeDBInstanceAttributeResponseBodyDBClusterList(TeaModel): def __init__( self, cache_storage_size_gb: str = None, cache_storage_type: str = None, charge_type: str = None, cluster_binding: str = None, cpu_cores: int = None, created_time: str = None, db_cluster_class: str = None, db_cluster_id: str = None, db_cluster_name: str = None, db_instance_name: str = None, memory: int = None, modified_time: str = None, performance_level: str = None, scaling_rules_enable: bool = None, start_time: str = None, status: str = None, sub_domain: str = None, v_switch_id: str = None, zone_id: str = None, ): # The cache size. Unit: GB. self.cache_storage_size_gb = cache_storage_size_gb # The cache type. self.cache_storage_type = cache_storage_type # The billing method of the cluster. Valid values: # # * **Postpaid**: pay-as-you-go. # * **Prepaid**: subscription. self.charge_type = charge_type self.cluster_binding = cluster_binding # The number of CPU cores. self.cpu_cores = cpu_cores # The time when the cluster was created. self.created_time = created_time # The specifications of the cluster. Valid values: # # * **selectdb.xlarge**: 4 CPU cores and 32 GB of memory. # * **selectdb.2xlarge**: 8 CPU cores and 64 GB of memory. # * **selectdb.4xlarge**: 16 CPU cores and 128 GB of memory. # * **selectdb.8xlarge**: 32 CPU cores and 256 GB of memory. # * **selectdb.16xlarge**: 64 CPU cores and 512 GB of memory. # * **selectdb.24xlarge**: 96 CPU cores and 768 GB of memory. # * **selectdb.32xlarge**: 128 CPU cores and 1,024 GB of memory. self.db_cluster_class = db_cluster_class # The ID of the cluster. self.db_cluster_id = db_cluster_id # The name of the cluster. self.db_cluster_name = db_cluster_name # The instance name. self.db_instance_name = db_instance_name # The memory size. self.memory = memory # The modified time. self.modified_time = modified_time # The performance level. self.performance_level = performance_level self.scaling_rules_enable = scaling_rules_enable # The time when the cluster started. self.start_time = start_time # The state of the cluster. Valid values: # # * **CREATING**: The cluster is being created. # * **ACTIVATION**: The cluster is running. # * **RESOURCE_CHANGING**: The resource configuration of the cluster is being changed. # * **ORDER_PREPARING**: The order is being confirmed. # * **READONLY_RESOURCE_CHANGING**: The resource configuration of the cluster is being changed and the cluster is write-locked. # * **DELETING**: The cluster is being deleted. self.status = status self.sub_domain = sub_domain self.v_switch_id = v_switch_id self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_storage_size_gb is not None: result['CacheStorageSizeGB'] = self.cache_storage_size_gb if self.cache_storage_type is not None: result['CacheStorageType'] = self.cache_storage_type if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.cluster_binding is not None: result['ClusterBinding'] = self.cluster_binding if self.cpu_cores is not None: result['CpuCores'] = self.cpu_cores if self.created_time is not None: result['CreatedTime'] = self.created_time if self.db_cluster_class is not None: result['DbClusterClass'] = self.db_cluster_class if self.db_cluster_id is not None: result['DbClusterId'] = self.db_cluster_id if self.db_cluster_name is not None: result['DbClusterName'] = self.db_cluster_name if self.db_instance_name is not None: result['DbInstanceName'] = self.db_instance_name if self.memory is not None: result['Memory'] = self.memory if self.modified_time is not None: result['ModifiedTime'] = self.modified_time if self.performance_level is not None: result['PerformanceLevel'] = self.performance_level if self.scaling_rules_enable is not None: result['ScalingRulesEnable'] = self.scaling_rules_enable if self.start_time is not None: result['StartTime'] = self.start_time if self.status is not None: result['Status'] = self.status if self.sub_domain is not None: result['SubDomain'] = self.sub_domain if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('CacheStorageSizeGB') is not None: self.cache_storage_size_gb = m.get('CacheStorageSizeGB') if m.get('CacheStorageType') is not None: self.cache_storage_type = m.get('CacheStorageType') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClusterBinding') is not None: self.cluster_binding = m.get('ClusterBinding') if m.get('CpuCores') is not None: self.cpu_cores = m.get('CpuCores') if m.get('CreatedTime') is not None: self.created_time = m.get('CreatedTime') if m.get('DbClusterClass') is not None: self.db_cluster_class = m.get('DbClusterClass') if m.get('DbClusterId') is not None: self.db_cluster_id = m.get('DbClusterId') if m.get('DbClusterName') is not None: self.db_cluster_name = m.get('DbClusterName') if m.get('DbInstanceName') is not None: self.db_instance_name = m.get('DbInstanceName') if m.get('Memory') is not None: self.memory = m.get('Memory') if m.get('ModifiedTime') is not None: self.modified_time = m.get('ModifiedTime') if m.get('PerformanceLevel') is not None: self.performance_level = m.get('PerformanceLevel') if m.get('ScalingRulesEnable') is not None: self.scaling_rules_enable = m.get('ScalingRulesEnable') if m.get('StartTime') is not None: self.start_time = m.get('StartTime') if m.get('Status') is not None: self.status = m.get('Status') if m.get('SubDomain') is not None: self.sub_domain = m.get('SubDomain') if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class DescribeDBInstanceAttributeResponseBodyMultiZone(TeaModel): def __init__( self, available_ip_count: int = None, cidr: str = None, v_switch_ids: List[str] = None, zone_id: str = None, ): self.available_ip_count = available_ip_count self.cidr = cidr self.v_switch_ids = v_switch_ids self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.available_ip_count is not None: result['AvailableIpCount'] = self.available_ip_count if self.cidr is not None: result['Cidr'] = self.cidr if self.v_switch_ids is not None: result['VSwitchIds'] = self.v_switch_ids if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AvailableIpCount') is not None: self.available_ip_count = m.get('AvailableIpCount') if m.get('Cidr') is not None: self.cidr = m.get('Cidr') if m.get('VSwitchIds') is not None: self.v_switch_ids = m.get('VSwitchIds') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class DescribeDBInstanceAttributeResponseBodyTags(TeaModel): def __init__( self, tag_key: str = None, tag_value: str = None, ): # The tag key. self.tag_key = tag_key # The tag value. self.tag_value = tag_value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() 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: dict = None): m = m or dict() 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 DescribeDBInstanceAttributeResponseBody(TeaModel): def __init__( self, can_upgrade_versions: List[str] = None, charge_type: str = None, create_time: str = None, dbcluster_list: List[DescribeDBInstanceAttributeResponseBodyDBClusterList] = None, dbinstance_id: str = None, deploy_scheme: str = None, description: str = None, engine: str = None, engine_minor_version: str = None, engine_version: str = None, expire_time: str = None, gmt_modified: str = None, lock_mode: int = None, lock_reason: str = None, maintain_endtime: str = None, maintain_starttime: str = None, multi_zone: List[DescribeDBInstanceAttributeResponseBodyMultiZone] = None, object_store_size: int = None, region_id: str = None, request_id: str = None, resource_cpu: int = None, resource_group_id: str = None, status: str = None, storage_size: int = None, sub_domain: str = None, tags: List[DescribeDBInstanceAttributeResponseBodyTags] = None, v_switch_id: str = None, vpc_id: str = None, zone_id: str = None, ): # The information returned. self.can_upgrade_versions = can_upgrade_versions # The billing method of the instance. Valid values: # # * **Postpaid**: pay-as-you-go. # * **Prepaid**: subscription. self.charge_type = charge_type # The time when the instance was created. self.create_time = create_time # The information about each cluster returned. self.dbcluster_list = dbcluster_list # The instance ID. self.dbinstance_id = dbinstance_id self.deploy_scheme = deploy_scheme # The description of the instance. self.description = description # The database engine of the instance. self.engine = engine # The minor kernel version number of the instance. self.engine_minor_version = engine_minor_version # The database engine version of the instance. self.engine_version = engine_version # The time when the instance expires. self.expire_time = expire_time # The time when the instance was last modified, such as when you restarted the instance or applied for a public endpoint for the instance. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time must be in UTC. self.gmt_modified = gmt_modified # The lock mode of the instance. Set the value to **lock**, which specifies that the instance is locked when it automatically expires or has an overdue payment. self.lock_mode = lock_mode # The reason why the instance is locked. self.lock_reason = lock_reason # The end time of the instance maintenance window. self.maintain_endtime = maintain_endtime # The start time of the instance maintenance window. self.maintain_starttime = maintain_starttime self.multi_zone = multi_zone # The storage capacity of the instance. self.object_store_size = object_store_size # The Region ID. self.region_id = region_id # The request ID. self.request_id = request_id # The number of CPU cores of the instance. self.resource_cpu = resource_cpu # The ID of the resource group to which the instance belongs. self.resource_group_id = resource_group_id # The state of the instance. Valid values: # # * **CREATING**: The instance is being created. # * **ACTIVATION**: The instance is running. # * **RESOURCE_CHANGING**: The resource configuration of the instance is being changed. # * **ORDER_PREPARING**: The order is being confirmed. # * **READONLY_RESOURCE_CHANGING**: The resource configuration of the instance is being changed and the instance is write-locked. # * **DELETING**: The instance is being deleted. self.status = status # The cache size. self.storage_size = storage_size # The subdomain zone ID. self.sub_domain = sub_domain # The tags that are added to the instances. Each tag is a key-value pair that consists of two parts: TagKey and TagValue. Format: `{"key1":"value1"}`. self.tags = tags self.v_switch_id = v_switch_id # The VPC ID. self.vpc_id = vpc_id # The Zone ID. self.zone_id = zone_id def validate(self): if self.dbcluster_list: for k in self.dbcluster_list: if k: k.validate() if self.multi_zone: for k in self.multi_zone: if k: k.validate() if self.tags: for k in self.tags: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.can_upgrade_versions is not None: result['CanUpgradeVersions'] = self.can_upgrade_versions if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.create_time is not None: result['CreateTime'] = self.create_time result['DBClusterList'] = [] if self.dbcluster_list is not None: for k in self.dbcluster_list: result['DBClusterList'].append(k.to_map() if k else None) if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.deploy_scheme is not None: result['DeployScheme'] = self.deploy_scheme if self.description is not None: result['Description'] = self.description if self.engine is not None: result['Engine'] = self.engine if self.engine_minor_version is not None: result['EngineMinorVersion'] = self.engine_minor_version if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.expire_time is not None: result['ExpireTime'] = self.expire_time if self.gmt_modified is not None: result['GmtModified'] = self.gmt_modified if self.lock_mode is not None: result['LockMode'] = self.lock_mode if self.lock_reason is not None: result['LockReason'] = self.lock_reason if self.maintain_endtime is not None: result['MaintainEndtime'] = self.maintain_endtime if self.maintain_starttime is not None: result['MaintainStarttime'] = self.maintain_starttime result['MultiZone'] = [] if self.multi_zone is not None: for k in self.multi_zone: result['MultiZone'].append(k.to_map() if k else None) if self.object_store_size is not None: result['ObjectStoreSize'] = self.object_store_size if self.region_id is not None: result['RegionId'] = self.region_id if self.request_id is not None: result['RequestId'] = self.request_id if self.resource_cpu is not None: result['ResourceCpu'] = self.resource_cpu if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.status is not None: result['Status'] = self.status if self.storage_size is not None: result['StorageSize'] = self.storage_size if self.sub_domain is not None: result['SubDomain'] = self.sub_domain result['Tags'] = [] if self.tags is not None: for k in self.tags: result['Tags'].append(k.to_map() if k else None) if self.v_switch_id is not None: result['VSwitchId'] = self.v_switch_id 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: dict = None): m = m or dict() if m.get('CanUpgradeVersions') is not None: self.can_upgrade_versions = m.get('CanUpgradeVersions') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('CreateTime') is not None: self.create_time = m.get('CreateTime') self.dbcluster_list = [] if m.get('DBClusterList') is not None: for k in m.get('DBClusterList'): temp_model = DescribeDBInstanceAttributeResponseBodyDBClusterList() self.dbcluster_list.append(temp_model.from_map(k)) if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('DeployScheme') is not None: self.deploy_scheme = m.get('DeployScheme') if m.get('Description') is not None: self.description = m.get('Description') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineMinorVersion') is not None: self.engine_minor_version = m.get('EngineMinorVersion') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('ExpireTime') is not None: self.expire_time = m.get('ExpireTime') if m.get('GmtModified') is not None: self.gmt_modified = m.get('GmtModified') if m.get('LockMode') is not None: self.lock_mode = m.get('LockMode') if m.get('LockReason') is not None: self.lock_reason = m.get('LockReason') if m.get('MaintainEndtime') is not None: self.maintain_endtime = m.get('MaintainEndtime') if m.get('MaintainStarttime') is not None: self.maintain_starttime = m.get('MaintainStarttime') self.multi_zone = [] if m.get('MultiZone') is not None: for k in m.get('MultiZone'): temp_model = DescribeDBInstanceAttributeResponseBodyMultiZone() self.multi_zone.append(temp_model.from_map(k)) if m.get('ObjectStoreSize') is not None: self.object_store_size = m.get('ObjectStoreSize') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('ResourceCpu') is not None: self.resource_cpu = m.get('ResourceCpu') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('Status') is not None: self.status = m.get('Status') if m.get('StorageSize') is not None: self.storage_size = m.get('StorageSize') if m.get('SubDomain') is not None: self.sub_domain = m.get('SubDomain') self.tags = [] if m.get('Tags') is not None: for k in m.get('Tags'): temp_model = DescribeDBInstanceAttributeResponseBodyTags() self.tags.append(temp_model.from_map(k)) if m.get('VSwitchId') is not None: self.v_switch_id = m.get('VSwitchId') 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 DescribeDBInstanceAttributeResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeDBInstanceAttributeResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeDBInstanceAttributeResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeDBInstanceNetInfoRequest(TeaModel): def __init__( self, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfosPortList(TeaModel): def __init__( self, port: int = None, protocol: str = None, ): # The port that is used to connect to the BE cluster. self.port = port # The protocol of the port. self.protocol = protocol def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.port is not None: result['Port'] = self.port if self.protocol is not None: result['Protocol'] = self.protocol return result def from_map(self, m: dict = None): m = m or dict() if m.get('Port') is not None: self.port = m.get('Port') if m.get('Protocol') is not None: self.protocol = m.get('Protocol') return self class DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfos(TeaModel): def __init__( self, cluster_id: str = None, connection_string: str = None, ip: str = None, net_type: str = None, port_list: List[DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfosPortList] = None, user_visible: bool = None, vpc_id: str = None, vpc_instance_id: str = None, vswitch_id: str = None, ): # The cluster ID. self.cluster_id = cluster_id # The connection string of the BE cluster. self.connection_string = connection_string # The IP address of the BE cluster. self.ip = ip # The network type of the BE cluster. self.net_type = net_type self.port_list = port_list # Indicates whether the network information is visible to users. self.user_visible = user_visible # VPC ID self.vpc_id = vpc_id # The VPC ID. self.vpc_instance_id = vpc_instance_id # The vSwitch ID. self.vswitch_id = vswitch_id def validate(self): if self.port_list: for k in self.port_list: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.ip is not None: result['Ip'] = self.ip if self.net_type is not None: result['NetType'] = self.net_type result['PortList'] = [] if self.port_list is not None: for k in self.port_list: result['PortList'].append(k.to_map() if k else None) if self.user_visible is not None: result['UserVisible'] = self.user_visible if self.vpc_id is not None: result['VpcId'] = self.vpc_id if self.vpc_instance_id is not None: result['VpcInstanceId'] = self.vpc_instance_id if self.vswitch_id is not None: result['VswitchId'] = self.vswitch_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('Ip') is not None: self.ip = m.get('Ip') if m.get('NetType') is not None: self.net_type = m.get('NetType') self.port_list = [] if m.get('PortList') is not None: for k in m.get('PortList'): temp_model = DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfosPortList() self.port_list.append(temp_model.from_map(k)) if m.get('UserVisible') is not None: self.user_visible = m.get('UserVisible') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') if m.get('VpcInstanceId') is not None: self.vpc_instance_id = m.get('VpcInstanceId') if m.get('VswitchId') is not None: self.vswitch_id = m.get('VswitchId') return self class DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfosPortList(TeaModel): def __init__( self, port: int = None, protocol: str = None, ): # The port that is used to connect to the instance. self.port = port # The protocol of the port. Valid values: # # * **HttpPort**: HTTP port. # * **MySQLPort**: MySQL port. self.protocol = protocol def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.port is not None: result['Port'] = self.port if self.protocol is not None: result['Protocol'] = self.protocol return result def from_map(self, m: dict = None): m = m or dict() if m.get('Port') is not None: self.port = m.get('Port') if m.get('Protocol') is not None: self.protocol = m.get('Protocol') return self class DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfos(TeaModel): def __init__( self, cluster_id: str = None, connection_string: str = None, ip: str = None, net_type: str = None, port_list: List[DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfosPortList] = None, user_visible: bool = None, vpc_id: str = None, vpc_instance_id: str = None, vswitch_id: str = None, ): # The cluster ID. self.cluster_id = cluster_id # The connection string of the instance. self.connection_string = connection_string # The IP address of the instance. self.ip = ip # The network type of the instance. Valid values: # # * **VPC**: indicates a virtual private cloud (VPC)-connected instance. # * **PUBLIC**: indicates an Internet-connected instance. self.net_type = net_type # The ports. self.port_list = port_list # Indicates whether the network information is visible to users. Valid values: # # * **true**\ # * **false**\ self.user_visible = user_visible # The VPC ID. self.vpc_id = vpc_id # The ID of the VPC-connected instance. self.vpc_instance_id = vpc_instance_id # The vSwitch ID. self.vswitch_id = vswitch_id def validate(self): if self.port_list: for k in self.port_list: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.ip is not None: result['Ip'] = self.ip if self.net_type is not None: result['NetType'] = self.net_type result['PortList'] = [] if self.port_list is not None: for k in self.port_list: result['PortList'].append(k.to_map() if k else None) if self.user_visible is not None: result['UserVisible'] = self.user_visible if self.vpc_id is not None: result['VpcId'] = self.vpc_id if self.vpc_instance_id is not None: result['VpcInstanceId'] = self.vpc_instance_id if self.vswitch_id is not None: result['VswitchId'] = self.vswitch_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('Ip') is not None: self.ip = m.get('Ip') if m.get('NetType') is not None: self.net_type = m.get('NetType') self.port_list = [] if m.get('PortList') is not None: for k in m.get('PortList'): temp_model = DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfosPortList() self.port_list.append(temp_model.from_map(k)) if m.get('UserVisible') is not None: self.user_visible = m.get('UserVisible') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') if m.get('VpcInstanceId') is not None: self.vpc_instance_id = m.get('VpcInstanceId') if m.get('VswitchId') is not None: self.vswitch_id = m.get('VswitchId') return self class DescribeDBInstanceNetInfoResponseBody(TeaModel): def __init__( self, dbclusters_net_infos: List[DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfos] = None, dbinstance_net_infos: List[DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfos] = None, request_id: str = None, ): # The network information about the backend (BE) clusters. self.dbclusters_net_infos = dbclusters_net_infos # The network information about the instance. self.dbinstance_net_infos = dbinstance_net_infos # The request ID. self.request_id = request_id def validate(self): if self.dbclusters_net_infos: for k in self.dbclusters_net_infos: if k: k.validate() if self.dbinstance_net_infos: for k in self.dbinstance_net_infos: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() result['DBClustersNetInfos'] = [] if self.dbclusters_net_infos is not None: for k in self.dbclusters_net_infos: result['DBClustersNetInfos'].append(k.to_map() if k else None) result['DBInstanceNetInfos'] = [] if self.dbinstance_net_infos is not None: for k in self.dbinstance_net_infos: result['DBInstanceNetInfos'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() self.dbclusters_net_infos = [] if m.get('DBClustersNetInfos') is not None: for k in m.get('DBClustersNetInfos'): temp_model = DescribeDBInstanceNetInfoResponseBodyDBClustersNetInfos() self.dbclusters_net_infos.append(temp_model.from_map(k)) self.dbinstance_net_infos = [] if m.get('DBInstanceNetInfos') is not None: for k in m.get('DBInstanceNetInfos'): temp_model = DescribeDBInstanceNetInfoResponseBodyDBInstanceNetInfos() self.dbinstance_net_infos.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeDBInstanceNetInfoResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeDBInstanceNetInfoResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeDBInstanceNetInfoResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeDBInstancesRequestTag(TeaModel): def __init__( self, key: str = None, value: str = None, ): self.key = key self.value = value def validate(self): pass def to_map(self): _map = super().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: dict = 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 DescribeDBInstancesRequest(TeaModel): def __init__( self, dbinstance_description: str = None, dbinstance_ids: str = None, dbinstance_status: str = None, page_number: int = None, page_size: int = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, tag: List[DescribeDBInstancesRequestTag] = None, ): # The description of the instance. self.dbinstance_description = dbinstance_description # The instance ID. Separate multiple instance IDs with commas (,). self.dbinstance_ids = dbinstance_ids # The state of the instance. Valid values: # # * **CREATING**: The instance is being created. # * **ACTIVATION**: The instance is running. # * **RESOURCE_CHANGING**: The resource configuration of the instance is being changed. # * **ORDER_PREPARING**: The order is being confirmed. # * **READONLY_RESOURCE_CHANGING**: The resource configuration of the instance is being changed and the instance is write-locked. # * **DELETING**: The instance is being deleted. self.dbinstance_status = dbinstance_status # The page number. self.page_number = page_number # The number of entries per page. Valid values: # # * **30** (default) # * **50**\ # * **100**\ self.page_size = page_size # The region ID of the instance. # # This parameter is required. self.region_id = region_id # The resource group ID. self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id self.tag = tag def validate(self): if self.tag: for k in self.tag: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_description is not None: result['DBInstanceDescription'] = self.dbinstance_description if self.dbinstance_ids is not None: result['DBInstanceIds'] = self.dbinstance_ids if self.dbinstance_status is not None: result['DBInstanceStatus'] = self.dbinstance_status if self.page_number is not None: result['PageNumber'] = self.page_number 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.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id 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: dict = None): m = m or dict() if m.get('DBInstanceDescription') is not None: self.dbinstance_description = m.get('DBInstanceDescription') if m.get('DBInstanceIds') is not None: self.dbinstance_ids = m.get('DBInstanceIds') if m.get('DBInstanceStatus') is not None: self.dbinstance_status = m.get('DBInstanceStatus') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') 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('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') self.tag = [] if m.get('Tag') is not None: for k in m.get('Tag'): temp_model = DescribeDBInstancesRequestTag() self.tag.append(temp_model.from_map(k)) return self class DescribeDBInstancesShrinkRequest(TeaModel): def __init__( self, dbinstance_description: str = None, dbinstance_ids: str = None, dbinstance_status: str = None, page_number: int = None, page_size: int = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, tag_shrink: str = None, ): # The description of the instance. self.dbinstance_description = dbinstance_description # The instance ID. Separate multiple instance IDs with commas (,). self.dbinstance_ids = dbinstance_ids # The state of the instance. Valid values: # # * **CREATING**: The instance is being created. # * **ACTIVATION**: The instance is running. # * **RESOURCE_CHANGING**: The resource configuration of the instance is being changed. # * **ORDER_PREPARING**: The order is being confirmed. # * **READONLY_RESOURCE_CHANGING**: The resource configuration of the instance is being changed and the instance is write-locked. # * **DELETING**: The instance is being deleted. self.dbinstance_status = dbinstance_status # The page number. self.page_number = page_number # The number of entries per page. Valid values: # # * **30** (default) # * **50**\ # * **100**\ self.page_size = page_size # The region ID of the instance. # # This parameter is required. self.region_id = region_id # The resource group ID. self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id self.tag_shrink = tag_shrink def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_description is not None: result['DBInstanceDescription'] = self.dbinstance_description if self.dbinstance_ids is not None: result['DBInstanceIds'] = self.dbinstance_ids if self.dbinstance_status is not None: result['DBInstanceStatus'] = self.dbinstance_status if self.page_number is not None: result['PageNumber'] = self.page_number 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.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.tag_shrink is not None: result['Tag'] = self.tag_shrink return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceDescription') is not None: self.dbinstance_description = m.get('DBInstanceDescription') if m.get('DBInstanceIds') is not None: self.dbinstance_ids = m.get('DBInstanceIds') if m.get('DBInstanceStatus') is not None: self.dbinstance_status = m.get('DBInstanceStatus') if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') 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('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('Tag') is not None: self.tag_shrink = m.get('Tag') return self class DescribeDBInstancesResponseBodyItemsMultiZone(TeaModel): def __init__( self, v_switch_ids: List[str] = None, zone_id: str = None, ): self.v_switch_ids = v_switch_ids self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.v_switch_ids is not None: result['VSwitchIds'] = self.v_switch_ids if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('VSwitchIds') is not None: self.v_switch_ids = m.get('VSwitchIds') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class DescribeDBInstancesResponseBodyItemsTags(TeaModel): def __init__( self, tag_key: str = None, tag_value: str = None, ): self.tag_key = tag_key self.tag_value = tag_value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() 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: dict = None): m = m or dict() 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 DescribeDBInstancesResponseBodyItems(TeaModel): def __init__( self, category: str = None, charge_type: str = None, cluster_count: int = None, dbinstance_id: str = None, deploy_scheme: str = None, description: str = None, engine: str = None, engine_minor_version: str = None, engine_version: str = None, expire_time: str = None, gmt_created: str = None, gmt_modified: str = None, instance_used_type: str = None, is_deleted: bool = None, lock_mode: int = None, lock_reason: str = None, maintain_end_time_str: str = None, maintain_endtime: str = None, maintain_start_time_str: str = None, maintain_starttime: str = None, multi_zone: List[DescribeDBInstancesResponseBodyItemsMultiZone] = None, object_store_size: int = None, parent_instance: str = None, region_id: str = None, resource_cpu: int = None, resource_group_id: str = None, resource_memory: int = None, scale_max: int = None, scale_min: int = None, scale_replica: int = None, status: str = None, storage_size: int = None, storage_type: str = None, tags: List[DescribeDBInstancesResponseBodyItemsTags] = None, tenant_cluster_id: str = None, tenant_token: str = None, tenant_user_id: str = None, vpc_id: str = None, vswitch_id: str = None, zone_id: str = None, connection_string: str = None, ): # The edition of the instance. Default value: basic. self.category = category # The billing method of the instance. Valid values: # # * **Postpaid**: pay-as-you-go. # * **Prepaid**: subscription. self.charge_type = charge_type # The total number of clusters. self.cluster_count = cluster_count # The instance ID. self.dbinstance_id = dbinstance_id self.deploy_scheme = deploy_scheme # The description of the instance. self.description = description # The database engine of the instance. self.engine = engine self.engine_minor_version = engine_minor_version # The database engine version of the instance. self.engine_version = engine_version # The time when the cluster expires. # # > A specific value is returned only for subscription clusters whose billing method is **Prepaid**. For pay-as-you-go clusters whose billing method is **Postpaid**, no value is returned. self.expire_time = expire_time # The time when the task was created. The time is displayed in UTC. self.gmt_created = gmt_created # The time when the task was last modified. The time is displayed in UTC. self.gmt_modified = gmt_modified # The type of the instance. self.instance_used_type = instance_used_type # Indicates whether the instance is deleted. Valid values: # # * **true**\ # * **false**\ self.is_deleted = is_deleted # The lock mode of the instance. self.lock_mode = lock_mode # The reason why the instance is locked. self.lock_reason = lock_reason # The end timestamp of the maintenance window. self.maintain_end_time_str = maintain_end_time_str # The end time of the instance maintenance window. self.maintain_endtime = maintain_endtime # The start timestamp of the maintenance window. self.maintain_start_time_str = maintain_start_time_str # The start time of the instance maintenance window. self.maintain_starttime = maintain_starttime self.multi_zone = multi_zone # The storage capacity of the instance. Unit: GB. self.object_store_size = object_store_size # The time when the instance was created. self.parent_instance = parent_instance # The region ID. self.region_id = region_id # The number of CPU cores of the instance. self.resource_cpu = resource_cpu # The ID of the resource group. self.resource_group_id = resource_group_id # The memory capacity of the instance. self.resource_memory = resource_memory # The maximum number of RCUs. self.scale_max = scale_max # The minimum number of RDS capacity units (RCUs). self.scale_min = scale_min # This parameter is not returned. self.scale_replica = scale_replica # The state of the instance. Valid values: # # * **CREATING**: The instance is being created. # * **ACTIVATION**: The instance is running. # * **RESOURCE_CHANGING**: The resource configuration of the instance is being changed. # * **ORDER_PREPARING**: The order is being confirmed. # * **READONLY_RESOURCE_CHANGING**: The resource configuration of the instance is being changed and the instance is write-locked. # * **DELETING**: The instance is being deleted. self.status = status # The cache size. self.storage_size = storage_size # The storage type of the instance. self.storage_type = storage_type # The details about each tag returned. self.tags = tags # The ID of the cluster that is monitored by Managed Service for Prometheus. self.tenant_cluster_id = tenant_cluster_id # The token that is used to access Managed Service for Prometheus. self.tenant_token = tenant_token # The ID of the account that uses Managed Service for Prometheus. self.tenant_user_id = tenant_user_id # The virtual private cloud (VPC) ID. self.vpc_id = vpc_id # The vSwitch ID. self.vswitch_id = vswitch_id # The zone ID. self.zone_id = zone_id # The connection string of the instance. self.connection_string = connection_string def validate(self): if self.multi_zone: for k in self.multi_zone: if k: k.validate() if self.tags: for k in self.tags: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.category is not None: result['Category'] = self.category if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.cluster_count is not None: result['ClusterCount'] = self.cluster_count if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.deploy_scheme is not None: result['DeployScheme'] = self.deploy_scheme if self.description is not None: result['Description'] = self.description if self.engine is not None: result['Engine'] = self.engine if self.engine_minor_version is not None: result['EngineMinorVersion'] = self.engine_minor_version if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.expire_time is not None: result['ExpireTime'] = self.expire_time if self.gmt_created is not None: result['GmtCreated'] = self.gmt_created if self.gmt_modified is not None: result['GmtModified'] = self.gmt_modified if self.instance_used_type is not None: result['InstanceUsedType'] = self.instance_used_type if self.is_deleted is not None: result['IsDeleted'] = self.is_deleted if self.lock_mode is not None: result['LockMode'] = self.lock_mode if self.lock_reason is not None: result['LockReason'] = self.lock_reason if self.maintain_end_time_str is not None: result['MaintainEndTimeStr'] = self.maintain_end_time_str if self.maintain_endtime is not None: result['MaintainEndtime'] = self.maintain_endtime if self.maintain_start_time_str is not None: result['MaintainStartTimeStr'] = self.maintain_start_time_str if self.maintain_starttime is not None: result['MaintainStarttime'] = self.maintain_starttime result['MultiZone'] = [] if self.multi_zone is not None: for k in self.multi_zone: result['MultiZone'].append(k.to_map() if k else None) if self.object_store_size is not None: result['ObjectStoreSize'] = self.object_store_size if self.parent_instance is not None: result['ParentInstance'] = self.parent_instance if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_cpu is not None: result['ResourceCpu'] = self.resource_cpu if self.resource_group_id is not None: result['ResourceGroupId'] = self.resource_group_id if self.resource_memory is not None: result['ResourceMemory'] = self.resource_memory if self.scale_max is not None: result['ScaleMax'] = self.scale_max if self.scale_min is not None: result['ScaleMin'] = self.scale_min if self.scale_replica is not None: result['ScaleReplica'] = self.scale_replica if self.status is not None: result['Status'] = self.status if self.storage_size is not None: result['StorageSize'] = self.storage_size if self.storage_type is not None: result['StorageType'] = self.storage_type result['Tags'] = [] if self.tags is not None: for k in self.tags: result['Tags'].append(k.to_map() if k else None) if self.tenant_cluster_id is not None: result['TenantClusterId'] = self.tenant_cluster_id if self.tenant_token is not None: result['TenantToken'] = self.tenant_token if self.tenant_user_id is not None: result['TenantUserId'] = self.tenant_user_id if self.vpc_id is not None: result['VpcId'] = self.vpc_id if self.vswitch_id is not None: result['VswitchId'] = self.vswitch_id if self.zone_id is not None: result['ZoneId'] = self.zone_id if self.connection_string is not None: result['connectionString'] = self.connection_string return result def from_map(self, m: dict = None): m = m or dict() if m.get('Category') is not None: self.category = m.get('Category') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClusterCount') is not None: self.cluster_count = m.get('ClusterCount') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('DeployScheme') is not None: self.deploy_scheme = m.get('DeployScheme') if m.get('Description') is not None: self.description = m.get('Description') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('EngineMinorVersion') is not None: self.engine_minor_version = m.get('EngineMinorVersion') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('ExpireTime') is not None: self.expire_time = m.get('ExpireTime') if m.get('GmtCreated') is not None: self.gmt_created = m.get('GmtCreated') if m.get('GmtModified') is not None: self.gmt_modified = m.get('GmtModified') if m.get('InstanceUsedType') is not None: self.instance_used_type = m.get('InstanceUsedType') if m.get('IsDeleted') is not None: self.is_deleted = m.get('IsDeleted') if m.get('LockMode') is not None: self.lock_mode = m.get('LockMode') if m.get('LockReason') is not None: self.lock_reason = m.get('LockReason') if m.get('MaintainEndTimeStr') is not None: self.maintain_end_time_str = m.get('MaintainEndTimeStr') if m.get('MaintainEndtime') is not None: self.maintain_endtime = m.get('MaintainEndtime') if m.get('MaintainStartTimeStr') is not None: self.maintain_start_time_str = m.get('MaintainStartTimeStr') if m.get('MaintainStarttime') is not None: self.maintain_starttime = m.get('MaintainStarttime') self.multi_zone = [] if m.get('MultiZone') is not None: for k in m.get('MultiZone'): temp_model = DescribeDBInstancesResponseBodyItemsMultiZone() self.multi_zone.append(temp_model.from_map(k)) if m.get('ObjectStoreSize') is not None: self.object_store_size = m.get('ObjectStoreSize') if m.get('ParentInstance') is not None: self.parent_instance = m.get('ParentInstance') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceCpu') is not None: self.resource_cpu = m.get('ResourceCpu') if m.get('ResourceGroupId') is not None: self.resource_group_id = m.get('ResourceGroupId') if m.get('ResourceMemory') is not None: self.resource_memory = m.get('ResourceMemory') if m.get('ScaleMax') is not None: self.scale_max = m.get('ScaleMax') if m.get('ScaleMin') is not None: self.scale_min = m.get('ScaleMin') if m.get('ScaleReplica') is not None: self.scale_replica = m.get('ScaleReplica') if m.get('Status') is not None: self.status = m.get('Status') if m.get('StorageSize') is not None: self.storage_size = m.get('StorageSize') if m.get('StorageType') is not None: self.storage_type = m.get('StorageType') self.tags = [] if m.get('Tags') is not None: for k in m.get('Tags'): temp_model = DescribeDBInstancesResponseBodyItemsTags() self.tags.append(temp_model.from_map(k)) if m.get('TenantClusterId') is not None: self.tenant_cluster_id = m.get('TenantClusterId') if m.get('TenantToken') is not None: self.tenant_token = m.get('TenantToken') if m.get('TenantUserId') is not None: self.tenant_user_id = m.get('TenantUserId') if m.get('VpcId') is not None: self.vpc_id = m.get('VpcId') if m.get('VswitchId') is not None: self.vswitch_id = m.get('VswitchId') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') if m.get('connectionString') is not None: self.connection_string = m.get('connectionString') return self class DescribeDBInstancesResponseBody(TeaModel): def __init__( self, items: List[DescribeDBInstancesResponseBodyItems] = None, page_number: int = None, page_size: int = None, request_id: str = None, total_record_count: int = None, ): # The details about each instance returned. self.items = items # The number of entries per page. Valid values: # # * **30** (default) # * **50**\ # * **100**\ self.page_number = page_number # The page number. self.page_size = page_size # The request ID. self.request_id = request_id # The total number of entries returned. self.total_record_count = total_record_count def validate(self): if self.items: for k in self.items: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() result['Items'] = [] if self.items is not None: for k in self.items: result['Items'].append(k.to_map() if k else None) if self.page_number is not None: result['PageNumber'] = self.page_number 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.total_record_count is not None: result['TotalRecordCount'] = self.total_record_count return result def from_map(self, m: dict = None): m = m or dict() self.items = [] if m.get('Items') is not None: for k in m.get('Items'): temp_model = DescribeDBInstancesResponseBodyItems() self.items.append(temp_model.from_map(k)) if m.get('PageNumber') is not None: self.page_number = m.get('PageNumber') 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('TotalRecordCount') is not None: self.total_record_count = m.get('TotalRecordCount') return self class DescribeDBInstancesResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeDBInstancesResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeDBInstancesResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeElasticRulesRequest(TeaModel): def __init__( self, cluster_id: str = None, db_instance_id: str = None, product: str = None, region_id: str = None, resource_owner_id: int = None, ): # The cluster ID. # # This parameter is required. self.cluster_id = cluster_id # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The cloud service. self.product = product # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.product is not None: result['Product'] = self.product if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('Product') is not None: self.product = m.get('Product') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DescribeElasticRulesResponseBodyDataRules(TeaModel): def __init__( self, cluster_class: str = None, elastic_rule_start_time: str = None, execution_period: str = None, rule_id: int = None, ): # The rule for computing resources of the required cluster. self.cluster_class = cluster_class # The time when you want to execute the scheduled scaling rule. self.elastic_rule_start_time = elastic_rule_start_time # The execution cycle. # # Valid value: # # * Day self.execution_period = execution_period # The rule ID. self.rule_id = rule_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_class is not None: result['ClusterClass'] = self.cluster_class if self.elastic_rule_start_time is not None: result['ElasticRuleStartTime'] = self.elastic_rule_start_time if self.execution_period is not None: result['ExecutionPeriod'] = self.execution_period if self.rule_id is not None: result['RuleId'] = self.rule_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterClass') is not None: self.cluster_class = m.get('ClusterClass') if m.get('ElasticRuleStartTime') is not None: self.elastic_rule_start_time = m.get('ElasticRuleStartTime') if m.get('ExecutionPeriod') is not None: self.execution_period = m.get('ExecutionPeriod') if m.get('RuleId') is not None: self.rule_id = m.get('RuleId') return self class DescribeElasticRulesResponseBodyData(TeaModel): def __init__( self, cluster_id: str = None, db_instance_id: str = None, rules: List[DescribeElasticRulesResponseBodyDataRules] = None, ): # The cluster ID. self.cluster_id = cluster_id # The instance ID. self.db_instance_id = db_instance_id # The details of the rules. self.rules = rules def validate(self): if self.rules: for k in self.rules: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id result['Rules'] = [] if self.rules is not None: for k in self.rules: result['Rules'].append(k.to_map() if k else None) return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') self.rules = [] if m.get('Rules') is not None: for k in m.get('Rules'): temp_model = DescribeElasticRulesResponseBodyDataRules() self.rules.append(temp_model.from_map(k)) return self class DescribeElasticRulesResponseBody(TeaModel): def __init__( self, data: DescribeElasticRulesResponseBodyData = None, request_id: str = None, ): # The data returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = DescribeElasticRulesResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeElasticRulesResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeElasticRulesResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeElasticRulesResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeRegionsRequest(TeaModel): def __init__( self, region: str = None, zone_id: str = None, ): # The region ID. self.region = region # The zone ID. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.region is not None: result['Region'] = self.region if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Region') is not None: self.region = m.get('Region') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class DescribeRegionsResponseBodyRegionModelListZones(TeaModel): def __init__( self, description: str = None, disabled: bool = None, label: str = None, name: str = None, region_id: str = None, sub_domain: str = None, vpc_enabled: bool = None, zone_id: str = None, ): # The zone description. self.description = description # Indicates whether the VPC is disabled. self.disabled = disabled # The label. self.label = label # The zone name. self.name = name # The region ID. self.region_id = region_id # The subdomain. self.sub_domain = sub_domain # Indicates whether the VPC is enabled. self.vpc_enabled = vpc_enabled # Indicates whether the virtual private cloud (VPC) is available. self.zone_id = zone_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.description is not None: result['Description'] = self.description if self.disabled is not None: result['Disabled'] = self.disabled if self.label is not None: result['Label'] = self.label if self.name is not None: result['Name'] = self.name if self.region_id is not None: result['RegionId'] = self.region_id if self.sub_domain is not None: result['SubDomain'] = self.sub_domain if self.vpc_enabled is not None: result['VpcEnabled'] = self.vpc_enabled if self.zone_id is not None: result['ZoneId'] = self.zone_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Description') is not None: self.description = m.get('Description') if m.get('Disabled') is not None: self.disabled = m.get('Disabled') if m.get('Label') is not None: self.label = m.get('Label') if m.get('Name') is not None: self.name = m.get('Name') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('SubDomain') is not None: self.sub_domain = m.get('SubDomain') if m.get('VpcEnabled') is not None: self.vpc_enabled = m.get('VpcEnabled') if m.get('ZoneId') is not None: self.zone_id = m.get('ZoneId') return self class DescribeRegionsResponseBodyRegionModelList(TeaModel): def __init__( self, region_id: str = None, zones: List[DescribeRegionsResponseBodyRegionModelListZones] = None, ): # The region ID. self.region_id = region_id # An array of zones. self.zones = zones def validate(self): if self.zones: for k in self.zones: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.region_id is not None: result['RegionId'] = self.region_id result['Zones'] = [] if self.zones is not None: for k in self.zones: result['Zones'].append(k.to_map() if k else None) return result def from_map(self, m: dict = None): m = m or dict() if m.get('RegionId') is not None: self.region_id = m.get('RegionId') self.zones = [] if m.get('Zones') is not None: for k in m.get('Zones'): temp_model = DescribeRegionsResponseBodyRegionModelListZones() self.zones.append(temp_model.from_map(k)) return self class DescribeRegionsResponseBody(TeaModel): def __init__( self, region_model_list: List[DescribeRegionsResponseBodyRegionModelList] = None, request_id: str = None, ): # An array of regions. self.region_model_list = region_model_list # The request ID. self.request_id = request_id def validate(self): if self.region_model_list: for k in self.region_model_list: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() result['RegionModelList'] = [] if self.region_model_list is not None: for k in self.region_model_list: result['RegionModelList'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() self.region_model_list = [] if m.get('RegionModelList') is not None: for k in m.get('RegionModelList'): temp_model = DescribeRegionsResponseBodyRegionModelList() self.region_model_list.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeRegionsResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeRegionsResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeRegionsResponseBody() self.body = temp_model.from_map(m['body']) return self class DescribeSecurityIPListRequest(TeaModel): def __init__( self, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class DescribeSecurityIPListResponseBodyGroupItems(TeaModel): def __init__( self, aecurity_iptype: str = None, group_name: str = None, group_tag: str = None, security_iplist: str = None, whitelist_net_type: str = None, ): # The IP address type. Valid values: # # * ipv4 # * ipv6 (not supported) self.aecurity_iptype = aecurity_iptype # The name of the whitelist. self.group_name = group_name # The tag of the whitelist. self.group_tag = group_tag # The IP addresses in the whitelist. Multiple IP addresses are separated by commas (,). self.security_iplist = security_iplist # The network type of the whitelist. self.whitelist_net_type = whitelist_net_type def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.aecurity_iptype is not None: result['AecurityIPType'] = self.aecurity_iptype if self.group_name is not None: result['GroupName'] = self.group_name if self.group_tag is not None: result['GroupTag'] = self.group_tag if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist if self.whitelist_net_type is not None: result['WhitelistNetType'] = self.whitelist_net_type return result def from_map(self, m: dict = None): m = m or dict() if m.get('AecurityIPType') is not None: self.aecurity_iptype = m.get('AecurityIPType') if m.get('GroupName') is not None: self.group_name = m.get('GroupName') if m.get('GroupTag') is not None: self.group_tag = m.get('GroupTag') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') if m.get('WhitelistNetType') is not None: self.whitelist_net_type = m.get('WhitelistNetType') return self class DescribeSecurityIPListResponseBody(TeaModel): def __init__( self, dbinstance_name: str = None, group_items: List[DescribeSecurityIPListResponseBodyGroupItems] = None, request_id: str = None, ): # The instance ID. self.dbinstance_name = dbinstance_name # The details about each IP address whitelist returned. self.group_items = group_items # The request ID. self.request_id = request_id def validate(self): if self.group_items: for k in self.group_items: if k: k.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_name is not None: result['DBInstanceName'] = self.dbinstance_name result['GroupItems'] = [] if self.group_items is not None: for k in self.group_items: result['GroupItems'].append(k.to_map() if k else None) if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceName') is not None: self.dbinstance_name = m.get('DBInstanceName') self.group_items = [] if m.get('GroupItems') is not None: for k in m.get('GroupItems'): temp_model = DescribeSecurityIPListResponseBodyGroupItems() self.group_items.append(temp_model.from_map(k)) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class DescribeSecurityIPListResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: DescribeSecurityIPListResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = DescribeSecurityIPListResponseBody() self.body = temp_model.from_map(m['body']) return self class EnDisableScalingRulesRequest(TeaModel): def __init__( self, cluster_id: str = None, db_instance_id: str = None, product: str = None, region_id: str = None, resource_owner_id: int = None, scaling_rules_enable: bool = None, ): # The cluster ID. # # This parameter is required. self.cluster_id = cluster_id # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The cloud service. self.product = product # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # Specifies whether to enable the scheduled scaling policy. # # Valid values: # # * true # * false # # This parameter is required. self.scaling_rules_enable = scaling_rules_enable def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.product is not None: result['Product'] = self.product if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.scaling_rules_enable is not None: result['ScalingRulesEnable'] = self.scaling_rules_enable return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('Product') is not None: self.product = m.get('Product') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('ScalingRulesEnable') is not None: self.scaling_rules_enable = m.get('ScalingRulesEnable') return self class EnDisableScalingRulesResponseBodyData(TeaModel): def __init__( self, cluster_id: str = None, db_instance_id: str = None, scaling_rules_enable: bool = None, ): # The cluster ID. self.cluster_id = cluster_id # The instance ID. self.db_instance_id = db_instance_id # Indicates whether the scheduled scaling policy is enabled. # # Valid values: # # * true # * false self.scaling_rules_enable = scaling_rules_enable def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.scaling_rules_enable is not None: result['ScalingRulesEnable'] = self.scaling_rules_enable return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ScalingRulesEnable') is not None: self.scaling_rules_enable = m.get('ScalingRulesEnable') return self class EnDisableScalingRulesResponseBody(TeaModel): def __init__( self, data: EnDisableScalingRulesResponseBodyData = None, request_id: str = None, ): # The data returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = EnDisableScalingRulesResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class EnDisableScalingRulesResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: EnDisableScalingRulesResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = EnDisableScalingRulesResponseBody() self.body = temp_model.from_map(m['body']) return self class GetCreateBEClusterInquiryRequest(TeaModel): def __init__( self, cache_size: int = None, charge_type: str = None, commodity_code: str = None, compute_size: int = None, db_instance_id: str = None, pre_cache_size: int = None, pre_compute_size: int = None, pricing_cycle: str = None, quantity: int = None, region_id: str = None, resource_owner_id: int = None, ): # The size of the elastic cache. self.cache_size = cache_size # The billing method. # # Valid values: # # * PREPAY: subscription # * POSTPAY: pay-as-you-go # # This parameter is required. self.charge_type = charge_type # The commodity code. # # Valid values: # # * selectdb_pre_public_intl: subscription commodity on the international site (alibabacloud.com) # * selectdb_go_public_cn: pay-as-you-go commodity on the China site (aliyun.com) # * selectdb_go_public_intl: pay-as-you-go commodity on the international site (alibabacloud.com) # * selectdb_pre_public_cn: subscription commodity on the China site (aliyun.com). self.commodity_code = commodity_code # The number of elastic CPU cores. self.compute_size = compute_size # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The size of the reserved cache. self.pre_cache_size = pre_cache_size # The number of reserved CPU cores. self.pre_compute_size = pre_compute_size # The billing cycle. # # Valid values: # # * Month # * Year # * Minute # * Hour # * Day # # This parameter is required. self.pricing_cycle = pricing_cycle # The number of clusters to be created. # # This parameter is required. self.quantity = quantity # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.commodity_code is not None: result['CommodityCode'] = self.commodity_code if self.compute_size is not None: result['ComputeSize'] = self.compute_size if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.pre_cache_size is not None: result['PreCacheSize'] = self.pre_cache_size if self.pre_compute_size is not None: result['PreComputeSize'] = self.pre_compute_size if self.pricing_cycle is not None: result['PricingCycle'] = self.pricing_cycle if self.quantity is not None: result['Quantity'] = self.quantity if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('CommodityCode') is not None: self.commodity_code = m.get('CommodityCode') if m.get('ComputeSize') is not None: self.compute_size = m.get('ComputeSize') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('PreCacheSize') is not None: self.pre_cache_size = m.get('PreCacheSize') if m.get('PreComputeSize') is not None: self.pre_compute_size = m.get('PreComputeSize') if m.get('PricingCycle') is not None: self.pricing_cycle = m.get('PricingCycle') if m.get('Quantity') is not None: self.quantity = m.get('Quantity') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class GetCreateBEClusterInquiryResponseBodyData(TeaModel): def __init__( self, currency: str = None, trade_amount: str = None, ): # The currency. self.currency = currency # The amount of money. self.trade_amount = trade_amount def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.currency is not None: result['Currency'] = self.currency if self.trade_amount is not None: result['TradeAmount'] = self.trade_amount return result def from_map(self, m: dict = None): m = m or dict() if m.get('Currency') is not None: self.currency = m.get('Currency') if m.get('TradeAmount') is not None: self.trade_amount = m.get('TradeAmount') return self class GetCreateBEClusterInquiryResponseBody(TeaModel): def __init__( self, data: GetCreateBEClusterInquiryResponseBodyData = None, request_id: str = None, ): # The information returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = GetCreateBEClusterInquiryResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class GetCreateBEClusterInquiryResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetCreateBEClusterInquiryResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = GetCreateBEClusterInquiryResponseBody() self.body = temp_model.from_map(m['body']) return self class GetModifyBEClusterInquiryRequest(TeaModel): def __init__( self, cache_size: int = None, charge_type: str = None, cluster_id: str = None, commodity_code: str = None, compute_size: int = None, db_instance_id: str = None, modify_cluster_charge_type: bool = None, pre_cache_size: int = None, pre_compute_size: int = None, pricing_cycle: str = None, quantity: int = None, region_id: str = None, resource_owner_id: int = None, ): # The size of the elastic cache. self.cache_size = cache_size # The billing method. # # Valid values: # # * PREPAY: subscription # * POSTPAY: pay-as-you-go # # This parameter is required. self.charge_type = charge_type # The cluster ID. self.cluster_id = cluster_id # The commodity code. # # Valid values: # # * selectdb_pre_public_intl: subscription commodity on the international site (alibabacloud.com) # * selectdb_go_public_cn: pay-as-you-go commodity on the China site (aliyun.com) # * selectdb_go_public_intl: pay-as-you-go commodity on the international site (alibabacloud.com) # * selectdb_pre_public_cn: subscription commodity on the China site (aliyun.com) # # This parameter is required. self.commodity_code = commodity_code # The number of elastic CPU cores. self.compute_size = compute_size # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id self.modify_cluster_charge_type = modify_cluster_charge_type # The size of the reserved cache. self.pre_cache_size = pre_cache_size # The number of reserved CPU cores. self.pre_compute_size = pre_compute_size # The billing cycle. # # Valid values: # # * Month # * Year # * Minute # * Hour # * Day # # This parameter is required. self.pricing_cycle = pricing_cycle # The number of clusters whose specifications are to be changed. # # This parameter is required. self.quantity = quantity # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.charge_type is not None: result['ChargeType'] = self.charge_type if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.commodity_code is not None: result['CommodityCode'] = self.commodity_code if self.compute_size is not None: result['ComputeSize'] = self.compute_size if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.modify_cluster_charge_type is not None: result['ModifyClusterChargeType'] = self.modify_cluster_charge_type if self.pre_cache_size is not None: result['PreCacheSize'] = self.pre_cache_size if self.pre_compute_size is not None: result['PreComputeSize'] = self.pre_compute_size if self.pricing_cycle is not None: result['PricingCycle'] = self.pricing_cycle if self.quantity is not None: result['Quantity'] = self.quantity if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('ChargeType') is not None: self.charge_type = m.get('ChargeType') if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('CommodityCode') is not None: self.commodity_code = m.get('CommodityCode') if m.get('ComputeSize') is not None: self.compute_size = m.get('ComputeSize') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ModifyClusterChargeType') is not None: self.modify_cluster_charge_type = m.get('ModifyClusterChargeType') if m.get('PreCacheSize') is not None: self.pre_cache_size = m.get('PreCacheSize') if m.get('PreComputeSize') is not None: self.pre_compute_size = m.get('PreComputeSize') if m.get('PricingCycle') is not None: self.pricing_cycle = m.get('PricingCycle') if m.get('Quantity') is not None: self.quantity = m.get('Quantity') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class GetModifyBEClusterInquiryResponseBodyData(TeaModel): def __init__( self, currency: str = None, refund_amount: str = None, trade_amount: str = None, ): # The currency. self.currency = currency self.refund_amount = refund_amount # The amount of money. self.trade_amount = trade_amount def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.currency is not None: result['Currency'] = self.currency if self.refund_amount is not None: result['RefundAmount'] = self.refund_amount if self.trade_amount is not None: result['TradeAmount'] = self.trade_amount return result def from_map(self, m: dict = None): m = m or dict() if m.get('Currency') is not None: self.currency = m.get('Currency') if m.get('RefundAmount') is not None: self.refund_amount = m.get('RefundAmount') if m.get('TradeAmount') is not None: self.trade_amount = m.get('TradeAmount') return self class GetModifyBEClusterInquiryResponseBody(TeaModel): def __init__( self, data: GetModifyBEClusterInquiryResponseBodyData = None, request_id: str = None, ): # The information returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = GetModifyBEClusterInquiryResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class GetModifyBEClusterInquiryResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: GetModifyBEClusterInquiryResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = GetModifyBEClusterInquiryResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyBEClusterAttributeRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, instance_attribute_type: str = None, region_id: str = None, resource_owner_id: int = None, value: str = None, ): # This parameter is required. self.dbcluster_id = dbcluster_id # This parameter is required. self.dbinstance_id = dbinstance_id # The attribute type of the instance. Set this parameter to DBInstanceDescription. # # Valid values: # # * MaintainTime # * DBInstanceDescription # # This parameter is required. self.instance_attribute_type = instance_attribute_type # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The new name of the cluster. # # This parameter is required. self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.instance_attribute_type is not None: result['InstanceAttributeType'] = self.instance_attribute_type if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('InstanceAttributeType') is not None: self.instance_attribute_type = m.get('InstanceAttributeType') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('Value') is not None: self.value = m.get('Value') return self class ModifyBEClusterAttributeResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ModifyBEClusterAttributeResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifyBEClusterAttributeResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifyBEClusterAttributeResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyDBClusterRequest(TeaModel): def __init__( self, cache_size: str = None, dbcluster_class: str = None, dbcluster_id: str = None, dbinstance_id: str = None, engine: str = None, region_id: str = None, resource_owner_id: int = None, ): # The size of the reserved cache. self.cache_size = cache_size # This parameter is required. self.dbcluster_class = dbcluster_class # This parameter is required. self.dbcluster_id = dbcluster_id # This parameter is required. self.dbinstance_id = dbinstance_id # The database engine of the instance. Set the value to selectdb. self.engine = engine # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cache_size is not None: result['CacheSize'] = self.cache_size if self.dbcluster_class is not None: result['DBClusterClass'] = self.dbcluster_class if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.engine is not None: result['Engine'] = self.engine if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('CacheSize') is not None: self.cache_size = m.get('CacheSize') if m.get('DBClusterClass') is not None: self.dbcluster_class = m.get('DBClusterClass') if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('Engine') is not None: self.engine = m.get('Engine') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class ModifyDBClusterResponseBodyData(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, order_id: int = None, ): self.dbcluster_id = dbcluster_id self.dbinstance_id = dbinstance_id self.order_id = order_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.order_id is not None: result['OrderId'] = self.order_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('OrderId') is not None: self.order_id = m.get('OrderId') return self class ModifyDBClusterResponseBody(TeaModel): def __init__( self, dbinstance_id: str = None, data: ModifyDBClusterResponseBodyData = None, request_id: str = None, ): # 代表资源一级ID的资源属性字段 self.dbinstance_id = dbinstance_id self.data = data self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('Data') is not None: temp_model = ModifyDBClusterResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ModifyDBClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifyDBClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifyDBClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyDBClusterConfigRequest(TeaModel): def __init__( self, config_key: str = None, dbcluster_id: str = None, dbinstance_id: str = None, parallel_operation: bool = None, parameters: str = None, region_id: str = None, switch_time_mode: str = None, ): # This parameter is required. self.config_key = config_key # This parameter is required. self.dbcluster_id = dbcluster_id # This parameter is required. self.dbinstance_id = dbinstance_id # Specifies whether to perform parallel operations on the cluster node. self.parallel_operation = parallel_operation # This parameter is required. self.parameters = parameters self.region_id = region_id self.switch_time_mode = switch_time_mode def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.config_key is not None: result['ConfigKey'] = self.config_key if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.parallel_operation is not None: result['ParallelOperation'] = self.parallel_operation if self.parameters is not None: result['Parameters'] = self.parameters if self.region_id is not None: result['RegionId'] = self.region_id if self.switch_time_mode is not None: result['SwitchTimeMode'] = self.switch_time_mode return result def from_map(self, m: dict = None): m = m or dict() if m.get('ConfigKey') is not None: self.config_key = m.get('ConfigKey') if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('ParallelOperation') is not None: self.parallel_operation = m.get('ParallelOperation') if m.get('Parameters') is not None: self.parameters = m.get('Parameters') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('SwitchTimeMode') is not None: self.switch_time_mode = m.get('SwitchTimeMode') return self class ModifyDBClusterConfigResponseBodyData(TeaModel): def __init__( self, db_cluster_id: str = None, db_instance_id: str = None, db_instance_name: str = None, task_id: int = None, ): self.db_cluster_id = db_cluster_id self.db_instance_id = db_instance_id self.db_instance_name = db_instance_name self.task_id = task_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.db_cluster_id is not None: result['DbClusterId'] = self.db_cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.db_instance_name is not None: result['DbInstanceName'] = self.db_instance_name if self.task_id is not None: result['TaskId'] = self.task_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DbClusterId') is not None: self.db_cluster_id = m.get('DbClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('DbInstanceName') is not None: self.db_instance_name = m.get('DbInstanceName') if m.get('TaskId') is not None: self.task_id = m.get('TaskId') return self class ModifyDBClusterConfigResponseBody(TeaModel): def __init__( self, access_denied_detail: str = None, data: ModifyDBClusterConfigResponseBodyData = None, dynamic_code: str = None, dynamic_message: str = None, request_id: str = None, ): self.access_denied_detail = access_denied_detail self.data = data # The dynamic code. This parameter is not returned. self.dynamic_code = dynamic_code # The dynamic message. This parameter is not returned. self.dynamic_message = dynamic_message self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.access_denied_detail is not None: result['AccessDeniedDetail'] = self.access_denied_detail if self.data is not None: result['Data'] = self.data.to_map() if self.dynamic_code is not None: result['DynamicCode'] = self.dynamic_code if self.dynamic_message is not None: result['DynamicMessage'] = self.dynamic_message if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AccessDeniedDetail') is not None: self.access_denied_detail = m.get('AccessDeniedDetail') if m.get('Data') is not None: temp_model = ModifyDBClusterConfigResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('DynamicCode') is not None: self.dynamic_code = m.get('DynamicCode') if m.get('DynamicMessage') is not None: self.dynamic_message = m.get('DynamicMessage') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ModifyDBClusterConfigResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifyDBClusterConfigResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifyDBClusterConfigResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyDBInstanceAttributeRequest(TeaModel): def __init__( self, dbinstance_id: str = None, instance_attribute_type: str = None, region_id: str = None, resource_owner_id: int = None, value: str = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The instance parameter to be modified. Valid values: # # * **MaintainTime**: Modify the maintenance window of the instance in the hh:mm-hh:mm format. # * **DBInstanceDescription**: Modify the description of the instance. # # This parameter is required. self.instance_attribute_type = instance_attribute_type # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The new value of the instance parameter to be modified. Examples: # # * If InstanceAttributeType is set to MaintainTime, you can set Value to 00:00-06:00. # * If InstanceAttributeType is set to DBInstanceDescription, you can set Value to testdb. # # This parameter is required. self.value = value def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.instance_attribute_type is not None: result['InstanceAttributeType'] = self.instance_attribute_type if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.value is not None: result['Value'] = self.value return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('InstanceAttributeType') is not None: self.instance_attribute_type = m.get('InstanceAttributeType') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('Value') is not None: self.value = m.get('Value') return self class ModifyDBInstanceAttributeResponseBody(TeaModel): def __init__( self, request_id: str = None, ): # The request ID. self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ModifyDBInstanceAttributeResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifyDBInstanceAttributeResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifyDBInstanceAttributeResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifyElasticRuleRequest(TeaModel): def __init__( self, cluster_class: str = None, cluster_id: str = None, db_instance_id: str = None, elastic_rule_start_time: str = None, execution_period: str = None, product: str = None, region_id: str = None, resource_owner_id: int = None, rule_id: int = None, ): # The rule for computing resources of the required cluster. self.cluster_class = cluster_class # The cluster ID. # # This parameter is required. self.cluster_id = cluster_id # The instance ID. # # This parameter is required. self.db_instance_id = db_instance_id # The time when you want to execute the scheduled scaling rule. self.elastic_rule_start_time = elastic_rule_start_time # The execution cycle. # # Valid value: # # * Day self.execution_period = execution_period # The cloud service. self.product = product # The region ID. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The rule ID. # # This parameter is required. self.rule_id = rule_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_class is not None: result['ClusterClass'] = self.cluster_class if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.elastic_rule_start_time is not None: result['ElasticRuleStartTime'] = self.elastic_rule_start_time if self.execution_period is not None: result['ExecutionPeriod'] = self.execution_period if self.product is not None: result['Product'] = self.product if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.rule_id is not None: result['RuleId'] = self.rule_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterClass') is not None: self.cluster_class = m.get('ClusterClass') if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ElasticRuleStartTime') is not None: self.elastic_rule_start_time = m.get('ElasticRuleStartTime') if m.get('ExecutionPeriod') is not None: self.execution_period = m.get('ExecutionPeriod') if m.get('Product') is not None: self.product = m.get('Product') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('RuleId') is not None: self.rule_id = m.get('RuleId') return self class ModifyElasticRuleResponseBodyData(TeaModel): def __init__( self, cluster_class: str = None, cluster_id: str = None, db_instance_id: str = None, elastic_rule_start_time: str = None, execution_period: str = None, rule_id: int = None, ): # The rule for computing resources of the required cluster. self.cluster_class = cluster_class # The cluster ID. self.cluster_id = cluster_id # The instance ID. self.db_instance_id = db_instance_id # The time when the scheduled scaling rule is executed. self.elastic_rule_start_time = elastic_rule_start_time # The execution cycle. # # Valid value: # # * Day self.execution_period = execution_period # The rule ID. self.rule_id = rule_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.cluster_class is not None: result['ClusterClass'] = self.cluster_class if self.cluster_id is not None: result['ClusterId'] = self.cluster_id if self.db_instance_id is not None: result['DbInstanceId'] = self.db_instance_id if self.elastic_rule_start_time is not None: result['ElasticRuleStartTime'] = self.elastic_rule_start_time if self.execution_period is not None: result['ExecutionPeriod'] = self.execution_period if self.rule_id is not None: result['RuleId'] = self.rule_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ClusterClass') is not None: self.cluster_class = m.get('ClusterClass') if m.get('ClusterId') is not None: self.cluster_id = m.get('ClusterId') if m.get('DbInstanceId') is not None: self.db_instance_id = m.get('DbInstanceId') if m.get('ElasticRuleStartTime') is not None: self.elastic_rule_start_time = m.get('ElasticRuleStartTime') if m.get('ExecutionPeriod') is not None: self.execution_period = m.get('ExecutionPeriod') if m.get('RuleId') is not None: self.rule_id = m.get('RuleId') return self class ModifyElasticRuleResponseBody(TeaModel): def __init__( self, data: ModifyElasticRuleResponseBodyData = None, request_id: str = None, ): # The data returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = ModifyElasticRuleResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ModifyElasticRuleResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifyElasticRuleResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifyElasticRuleResponseBody() self.body = temp_model.from_map(m['body']) return self class ModifySecurityIPListRequest(TeaModel): def __init__( self, dbinstance_id: str = None, group_name: str = None, modify_mode: str = None, region_id: str = None, resource_owner_id: int = None, security_iplist: str = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The name of the whitelist. Default value: **Default**. # # This parameter is required. self.group_name = group_name # The mode in which you want to modify the whitelist. Valid values: # # * **0**: overwrites the IP addresses in the whitelist. # * **1**: adds IP addresses to the whitelist. # * **2**: removes IP addresses from the whitelist. # # This parameter is required. self.modify_mode = modify_mode # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The IP addresses in the whitelist of the instance. Separate multiple IP addresses with commas (,). # # This parameter is required. self.security_iplist = security_iplist def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.group_name is not None: result['GroupName'] = self.group_name if self.modify_mode is not None: result['ModifyMode'] = self.modify_mode if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('GroupName') is not None: self.group_name = m.get('GroupName') if m.get('ModifyMode') is not None: self.modify_mode = m.get('ModifyMode') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') return self class ModifySecurityIPListResponseBody(TeaModel): def __init__( self, dbinstance_name: str = None, group_name: str = None, group_tag: str = None, request_id: str = None, security_iplist: str = None, security_iptype: str = None, task_id: int = None, whitelist_net_type: str = None, ): # The name of the instance. self.dbinstance_name = dbinstance_name # The name of the whitelist. self.group_name = group_name # The tag of the whitelist. self.group_tag = group_tag # The request ID. self.request_id = request_id # The IP addresses in the whitelist of the instance. Multiple IP addresses are separated by commas (,). self.security_iplist = security_iplist # The IP address type. self.security_iptype = security_iptype # The task ID. self.task_id = task_id # The network type of the whitelist. self.whitelist_net_type = whitelist_net_type def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_name is not None: result['DBInstanceName'] = self.dbinstance_name if self.group_name is not None: result['GroupName'] = self.group_name if self.group_tag is not None: result['GroupTag'] = self.group_tag if self.request_id is not None: result['RequestId'] = self.request_id if self.security_iplist is not None: result['SecurityIPList'] = self.security_iplist if self.security_iptype is not None: result['SecurityIPType'] = self.security_iptype if self.task_id is not None: result['TaskId'] = self.task_id if self.whitelist_net_type is not None: result['WhitelistNetType'] = self.whitelist_net_type return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceName') is not None: self.dbinstance_name = m.get('DBInstanceName') if m.get('GroupName') is not None: self.group_name = m.get('GroupName') if m.get('GroupTag') is not None: self.group_tag = m.get('GroupTag') if m.get('RequestId') is not None: self.request_id = m.get('RequestId') if m.get('SecurityIPList') is not None: self.security_iplist = m.get('SecurityIPList') if m.get('SecurityIPType') is not None: self.security_iptype = m.get('SecurityIPType') if m.get('TaskId') is not None: self.task_id = m.get('TaskId') if m.get('WhitelistNetType') is not None: self.whitelist_net_type = m.get('WhitelistNetType') return self class ModifySecurityIPListResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ModifySecurityIPListResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ModifySecurityIPListResponseBody() self.body = temp_model.from_map(m['body']) return self class ReleaseInstancePublicConnectionRequest(TeaModel): def __init__( self, connection_string: str = None, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # The connection string of the instance. # # This parameter is required. self.connection_string = connection_string # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.connection_string is not None: result['ConnectionString'] = self.connection_string if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('ConnectionString') is not None: self.connection_string = m.get('ConnectionString') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class ReleaseInstancePublicConnectionResponseBody(TeaModel): def __init__( self, request_id: str = None, ): # The request ID. self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ReleaseInstancePublicConnectionResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ReleaseInstancePublicConnectionResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ReleaseInstancePublicConnectionResponseBody() self.body = temp_model.from_map(m['body']) return self class ResetAccountPasswordRequest(TeaModel): def __init__( self, account_name: str = None, account_password: str = None, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # The database account of the instance. # # This parameter is required. self.account_name = account_name # The password of the database account. Requirements: # # * The password must contain at least three of the following character types: uppercase letters, lowercase letters, digits, and special characters. # * The following special characters can be used: ! @ # $ % ^ & \\* ( ) _ + - =\ # * The password must be 8 to 32 characters in length. # # This parameter is required. self.account_password = account_password # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.account_name is not None: result['AccountName'] = self.account_name if self.account_password is not None: result['AccountPassword'] = self.account_password if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('AccountName') is not None: self.account_name = m.get('AccountName') if m.get('AccountPassword') is not None: self.account_password = m.get('AccountPassword') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class ResetAccountPasswordResponseBody(TeaModel): def __init__( self, request_id: str = None, ): # The request ID. self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class ResetAccountPasswordResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: ResetAccountPasswordResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = ResetAccountPasswordResponseBody() self.body = temp_model.from_map(m['body']) return self class RestartDBClusterRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, parallel_operation: bool = None, region_id: str = None, resource_group_id: str = None, resource_owner_id: int = None, ): # The cluster ID. # # This parameter is required. self.dbcluster_id = dbcluster_id # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # Specifies whether to perform parallel operations on the cluster node. self.parallel_operation = parallel_operation # The region ID. # # This parameter is required. self.region_id = region_id # The resource group ID. self.resource_group_id = resource_group_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.parallel_operation is not None: result['ParallelOperation'] = self.parallel_operation 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.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('ParallelOperation') is not None: self.parallel_operation = m.get('ParallelOperation') 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('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class RestartDBClusterResponseBodyData(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, ): # The cluster ID. self.dbcluster_id = dbcluster_id # The instance ID. self.dbinstance_id = dbinstance_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') return self class RestartDBClusterResponseBody(TeaModel): def __init__( self, data: RestartDBClusterResponseBodyData = None, request_id: str = None, ): # The information returned. self.data = data # The request ID. self.request_id = request_id def validate(self): if self.data: self.data.validate() def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.data is not None: result['Data'] = self.data.to_map() if self.request_id is not None: result['RequestId'] = self.request_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('Data') is not None: temp_model = RestartDBClusterResponseBodyData() self.data = temp_model.from_map(m['Data']) if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class RestartDBClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: RestartDBClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = RestartDBClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class StartBEClusterRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # This parameter is required. self.dbcluster_id = dbcluster_id # This parameter is required. self.dbinstance_id = dbinstance_id # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class StartBEClusterResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class StartBEClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: StartBEClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = StartBEClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class StopBEClusterRequest(TeaModel): def __init__( self, dbcluster_id: str = None, dbinstance_id: str = None, region_id: str = None, resource_owner_id: int = None, ): # This parameter is required. self.dbcluster_id = dbcluster_id # This parameter is required. self.dbinstance_id = dbinstance_id # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbcluster_id is not None: result['DBClusterId'] = self.dbcluster_id if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBClusterId') is not None: self.dbcluster_id = m.get('DBClusterId') if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') return self class StopBEClusterResponseBody(TeaModel): def __init__( self, request_id: str = None, ): self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class StopBEClusterResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: StopBEClusterResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = StopBEClusterResponseBody() self.body = temp_model.from_map(m['body']) return self class UpgradeDBInstanceEngineVersionRequest(TeaModel): def __init__( self, dbinstance_id: str = None, engine_version: str = None, parallel_operation: bool = None, region_id: str = None, resource_owner_id: int = None, switch_time_mode: str = None, ): # The instance ID. # # This parameter is required. self.dbinstance_id = dbinstance_id # The database engine version of the instance. # # This parameter is required. self.engine_version = engine_version self.parallel_operation = parallel_operation # The region ID of the instance. # # This parameter is required. self.region_id = region_id self.resource_owner_id = resource_owner_id # The update mode. If you do not specify this parameter, the system immediately updates the database engine version. If you set this parameter to 1, the system updates the database engine version during the maintenance window. self.switch_time_mode = switch_time_mode def validate(self): pass def to_map(self): _map = super().to_map() if _map is not None: return _map result = dict() if self.dbinstance_id is not None: result['DBInstanceId'] = self.dbinstance_id if self.engine_version is not None: result['EngineVersion'] = self.engine_version if self.parallel_operation is not None: result['ParallelOperation'] = self.parallel_operation if self.region_id is not None: result['RegionId'] = self.region_id if self.resource_owner_id is not None: result['ResourceOwnerId'] = self.resource_owner_id if self.switch_time_mode is not None: result['SwitchTimeMode'] = self.switch_time_mode return result def from_map(self, m: dict = None): m = m or dict() if m.get('DBInstanceId') is not None: self.dbinstance_id = m.get('DBInstanceId') if m.get('EngineVersion') is not None: self.engine_version = m.get('EngineVersion') if m.get('ParallelOperation') is not None: self.parallel_operation = m.get('ParallelOperation') if m.get('RegionId') is not None: self.region_id = m.get('RegionId') if m.get('ResourceOwnerId') is not None: self.resource_owner_id = m.get('ResourceOwnerId') if m.get('SwitchTimeMode') is not None: self.switch_time_mode = m.get('SwitchTimeMode') return self class UpgradeDBInstanceEngineVersionResponseBody(TeaModel): def __init__( self, request_id: str = None, ): # The request ID. self.request_id = request_id def validate(self): pass def to_map(self): _map = super().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: dict = None): m = m or dict() if m.get('RequestId') is not None: self.request_id = m.get('RequestId') return self class UpgradeDBInstanceEngineVersionResponse(TeaModel): def __init__( self, headers: Dict[str, str] = None, status_code: int = None, body: UpgradeDBInstanceEngineVersionResponseBody = None, ): self.headers = headers self.status_code = status_code self.body = body def validate(self): if self.body: self.body.validate() def to_map(self): _map = super().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: dict = 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 = UpgradeDBInstanceEngineVersionResponseBody() self.body = temp_model.from_map(m['body']) return self