alibabacloud-rds20140815 7.2.0__py3-none-any.whl → 7.3.1__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1157,6 +1157,142 @@ class CalculateDBInstanceWeightResponse(TeaModel):
1157
1157
  return self
1158
1158
 
1159
1159
 
1160
+ class CancelActiveOperationTasksRequest(TeaModel):
1161
+ def __init__(
1162
+ self,
1163
+ ids: str = None,
1164
+ owner_account: str = None,
1165
+ owner_id: int = None,
1166
+ resource_owner_account: str = None,
1167
+ resource_owner_id: int = None,
1168
+ security_token: str = None,
1169
+ ):
1170
+ # List of IDs for batch cancellation, separated by English commas (,). It is recommended to not exceed 25 at a time.
1171
+ #
1172
+ # This parameter is required.
1173
+ self.ids = ids
1174
+ self.owner_account = owner_account
1175
+ self.owner_id = owner_id
1176
+ self.resource_owner_account = resource_owner_account
1177
+ self.resource_owner_id = resource_owner_id
1178
+ self.security_token = security_token
1179
+
1180
+ def validate(self):
1181
+ pass
1182
+
1183
+ def to_map(self):
1184
+ _map = super().to_map()
1185
+ if _map is not None:
1186
+ return _map
1187
+
1188
+ result = dict()
1189
+ if self.ids is not None:
1190
+ result['Ids'] = self.ids
1191
+ if self.owner_account is not None:
1192
+ result['OwnerAccount'] = self.owner_account
1193
+ if self.owner_id is not None:
1194
+ result['OwnerId'] = self.owner_id
1195
+ if self.resource_owner_account is not None:
1196
+ result['ResourceOwnerAccount'] = self.resource_owner_account
1197
+ if self.resource_owner_id is not None:
1198
+ result['ResourceOwnerId'] = self.resource_owner_id
1199
+ if self.security_token is not None:
1200
+ result['SecurityToken'] = self.security_token
1201
+ return result
1202
+
1203
+ def from_map(self, m: dict = None):
1204
+ m = m or dict()
1205
+ if m.get('Ids') is not None:
1206
+ self.ids = m.get('Ids')
1207
+ if m.get('OwnerAccount') is not None:
1208
+ self.owner_account = m.get('OwnerAccount')
1209
+ if m.get('OwnerId') is not None:
1210
+ self.owner_id = m.get('OwnerId')
1211
+ if m.get('ResourceOwnerAccount') is not None:
1212
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
1213
+ if m.get('ResourceOwnerId') is not None:
1214
+ self.resource_owner_id = m.get('ResourceOwnerId')
1215
+ if m.get('SecurityToken') is not None:
1216
+ self.security_token = m.get('SecurityToken')
1217
+ return self
1218
+
1219
+
1220
+ class CancelActiveOperationTasksResponseBody(TeaModel):
1221
+ def __init__(
1222
+ self,
1223
+ ids: str = None,
1224
+ request_id: str = None,
1225
+ ):
1226
+ # Batch cancellation task IDs, separated by English commas (,).
1227
+ self.ids = ids
1228
+ # Request ID.
1229
+ self.request_id = request_id
1230
+
1231
+ def validate(self):
1232
+ pass
1233
+
1234
+ def to_map(self):
1235
+ _map = super().to_map()
1236
+ if _map is not None:
1237
+ return _map
1238
+
1239
+ result = dict()
1240
+ if self.ids is not None:
1241
+ result['Ids'] = self.ids
1242
+ if self.request_id is not None:
1243
+ result['RequestId'] = self.request_id
1244
+ return result
1245
+
1246
+ def from_map(self, m: dict = None):
1247
+ m = m or dict()
1248
+ if m.get('Ids') is not None:
1249
+ self.ids = m.get('Ids')
1250
+ if m.get('RequestId') is not None:
1251
+ self.request_id = m.get('RequestId')
1252
+ return self
1253
+
1254
+
1255
+ class CancelActiveOperationTasksResponse(TeaModel):
1256
+ def __init__(
1257
+ self,
1258
+ headers: Dict[str, str] = None,
1259
+ status_code: int = None,
1260
+ body: CancelActiveOperationTasksResponseBody = None,
1261
+ ):
1262
+ self.headers = headers
1263
+ self.status_code = status_code
1264
+ self.body = body
1265
+
1266
+ def validate(self):
1267
+ if self.body:
1268
+ self.body.validate()
1269
+
1270
+ def to_map(self):
1271
+ _map = super().to_map()
1272
+ if _map is not None:
1273
+ return _map
1274
+
1275
+ result = dict()
1276
+ if self.headers is not None:
1277
+ result['headers'] = self.headers
1278
+ if self.status_code is not None:
1279
+ result['statusCode'] = self.status_code
1280
+ if self.body is not None:
1281
+ result['body'] = self.body.to_map()
1282
+ return result
1283
+
1284
+ def from_map(self, m: dict = None):
1285
+ m = m or dict()
1286
+ if m.get('headers') is not None:
1287
+ self.headers = m.get('headers')
1288
+ if m.get('statusCode') is not None:
1289
+ self.status_code = m.get('statusCode')
1290
+ if m.get('body') is not None:
1291
+ temp_model = CancelActiveOperationTasksResponseBody()
1292
+ self.body = temp_model.from_map(m['body'])
1293
+ return self
1294
+
1295
+
1160
1296
  class CheckAccountNameAvailableRequest(TeaModel):
1161
1297
  def __init__(
1162
1298
  self,
@@ -2194,6 +2330,7 @@ class CloneDBInstanceRequest(TeaModel):
2194
2330
  category: str = None,
2195
2331
  client_token: str = None,
2196
2332
  dbinstance_class: str = None,
2333
+ dbinstance_description: str = None,
2197
2334
  dbinstance_id: str = None,
2198
2335
  dbinstance_storage: int = None,
2199
2336
  dbinstance_storage_type: str = None,
@@ -2262,6 +2399,10 @@ class CloneDBInstanceRequest(TeaModel):
2262
2399
  #
2263
2400
  # > By default, the new instance uses the same instance type as the original primary instance.
2264
2401
  self.dbinstance_class = dbinstance_class
2402
+ # The instance name. The value must be 2 to 255 characters in length The value can contain letters, digits, underscores (_), and hyphens (-), and must start with a letter.
2403
+ #
2404
+ # > The value cannot start with http:// or https://.
2405
+ self.dbinstance_description = dbinstance_description
2265
2406
  # The instance ID.
2266
2407
  #
2267
2408
  # This parameter is required.
@@ -2382,6 +2523,8 @@ class CloneDBInstanceRequest(TeaModel):
2382
2523
  result['ClientToken'] = self.client_token
2383
2524
  if self.dbinstance_class is not None:
2384
2525
  result['DBInstanceClass'] = self.dbinstance_class
2526
+ if self.dbinstance_description is not None:
2527
+ result['DBInstanceDescription'] = self.dbinstance_description
2385
2528
  if self.dbinstance_id is not None:
2386
2529
  result['DBInstanceId'] = self.dbinstance_id
2387
2530
  if self.dbinstance_storage is not None:
@@ -2448,6 +2591,8 @@ class CloneDBInstanceRequest(TeaModel):
2448
2591
  self.client_token = m.get('ClientToken')
2449
2592
  if m.get('DBInstanceClass') is not None:
2450
2593
  self.dbinstance_class = m.get('DBInstanceClass')
2594
+ if m.get('DBInstanceDescription') is not None:
2595
+ self.dbinstance_description = m.get('DBInstanceDescription')
2451
2596
  if m.get('DBInstanceId') is not None:
2452
2597
  self.dbinstance_id = m.get('DBInstanceId')
2453
2598
  if m.get('DBInstanceStorage') is not None:
@@ -2509,6 +2654,7 @@ class CloneDBInstanceShrinkRequest(TeaModel):
2509
2654
  category: str = None,
2510
2655
  client_token: str = None,
2511
2656
  dbinstance_class: str = None,
2657
+ dbinstance_description: str = None,
2512
2658
  dbinstance_id: str = None,
2513
2659
  dbinstance_storage: int = None,
2514
2660
  dbinstance_storage_type: str = None,
@@ -2577,6 +2723,10 @@ class CloneDBInstanceShrinkRequest(TeaModel):
2577
2723
  #
2578
2724
  # > By default, the new instance uses the same instance type as the original primary instance.
2579
2725
  self.dbinstance_class = dbinstance_class
2726
+ # The instance name. The value must be 2 to 255 characters in length The value can contain letters, digits, underscores (_), and hyphens (-), and must start with a letter.
2727
+ #
2728
+ # > The value cannot start with http:// or https://.
2729
+ self.dbinstance_description = dbinstance_description
2580
2730
  # The instance ID.
2581
2731
  #
2582
2732
  # This parameter is required.
@@ -2696,6 +2846,8 @@ class CloneDBInstanceShrinkRequest(TeaModel):
2696
2846
  result['ClientToken'] = self.client_token
2697
2847
  if self.dbinstance_class is not None:
2698
2848
  result['DBInstanceClass'] = self.dbinstance_class
2849
+ if self.dbinstance_description is not None:
2850
+ result['DBInstanceDescription'] = self.dbinstance_description
2699
2851
  if self.dbinstance_id is not None:
2700
2852
  result['DBInstanceId'] = self.dbinstance_id
2701
2853
  if self.dbinstance_storage is not None:
@@ -2762,6 +2914,8 @@ class CloneDBInstanceShrinkRequest(TeaModel):
2762
2914
  self.client_token = m.get('ClientToken')
2763
2915
  if m.get('DBInstanceClass') is not None:
2764
2916
  self.dbinstance_class = m.get('DBInstanceClass')
2917
+ if m.get('DBInstanceDescription') is not None:
2918
+ self.dbinstance_description = m.get('DBInstanceDescription')
2765
2919
  if m.get('DBInstanceId') is not None:
2766
2920
  self.dbinstance_id = m.get('DBInstanceId')
2767
2921
  if m.get('DBInstanceStorage') is not None:
@@ -3213,16 +3367,16 @@ class CopyDatabaseRequest(TeaModel):
3213
3367
  ):
3214
3368
  # The instance name.
3215
3369
  self.dbinstance_name = dbinstance_name
3216
- # Destination database name.
3370
+ # The destination database name.
3217
3371
  self.dst_dbname = dst_dbname
3218
3372
  self.owner_id = owner_id
3219
- # Reserve account.
3373
+ # The reserved account.
3220
3374
  self.reserve_account = reserve_account
3221
3375
  # The ID of the resource group.
3222
3376
  self.resource_group_id = resource_group_id
3223
3377
  self.resource_owner_account = resource_owner_account
3224
3378
  self.resource_owner_id = resource_owner_id
3225
- # Source database name.
3379
+ # The source database name.
3226
3380
  self.src_dbname = src_dbname
3227
3381
 
3228
3382
  def validate(self):
@@ -3581,6 +3735,13 @@ class CreateAccountRequest(TeaModel):
3581
3735
  #
3582
3736
  # Before you create a system admin account, check whether the instance meets all prerequisites. For more information, see [Create a system admin account](https://help.aliyun.com/document_detail/170736.html).
3583
3737
  self.account_type = account_type
3738
+ # Specifies whether to use a password policy.
3739
+ #
3740
+ # >
3741
+ #
3742
+ # * This parameter is available only for ApsaraDB RDS for SQL Server instances that do not belong to the shared instance family and do not run SQL Server 2008 R2.
3743
+ #
3744
+ # * Before you call this operation, you must configure a password policy for the account of your instance. For more information, see [Configure a password policy for the account of an ApsaraDB RDS for SQL Server instance](https://help.aliyun.com/document_detail/2848317.html).
3584
3745
  self.check_policy = check_policy
3585
3746
  # The instance ID. You can call the DescribeDBInstances operation to query the instance ID.
3586
3747
  #
@@ -4271,15 +4432,15 @@ class CreateDBInstanceRequestServerlessConfig(TeaModel):
4271
4432
  # * Serverless ApsaraDB RDS for SQL Server instances: **2 to 8**\
4272
4433
  # * Serverless ApsaraDB RDS for PostgreSQL instances: **1 to 14**\
4273
4434
  #
4274
- # > The value of this parameter must be greater than or equal to the value of **MinCapacity** and can be set only to an **integer**.
4435
+ # > The value of this parameter must be greater than or equal to the value of the **MinCapacity** parameter and can be set only to an **integer**.
4275
4436
  self.max_capacity = max_capacity
4276
- # The minimum value of RCUs. Valid values:
4437
+ # The minimum number of RCUs. Valid values:
4277
4438
  #
4278
4439
  # * Serverless ApsaraDB RDS for MySQL instances: **0.5 to 32**.
4279
4440
  # * Serverless ApsaraDB RDS for SQL Server instances: **2 to 8**. Only integers are supported.
4280
4441
  # * Serverless ApsaraDB RDS for PostgreSQL instances: **0.5 to 14**.
4281
4442
  #
4282
- # > The value of this parameter must be less than or equal to the value of **MaxCapacity**.
4443
+ # > The value of this parameter must be less than or equal to the value of the **MaxCapacity** parameter.
4283
4444
  self.min_capacity = min_capacity
4284
4445
  # Specifies whether to enable the forced scaling feature for the serverless instance. Valid values:
4285
4446
  #
@@ -4438,17 +4599,17 @@ class CreateDBInstanceRequest(TeaModel):
4438
4599
  # > * After you submit a request to create multiple ApsaraDB RDS for MySQL instances, this operation returns **TaskId**, **RequestId**, and **Message**. You can call the DescribeDBInstanceAttribute operation to query the information about an instance.
4439
4600
  # > * If the value of the **Engine** parameter is not **MySQL** and the value of the Amount parameter is greater than **1**, this operation fails and returns an error code `InvalidParam.Engine`.
4440
4601
  self.amount = amount
4441
- # Specifies whether to automatically create a proxy. Valid values:
4602
+ # Specifies whether to automatically create a database proxy. Valid values:
4442
4603
  #
4443
- # * **true**: automatically creates a proxy. By default, general-purpose proxies are enabled.
4444
- # * **false**: does not automatically create a proxy.
4604
+ # * **true**: automatically creates a database proxy. By default, a general-purpose database proxy is created.
4605
+ # * **false**: does not automatically create a database proxy.
4445
4606
  self.auto_create_proxy = auto_create_proxy
4446
4607
  # Specifies whether to enable the automatic payment feature. Valid values:
4447
4608
  #
4448
- # * **true**: enables the feature. Make sure that your account balance is sufficient.
4609
+ # * **true**: enables the feature. You must make sure that your account balance is sufficient.
4449
4610
  # * **false**: disables the feature. An unpaid order is generated.
4450
4611
  #
4451
- # > The default value is true. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the ApsaraDB RDS console to complete the payment.
4612
+ # > Default value: true. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the ApsaraDB RDS console to complete the payment.
4452
4613
  self.auto_pay = auto_pay
4453
4614
  # Specifies whether to enable auto-renewal for the instance. You must specify this parameter only if the instance uses the subscription billing method. Valid values:
4454
4615
  #
@@ -4659,9 +4820,13 @@ class CreateDBInstanceRequest(TeaModel):
4659
4820
  # * **VPC**: virtual private cloud (VPC)
4660
4821
  # * **Classic**: the classic network
4661
4822
  #
4662
- # > * If the instance runs MySQL and uses cloud disks, you must set this parameter to **VPC**.
4663
- # > * If the instance runs PostgreSQL or MariaDB, you must set this parameter to **VPC**.
4664
- # > * If the instance runs SQL Server Basic or SQL Server Web, you can set this parameter to VPC or Classic. If the instance runs other database engine, you must set this parameter to **VPC**.
4823
+ # >
4824
+ #
4825
+ # * If the instance runs MySQL and uses cloud disks, you must set this parameter to **VPC**.
4826
+ #
4827
+ # * If the instance runs PostgreSQL or MariaDB, you must set this parameter to **VPC**.
4828
+ #
4829
+ # * If the instance runs SQL Server Basic or SQL Server Web, you can set this parameter to VPC or Classic. If the instance runs other database engine, you must set this parameter to **VPC**.
4665
4830
  self.instance_network_type = instance_network_type
4666
4831
  # Specifies whether to enable the I/O acceleration feature of general ESSDs. Valid values:
4667
4832
  #
@@ -4685,7 +4850,7 @@ class CreateDBInstanceRequest(TeaModel):
4685
4850
  # * **Year**\
4686
4851
  # * **Month**\
4687
4852
  #
4688
- # > If you set the PayType parameter to **Prepaid**, you must specify this parameter.
4853
+ # > If you set the PayType parameter to **Prepaid**, you must also specify this parameter.
4689
4854
  self.period = period
4690
4855
  # The port. You can initialize the port when you create the instance.
4691
4856
  #
@@ -4714,7 +4879,7 @@ class CreateDBInstanceRequest(TeaModel):
4714
4879
  #
4715
4880
  # > ApsaraDB RDS for MariaDB does not support serverless instances.
4716
4881
  self.serverless_config = serverless_config
4717
- # Specifies whether to enable the automatic storage expansion feature for the instance. This feature is supported if the instance runs MySQL or PostgreSQL. Valid values:
4882
+ # Specifies whether to enable the automatic storage expansion feature for the instance. If the instance runs MySQL or PostgreSQL, this feature is supported. Valid values:
4718
4883
  #
4719
4884
  # * **Enable**\
4720
4885
  # * **Disable** (default)
@@ -4729,7 +4894,7 @@ class CreateDBInstanceRequest(TeaModel):
4729
4894
  # * **40**\
4730
4895
  # * **50**\
4731
4896
  #
4732
- # > If you set the **StorageAutoScale** parameter to **Enable**, you must specify this parameter.
4897
+ # > If you set the **StorageAutoScale** parameter to **Enable**, you must also specify this parameter.
4733
4898
  self.storage_threshold = storage_threshold
4734
4899
  # The maximum storage capacity that is allowed for automatic storage expansion. The storage capacity of the instance cannot exceed the maximum storage capacity. Unit: GB.
4735
4900
  #
@@ -4778,12 +4943,12 @@ class CreateDBInstanceRequest(TeaModel):
4778
4943
  #
4779
4944
  # > If you configure the **BabelfishConfig** parameter for your instance that runs PostgreSQL and set the babelfishEnabled field to true, the value of this parameter is in the following format: `rds_postgres_Major engine version00_AliPG version_babelfish`.
4780
4945
  self.target_minor_version = target_minor_version
4781
- # The subscription duration of the instance.
4946
+ # The subscription duration of the instance. Valid values:
4782
4947
  #
4783
4948
  # * If you set the **Period** parameter to **Year**, the value of the **UsedTime** parameter ranges from **1 to 5**.
4784
4949
  # * If you set the **Period** parameter to **Month**, the value of the **UsedTime** parameter ranges from **1 to 11**.
4785
4950
  #
4786
- # > If you set the PayType parameter to **Prepaid**, you must specify this parameter.
4951
+ # > If you set the PayType parameter to **Prepaid**, you must also specify this parameter.
4787
4952
  self.used_time = used_time
4788
4953
  # The ID of the full backup file. You can call the ListUserBackupFiles operation to query the ID of the full backup file. If you want to create an instance by using the data of a backup file, you must specify this parameter.
4789
4954
  #
@@ -5189,17 +5354,17 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5189
5354
  # > * After you submit a request to create multiple ApsaraDB RDS for MySQL instances, this operation returns **TaskId**, **RequestId**, and **Message**. You can call the DescribeDBInstanceAttribute operation to query the information about an instance.
5190
5355
  # > * If the value of the **Engine** parameter is not **MySQL** and the value of the Amount parameter is greater than **1**, this operation fails and returns an error code `InvalidParam.Engine`.
5191
5356
  self.amount = amount
5192
- # Specifies whether to automatically create a proxy. Valid values:
5357
+ # Specifies whether to automatically create a database proxy. Valid values:
5193
5358
  #
5194
- # * **true**: automatically creates a proxy. By default, general-purpose proxies are enabled.
5195
- # * **false**: does not automatically create a proxy.
5359
+ # * **true**: automatically creates a database proxy. By default, a general-purpose database proxy is created.
5360
+ # * **false**: does not automatically create a database proxy.
5196
5361
  self.auto_create_proxy = auto_create_proxy
5197
5362
  # Specifies whether to enable the automatic payment feature. Valid values:
5198
5363
  #
5199
- # * **true**: enables the feature. Make sure that your account balance is sufficient.
5364
+ # * **true**: enables the feature. You must make sure that your account balance is sufficient.
5200
5365
  # * **false**: disables the feature. An unpaid order is generated.
5201
5366
  #
5202
- # > The default value is true. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the ApsaraDB RDS console to complete the payment.
5367
+ # > Default value: true. If your account balance is insufficient, you can set the AutoPay parameter to false to generate an unpaid order. Then, you can log on to the ApsaraDB RDS console to complete the payment.
5203
5368
  self.auto_pay = auto_pay
5204
5369
  # Specifies whether to enable auto-renewal for the instance. You must specify this parameter only if the instance uses the subscription billing method. Valid values:
5205
5370
  #
@@ -5410,9 +5575,13 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5410
5575
  # * **VPC**: virtual private cloud (VPC)
5411
5576
  # * **Classic**: the classic network
5412
5577
  #
5413
- # > * If the instance runs MySQL and uses cloud disks, you must set this parameter to **VPC**.
5414
- # > * If the instance runs PostgreSQL or MariaDB, you must set this parameter to **VPC**.
5415
- # > * If the instance runs SQL Server Basic or SQL Server Web, you can set this parameter to VPC or Classic. If the instance runs other database engine, you must set this parameter to **VPC**.
5578
+ # >
5579
+ #
5580
+ # * If the instance runs MySQL and uses cloud disks, you must set this parameter to **VPC**.
5581
+ #
5582
+ # * If the instance runs PostgreSQL or MariaDB, you must set this parameter to **VPC**.
5583
+ #
5584
+ # * If the instance runs SQL Server Basic or SQL Server Web, you can set this parameter to VPC or Classic. If the instance runs other database engine, you must set this parameter to **VPC**.
5416
5585
  self.instance_network_type = instance_network_type
5417
5586
  # Specifies whether to enable the I/O acceleration feature of general ESSDs. Valid values:
5418
5587
  #
@@ -5436,7 +5605,7 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5436
5605
  # * **Year**\
5437
5606
  # * **Month**\
5438
5607
  #
5439
- # > If you set the PayType parameter to **Prepaid**, you must specify this parameter.
5608
+ # > If you set the PayType parameter to **Prepaid**, you must also specify this parameter.
5440
5609
  self.period = period
5441
5610
  # The port. You can initialize the port when you create the instance.
5442
5611
  #
@@ -5465,7 +5634,7 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5465
5634
  #
5466
5635
  # > ApsaraDB RDS for MariaDB does not support serverless instances.
5467
5636
  self.serverless_config_shrink = serverless_config_shrink
5468
- # Specifies whether to enable the automatic storage expansion feature for the instance. This feature is supported if the instance runs MySQL or PostgreSQL. Valid values:
5637
+ # Specifies whether to enable the automatic storage expansion feature for the instance. If the instance runs MySQL or PostgreSQL, this feature is supported. Valid values:
5469
5638
  #
5470
5639
  # * **Enable**\
5471
5640
  # * **Disable** (default)
@@ -5480,7 +5649,7 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5480
5649
  # * **40**\
5481
5650
  # * **50**\
5482
5651
  #
5483
- # > If you set the **StorageAutoScale** parameter to **Enable**, you must specify this parameter.
5652
+ # > If you set the **StorageAutoScale** parameter to **Enable**, you must also specify this parameter.
5484
5653
  self.storage_threshold = storage_threshold
5485
5654
  # The maximum storage capacity that is allowed for automatic storage expansion. The storage capacity of the instance cannot exceed the maximum storage capacity. Unit: GB.
5486
5655
  #
@@ -5529,12 +5698,12 @@ class CreateDBInstanceShrinkRequest(TeaModel):
5529
5698
  #
5530
5699
  # > If you configure the **BabelfishConfig** parameter for your instance that runs PostgreSQL and set the babelfishEnabled field to true, the value of this parameter is in the following format: `rds_postgres_Major engine version00_AliPG version_babelfish`.
5531
5700
  self.target_minor_version = target_minor_version
5532
- # The subscription duration of the instance.
5701
+ # The subscription duration of the instance. Valid values:
5533
5702
  #
5534
5703
  # * If you set the **Period** parameter to **Year**, the value of the **UsedTime** parameter ranges from **1 to 5**.
5535
5704
  # * If you set the **Period** parameter to **Month**, the value of the **UsedTime** parameter ranges from **1 to 11**.
5536
5705
  #
5537
- # > If you set the PayType parameter to **Prepaid**, you must specify this parameter.
5706
+ # > If you set the PayType parameter to **Prepaid**, you must also specify this parameter.
5538
5707
  self.used_time = used_time
5539
5708
  # The ID of the full backup file. You can call the ListUserBackupFiles operation to query the ID of the full backup file. If you want to create an instance by using the data of a backup file, you must specify this parameter.
5540
5709
  #
@@ -10607,13 +10776,36 @@ class CreateRCDeploymentSetRequest(TeaModel):
10607
10776
  region_id: str = None,
10608
10777
  strategy: str = None,
10609
10778
  ):
10779
+ # The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, 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.
10610
10780
  self.client_token = client_token
10781
+ # The deployment set name. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain letters, digits, colons (.), underscores (_), and hyphens (-).
10611
10782
  self.deployment_set_name = deployment_set_name
10783
+ # The description of the deployment set. The value must be 2 to 256 characters in length and cannot start with http:// or https://.
10612
10784
  self.description = description
10785
+ # The number of groups in the deployment set. Valid values: 1 to 7.
10786
+ #
10787
+ # Default value: 3.
10788
+ #
10789
+ # > This parameter takes effect only when `Strategy is set to AvailabilityGroup`.
10613
10790
  self.group_count = group_count
10791
+ # The emergency solution to use in the scenario in which instances in the deployment set cannot be evenly distributed to different zones due to resource insufficiency after the instances failover. Valid values:
10792
+ #
10793
+ # * **CancelMembershipAndStart**: removes the instances from the deployment set and restarts the instances immediately after the failover is complete.
10794
+ # * **KeepStopped**: does not remove the instances from the deployment set and keeps the instances in the Stopped state.
10795
+ #
10796
+ # Default value: CancelMembershipAndStart.
10614
10797
  self.on_unable_to_redeploy_failed_instance = on_unable_to_redeploy_failed_instance
10798
+ # The region ID.
10799
+ #
10615
10800
  # This parameter is required.
10616
10801
  self.region_id = region_id
10802
+ # The deployment strategy. Valid values:
10803
+ #
10804
+ # * **Availability**: high-availability strategy
10805
+ # * **AvailabilityGroup**: high-availability group strategy
10806
+ # * **LowLatency**: low latency strategy
10807
+ #
10808
+ # Default value: Availability.
10617
10809
  self.strategy = strategy
10618
10810
 
10619
10811
  def validate(self):
@@ -10666,7 +10858,9 @@ class CreateRCDeploymentSetResponseBody(TeaModel):
10666
10858
  deployment_set_id: str = None,
10667
10859
  request_id: str = None,
10668
10860
  ):
10861
+ # The deployment set ID.
10669
10862
  self.deployment_set_id = deployment_set_id
10863
+ # The request ID.
10670
10864
  self.request_id = request_id
10671
10865
 
10672
10866
  def validate(self):
@@ -12442,11 +12636,8 @@ class DeleteBackupFileRequest(TeaModel):
12442
12636
  ):
12443
12637
  # The backup set ID. You can specify the IDs of up to 100 backup sets at a time. Separate the IDs with commas (,).
12444
12638
  #
12445
- # >
12446
- #
12447
- # * If the instance runs SQL Server, only the ID of the backup set for an individual database is supported.
12448
- #
12449
- # * You can call the DescribeBackups operation to query the backup set ID.
12639
+ # > * If the instance runs SQL Server, only the ID of the backup set for an individual database is supported.
12640
+ # > * You can call the DescribeBackups operation to query the backup set ID.
12450
12641
  self.backup_id = backup_id
12451
12642
  # Specifies whether to delete the backup sets that are generated before the specified point in time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
12452
12643
  self.backup_time = backup_time
@@ -14312,8 +14503,12 @@ class DeleteRCDeploymentSetRequest(TeaModel):
14312
14503
  deployment_set_id: str = None,
14313
14504
  region_id: str = None,
14314
14505
  ):
14506
+ # The deployment set ID.
14507
+ #
14315
14508
  # This parameter is required.
14316
14509
  self.deployment_set_id = deployment_set_id
14510
+ # The region ID.
14511
+ #
14317
14512
  # This parameter is required.
14318
14513
  self.region_id = region_id
14319
14514
 
@@ -14346,6 +14541,7 @@ class DeleteRCDeploymentSetResponseBody(TeaModel):
14346
14541
  self,
14347
14542
  request_id: str = None,
14348
14543
  ):
14544
+ # The request ID.
14349
14545
  self.request_id = request_id
14350
14546
 
14351
14547
  def validate(self):
@@ -14527,11 +14723,26 @@ class DeleteRCInstancesRequest(TeaModel):
14527
14723
  region_id: str = None,
14528
14724
  terminate_subscription: bool = None,
14529
14725
  ):
14726
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
14727
+ #
14728
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors.
14729
+ # * **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the instance is created.
14530
14730
  self.dry_run = dry_run
14731
+ # Specifies whether to forcefully release a running instance. Valid values:
14732
+ #
14733
+ # * **Yes**\
14734
+ # * **No** (default)
14531
14735
  self.force = force
14736
+ # The details of the instance.
14737
+ #
14532
14738
  # This parameter is required.
14533
14739
  self.instance_id = instance_id
14740
+ # The region ID of the instance.
14534
14741
  self.region_id = region_id
14742
+ # Specifies whether to release an expired subscription instance. Valid values:
14743
+ #
14744
+ # * **true**\
14745
+ # * **false** (default)
14535
14746
  self.terminate_subscription = terminate_subscription
14536
14747
 
14537
14748
  def validate(self):
@@ -14579,11 +14790,26 @@ class DeleteRCInstancesShrinkRequest(TeaModel):
14579
14790
  region_id: str = None,
14580
14791
  terminate_subscription: bool = None,
14581
14792
  ):
14793
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
14794
+ #
14795
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors.
14796
+ # * **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the instance is created.
14582
14797
  self.dry_run = dry_run
14798
+ # Specifies whether to forcefully release a running instance. Valid values:
14799
+ #
14800
+ # * **Yes**\
14801
+ # * **No** (default)
14583
14802
  self.force = force
14803
+ # The details of the instance.
14804
+ #
14584
14805
  # This parameter is required.
14585
14806
  self.instance_id_shrink = instance_id_shrink
14807
+ # The region ID of the instance.
14586
14808
  self.region_id = region_id
14809
+ # Specifies whether to release an expired subscription instance. Valid values:
14810
+ #
14811
+ # * **true**\
14812
+ # * **false** (default)
14587
14813
  self.terminate_subscription = terminate_subscription
14588
14814
 
14589
14815
  def validate(self):
@@ -14627,6 +14853,7 @@ class DeleteRCInstancesResponseBody(TeaModel):
14627
14853
  self,
14628
14854
  request_id: str = None,
14629
14855
  ):
14856
+ # The request ID.
14630
14857
  self.request_id = request_id
14631
14858
 
14632
14859
  def validate(self):
@@ -15055,8 +15282,8 @@ class DeleteSlotRequest(TeaModel):
15055
15282
  self.slot_name = slot_name
15056
15283
  # The status of the replication slot. You can call the DescribeSlots operation to query the status of the replication slot. Valid values:
15057
15284
  #
15058
- # * ACTIVE
15059
- # * INACTIVE
15285
+ # * **ACTIVE**\
15286
+ # * **INACTIVE**\
15060
15287
  #
15061
15288
  # This parameter is required.
15062
15289
  self.slot_status = slot_status
@@ -16057,7 +16284,7 @@ class DescribeAccountsRequest(TeaModel):
16057
16284
  self.dbinstance_id = dbinstance_id
16058
16285
  # The page number. Default value: **1**. Pages start from page 1.
16059
16286
  self.page_number = page_number
16060
- # The number of entries to return on each page. Valid value: **30 to 200**. Default value: **30**.
16287
+ # The number of entries per page. Valid values: **30 to 200**. Default value: **30**.
16061
16288
  self.page_size = page_size
16062
16289
  self.resource_owner_account = resource_owner_account
16063
16290
  self.resource_owner_id = resource_owner_id
@@ -16225,6 +16452,9 @@ class DescribeAccountsResponseBodyAccountsDBInstanceAccount(TeaModel):
16225
16452
  #
16226
16453
  # > This parameter is returned only for instances that run PostgreSQL.
16227
16454
  self.bypass_rls = bypass_rls
16455
+ # Indicates whether the password policy is applied.
16456
+ #
16457
+ # > This parameter is returned only for instances that run SQL Server.
16228
16458
  self.check_policy = check_policy
16229
16459
  # Indicates whether the account has the permissions to create databases. Valid values:
16230
16460
  #
@@ -16244,6 +16474,9 @@ class DescribeAccountsResponseBodyAccountsDBInstanceAccount(TeaModel):
16244
16474
  self.dbinstance_id = dbinstance_id
16245
16475
  # The details about the permissions that are granted to the account.
16246
16476
  self.database_privileges = database_privileges
16477
+ # The expiration time of the password.
16478
+ #
16479
+ # > This parameter is returned only for instances that run SQL Server.
16247
16480
  self.password_expire_time = password_expire_time
16248
16481
  # Indicates whether the number of databases that are managed by the account exceeds the upper limit. Valid values:
16249
16482
  #
@@ -16385,7 +16618,7 @@ class DescribeAccountsResponseBody(TeaModel):
16385
16618
  system_admin_account_status: str = None,
16386
16619
  total_record_count: int = None,
16387
16620
  ):
16388
- # The details of the account.
16621
+ # The information about the account.
16389
16622
  self.accounts = accounts
16390
16623
  # The page number.
16391
16624
  self.page_number = page_number
@@ -17644,11 +17877,11 @@ class DescribeAvailableClassesRequest(TeaModel):
17644
17877
  #
17645
17878
  # * **local_ssd**: local SSD. This is the recommended storage type.
17646
17879
  # * **cloud_ssd**: standard SSD.
17647
- # * **cloud_essd**: enhanced SSDs (ESSDs) of performance level 1 (PL1)
17648
- # * **cloud_essd2**: ESSDs of PL2
17649
- # * **cloud_essd3**: ESSD of PL3
17880
+ # * **cloud_essd**: performance level 1 (PL1) Enterprise SSD (ESSD)
17881
+ # * **cloud_essd2**: PL2 ESSD
17882
+ # * **cloud_essd3**: PL3 ESSD
17650
17883
  #
17651
- # > Serverless instances support only ESSDs of PL 1. For a serverless instance, you must set this parameter to **cloud_essd**.
17884
+ # > Serverless instances use only PL1 ESSDs. If you want to create a serverless instance, you must set this parameter to **cloud_essd**.
17652
17885
  #
17653
17886
  # This parameter is required.
17654
17887
  self.dbinstance_storage_type = dbinstance_storage_type
@@ -17688,7 +17921,7 @@ class DescribeAvailableClassesRequest(TeaModel):
17688
17921
  #
17689
17922
  # > ApsaraDB RDS for MariaDB does not support serverless instances.
17690
17923
  self.instance_charge_type = instance_charge_type
17691
- # The type of the order. Set the value to **BUY**\
17924
+ # The type of order. Set the value to **BUY**\
17692
17925
  self.order_type = order_type
17693
17926
  # The region ID of the instance. You can call the DescribeDBInstanceAttribute operation to query the region ID of the instance.
17694
17927
  #
@@ -24261,9 +24494,10 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttributeExtra(TeaMo
24261
24494
  dbinstance_ids: DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttributeExtraDBInstanceIds = None,
24262
24495
  recovery_model: str = None,
24263
24496
  ):
24264
- # Instance account group policy.
24265
- # - MaximumPasswordAge: Maximum usage time
24266
- # - MinimumPasswordAge: Minimum usage time
24497
+ # The group policy of the instance account.
24498
+ #
24499
+ # * MaximumPasswordAge: maximum use time
24500
+ # * MinimumPasswordAge: minimum use time
24267
24501
  self.account_security_policy = account_security_policy
24268
24502
  # The instance IDs.
24269
24503
  self.dbinstance_ids = dbinstance_ids
@@ -24542,6 +24776,7 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24542
24776
  max_connections: int = None,
24543
24777
  max_iombps: int = None,
24544
24778
  max_iops: int = None,
24779
+ multiple_temp_upgrade: bool = None,
24545
24780
  pgbouncer_enabled: str = None,
24546
24781
  pay_type: str = None,
24547
24782
  port: str = None,
@@ -24639,7 +24874,7 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24639
24874
  self.dbinstance_class_type = dbinstance_class_type
24640
24875
  # The instance description.
24641
24876
  self.dbinstance_description = dbinstance_description
24642
- # The disk usage of the instance. Unit: MB.
24877
+ # The disk usage of the instance. Unit: byte.
24643
24878
  self.dbinstance_disk_used = dbinstance_disk_used
24644
24879
  # The instance ID.
24645
24880
  self.dbinstance_id = dbinstance_id
@@ -24677,7 +24912,7 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24677
24912
  # * **true**\
24678
24913
  # * **false**\
24679
24914
  self.deletion_protection = deletion_protection
24680
- # Disaster recovery source instance information.
24915
+ # Disaster Recovery Instance Information
24681
24916
  self.disaster_recovery_info = disaster_recovery_info
24682
24917
  # All disaster recovery instances of the current instance.
24683
24918
  self.disaster_recovery_instances = disaster_recovery_instances
@@ -24694,7 +24929,7 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24694
24929
  #
24695
24930
  # > Pay-as-you-go instances never expire.
24696
24931
  self.expire_time = expire_time
24697
- # The extended information of the instance.
24932
+ # The extended information about the instance.
24698
24933
  self.extra = extra
24699
24934
  # The name of the dedicated cluster to which the instance belongs. This parameter is returned only when the instance is created in an ApsaraDB MyBase cluster that runs MySQL on Standard Edition.
24700
24935
  self.general_group_name = general_group_name
@@ -24743,6 +24978,7 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24743
24978
  self.max_iombps = max_iombps
24744
24979
  # The maximum number of I/O requests per second.
24745
24980
  self.max_iops = max_iops
24981
+ self.multiple_temp_upgrade = multiple_temp_upgrade
24746
24982
  # Indicates whether PgBouncer is enabled.
24747
24983
  #
24748
24984
  # > This parameter is returned only for RDS instances that run PostgreSQL. If PgBouncer is enabled, the return value is **true**.
@@ -24943,6 +25179,8 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
24943
25179
  result['MaxIOMBPS'] = self.max_iombps
24944
25180
  if self.max_iops is not None:
24945
25181
  result['MaxIOPS'] = self.max_iops
25182
+ if self.multiple_temp_upgrade is not None:
25183
+ result['MultipleTempUpgrade'] = self.multiple_temp_upgrade
24946
25184
  if self.pgbouncer_enabled is not None:
24947
25185
  result['PGBouncerEnabled'] = self.pgbouncer_enabled
24948
25186
  if self.pay_type is not None:
@@ -25106,6 +25344,8 @@ class DescribeDBInstanceAttributeResponseBodyItemsDBInstanceAttribute(TeaModel):
25106
25344
  self.max_iombps = m.get('MaxIOMBPS')
25107
25345
  if m.get('MaxIOPS') is not None:
25108
25346
  self.max_iops = m.get('MaxIOPS')
25347
+ if m.get('MultipleTempUpgrade') is not None:
25348
+ self.multiple_temp_upgrade = m.get('MultipleTempUpgrade')
25109
25349
  if m.get('PGBouncerEnabled') is not None:
25110
25350
  self.pgbouncer_enabled = m.get('PGBouncerEnabled')
25111
25351
  if m.get('PayType') is not None:
@@ -33625,6 +33865,80 @@ class DescribeDBProxyResponseBodyDBProxyConnectStringItems(TeaModel):
33625
33865
  return self
33626
33866
 
33627
33867
 
33868
+ class DescribeDBProxyResponseBodyDBProxyNodesDBProxyNodes(TeaModel):
33869
+ def __init__(
33870
+ self,
33871
+ cpu_cores: str = None,
33872
+ node_id: str = None,
33873
+ zone_id: str = None,
33874
+ ):
33875
+ self.cpu_cores = cpu_cores
33876
+ self.node_id = node_id
33877
+ self.zone_id = zone_id
33878
+
33879
+ def validate(self):
33880
+ pass
33881
+
33882
+ def to_map(self):
33883
+ _map = super().to_map()
33884
+ if _map is not None:
33885
+ return _map
33886
+
33887
+ result = dict()
33888
+ if self.cpu_cores is not None:
33889
+ result['cpuCores'] = self.cpu_cores
33890
+ if self.node_id is not None:
33891
+ result['nodeId'] = self.node_id
33892
+ if self.zone_id is not None:
33893
+ result['zoneId'] = self.zone_id
33894
+ return result
33895
+
33896
+ def from_map(self, m: dict = None):
33897
+ m = m or dict()
33898
+ if m.get('cpuCores') is not None:
33899
+ self.cpu_cores = m.get('cpuCores')
33900
+ if m.get('nodeId') is not None:
33901
+ self.node_id = m.get('nodeId')
33902
+ if m.get('zoneId') is not None:
33903
+ self.zone_id = m.get('zoneId')
33904
+ return self
33905
+
33906
+
33907
+ class DescribeDBProxyResponseBodyDBProxyNodes(TeaModel):
33908
+ def __init__(
33909
+ self,
33910
+ dbproxy_nodes: List[DescribeDBProxyResponseBodyDBProxyNodesDBProxyNodes] = None,
33911
+ ):
33912
+ self.dbproxy_nodes = dbproxy_nodes
33913
+
33914
+ def validate(self):
33915
+ if self.dbproxy_nodes:
33916
+ for k in self.dbproxy_nodes:
33917
+ if k:
33918
+ k.validate()
33919
+
33920
+ def to_map(self):
33921
+ _map = super().to_map()
33922
+ if _map is not None:
33923
+ return _map
33924
+
33925
+ result = dict()
33926
+ result['DBProxyNodes'] = []
33927
+ if self.dbproxy_nodes is not None:
33928
+ for k in self.dbproxy_nodes:
33929
+ result['DBProxyNodes'].append(k.to_map() if k else None)
33930
+ return result
33931
+
33932
+ def from_map(self, m: dict = None):
33933
+ m = m or dict()
33934
+ self.dbproxy_nodes = []
33935
+ if m.get('DBProxyNodes') is not None:
33936
+ for k in m.get('DBProxyNodes'):
33937
+ temp_model = DescribeDBProxyResponseBodyDBProxyNodesDBProxyNodes()
33938
+ self.dbproxy_nodes.append(temp_model.from_map(k))
33939
+ return self
33940
+
33941
+
33628
33942
  class DescribeDBProxyResponseBodyDbProxyEndpointItemsDbProxyEndpointItems(TeaModel):
33629
33943
  def __init__(
33630
33944
  self,
@@ -33728,6 +34042,8 @@ class DescribeDBProxyResponseBody(TeaModel):
33728
34042
  dbproxy_instance_size: str = None,
33729
34043
  dbproxy_instance_status: str = None,
33730
34044
  dbproxy_instance_type: str = None,
34045
+ dbproxy_kind_code: str = None,
34046
+ dbproxy_nodes: DescribeDBProxyResponseBodyDBProxyNodes = None,
33731
34047
  dbproxy_persistent_connection_status: str = None,
33732
34048
  dbproxy_service_status: str = None,
33733
34049
  db_proxy_endpoint_items: DescribeDBProxyResponseBodyDbProxyEndpointItems = None,
@@ -33768,6 +34084,8 @@ class DescribeDBProxyResponseBody(TeaModel):
33768
34084
  #
33769
34085
  # > ApsaraDB RDS for PostgreSQL instances support only dedicated proxies.
33770
34086
  self.dbproxy_instance_type = dbproxy_instance_type
34087
+ self.dbproxy_kind_code = dbproxy_kind_code
34088
+ self.dbproxy_nodes = dbproxy_nodes
33771
34089
  # Connection Persistence State.
33772
34090
  #
33773
34091
  # Valid values:
@@ -33792,6 +34110,8 @@ class DescribeDBProxyResponseBody(TeaModel):
33792
34110
  self.dbproxy_avzones.validate()
33793
34111
  if self.dbproxy_connect_string_items:
33794
34112
  self.dbproxy_connect_string_items.validate()
34113
+ if self.dbproxy_nodes:
34114
+ self.dbproxy_nodes.validate()
33795
34115
  if self.db_proxy_endpoint_items:
33796
34116
  self.db_proxy_endpoint_items.validate()
33797
34117
 
@@ -33821,6 +34141,10 @@ class DescribeDBProxyResponseBody(TeaModel):
33821
34141
  result['DBProxyInstanceStatus'] = self.dbproxy_instance_status
33822
34142
  if self.dbproxy_instance_type is not None:
33823
34143
  result['DBProxyInstanceType'] = self.dbproxy_instance_type
34144
+ if self.dbproxy_kind_code is not None:
34145
+ result['DBProxyKindCode'] = self.dbproxy_kind_code
34146
+ if self.dbproxy_nodes is not None:
34147
+ result['DBProxyNodes'] = self.dbproxy_nodes.to_map()
33824
34148
  if self.dbproxy_persistent_connection_status is not None:
33825
34149
  result['DBProxyPersistentConnectionStatus'] = self.dbproxy_persistent_connection_status
33826
34150
  if self.dbproxy_service_status is not None:
@@ -33857,6 +34181,11 @@ class DescribeDBProxyResponseBody(TeaModel):
33857
34181
  self.dbproxy_instance_status = m.get('DBProxyInstanceStatus')
33858
34182
  if m.get('DBProxyInstanceType') is not None:
33859
34183
  self.dbproxy_instance_type = m.get('DBProxyInstanceType')
34184
+ if m.get('DBProxyKindCode') is not None:
34185
+ self.dbproxy_kind_code = m.get('DBProxyKindCode')
34186
+ if m.get('DBProxyNodes') is not None:
34187
+ temp_model = DescribeDBProxyResponseBodyDBProxyNodes()
34188
+ self.dbproxy_nodes = temp_model.from_map(m['DBProxyNodes'])
33860
34189
  if m.get('DBProxyPersistentConnectionStatus') is not None:
33861
34190
  self.dbproxy_persistent_connection_status = m.get('DBProxyPersistentConnectionStatus')
33862
34191
  if m.get('DBProxyServiceStatus') is not None:
@@ -33988,6 +34317,80 @@ class DescribeDBProxyEndpointRequest(TeaModel):
33988
34317
  return self
33989
34318
 
33990
34319
 
34320
+ class DescribeDBProxyEndpointResponseBodyDBProxyNodesDBProxyNodes(TeaModel):
34321
+ def __init__(
34322
+ self,
34323
+ cpu_cores: str = None,
34324
+ node_id: str = None,
34325
+ zone_id: str = None,
34326
+ ):
34327
+ self.cpu_cores = cpu_cores
34328
+ self.node_id = node_id
34329
+ self.zone_id = zone_id
34330
+
34331
+ def validate(self):
34332
+ pass
34333
+
34334
+ def to_map(self):
34335
+ _map = super().to_map()
34336
+ if _map is not None:
34337
+ return _map
34338
+
34339
+ result = dict()
34340
+ if self.cpu_cores is not None:
34341
+ result['cpuCores'] = self.cpu_cores
34342
+ if self.node_id is not None:
34343
+ result['nodeId'] = self.node_id
34344
+ if self.zone_id is not None:
34345
+ result['zoneId'] = self.zone_id
34346
+ return result
34347
+
34348
+ def from_map(self, m: dict = None):
34349
+ m = m or dict()
34350
+ if m.get('cpuCores') is not None:
34351
+ self.cpu_cores = m.get('cpuCores')
34352
+ if m.get('nodeId') is not None:
34353
+ self.node_id = m.get('nodeId')
34354
+ if m.get('zoneId') is not None:
34355
+ self.zone_id = m.get('zoneId')
34356
+ return self
34357
+
34358
+
34359
+ class DescribeDBProxyEndpointResponseBodyDBProxyNodes(TeaModel):
34360
+ def __init__(
34361
+ self,
34362
+ dbproxy_nodes: List[DescribeDBProxyEndpointResponseBodyDBProxyNodesDBProxyNodes] = None,
34363
+ ):
34364
+ self.dbproxy_nodes = dbproxy_nodes
34365
+
34366
+ def validate(self):
34367
+ if self.dbproxy_nodes:
34368
+ for k in self.dbproxy_nodes:
34369
+ if k:
34370
+ k.validate()
34371
+
34372
+ def to_map(self):
34373
+ _map = super().to_map()
34374
+ if _map is not None:
34375
+ return _map
34376
+
34377
+ result = dict()
34378
+ result['DBProxyNodes'] = []
34379
+ if self.dbproxy_nodes is not None:
34380
+ for k in self.dbproxy_nodes:
34381
+ result['DBProxyNodes'].append(k.to_map() if k else None)
34382
+ return result
34383
+
34384
+ def from_map(self, m: dict = None):
34385
+ m = m or dict()
34386
+ self.dbproxy_nodes = []
34387
+ if m.get('DBProxyNodes') is not None:
34388
+ for k in m.get('DBProxyNodes'):
34389
+ temp_model = DescribeDBProxyEndpointResponseBodyDBProxyNodesDBProxyNodes()
34390
+ self.dbproxy_nodes.append(temp_model.from_map(k))
34391
+ return self
34392
+
34393
+
33991
34394
  class DescribeDBProxyEndpointResponseBodyEndpointConnectItemsEndpointConnectItems(TeaModel):
33992
34395
  def __init__(
33993
34396
  self,
@@ -34078,8 +34481,11 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34078
34481
  dbproxy_endpoint_id: str = None,
34079
34482
  dbproxy_engine_type: str = None,
34080
34483
  dbproxy_features: str = None,
34484
+ dbproxy_nodes: DescribeDBProxyEndpointResponseBodyDBProxyNodes = None,
34081
34485
  db_proxy_endpoint_aliases: str = None,
34082
34486
  db_proxy_endpoint_read_write_mode: str = None,
34487
+ db_proxy_endpoint_vswitch_id: str = None,
34488
+ db_proxy_endpoint_zone_id: str = None,
34083
34489
  endpoint_connect_items: DescribeDBProxyEndpointResponseBodyEndpointConnectItems = None,
34084
34490
  read_only_instance_distribution_type: str = None,
34085
34491
  read_only_instance_max_delay_time: str = None,
@@ -34108,6 +34514,7 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34108
34514
  #
34109
34515
  # > If the instance runs PostgreSQL, you can change only the value of the **ReadWriteSpliting** field. The **TransactionReadSqlRouteOptimizeStatus** and **PinPreparedStmt** fields are set to their default values 1.
34110
34516
  self.dbproxy_features = dbproxy_features
34517
+ self.dbproxy_nodes = dbproxy_nodes
34111
34518
  # The description of the proxy terminal.
34112
34519
  self.db_proxy_endpoint_aliases = db_proxy_endpoint_aliases
34113
34520
  # The read and write attributes of the proxy terminal. Valid values:
@@ -34115,6 +34522,8 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34115
34522
  # * **ReadWrite**: The proxy terminal supports read and write requests.
34116
34523
  # * **ReadOnly**: The proxy terminal supports only read requests.
34117
34524
  self.db_proxy_endpoint_read_write_mode = db_proxy_endpoint_read_write_mode
34525
+ self.db_proxy_endpoint_vswitch_id = db_proxy_endpoint_vswitch_id
34526
+ self.db_proxy_endpoint_zone_id = db_proxy_endpoint_zone_id
34118
34527
  # An array that consists of the information about the proxy endpoint.
34119
34528
  self.endpoint_connect_items = endpoint_connect_items
34120
34529
  # The method that is used to assign read weights. For more information, see [Modify the latency threshold and read weights of ApsaraDB RDS for MySQL instances](https://help.aliyun.com/document_detail/96076.html). Valid values:
@@ -34136,6 +34545,8 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34136
34545
  self.request_id = request_id
34137
34546
 
34138
34547
  def validate(self):
34548
+ if self.dbproxy_nodes:
34549
+ self.dbproxy_nodes.validate()
34139
34550
  if self.endpoint_connect_items:
34140
34551
  self.endpoint_connect_items.validate()
34141
34552
 
@@ -34157,10 +34568,16 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34157
34568
  result['DBProxyEngineType'] = self.dbproxy_engine_type
34158
34569
  if self.dbproxy_features is not None:
34159
34570
  result['DBProxyFeatures'] = self.dbproxy_features
34571
+ if self.dbproxy_nodes is not None:
34572
+ result['DBProxyNodes'] = self.dbproxy_nodes.to_map()
34160
34573
  if self.db_proxy_endpoint_aliases is not None:
34161
34574
  result['DbProxyEndpointAliases'] = self.db_proxy_endpoint_aliases
34162
34575
  if self.db_proxy_endpoint_read_write_mode is not None:
34163
34576
  result['DbProxyEndpointReadWriteMode'] = self.db_proxy_endpoint_read_write_mode
34577
+ if self.db_proxy_endpoint_vswitch_id is not None:
34578
+ result['DbProxyEndpointVswitchId'] = self.db_proxy_endpoint_vswitch_id
34579
+ if self.db_proxy_endpoint_zone_id is not None:
34580
+ result['DbProxyEndpointZoneId'] = self.db_proxy_endpoint_zone_id
34164
34581
  if self.endpoint_connect_items is not None:
34165
34582
  result['EndpointConnectItems'] = self.endpoint_connect_items.to_map()
34166
34583
  if self.read_only_instance_distribution_type is not None:
@@ -34187,10 +34604,17 @@ class DescribeDBProxyEndpointResponseBody(TeaModel):
34187
34604
  self.dbproxy_engine_type = m.get('DBProxyEngineType')
34188
34605
  if m.get('DBProxyFeatures') is not None:
34189
34606
  self.dbproxy_features = m.get('DBProxyFeatures')
34607
+ if m.get('DBProxyNodes') is not None:
34608
+ temp_model = DescribeDBProxyEndpointResponseBodyDBProxyNodes()
34609
+ self.dbproxy_nodes = temp_model.from_map(m['DBProxyNodes'])
34190
34610
  if m.get('DbProxyEndpointAliases') is not None:
34191
34611
  self.db_proxy_endpoint_aliases = m.get('DbProxyEndpointAliases')
34192
34612
  if m.get('DbProxyEndpointReadWriteMode') is not None:
34193
34613
  self.db_proxy_endpoint_read_write_mode = m.get('DbProxyEndpointReadWriteMode')
34614
+ if m.get('DbProxyEndpointVswitchId') is not None:
34615
+ self.db_proxy_endpoint_vswitch_id = m.get('DbProxyEndpointVswitchId')
34616
+ if m.get('DbProxyEndpointZoneId') is not None:
34617
+ self.db_proxy_endpoint_zone_id = m.get('DbProxyEndpointZoneId')
34194
34618
  if m.get('EndpointConnectItems') is not None:
34195
34619
  temp_model = DescribeDBProxyEndpointResponseBodyEndpointConnectItems()
34196
34620
  self.endpoint_connect_items = temp_model.from_map(m['EndpointConnectItems'])
@@ -38834,19 +39258,19 @@ class DescribeHistoryTasksRequest(TeaModel):
38834
39258
  self.resource_owner_account = resource_owner_account
38835
39259
  self.resource_owner_id = resource_owner_id
38836
39260
  self.security_token = security_token
38837
- # The status of the task. Valid values:
39261
+ # The task status. Valid values:
38838
39262
  #
38839
- # * Scheduled
38840
- # * Running
38841
- # * Succeed
38842
- # * Failed
38843
- # * Cancelling
38844
- # * Canceled
38845
- # * Waiting
39263
+ # * **Scheduled**\
39264
+ # * **Running**\
39265
+ # * **Succeed**\
39266
+ # * **Failed**\
39267
+ # * **Cancelling**\
39268
+ # * **Canceled**\
39269
+ # * **Waiting**\
38846
39270
  #
38847
- # Separate multiple states with commas (,). This parameter is empty by default, which indicates that tasks in all states are queried.
39271
+ # Separate multiple values with commas (,). By default, this parameter is left empty, which indicates that tasks in all statuses are queried.
38848
39272
  self.status = status
38849
- # The task ID. Separate multiple task IDs with commas (,). You can specify up to 30 task IDs. This parameter is empty by default, which indicates that you can specify an unlimited number of task IDs.
39273
+ # The task ID. You can call the DescribeTasks operation to query the task ID. If multiple task IDs exist, separate them with commas (,). You can specify up to 30 task IDs. By default, this parameter is left empty, which indicates that all tasks are queried.
38850
39274
  self.task_id = task_id
38851
39275
  # The task type. Separate multiple task types with commas (,). You can specify up to 30 task types. This parameter is empty by default, which indicates that you can specify an unlimited number of task types.
38852
39276
  self.task_type = task_type
@@ -38969,46 +39393,45 @@ class DescribeHistoryTasksResponseBodyItems(TeaModel):
38969
39393
  #
38970
39394
  # "steps": [
38971
39395
  # {
38972
- # "step_name": "exec_task", // The name of the step, which matches CurrentStepName.
38973
- # "action_info": { // The actions supported for this step.
38974
- # "Waiting": [ // The status, which matches Status.
38975
- # "modifySwitchTime" // The action. Multiple actions are supported.
38976
- # ]
39396
+ # "step_name": "exec_task", // The name of the step, which matches CurrentStepName. "action_info": { // The actions supported for this step. "Waiting": [ // The status, which matches Status. "modifySwitchTime" // The action. Multiple actions are supported. ]
38977
39397
  # }
38978
39398
  # },
38979
39399
  # {
38980
- # "step_name": "init_task", // The name of the step.
38981
- # "action_info": { // The actions supported for this step.
38982
- # "Running": [ // The status.
38983
- # "cancel", // The action.
38984
- # "pause"
39400
+ # "step_name": "init_task", // The name of the step. "action_info": { // The actions supported for this step. "Running": [ // The status. "cancel", // The action. "pause"
38985
39401
  # ]
38986
39402
  # }
38987
39403
  # }
38988
39404
  # ]
38989
39405
  # }
38990
39406
  #
38991
- # The system may support the following actions: retry cancel modifySwitchTime: changes the switching or restoration time.
39407
+ # The system may support the following actions:
39408
+ #
39409
+ # * **retry**: retries the action.
39410
+ # * **cancel**: cancels the action.
39411
+ # * **modifySwitchTime**: changes the switching time or restoration time.
38992
39412
  self.action_info = action_info
38993
39413
  # The ID of the user who made the request. If CallerSource is set to User, CallerUid indicates the unique ID (UID) of the user.
38994
39414
  self.caller_source = caller_source
38995
- # The request source. Valid values: System User
39415
+ # The source of the request. Valid values:
39416
+ #
39417
+ # * **System**\
39418
+ # * **User**\
38996
39419
  self.caller_uid = caller_uid
38997
39420
  # The name of the current step. If this parameter is left empty, the task is not started.
38998
39421
  self.current_step_name = current_step_name
38999
39422
  # The database type.
39000
39423
  self.db_type = db_type
39001
- # The end time of the task. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.
39424
+ # The end time of the task.
39002
39425
  self.end_time = end_time
39003
- # The instance ID. Example: rm-xxx.
39426
+ # The instance ID.
39004
39427
  self.instance_id = instance_id
39005
- # The instance name, which is a user-defined alias.
39428
+ # The instance name.
39006
39429
  self.instance_name = instance_name
39007
- # The type of the instance. Example: user instance.
39430
+ # The instance category.
39008
39431
  self.instance_type = instance_type
39009
- # The product. Example: rds.
39432
+ # The service name.
39010
39433
  self.product = product
39011
- # The task progress. Valid values: 0 to 100.
39434
+ # Indicates the task progress.
39012
39435
  self.progress = progress
39013
39436
  # The reason why the current task was initiated.
39014
39437
  self.reason_code = reason_code
@@ -39016,9 +39439,9 @@ class DescribeHistoryTasksResponseBodyItems(TeaModel):
39016
39439
  self.region_id = region_id
39017
39440
  # The estimated amount of time remaining to complete the task. Unit: seconds.
39018
39441
  self.remain_time = remain_time
39019
- # The start time of the task. The time follows the ISO 8601 standard in the YYYY-MM-DDThh:mm:ss format. The time is displayed in UTC.
39442
+ # The start time of the task.
39020
39443
  self.start_time = start_time
39021
- # The status of the task.
39444
+ # The task status. Valid values:
39022
39445
  #
39023
39446
  # * Scheduled
39024
39447
  # * Running
@@ -39028,11 +39451,11 @@ class DescribeHistoryTasksResponseBodyItems(TeaModel):
39028
39451
  # * Canceled
39029
39452
  # * Waiting
39030
39453
  self.status = status
39031
- # The task details provided in the form of a JSON string. The JSON string can be customized and extended to include additional information about the task. The details vary based on the task type.
39454
+ # The task details.
39032
39455
  self.task_detail = task_detail
39033
- # The task ID in the t-\\*\\*\\* format.
39456
+ # The task ID.
39034
39457
  self.task_id = task_id
39035
- # The task type or name.
39458
+ # The task type.
39036
39459
  self.task_type = task_type
39037
39460
  # The ID of the user to which the resources belong.
39038
39461
  self.uid = uid
@@ -39144,9 +39567,9 @@ class DescribeHistoryTasksResponseBody(TeaModel):
39144
39567
  ):
39145
39568
  # The tasks.
39146
39569
  self.items = items
39147
- # The page number. Pages start from page 1. Default value: **1**.
39570
+ # The page number.
39148
39571
  self.page_number = page_number
39149
- # The number of entries per page. Valid values: **10 to 100**. Default value: **10**.
39572
+ # The number of entries per page.
39150
39573
  self.page_size = page_size
39151
39574
  # The unique ID of the request. If the request fails, provide this ID for technical support to troubleshoot the failure.
39152
39575
  self.request_id = request_id
@@ -43538,7 +43961,7 @@ class DescribeModifyParameterLogRequest(TeaModel):
43538
43961
  self.end_time = end_time
43539
43962
  self.owner_account = owner_account
43540
43963
  self.owner_id = owner_id
43541
- # The page number. Pages start from page 1.
43964
+ # The page number. Pages start from 1.
43542
43965
  #
43543
43966
  # Default value: **1**.
43544
43967
  self.page_number = page_number
@@ -43626,7 +44049,7 @@ class DescribeModifyParameterLogResponseBodyItemsParameterChangeLog(TeaModel):
43626
44049
  self.old_parameter_value = old_parameter_value
43627
44050
  # The name of the parameter.
43628
44051
  self.parameter_name = parameter_name
43629
- # The status of the new value specified for the parameter. Valid values:
44052
+ # The status. Valid values:
43630
44053
  #
43631
44054
  # * **Applied:** The new value has taken effect.
43632
44055
  # * **Syncing:** The new value is being applied and has not taken effect.
@@ -43721,7 +44144,7 @@ class DescribeModifyParameterLogResponseBody(TeaModel):
43721
44144
  self.engine = engine
43722
44145
  # The database engine version of the instance.
43723
44146
  self.engine_version = engine_version
43724
- # An array that consists of parameter modification log entries.
44147
+ # The log entries.
43725
44148
  self.items = items
43726
44149
  # The page number.
43727
44150
  self.page_number = page_number
@@ -46064,9 +46487,9 @@ class DescribePostgresExtensionsResponseBodyInstalledExtensions(TeaModel):
46064
46487
  self.priority = priority
46065
46488
  # The extensions on which the current extension depends when it is installed.
46066
46489
  self.requires = requires
46067
- # Alibaba Cloud account ID.
46490
+ # The ID of the Alibaba Cloud account.
46068
46491
  #
46069
- # > Only exclusive plug-ins (plug-ins written by users) will return this parameter. Each Alibaba Cloud account only displays its own exclusive plug-ins.
46492
+ # > This parameter is returned only for self-developed exclusive extensions. You can view exclusive extensions only within your Alibaba Cloud account.
46070
46493
  self.uid = uid
46071
46494
 
46072
46495
  def validate(self):
@@ -46150,9 +46573,9 @@ class DescribePostgresExtensionsResponseBodyUninstalledExtensions(TeaModel):
46150
46573
  self.priority = priority
46151
46574
  # The extensions on which the current extension depends when it is installed.
46152
46575
  self.requires = requires
46153
- # Alibaba Cloud account ID.
46576
+ # The ID of the Alibaba Cloud account.
46154
46577
  #
46155
- # > Only exclusive plug-ins (plug-ins written by users) will return this parameter. Each Alibaba Cloud account only displays its own exclusive plug-ins.
46578
+ # > This parameter is returned only for self-developed exclusive extensions. You can view exclusive extensions only within your Alibaba Cloud account.
46156
46579
  self.uid = uid
46157
46580
 
46158
46581
  def validate(self):
@@ -47563,12 +47986,32 @@ class DescribeRCDeploymentSetsRequest(TeaModel):
47563
47986
  region_id: str = None,
47564
47987
  strategy: str = None,
47565
47988
  ):
47989
+ # The IDs of the deployment sets. The value can be a JSON array that consists of deployment set IDs in the format of `["ds-xxxxxxxxx", "ds-yyyyyyyyy", ... "ds-zzzzzzzzz"]`. You can specify up to 100 deployment set IDs in each request. Separate the deployment set IDs with commas (,).
47566
47990
  self.deployment_set_ids = deployment_set_ids
47991
+ # The deployment set name. The name must be 2 to 128 characters in length. The name must start with a letter and cannot start with `http://` or `https://`. The name can contain digits, letters, colons (:), underscores (_), and hyphens (-).
47567
47992
  self.deployment_set_name = deployment_set_name
47993
+ # The page number.
47994
+ #
47995
+ # Pages start from page 1.
47996
+ #
47997
+ # Default value: 1.
47568
47998
  self.page_number = page_number
47999
+ # The number of entries per page.
48000
+ #
48001
+ # Maximum value: 50.
48002
+ #
48003
+ # Default value: 10.
47569
48004
  self.page_size = page_size
48005
+ # The region ID.
48006
+ #
47570
48007
  # This parameter is required.
47571
48008
  self.region_id = region_id
48009
+ # The deployment strategy. Valid values:
48010
+ #
48011
+ # * **Availability**: high availability strategy
48012
+ # * **AvailabilityGroup**: high availability group strategy
48013
+ #
48014
+ # Default value: Availability.
47572
48015
  self.strategy = strategy
47573
48016
 
47574
48017
  def validate(self):
@@ -47618,8 +48061,11 @@ class DescribeRCDeploymentSetsResponseBodyDeploymentSetsDeploymentSetCapacitiesC
47618
48061
  used_amount: int = None,
47619
48062
  zone_id: str = None,
47620
48063
  ):
48064
+ # The number of RDS Custom instances that reside in the zone and can be added to the deployment set.
47621
48065
  self.available_amount = available_amount
48066
+ # The number of RDS Custom instances that reside in the zone in the deployment set.
47622
48067
  self.used_amount = used_amount
48068
+ # The zone ID. Only the IDs of the zones to which the existing RDS Custom instances in the deployment set belong are returned.
47623
48069
  self.zone_id = zone_id
47624
48070
 
47625
48071
  def validate(self):
@@ -47728,17 +48174,31 @@ class DescribeRCDeploymentSetsResponseBodyDeploymentSetsDeploymentSet(TeaModel):
47728
48174
  instance_ids: DescribeRCDeploymentSetsResponseBodyDeploymentSetsDeploymentSetInstanceIds = None,
47729
48175
  strategy: str = None,
47730
48176
  ):
48177
+ # The details of the capacities of the deployment set. This parameter is valid only when the deployment set contains existing RDS Custom instances. The value contains the details of the capacities of the deployment set in different zones.
47731
48178
  self.capacities = capacities
48179
+ # The time when the deployment set was created. The time follows the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time is displayed in UTC.
47732
48180
  self.create_time = create_time
48181
+ # The deployment set description.
47733
48182
  self.deployment_set_description = deployment_set_description
48183
+ # The deployment set ID.
47734
48184
  self.deployment_set_id = deployment_set_id
48185
+ # The deployment set name.
47735
48186
  self.deployment_set_name = deployment_set_name
48187
+ # The deployment strategy. The return value of this parameter is the value of the `Strategy` request parameter.
47736
48188
  self.deployment_strategy = deployment_strategy
48189
+ # The deployment domain.
47737
48190
  self.domain = domain
48191
+ # The deployment granularity.
47738
48192
  self.granularity = granularity
48193
+ # The number of groups in the deployment set.
48194
+ #
48195
+ # > This parameter is valid only when the Strategy request parameter is set to AvailabilityGroup.
47739
48196
  self.group_count = group_count
48197
+ # The number of RDS Custom instances in the deployment set.
47740
48198
  self.instance_amount = instance_amount
48199
+ # The ID of the RDS Custom instance in the deployment set.
47741
48200
  self.instance_ids = instance_ids
48201
+ # The deployment strategy.
47742
48202
  self.strategy = strategy
47743
48203
 
47744
48204
  def validate(self):
@@ -47855,11 +48315,17 @@ class DescribeRCDeploymentSetsResponseBody(TeaModel):
47855
48315
  request_id: str = None,
47856
48316
  total_count: int = None,
47857
48317
  ):
48318
+ # The details of the deployment set.
47858
48319
  self.deployment_sets = deployment_sets
48320
+ # The page number.
47859
48321
  self.page_number = page_number
48322
+ # The number of entries returned per page.
47860
48323
  self.page_size = page_size
48324
+ # The region ID.
47861
48325
  self.region_id = region_id
48326
+ # The request ID.
47862
48327
  self.request_id = request_id
48328
+ # The total number of entries returned.
47863
48329
  self.total_count = total_count
47864
48330
 
47865
48331
  def validate(self):
@@ -47954,11 +48420,20 @@ class DescribeRCImageListRequest(TeaModel):
47954
48420
  region_id: str = None,
47955
48421
  type: str = None,
47956
48422
  ):
48423
+ # The image architecture. Valid values:
48424
+ #
48425
+ # * x86_64
48426
+ # * arm64
47957
48427
  self.architecture = architecture
48428
+ # The page number.
47958
48429
  self.page_number = page_number
48430
+ # The number of entries per page.
47959
48431
  self.page_size = page_size
48432
+ # The region ID.
48433
+ #
47960
48434
  # This parameter is required.
47961
48435
  self.region_id = region_id
48436
+ # The image type. Set the value to **self**.
47962
48437
  self.type = type
47963
48438
 
47964
48439
  def validate(self):
@@ -48014,18 +48489,48 @@ class DescribeRCImageListResponseBodyImages(TeaModel):
48014
48489
  status: str = None,
48015
48490
  usage: str = None,
48016
48491
  ):
48492
+ # The image architecture. Valid values:
48493
+ #
48494
+ # * x86_64
48495
+ # * arm64
48017
48496
  self.architecture = architecture
48497
+ # The time when the image was created.
48018
48498
  self.creation_time = creation_time
48499
+ # The description of the image.
48019
48500
  self.description = description
48501
+ # The image ID.
48020
48502
  self.image_id = image_id
48503
+ # The image name.
48021
48504
  self.image_name = image_name
48505
+ # The image version.
48022
48506
  self.image_version = image_version
48507
+ # Indicates whether the image is a public image. Public images include public images provided by Alibaba Cloud and custom images published as community images.
48508
+ #
48509
+ # * **true**: The image is a public image.
48510
+ # * **false**: The image is not a public image.
48023
48511
  self.is_public = is_public
48512
+ # The display name of the operating system in Chinese.
48024
48513
  self.osname = osname
48514
+ # The display name of the operating system in English.
48025
48515
  self.osname_en = osname_en
48516
+ # The type of the operating system. Valid values:
48517
+ #
48518
+ # * **windows**\
48519
+ # * **linux**\
48026
48520
  self.ostype = ostype
48521
+ # The image size. Unit: GiB.
48027
48522
  self.size = size
48523
+ # The image status. Valid values:
48524
+ #
48525
+ # * **Unavailable**\
48526
+ # * **Available**\
48527
+ # * **Creating**\
48528
+ # * **CreateFailed**\
48028
48529
  self.status = status
48530
+ # Indicates whether the image is used by the RDS Custom instance. Valid values:
48531
+ #
48532
+ # * **instance**: The image is used to create one or more RDS Custom instances.
48533
+ # * **none**: The image is not used to create RDS Custom instances.
48029
48534
  self.usage = usage
48030
48535
 
48031
48536
  def validate(self):
@@ -48106,11 +48611,17 @@ class DescribeRCImageListResponseBody(TeaModel):
48106
48611
  request_id: str = None,
48107
48612
  total_count: int = None,
48108
48613
  ):
48614
+ # The information about the images.
48109
48615
  self.images = images
48616
+ # The page number.
48110
48617
  self.page_number = page_number
48618
+ # The number of entries returned per page.
48111
48619
  self.page_size = page_size
48620
+ # The region ID.
48112
48621
  self.region_id = region_id
48622
+ # The request ID.
48113
48623
  self.request_id = request_id
48624
+ # The total number of images.
48114
48625
  self.total_count = total_count
48115
48626
 
48116
48627
  def validate(self):
@@ -48208,8 +48719,11 @@ class DescribeRCInstanceAttributeRequest(TeaModel):
48208
48719
  instance_id: str = None,
48209
48720
  region_id: str = None,
48210
48721
  ):
48722
+ # The instance ID.
48723
+ #
48211
48724
  # This parameter is required.
48212
48725
  self.instance_id = instance_id
48726
+ # The region ID.
48213
48727
  self.region_id = region_id
48214
48728
 
48215
48729
  def validate(self):
@@ -48245,10 +48759,21 @@ class DescribeRCInstanceAttributeResponseBodyDataDisksDataDisk(TeaModel):
48245
48759
  performance_level: str = None,
48246
48760
  size: int = None,
48247
48761
  ):
48762
+ # The category of the data disk.
48248
48763
  self.category = category
48764
+ # Indicates whether the data disk is released when the instance is released. Valid values:
48765
+ #
48766
+ # * **true**: The data disk is released when the instance is released.
48767
+ # * **false**: The data disk is reserved when the instance is released.
48249
48768
  self.delete_with_instance = delete_with_instance
48769
+ # Indicates whether the data disk is encrypted. Valid values:
48770
+ #
48771
+ # * **true**\
48772
+ # * **false**\
48250
48773
  self.encrypted = encrypted
48774
+ # The performance level of data disk. This parameter is available when the data disk is an Enterprise SSD (ESSD).
48251
48775
  self.performance_level = performance_level
48776
+ # The size of the data disk. Unit: GiB.
48252
48777
  self.size = size
48253
48778
 
48254
48779
  def validate(self):
@@ -48328,7 +48853,9 @@ class DescribeRCInstanceAttributeResponseBodyDedicatedHostAttribute(TeaModel):
48328
48853
  dedicated_host_id: str = None,
48329
48854
  dedicated_host_name: str = None,
48330
48855
  ):
48856
+ # The ID of the dedicated host.
48331
48857
  self.dedicated_host_id = dedicated_host_id
48858
+ # The name of the dedicated host.
48332
48859
  self.dedicated_host_name = dedicated_host_name
48333
48860
 
48334
48861
  def validate(self):
@@ -48363,9 +48890,18 @@ class DescribeRCInstanceAttributeResponseBodyEipAddress(TeaModel):
48363
48890
  internet_charge_type: str = None,
48364
48891
  ip_address: str = None,
48365
48892
  ):
48893
+ # The EIP ID.
48366
48894
  self.allocation_id = allocation_id
48895
+ # The maximum Internet bandwidth of the EIP. Unit: Mbit/s.
48367
48896
  self.bandwidth = bandwidth
48897
+ # The billing method of the Internet-facing instance. Valid values:
48898
+ #
48899
+ # * **paybytraffic:** pay-by-data-transfer
48900
+ # * **paybybandwidth**: pay-by-bandwidth
48901
+ #
48902
+ # > If the **pay-by-traffic** billing method is used for network usage, the maximum inbound and outbound bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios in which demands exceed resource supplies, the maximum bandwidths may not be reached. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage.
48368
48903
  self.internet_charge_type = internet_charge_type
48904
+ # The EIP.
48369
48905
  self.ip_address = ip_address
48370
48906
 
48371
48907
  def validate(self):
@@ -48432,6 +48968,13 @@ class DescribeRCInstanceAttributeResponseBodyOperationLocksLockReason(TeaModel):
48432
48968
  self,
48433
48969
  lock_reason: str = None,
48434
48970
  ):
48971
+ # The reason why the instance is locked. Valid values:
48972
+ #
48973
+ # * **financial**: The instance is locked due to overdue payments.
48974
+ # * **security**: The instance is locked for security purposes.
48975
+ # * **recycling**: The instance is locked because the instance is a preemptible instance and pending to be released.
48976
+ # * **dedicatedhostfinancial**: The instance is locked due to overdue payments for the dedicated host.
48977
+ # * **refunded**: The instance is locked because a refund was made for the instance.
48435
48978
  self.lock_reason = lock_reason
48436
48979
 
48437
48980
  def validate(self):
@@ -48578,9 +49121,13 @@ class DescribeRCInstanceAttributeResponseBodyVpcAttributes(TeaModel):
48578
49121
  v_switch_id: str = None,
48579
49122
  vpc_id: str = None,
48580
49123
  ):
49124
+ # The network address translation (NAT) IP address of the instance. The NAT IP address is used by instances in different VPCs for communication.
48581
49125
  self.nat_ip_address = nat_ip_address
49126
+ # The private IP addresses of the instance.
48582
49127
  self.private_ip_address = private_ip_address
49128
+ # The vSwitch ID.
48583
49129
  self.v_switch_id = v_switch_id
49130
+ # The VPC ID.
48584
49131
  self.vpc_id = vpc_id
48585
49132
 
48586
49133
  def validate(self):
@@ -48637,6 +49184,7 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48637
49184
  host_type: str = None,
48638
49185
  image_id: str = None,
48639
49186
  inner_ip_address: DescribeRCInstanceAttributeResponseBodyInnerIpAddress = None,
49187
+ instance_charge_type: str = None,
48640
49188
  instance_id: str = None,
48641
49189
  instance_name: str = None,
48642
49190
  instance_network_type: str = None,
@@ -48651,6 +49199,7 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48651
49199
  public_ip_address: DescribeRCInstanceAttributeResponseBodyPublicIpAddress = None,
48652
49200
  region_id: str = None,
48653
49201
  request_id: str = None,
49202
+ resource_group_id: str = None,
48654
49203
  security_group_ids: DescribeRCInstanceAttributeResponseBodySecurityGroupIds = None,
48655
49204
  serial_number: str = None,
48656
49205
  status: str = None,
@@ -48659,43 +49208,114 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48659
49208
  vpc_attributes: DescribeRCInstanceAttributeResponseBodyVpcAttributes = None,
48660
49209
  zone_id: str = None,
48661
49210
  ):
49211
+ # The ID of the cluster to which the instance belongs.
49212
+ #
49213
+ # > This parameter will be deprecated. We recommend that you use other parameters to ensure compatibility.
48662
49214
  self.cluster_id = cluster_id
49215
+ # The number of CPU cores.
48663
49216
  self.cpu = cpu
49217
+ # The time when the instance was created. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC.
48664
49218
  self.creation_time = creation_time
49219
+ # The performance mode of the burstable instance.
48665
49220
  self.credit_specification = credit_specification
49221
+ # The details of the data disk.
48666
49222
  self.data_disks = data_disks
49223
+ # The attributes of the dedicated hosts.
48667
49224
  self.dedicated_host_attribute = dedicated_host_attribute
49225
+ # The ID of the deployment set.
48668
49226
  self.deployment_set_id = deployment_set_id
49227
+ # The instance description.
48669
49228
  self.description = description
49229
+ # The reserved parameter.
48670
49230
  self.disk_type = disk_type
49231
+ # The Elastic Compute Service (ECS) instance family.
48671
49232
  self.ecs_instance_type = ecs_instance_type
49233
+ # The elastic IP address (EIP) associated with the instance.
48672
49234
  self.eip_address = eip_address
49235
+ # Indicates whether the Jumbo Frame feature is enabled for the instance. Valid values:
49236
+ #
49237
+ # * **true**\
49238
+ # * **false**\
48673
49239
  self.enable_jumbo_frame = enable_jumbo_frame
49240
+ # The expiration time. The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mmZ format. The time is displayed in UTC.
48674
49241
  self.expired_time = expired_time
49242
+ # The instance hostname.
48675
49243
  self.host_name = host_name
49244
+ # The storage type of the host. Valid values:
49245
+ #
49246
+ # * **dhg_cloud_ssd**: ESSD
49247
+ # * **dhg_local_ssd**: local SSD
48676
49248
  self.host_type = host_type
49249
+ # The image ID of the instance.
48677
49250
  self.image_id = image_id
49251
+ # The private IP addresses of the instance in the classic network.
48678
49252
  self.inner_ip_address = inner_ip_address
49253
+ self.instance_charge_type = instance_charge_type
49254
+ # The instance ID.
48679
49255
  self.instance_id = instance_id
49256
+ # The instance name.
48680
49257
  self.instance_name = instance_name
49258
+ # The network type. Valid values:
49259
+ #
49260
+ # * **classic**\
49261
+ # * **vpc**\
48681
49262
  self.instance_network_type = instance_network_type
49263
+ # The instance type of the instance.
48682
49264
  self.instance_type = instance_type
49265
+ # The billing method for network usage. Valid values:
49266
+ #
49267
+ # * **PayByBandwidth**: pay-by-bandwidth
49268
+ # * **PayByTraffic**: pay-by-data-transfer
49269
+ #
49270
+ # > If the **pay-by-traffic** billing method is used for network usage, the maximum inbound and outbound bandwidths are used as the upper limits of bandwidths instead of guaranteed performance specifications. In scenarios in which demands exceed resource supplies, the maximum bandwidths may not be reached. If you want guaranteed bandwidths for your instance, use the **pay-by-bandwidth** billing method for network usage.
48683
49271
  self.internet_charge_type = internet_charge_type
49272
+ # The maximum inbound bandwidth from the Internet. Unit: Mbit/s.
48684
49273
  self.internet_max_bandwidth_in = internet_max_bandwidth_in
49274
+ # The maximum outbound bandwidth to the Internet. Unit: Mbit/s.
48685
49275
  self.internet_max_bandwidth_out = internet_max_bandwidth_out
49276
+ # Indicates whether the instance is I/O optimized.
49277
+ #
49278
+ # * **optimized**: The instance is I/O optimized.
49279
+ # * **none**: The instance is not I/O optimized.
48686
49280
  self.io_optimized = io_optimized
49281
+ # The name of the key pair.
48687
49282
  self.key_pair_name = key_pair_name
49283
+ # The memory capacity of the instance. Unit: MiB.
48688
49284
  self.memory = memory
49285
+ # The reasons why the instance is locked.
48689
49286
  self.operation_locks = operation_locks
49287
+ # The public IP address of the instance.
48690
49288
  self.public_ip_address = public_ip_address
49289
+ # The region ID.
48691
49290
  self.region_id = region_id
49291
+ # The request ID.
48692
49292
  self.request_id = request_id
49293
+ self.resource_group_id = resource_group_id
49294
+ # The security groups.
48693
49295
  self.security_group_ids = security_group_ids
49296
+ # The serial number of the instance.
48694
49297
  self.serial_number = serial_number
49298
+ # The instance status. Valid values:
49299
+ #
49300
+ # * **Pending**\
49301
+ # * **Running**\
49302
+ # * **Starting**\
49303
+ # * **Stopping**\
49304
+ # * **Stopped**\
48695
49305
  self.status = status
49306
+ # Indicates whether the billing of the instance continues after the instance is stopped. Valid values:
49307
+ #
49308
+ # * **KeepCharging**: The billing of the instance continues after the instance is stopped, and resources are retained for the instance.
49309
+ # * **StopCharging**: The billing of the instance stops after the instance is stopped. After the instance is stopped, resources such as CPU cores, memory resources, and public IP address are released. The instance may be unable to restart if some required resources are out of stock in the current region.
49310
+ # * **Not-applicable**: The No Fees for Stopped Instances feature is not supported for the instance.
48696
49311
  self.stopped_mode = stopped_mode
49312
+ # The virtual LAN (VLAN) ID of the instance.
49313
+ #
49314
+ # > This parameter will be deprecated. We recommend that you use other parameters to ensure compatibility.
48697
49315
  self.vlan_id = vlan_id
49316
+ # The virtual private cloud (VPC) attributes of the instance.
48698
49317
  self.vpc_attributes = vpc_attributes
49318
+ # The zone ID.
48699
49319
  self.zone_id = zone_id
48700
49320
 
48701
49321
  def validate(self):
@@ -48756,6 +49376,8 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48756
49376
  result['ImageId'] = self.image_id
48757
49377
  if self.inner_ip_address is not None:
48758
49378
  result['InnerIpAddress'] = self.inner_ip_address.to_map()
49379
+ if self.instance_charge_type is not None:
49380
+ result['InstanceChargeType'] = self.instance_charge_type
48759
49381
  if self.instance_id is not None:
48760
49382
  result['InstanceId'] = self.instance_id
48761
49383
  if self.instance_name is not None:
@@ -48784,6 +49406,8 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48784
49406
  result['RegionId'] = self.region_id
48785
49407
  if self.request_id is not None:
48786
49408
  result['RequestId'] = self.request_id
49409
+ if self.resource_group_id is not None:
49410
+ result['ResourceGroupId'] = self.resource_group_id
48787
49411
  if self.security_group_ids is not None:
48788
49412
  result['SecurityGroupIds'] = self.security_group_ids.to_map()
48789
49413
  if self.serial_number is not None:
@@ -48840,6 +49464,8 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48840
49464
  if m.get('InnerIpAddress') is not None:
48841
49465
  temp_model = DescribeRCInstanceAttributeResponseBodyInnerIpAddress()
48842
49466
  self.inner_ip_address = temp_model.from_map(m['InnerIpAddress'])
49467
+ if m.get('InstanceChargeType') is not None:
49468
+ self.instance_charge_type = m.get('InstanceChargeType')
48843
49469
  if m.get('InstanceId') is not None:
48844
49470
  self.instance_id = m.get('InstanceId')
48845
49471
  if m.get('InstanceName') is not None:
@@ -48870,6 +49496,8 @@ class DescribeRCInstanceAttributeResponseBody(TeaModel):
48870
49496
  self.region_id = m.get('RegionId')
48871
49497
  if m.get('RequestId') is not None:
48872
49498
  self.request_id = m.get('RequestId')
49499
+ if m.get('ResourceGroupId') is not None:
49500
+ self.resource_group_id = m.get('ResourceGroupId')
48873
49501
  if m.get('SecurityGroupIds') is not None:
48874
49502
  temp_model = DescribeRCInstanceAttributeResponseBodySecurityGroupIds()
48875
49503
  self.security_group_ids = temp_model.from_map(m['SecurityGroupIds'])
@@ -48937,12 +49565,27 @@ class DescribeRCInstancesRequest(TeaModel):
48937
49565
  page_number: int = None,
48938
49566
  page_size: int = None,
48939
49567
  region_id: str = None,
49568
+ tag: str = None,
48940
49569
  vpc_id: str = None,
48941
49570
  ):
49571
+ # The instance ID.
48942
49572
  self.instance_id = instance_id
49573
+ # The page number.
49574
+ #
49575
+ # Page starts from page 1.
49576
+ #
49577
+ # Default value: 1.
48943
49578
  self.page_number = page_number
49579
+ # The number of entries per page.
49580
+ #
49581
+ # Maximum value: 100.
49582
+ #
49583
+ # Default value: 10.
48944
49584
  self.page_size = page_size
49585
+ # The region ID.
48945
49586
  self.region_id = region_id
49587
+ self.tag = tag
49588
+ # The virtual private cloud (VPC) ID.
48946
49589
  self.vpc_id = vpc_id
48947
49590
 
48948
49591
  def validate(self):
@@ -48962,6 +49605,8 @@ class DescribeRCInstancesRequest(TeaModel):
48962
49605
  result['PageSize'] = self.page_size
48963
49606
  if self.region_id is not None:
48964
49607
  result['RegionId'] = self.region_id
49608
+ if self.tag is not None:
49609
+ result['Tag'] = self.tag
48965
49610
  if self.vpc_id is not None:
48966
49611
  result['VpcId'] = self.vpc_id
48967
49612
  return result
@@ -48976,6 +49621,8 @@ class DescribeRCInstancesRequest(TeaModel):
48976
49621
  self.page_size = m.get('PageSize')
48977
49622
  if m.get('RegionId') is not None:
48978
49623
  self.region_id = m.get('RegionId')
49624
+ if m.get('Tag') is not None:
49625
+ self.tag = m.get('Tag')
48979
49626
  if m.get('VpcId') is not None:
48980
49627
  self.vpc_id = m.get('VpcId')
48981
49628
  return self
@@ -48985,25 +49632,47 @@ class DescribeRCInstancesResponseBodyRCInstances(TeaModel):
48985
49632
  def __init__(
48986
49633
  self,
48987
49634
  cluster_name: str = None,
49635
+ create_mode: str = None,
48988
49636
  db_type: str = None,
48989
49637
  description: str = None,
48990
49638
  gmt_created: str = None,
48991
49639
  host_ip: str = None,
48992
49640
  host_name: str = None,
49641
+ instance_charge_type: str = None,
48993
49642
  instance_id: str = None,
48994
49643
  region_id: str = None,
48995
49644
  status: str = None,
48996
49645
  vpc_id: str = None,
48997
49646
  ):
49647
+ # The cluster name.
48998
49648
  self.cluster_name = cluster_name
49649
+ self.create_mode = create_mode
49650
+ # The database type.
48999
49651
  self.db_type = db_type
49652
+ # The instance description.
49000
49653
  self.description = description
49654
+ # The time when the task was created. The time is displayed in GMT.
49001
49655
  self.gmt_created = gmt_created
49656
+ # The host IP address.
49002
49657
  self.host_ip = host_ip
49658
+ # The host name.
49003
49659
  self.host_name = host_name
49660
+ self.instance_charge_type = instance_charge_type
49661
+ # The instance ID.
49004
49662
  self.instance_id = instance_id
49663
+ # The region ID.
49005
49664
  self.region_id = region_id
49665
+ # The instance status. Valid values:
49666
+ #
49667
+ # * **Pending**\
49668
+ # * **Running**\
49669
+ # * **Starting**\
49670
+ # * **Stopping**\
49671
+ # * **Stopped**\
49672
+ #
49673
+ # > If the value returned for the DescribeRCInstances operation is different from the value that is returned for the **DescribeRCInstanceAttribute** operation, the value returned for the **DescribeRCInstanceAttribute** operation shall prevail.
49006
49674
  self.status = status
49675
+ # The VPC ID.
49007
49676
  self.vpc_id = vpc_id
49008
49677
 
49009
49678
  def validate(self):
@@ -49017,6 +49686,8 @@ class DescribeRCInstancesResponseBodyRCInstances(TeaModel):
49017
49686
  result = dict()
49018
49687
  if self.cluster_name is not None:
49019
49688
  result['ClusterName'] = self.cluster_name
49689
+ if self.create_mode is not None:
49690
+ result['CreateMode'] = self.create_mode
49020
49691
  if self.db_type is not None:
49021
49692
  result['DbType'] = self.db_type
49022
49693
  if self.description is not None:
@@ -49027,6 +49698,8 @@ class DescribeRCInstancesResponseBodyRCInstances(TeaModel):
49027
49698
  result['HostIp'] = self.host_ip
49028
49699
  if self.host_name is not None:
49029
49700
  result['HostName'] = self.host_name
49701
+ if self.instance_charge_type is not None:
49702
+ result['InstanceChargeType'] = self.instance_charge_type
49030
49703
  if self.instance_id is not None:
49031
49704
  result['InstanceId'] = self.instance_id
49032
49705
  if self.region_id is not None:
@@ -49041,6 +49714,8 @@ class DescribeRCInstancesResponseBodyRCInstances(TeaModel):
49041
49714
  m = m or dict()
49042
49715
  if m.get('ClusterName') is not None:
49043
49716
  self.cluster_name = m.get('ClusterName')
49717
+ if m.get('CreateMode') is not None:
49718
+ self.create_mode = m.get('CreateMode')
49044
49719
  if m.get('DbType') is not None:
49045
49720
  self.db_type = m.get('DbType')
49046
49721
  if m.get('Description') is not None:
@@ -49051,6 +49726,8 @@ class DescribeRCInstancesResponseBodyRCInstances(TeaModel):
49051
49726
  self.host_ip = m.get('HostIp')
49052
49727
  if m.get('HostName') is not None:
49053
49728
  self.host_name = m.get('HostName')
49729
+ if m.get('InstanceChargeType') is not None:
49730
+ self.instance_charge_type = m.get('InstanceChargeType')
49054
49731
  if m.get('InstanceId') is not None:
49055
49732
  self.instance_id = m.get('InstanceId')
49056
49733
  if m.get('RegionId') is not None:
@@ -49071,10 +49748,15 @@ class DescribeRCInstancesResponseBody(TeaModel):
49071
49748
  request_id: str = None,
49072
49749
  total_count: int = None,
49073
49750
  ):
49751
+ # The page number.
49074
49752
  self.page_number = page_number
49753
+ # The number of entries per page.
49075
49754
  self.page_size = page_size
49755
+ # The details of the instance.
49076
49756
  self.rcinstances = rcinstances
49757
+ # The request ID.
49077
49758
  self.request_id = request_id
49759
+ # The total number of entries returned.
49078
49760
  self.total_count = total_count
49079
49761
 
49080
49762
  def validate(self):
@@ -49175,15 +49857,35 @@ class DescribeRCMetricListRequest(TeaModel):
49175
49857
  region_id: str = None,
49176
49858
  start_time: str = None,
49177
49859
  ):
49860
+ # The end of the time range to query. The end time must be later than the start time. Example: `2024-08-06 10:15:00`.
49178
49861
  self.end_time = end_time
49862
+ # The reserved parameter.
49179
49863
  self.express = express
49864
+ # The instance ID.
49180
49865
  self.instance_id = instance_id
49866
+ # The number of entries per page.
49867
+ #
49868
+ # Default value: 1000.
49869
+ #
49870
+ # > The maximum value of the Length parameter in a request is 1440.
49181
49871
  self.length = length
49872
+ # The metric that you want to use. For more information, see [CloudMonitor metrics](https://cms.console.aliyun.com/metric-meta/acs_ecs_dashboard/ecs).
49873
+ #
49182
49874
  # This parameter is required.
49183
49875
  self.metric_name = metric_name
49876
+ # The pagination token.
49184
49877
  self.next_token = next_token
49878
+ # The statistical period of the monitoring data.
49879
+ #
49880
+ # Set the value to 60 or an integer multiple of 60.
49881
+ #
49882
+ # Unit: seconds.
49883
+ #
49884
+ # Default value: 60.
49185
49885
  self.period = period
49886
+ # The region ID.
49186
49887
  self.region_id = region_id
49888
+ # The beginning of the time range to query. Example: `2024-08-06 10:05:00`.
49187
49889
  self.start_time = start_time
49188
49890
 
49189
49891
  def validate(self):
@@ -49249,12 +49951,24 @@ class DescribeRCMetricListResponseBody(TeaModel):
49249
49951
  request_id: str = None,
49250
49952
  success: bool = None,
49251
49953
  ):
49954
+ # The HTTP status code returned.
49252
49955
  self.code = code
49956
+ # The monitoring data.
49253
49957
  self.datapoints = datapoints
49958
+ # The message that is returned for the request.
49959
+ #
49960
+ # > If the request is successful, **Successful** is returned. If the request fails, an error message that contains information such as an error code is returned.
49254
49961
  self.message = message
49962
+ # The pagination token.
49255
49963
  self.next_token = next_token
49964
+ # The statistical period of the monitoring data.
49256
49965
  self.period = period
49966
+ # The request ID.
49257
49967
  self.request_id = request_id
49968
+ # Indicates whether the request was successful. Valid values:
49969
+ #
49970
+ # * **true**\
49971
+ # * **false**\
49258
49972
  self.success = success
49259
49973
 
49260
49974
  def validate(self):
@@ -50968,9 +51682,9 @@ class DescribeReplicationLinkLogsRequest(TeaModel):
50968
51682
  self.page_number = page_number
50969
51683
  # The number of entries per page.
50970
51684
  self.page_size = page_size
50971
- # The ID of the task. You can call the **CreateReplicationLink** operation to create the task ID of the disaster recovery instance.
51685
+ # The task ID. You must set this parameter to the ID of the task that you create by calling the **CreateReplicationLink** operation for the disaster recovery instance.
50972
51686
  self.task_id = task_id
50973
- # The name of the task. You can call the **CreateReplicationLink** operation to create a disaster recovery instance. You can specify a task name in the request parameters of the call.
51687
+ # The task name. You must set this parameter to the name of the task that you create by calling the **CreateReplicationLink** operation for the disaster recovery instance.
50974
51688
  self.task_name = task_name
50975
51689
  # The type of the task. Valid values:
50976
51690
  #
@@ -56396,11 +57110,11 @@ class DescribeVSwitchesRequest(TeaModel):
56396
57110
  self.resource_owner_account = resource_owner_account
56397
57111
  self.resource_owner_id = resource_owner_id
56398
57112
  self.security_token = security_token
56399
- # The ID of the VPC to which the VSwitch belongs.
57113
+ # The ID of the VPC to which the vSwitch belongs.
56400
57114
  #
56401
57115
  # > You must configure this parameter or **DedicatedHostGroupId**.
56402
57116
  self.vpc_id = vpc_id
56403
- # The ID of the zone to which the VSwitch belongs. You can call the DescribeAvailableZones operation to query zone IDs. If you specify this parameter, the query results are filtered based on the value of this parameter and only the details of the VSwitch that is deployed in the specified zone are returned.
57117
+ # The ID of the zone to which the vSwitch belongs. You can call the DescribeAvailableZones operation to query zone IDs. If you specify this parameter, the query results are filtered based on the value of this parameter and only the details of the VSwitch that is deployed in the specified zone are returned.
56404
57118
  self.zone_id = zone_id
56405
57119
 
56406
57120
  def validate(self):
@@ -58796,6 +59510,7 @@ class ListClassesRequest(TeaModel):
58796
59510
  client_token: str = None,
58797
59511
  commodity_code: str = None,
58798
59512
  dbinstance_id: str = None,
59513
+ engine: str = None,
58799
59514
  order_type: str = None,
58800
59515
  owner_id: int = None,
58801
59516
  region_id: str = None,
@@ -58817,6 +59532,13 @@ class ListClassesRequest(TeaModel):
58817
59532
  #
58818
59533
  # > If you set the **CommodityCode** parameter to the commodity code of read-only instances, you must specify this parameter.
58819
59534
  self.dbinstance_id = dbinstance_id
59535
+ # The database engine of the instance. Valid values:
59536
+ #
59537
+ # * **MySQL**\
59538
+ # * **SQLServer**\
59539
+ # * **PostgreSQL**\
59540
+ # * **MariaDB**\
59541
+ self.engine = engine
58820
59542
  # The type of order that you want to query. Valid values:
58821
59543
  #
58822
59544
  # * **BUY**: specifies the query orders that are used to purchase instances.
@@ -58849,6 +59571,8 @@ class ListClassesRequest(TeaModel):
58849
59571
  result['CommodityCode'] = self.commodity_code
58850
59572
  if self.dbinstance_id is not None:
58851
59573
  result['DBInstanceId'] = self.dbinstance_id
59574
+ if self.engine is not None:
59575
+ result['Engine'] = self.engine
58852
59576
  if self.order_type is not None:
58853
59577
  result['OrderType'] = self.order_type
58854
59578
  if self.owner_id is not None:
@@ -58869,6 +59593,8 @@ class ListClassesRequest(TeaModel):
58869
59593
  self.commodity_code = m.get('CommodityCode')
58870
59594
  if m.get('DBInstanceId') is not None:
58871
59595
  self.dbinstance_id = m.get('DBInstanceId')
59596
+ if m.get('Engine') is not None:
59597
+ self.engine = m.get('Engine')
58872
59598
  if m.get('OrderType') is not None:
58873
59599
  self.order_type = m.get('OrderType')
58874
59600
  if m.get('OwnerId') is not None:
@@ -58895,6 +59621,8 @@ class ListClassesResponseBodyItems(TeaModel):
58895
59621
  max_iops: str = None,
58896
59622
  memory_class: str = None,
58897
59623
  reference_price: str = None,
59624
+ category: str = None,
59625
+ storage_type: str = None,
58898
59626
  ):
58899
59627
  # The code of the instance type. For more information, see [Primary ApsaraDB RDS instance types](https://help.aliyun.com/document_detail/26312.html) and [Read-only ApsaraDB RDS instance types](https://help.aliyun.com/document_detail/145759.html).
58900
59628
  self.class_code = class_code
@@ -58924,6 +59652,24 @@ class ListClassesResponseBodyItems(TeaModel):
58924
59652
  # > * If you set **CommodityCode** to a value that indicates the pay-as-you-go billing method, the ReferencePrice parameter specifies the hourly fee that you must pay.
58925
59653
  # > * If you set **CommodityCode** to a value that indicates the subscription billing method, the ReferencePrice parameter specifies the monthly fee that you must pay.
58926
59654
  self.reference_price = reference_price
59655
+ # The RDS edition of the instance. Valid values:
59656
+ #
59657
+ # * Regular instance
59658
+ #
59659
+ # * **Basic**: RDS Basic Edition
59660
+ # * **HighAvailability**: RDS High-availability Edition
59661
+ # * **cluster**: RDS Cluster Edition for ApsaraDB RDS for MySQL or PostgreSQL
59662
+ # * **AlwaysOn**: RDS Cluster Edition for ApsaraDB RDS for SQL Server
59663
+ # * **Finance**: RDS Basic Edition for serverless instances
59664
+ #
59665
+ # * Serverless instance
59666
+ #
59667
+ # * **serverless_basic**: RDS Basic Edition for serverless instances. This edition is available only for instances that run MySQL and PostgreSQL.
59668
+ # * **serverless_standard**: RDS High-availability Edition for serverless instances. This edition is available only for instances that run MySQL and PostgreSQL.
59669
+ # * **serverless_ha**: RDS High-availability Edition for serverless instances. This edition is available only for instances that run SQL Server.
59670
+ self.category = category
59671
+ # The storage type of the instance.
59672
+ self.storage_type = storage_type
58927
59673
 
58928
59674
  def validate(self):
58929
59675
  pass
@@ -58954,6 +59700,10 @@ class ListClassesResponseBodyItems(TeaModel):
58954
59700
  result['MemoryClass'] = self.memory_class
58955
59701
  if self.reference_price is not None:
58956
59702
  result['ReferencePrice'] = self.reference_price
59703
+ if self.category is not None:
59704
+ result['category'] = self.category
59705
+ if self.storage_type is not None:
59706
+ result['storageType'] = self.storage_type
58957
59707
  return result
58958
59708
 
58959
59709
  def from_map(self, m: dict = None):
@@ -58978,6 +59728,10 @@ class ListClassesResponseBodyItems(TeaModel):
58978
59728
  self.memory_class = m.get('MemoryClass')
58979
59729
  if m.get('ReferencePrice') is not None:
58980
59730
  self.reference_price = m.get('ReferencePrice')
59731
+ if m.get('category') is not None:
59732
+ self.category = m.get('category')
59733
+ if m.get('storageType') is not None:
59734
+ self.storage_type = m.get('storageType')
58981
59735
  return self
58982
59736
 
58983
59737
 
@@ -60747,15 +61501,23 @@ class ModifyAccountCheckPolicyRequest(TeaModel):
60747
61501
  resource_owner_account: str = None,
60748
61502
  resource_owner_id: int = None,
60749
61503
  ):
61504
+ # The account username.
61505
+ #
60750
61506
  # This parameter is required.
60751
61507
  self.account_name = account_name
61508
+ # Specifies whether to apply the password policy
61509
+ #
60752
61510
  # This parameter is required.
60753
61511
  self.check_policy = check_policy
61512
+ # The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The client token can contain only ASCII characters. If you do not specify this parameter, the system automatically uses the request ID as the client token. The request ID may be different for each request.
60754
61513
  self.client_token = client_token
61514
+ # The instance ID.
61515
+ #
60755
61516
  # This parameter is required.
60756
61517
  self.dbinstance_id = dbinstance_id
60757
61518
  self.owner_account = owner_account
60758
61519
  self.owner_id = owner_id
61520
+ # The resource group ID. For more information about resource groups, see related documentation.
60759
61521
  self.resource_group_id = resource_group_id
60760
61522
  self.resource_owner_account = resource_owner_account
60761
61523
  self.resource_owner_id = resource_owner_id
@@ -61031,6 +61793,7 @@ class ModifyAccountMaskingPrivilegeRequest(TeaModel):
61031
61793
  expire_time: str = None,
61032
61794
  owner_id: str = None,
61033
61795
  privilege: str = None,
61796
+ region_id: str = None,
61034
61797
  resource_owner_account: str = None,
61035
61798
  resource_owner_id: int = None,
61036
61799
  user_name: str = None,
@@ -61041,6 +61804,7 @@ class ModifyAccountMaskingPrivilegeRequest(TeaModel):
61041
61804
  self.owner_id = owner_id
61042
61805
  # This parameter is required.
61043
61806
  self.privilege = privilege
61807
+ self.region_id = region_id
61044
61808
  self.resource_owner_account = resource_owner_account
61045
61809
  self.resource_owner_id = resource_owner_id
61046
61810
  # This parameter is required.
@@ -61063,6 +61827,8 @@ class ModifyAccountMaskingPrivilegeRequest(TeaModel):
61063
61827
  result['OwnerId'] = self.owner_id
61064
61828
  if self.privilege is not None:
61065
61829
  result['Privilege'] = self.privilege
61830
+ if self.region_id is not None:
61831
+ result['RegionId'] = self.region_id
61066
61832
  if self.resource_owner_account is not None:
61067
61833
  result['ResourceOwnerAccount'] = self.resource_owner_account
61068
61834
  if self.resource_owner_id is not None:
@@ -61081,6 +61847,8 @@ class ModifyAccountMaskingPrivilegeRequest(TeaModel):
61081
61847
  self.owner_id = m.get('OwnerId')
61082
61848
  if m.get('Privilege') is not None:
61083
61849
  self.privilege = m.get('Privilege')
61850
+ if m.get('RegionId') is not None:
61851
+ self.region_id = m.get('RegionId')
61084
61852
  if m.get('ResourceOwnerAccount') is not None:
61085
61853
  self.resource_owner_account = m.get('ResourceOwnerAccount')
61086
61854
  if m.get('ResourceOwnerId') is not None:
@@ -61188,13 +61956,25 @@ class ModifyAccountSecurityPolicyRequest(TeaModel):
61188
61956
  resource_owner_account: str = None,
61189
61957
  resource_owner_id: int = None,
61190
61958
  ):
61959
+ # The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, 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.
61191
61960
  self.client_token = client_token
61961
+ # The instance ID. You can call the [DescribeDBInstances](https://help.aliyun.com/document_detail/2628785.html) operation to query the instance ID.
61962
+ #
61192
61963
  # This parameter is required.
61193
61964
  self.dbinstance_id = dbinstance_id
61965
+ # The custom password policy for the account of the ApsaraDB RDS for SQL Server instance. The following policies are supported:
61966
+ #
61967
+ # * `{"account security policy": {"MaximumPasswordAge": Specify the maximum password age}}`: You can configure only the maximum password age. After the maximum password age is reached, you must change the password.
61968
+ # * `{"accountSecurityPolicy": {"MaximumPasswordAge": Specify the minimum password age}}`: You can configure only the minimum password age. During the specified period, you cannot change the password.
61969
+ # * `{"accountSecurityPolicy": {"MaximumPasswordAge": Specify the maximum password age, "MinimumPasswordAge": Specify the minimum password age}}`: You can configure the maximum and minimum password age at the same time.
61970
+ #
61971
+ # > The minimum password age cannot be greater than the maximum password age. Valid values for the minimum password age: 0 to 998. Valid values for the maximum password age: 0 to 999.
61972
+ #
61194
61973
  # This parameter is required.
61195
61974
  self.group_policy = group_policy
61196
61975
  self.owner_account = owner_account
61197
61976
  self.owner_id = owner_id
61977
+ # The resource group ID.
61198
61978
  self.resource_group_id = resource_group_id
61199
61979
  self.resource_owner_account = resource_owner_account
61200
61980
  self.resource_owner_id = resource_owner_id
@@ -61252,6 +62032,7 @@ class ModifyAccountSecurityPolicyResponseBody(TeaModel):
61252
62032
  self,
61253
62033
  request_id: str = None,
61254
62034
  ):
62035
+ # The request ID.
61255
62036
  self.request_id = request_id
61256
62037
 
61257
62038
  def validate(self):
@@ -65482,9 +66263,7 @@ class ModifyDBInstanceSpecRequestServerlessConfiguration(TeaModel):
65482
66263
  # * **true**\
65483
66264
  # * **false** (default)
65484
66265
  #
65485
- # >
65486
- #
65487
- # * This parameter is required only for serverless instances that run MySQL and PostgreSQL. After the automatic start and stop feature is enabled, if no connections to the instance are established within 10 minutes, the instance is suspended. After a connection to the instance is established, the instance is automatically resumed.
66266
+ # > This parameter is required only for serverless instances that run MySQL and PostgreSQL. After the automatic start and stop feature is enabled, if no connections to the instance are established within 10 minutes, the instance is suspended. After a connection to the instance is established, the instance is automatically resumed.
65488
66267
  self.auto_pause = auto_pause
65489
66268
  # The maximum number of RDS Capacity Units (RCUs). Valid values:
65490
66269
  #
@@ -65511,11 +66290,8 @@ class ModifyDBInstanceSpecRequestServerlessConfiguration(TeaModel):
65511
66290
  # * **true**\
65512
66291
  # * **false** (default)
65513
66292
  #
65514
- # >
65515
- #
65516
- # * This parameter is required only for serverless instances that run MySQL and PostgreSQL. If you set this parameter to true, a service interruption that lasts 30 to 120 seconds occurs during forced scaling. Process with caution.
65517
- #
65518
- # * The RCU scaling for a serverless instance immediately takes effect. In some cases, such as the execution of large transactions, the scaling does not immediately take effect. In this case, you can enable this feature to forcefully scale the RCUs of the instance.
66293
+ # > * This parameter is required only for serverless instances that run MySQL and PostgreSQL. If you set this parameter to true, a service interruption that lasts 30 to 120 seconds occurs during forced scaling. Process with caution.
66294
+ # > * The RCU scaling for a serverless instance immediately takes effect. In some cases, such as the execution of large transactions, the scaling does not immediately take effect. In this case, you can enable this feature to forcefully scale the RCUs of the instance.
65519
66295
  self.switch_force = switch_force
65520
66296
 
65521
66297
  def validate(self):
@@ -65570,6 +66346,7 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65570
66346
  owner_account: str = None,
65571
66347
  owner_id: int = None,
65572
66348
  pay_type: str = None,
66349
+ read_only_dbinstance_class: str = None,
65573
66350
  resource_group_id: str = None,
65574
66351
  resource_owner_account: str = None,
65575
66352
  resource_owner_id: int = None,
@@ -65582,6 +66359,12 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65582
66359
  zone_id: str = None,
65583
66360
  zone_id_slave_1: str = None,
65584
66361
  ):
66362
+ # Specifies whether to upgrade the major engine version of the instance. Valid values:
66363
+ #
66364
+ # * **true**\
66365
+ # * **false** (default)
66366
+ #
66367
+ # >When you upgrade the major engine version of an ApsaraDB RDS for SQL Server instance, set this parameter to true. When you upgrade the major engine version, you must also specify required parameters such as DBInstanceId, EngineVersion, DBInstanceClass, and Category, and optional parameters such as ZoneId, ZoneIdSlave1, and VSwitchId.
65585
66368
  self.allow_major_version_upgrade = allow_major_version_upgrade
65586
66369
  # Specifies whether to use vouchers to offset fees. Valid values:
65587
66370
  #
@@ -65605,9 +66388,9 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65605
66388
  # * **serverless_standard**: RDS High-availability Edition. This edition is available only for serverless instances that run MySQL and PostgreSQL.
65606
66389
  # * **serverless_ha**: RDS High-availability Edition for ApsaraDB RDS for SQL Server.
65607
66390
  #
65608
- # **\
65609
66391
  #
65610
- # **Note** If you set the **EngineVersion** parameter to an SQL Server version number, you must also specify this parameter.
66392
+ #
66393
+ # > If you set the **EngineVersion** parameter to an SQL Server version number, you must also specify this parameter.
65611
66394
  self.category = category
65612
66395
  # A reserved parameter.
65613
66396
  self.cold_data_enabled = cold_data_enabled
@@ -65644,15 +66427,15 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65644
66427
  # * **Up** (default): upgrades a subscription instance, or upgrades or downgrades a pay-as-you-go instance.
65645
66428
  # * **Down**: downgrades a subscription instance.
65646
66429
  # * **TempUpgrade**: performs auto scaling on a subscription instance that runs SQL Server. This value is required for auto scaling.
65647
- # * **Serverless**: modifies the auto scaling settings of a serverless instance. This value is required if you want to modify the auto scaling settings of a serverless instance.
66430
+ # * **Serverless**: modifies the auto scaling settings of a serverless instance.
65648
66431
  #
65649
- # > If you specify only **DBInstanceStorageType**, you can leave Direction empty. For example, if you want to change only the storage type of the instance from standard SSD to ESSD, you do not need to specify Direction.
66432
+ # > If you specify only **DBInstanceStorageType**, you can leave Direction empty. For example, if you want to change only the storage type of the instance from standard SSD to Enterprise SSD (ESSD), you do not need to specify Direction.
65650
66433
  self.direction = direction
65651
66434
  # The effective time. Valid values:
65652
66435
  #
65653
66436
  # * **Immediate** (default): The effective time immediately takes effect.
65654
66437
  # * **MaintainTime**: The effective time is within the maintenance window. For more information, see ModifyDBInstanceMaintainTime.
65655
- # * **ScheduleTime**: The effective time takes effect at the point in time that you specify. The schedule time must be a specific point in time that is 12 hours later than the current time. In this case, EffectiveTime is calculated by using the following formula: EffectiveTime = ScheduleTime + SwitchTime.
66438
+ # * **ScheduleTime**: The effective time takes effect at the point in time that you specify. The value of ScheduleTime must be a specific point in time that is 12 hours later than the current time. In this case, The value of EffectiveTime is calculated by using the following formula: EffectiveTime = ScheduleTime + SwitchTime.
65656
66439
  self.effective_time = effective_time
65657
66440
  # The database engine version of the instance.
65658
66441
  #
@@ -65681,6 +66464,7 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65681
66464
  # * **Prepaid**: subscription.
65682
66465
  # * **Serverless**: serverless. This value is not supported for instances that run MariaDB. If you set the value to Serverless, you must specify the scaling range of computing resources, configure the automatic start and stop feature, and configure auto scaling policies for your serverless instance. For more information, see [Overview of serverless ApsaraDB RDS for MySQL instances](https://help.aliyun.com/document_detail/411291.html), [Overview of serverless ApsaraDB RDS for SQL Server instances](https://help.aliyun.com/document_detail/604344.html), and [Overview of serverless ApsaraDB RDS for PostgreSQL instances](https://help.aliyun.com/document_detail/607742.html).
65683
66466
  self.pay_type = pay_type
66467
+ self.read_only_dbinstance_class = read_only_dbinstance_class
65684
66468
  # The ID of the resource group.
65685
66469
  self.resource_group_id = resource_group_id
65686
66470
  self.resource_owner_account = resource_owner_account
@@ -65701,6 +66485,12 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65701
66485
  self.target_minor_version = target_minor_version
65702
66486
  # The ID of the order.
65703
66487
  self.used_time = used_time
66488
+ # The vSwitch ID. The vSwitch must belong to the zone that is specified by **ZoneId**.
66489
+ #
66490
+ # * If you set **InstanceNetworkType** to **VPC**, you must also specify this parameter.
66491
+ # * If you specify ZoneSlaveId1, you must specify the IDs of two vSwitches for this parameter and separate the IDs with a comma (,).
66492
+ #
66493
+ # > When you upgrade the major engine version, if you want to specify a vSwitch or change the vSwitch for the RDS instance, you must also specify this parameter.
65704
66494
  self.v_switch_id = v_switch_id
65705
66495
  # The RDS edition of the instance. Valid values:
65706
66496
  #
@@ -65711,6 +66501,9 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65711
66501
  #
65712
66502
  # > If you set **EngineVersion** to an SQL Server version number, you must also specify this parameter.
65713
66503
  self.zone_id = zone_id
66504
+ # The zone ID of the secondary instance. If you set this parameter to the same value as the **ZoneId** parameter, the single-zone deployment method is used. If you set this parameter to a different value from the **ZoneId** parameter, the multi-zone deployment method is used.
66505
+ #
66506
+ # > If you must specify a secondary zone or change the secondary zone to upgrade the major engine version of an ApsaraDB RDS for SQL Server instance, you must also specify this parameter.
65714
66507
  self.zone_id_slave_1 = zone_id_slave_1
65715
66508
 
65716
66509
  def validate(self):
@@ -65757,6 +66550,8 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65757
66550
  result['OwnerId'] = self.owner_id
65758
66551
  if self.pay_type is not None:
65759
66552
  result['PayType'] = self.pay_type
66553
+ if self.read_only_dbinstance_class is not None:
66554
+ result['ReadOnlyDBInstanceClass'] = self.read_only_dbinstance_class
65760
66555
  if self.resource_group_id is not None:
65761
66556
  result['ResourceGroupId'] = self.resource_group_id
65762
66557
  if self.resource_owner_account is not None:
@@ -65817,6 +66612,8 @@ class ModifyDBInstanceSpecRequest(TeaModel):
65817
66612
  self.owner_id = m.get('OwnerId')
65818
66613
  if m.get('PayType') is not None:
65819
66614
  self.pay_type = m.get('PayType')
66615
+ if m.get('ReadOnlyDBInstanceClass') is not None:
66616
+ self.read_only_dbinstance_class = m.get('ReadOnlyDBInstanceClass')
65820
66617
  if m.get('ResourceGroupId') is not None:
65821
66618
  self.resource_group_id = m.get('ResourceGroupId')
65822
66619
  if m.get('ResourceOwnerAccount') is not None:
@@ -65863,6 +66660,7 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65863
66660
  owner_account: str = None,
65864
66661
  owner_id: int = None,
65865
66662
  pay_type: str = None,
66663
+ read_only_dbinstance_class: str = None,
65866
66664
  resource_group_id: str = None,
65867
66665
  resource_owner_account: str = None,
65868
66666
  resource_owner_id: int = None,
@@ -65875,6 +66673,12 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65875
66673
  zone_id: str = None,
65876
66674
  zone_id_slave_1: str = None,
65877
66675
  ):
66676
+ # Specifies whether to upgrade the major engine version of the instance. Valid values:
66677
+ #
66678
+ # * **true**\
66679
+ # * **false** (default)
66680
+ #
66681
+ # >When you upgrade the major engine version of an ApsaraDB RDS for SQL Server instance, set this parameter to true. When you upgrade the major engine version, you must also specify required parameters such as DBInstanceId, EngineVersion, DBInstanceClass, and Category, and optional parameters such as ZoneId, ZoneIdSlave1, and VSwitchId.
65878
66682
  self.allow_major_version_upgrade = allow_major_version_upgrade
65879
66683
  # Specifies whether to use vouchers to offset fees. Valid values:
65880
66684
  #
@@ -65898,9 +66702,9 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65898
66702
  # * **serverless_standard**: RDS High-availability Edition. This edition is available only for serverless instances that run MySQL and PostgreSQL.
65899
66703
  # * **serverless_ha**: RDS High-availability Edition for ApsaraDB RDS for SQL Server.
65900
66704
  #
65901
- # **\
65902
66705
  #
65903
- # **Note** If you set the **EngineVersion** parameter to an SQL Server version number, you must also specify this parameter.
66706
+ #
66707
+ # > If you set the **EngineVersion** parameter to an SQL Server version number, you must also specify this parameter.
65904
66708
  self.category = category
65905
66709
  # A reserved parameter.
65906
66710
  self.cold_data_enabled = cold_data_enabled
@@ -65937,15 +66741,15 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65937
66741
  # * **Up** (default): upgrades a subscription instance, or upgrades or downgrades a pay-as-you-go instance.
65938
66742
  # * **Down**: downgrades a subscription instance.
65939
66743
  # * **TempUpgrade**: performs auto scaling on a subscription instance that runs SQL Server. This value is required for auto scaling.
65940
- # * **Serverless**: modifies the auto scaling settings of a serverless instance. This value is required if you want to modify the auto scaling settings of a serverless instance.
66744
+ # * **Serverless**: modifies the auto scaling settings of a serverless instance.
65941
66745
  #
65942
- # > If you specify only **DBInstanceStorageType**, you can leave Direction empty. For example, if you want to change only the storage type of the instance from standard SSD to ESSD, you do not need to specify Direction.
66746
+ # > If you specify only **DBInstanceStorageType**, you can leave Direction empty. For example, if you want to change only the storage type of the instance from standard SSD to Enterprise SSD (ESSD), you do not need to specify Direction.
65943
66747
  self.direction = direction
65944
66748
  # The effective time. Valid values:
65945
66749
  #
65946
66750
  # * **Immediate** (default): The effective time immediately takes effect.
65947
66751
  # * **MaintainTime**: The effective time is within the maintenance window. For more information, see ModifyDBInstanceMaintainTime.
65948
- # * **ScheduleTime**: The effective time takes effect at the point in time that you specify. The schedule time must be a specific point in time that is 12 hours later than the current time. In this case, EffectiveTime is calculated by using the following formula: EffectiveTime = ScheduleTime + SwitchTime.
66752
+ # * **ScheduleTime**: The effective time takes effect at the point in time that you specify. The value of ScheduleTime must be a specific point in time that is 12 hours later than the current time. In this case, The value of EffectiveTime is calculated by using the following formula: EffectiveTime = ScheduleTime + SwitchTime.
65949
66753
  self.effective_time = effective_time
65950
66754
  # The database engine version of the instance.
65951
66755
  #
@@ -65974,6 +66778,7 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65974
66778
  # * **Prepaid**: subscription.
65975
66779
  # * **Serverless**: serverless. This value is not supported for instances that run MariaDB. If you set the value to Serverless, you must specify the scaling range of computing resources, configure the automatic start and stop feature, and configure auto scaling policies for your serverless instance. For more information, see [Overview of serverless ApsaraDB RDS for MySQL instances](https://help.aliyun.com/document_detail/411291.html), [Overview of serverless ApsaraDB RDS for SQL Server instances](https://help.aliyun.com/document_detail/604344.html), and [Overview of serverless ApsaraDB RDS for PostgreSQL instances](https://help.aliyun.com/document_detail/607742.html).
65976
66780
  self.pay_type = pay_type
66781
+ self.read_only_dbinstance_class = read_only_dbinstance_class
65977
66782
  # The ID of the resource group.
65978
66783
  self.resource_group_id = resource_group_id
65979
66784
  self.resource_owner_account = resource_owner_account
@@ -65994,6 +66799,12 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
65994
66799
  self.target_minor_version = target_minor_version
65995
66800
  # The ID of the order.
65996
66801
  self.used_time = used_time
66802
+ # The vSwitch ID. The vSwitch must belong to the zone that is specified by **ZoneId**.
66803
+ #
66804
+ # * If you set **InstanceNetworkType** to **VPC**, you must also specify this parameter.
66805
+ # * If you specify ZoneSlaveId1, you must specify the IDs of two vSwitches for this parameter and separate the IDs with a comma (,).
66806
+ #
66807
+ # > When you upgrade the major engine version, if you want to specify a vSwitch or change the vSwitch for the RDS instance, you must also specify this parameter.
65997
66808
  self.v_switch_id = v_switch_id
65998
66809
  # The RDS edition of the instance. Valid values:
65999
66810
  #
@@ -66004,6 +66815,9 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
66004
66815
  #
66005
66816
  # > If you set **EngineVersion** to an SQL Server version number, you must also specify this parameter.
66006
66817
  self.zone_id = zone_id
66818
+ # The zone ID of the secondary instance. If you set this parameter to the same value as the **ZoneId** parameter, the single-zone deployment method is used. If you set this parameter to a different value from the **ZoneId** parameter, the multi-zone deployment method is used.
66819
+ #
66820
+ # > If you must specify a secondary zone or change the secondary zone to upgrade the major engine version of an ApsaraDB RDS for SQL Server instance, you must also specify this parameter.
66007
66821
  self.zone_id_slave_1 = zone_id_slave_1
66008
66822
 
66009
66823
  def validate(self):
@@ -66049,6 +66863,8 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
66049
66863
  result['OwnerId'] = self.owner_id
66050
66864
  if self.pay_type is not None:
66051
66865
  result['PayType'] = self.pay_type
66866
+ if self.read_only_dbinstance_class is not None:
66867
+ result['ReadOnlyDBInstanceClass'] = self.read_only_dbinstance_class
66052
66868
  if self.resource_group_id is not None:
66053
66869
  result['ResourceGroupId'] = self.resource_group_id
66054
66870
  if self.resource_owner_account is not None:
@@ -66109,6 +66925,8 @@ class ModifyDBInstanceSpecShrinkRequest(TeaModel):
66109
66925
  self.owner_id = m.get('OwnerId')
66110
66926
  if m.get('PayType') is not None:
66111
66927
  self.pay_type = m.get('PayType')
66928
+ if m.get('ReadOnlyDBInstanceClass') is not None:
66929
+ self.read_only_dbinstance_class = m.get('ReadOnlyDBInstanceClass')
66112
66930
  if m.get('ResourceGroupId') is not None:
66113
66931
  self.resource_group_id = m.get('ResourceGroupId')
66114
66932
  if m.get('ResourceOwnerAccount') is not None:
@@ -66828,6 +67646,45 @@ class ModifyDBNodeResponse(TeaModel):
66828
67646
  return self
66829
67647
 
66830
67648
 
67649
+ class ModifyDBProxyRequestDBProxyNodes(TeaModel):
67650
+ def __init__(
67651
+ self,
67652
+ cpu_cores: str = None,
67653
+ node_counts: str = None,
67654
+ zone_id: str = None,
67655
+ ):
67656
+ self.cpu_cores = cpu_cores
67657
+ self.node_counts = node_counts
67658
+ self.zone_id = zone_id
67659
+
67660
+ def validate(self):
67661
+ pass
67662
+
67663
+ def to_map(self):
67664
+ _map = super().to_map()
67665
+ if _map is not None:
67666
+ return _map
67667
+
67668
+ result = dict()
67669
+ if self.cpu_cores is not None:
67670
+ result['cpuCores'] = self.cpu_cores
67671
+ if self.node_counts is not None:
67672
+ result['nodeCounts'] = self.node_counts
67673
+ if self.zone_id is not None:
67674
+ result['zoneId'] = self.zone_id
67675
+ return result
67676
+
67677
+ def from_map(self, m: dict = None):
67678
+ m = m or dict()
67679
+ if m.get('cpuCores') is not None:
67680
+ self.cpu_cores = m.get('cpuCores')
67681
+ if m.get('nodeCounts') is not None:
67682
+ self.node_counts = m.get('nodeCounts')
67683
+ if m.get('zoneId') is not None:
67684
+ self.zone_id = m.get('zoneId')
67685
+ return self
67686
+
67687
+
66831
67688
  class ModifyDBProxyRequest(TeaModel):
66832
67689
  def __init__(
66833
67690
  self,
@@ -66836,6 +67693,158 @@ class ModifyDBProxyRequest(TeaModel):
66836
67693
  dbproxy_engine_type: str = None,
66837
67694
  dbproxy_instance_num: str = None,
66838
67695
  dbproxy_instance_type: str = None,
67696
+ dbproxy_nodes: List[ModifyDBProxyRequestDBProxyNodes] = None,
67697
+ instance_network_type: str = None,
67698
+ owner_id: int = None,
67699
+ persistent_connection_status: str = None,
67700
+ region_id: str = None,
67701
+ resource_group_id: str = None,
67702
+ resource_owner_account: str = None,
67703
+ resource_owner_id: int = None,
67704
+ vpcid: str = None,
67705
+ v_switch_id: str = None,
67706
+ ):
67707
+ # Specifies whether to enable or disable the database proxy feature. Valid values:
67708
+ #
67709
+ # * **Startup**: enables the database proxy feature.
67710
+ # * **Shutdown**: disables the database proxy feature.
67711
+ #
67712
+ # This parameter is required.
67713
+ self.config_dbproxy_service = config_dbproxy_service
67714
+ # The instance ID. You can call the DescribeDBInstances operation to query the instance ID.
67715
+ #
67716
+ # This parameter is required.
67717
+ self.dbinstance_id = dbinstance_id
67718
+ # A reserved parameter. You do not need to specify this parameter.
67719
+ self.dbproxy_engine_type = dbproxy_engine_type
67720
+ # The number of proxy instances that are enabled. Valid values: **1** to **16**. Default value: **1**.
67721
+ #
67722
+ # > The capability of the database proxy to process requests increases with the number of proxy instances that are enabled. You can monitor the load on the instance and specify an appropriate number of proxy instances based on the load monitoring data.
67723
+ self.dbproxy_instance_num = dbproxy_instance_num
67724
+ # This parameter is reserved. You do not need to specify this parameter.
67725
+ self.dbproxy_instance_type = dbproxy_instance_type
67726
+ self.dbproxy_nodes = dbproxy_nodes
67727
+ # The network type of the instance. Set the value to **VPC**.
67728
+ #
67729
+ # > This parameter is required if you enable the database proxy feature for an ApsaraDB RDS for MySQL instance that uses cloud disks or an ApsaraDB RDS for PostgreSQL instance.
67730
+ self.instance_network_type = instance_network_type
67731
+ self.owner_id = owner_id
67732
+ # Whether to enable connection keep. Valid values:
67733
+ #
67734
+ # - Enabled: enables connection keeping
67735
+ # - Disabled: disables connection hold
67736
+ #
67737
+ # > - This parameter is supported only for an ApsaraDB RDS for MySQL.
67738
+ # > - When you modify the connection persistence state, the value of **ConfigDBProxyService** is modify.
67739
+ self.persistent_connection_status = persistent_connection_status
67740
+ # The region ID. You can call the DescribeRegions operation to query the most recent region list.
67741
+ self.region_id = region_id
67742
+ # The resource group ID.
67743
+ self.resource_group_id = resource_group_id
67744
+ self.resource_owner_account = resource_owner_account
67745
+ self.resource_owner_id = resource_owner_id
67746
+ # The ID of the virtual private cloud (VPC) to which the instance belongs. You can call the DescribeDBInstanceAttribute operation to query the VPC ID.
67747
+ #
67748
+ # > This parameter is required if you enable the database proxy feature for an ApsaraDB RDS for MySQL instance that uses cloud disks or an ApsaraDB RDS for PostgreSQL instance.
67749
+ self.vpcid = vpcid
67750
+ # The vSwitch ID of the instance. You can call the DescribeDBInstanceAttribute operation to query the vSwitch ID.
67751
+ #
67752
+ # > This parameter is required if you enable the database proxy feature for an ApsaraDB RDS for MySQL instance that uses cloud disks or an ApsaraDB RDS for PostgreSQL instance.
67753
+ self.v_switch_id = v_switch_id
67754
+
67755
+ def validate(self):
67756
+ if self.dbproxy_nodes:
67757
+ for k in self.dbproxy_nodes:
67758
+ if k:
67759
+ k.validate()
67760
+
67761
+ def to_map(self):
67762
+ _map = super().to_map()
67763
+ if _map is not None:
67764
+ return _map
67765
+
67766
+ result = dict()
67767
+ if self.config_dbproxy_service is not None:
67768
+ result['ConfigDBProxyService'] = self.config_dbproxy_service
67769
+ if self.dbinstance_id is not None:
67770
+ result['DBInstanceId'] = self.dbinstance_id
67771
+ if self.dbproxy_engine_type is not None:
67772
+ result['DBProxyEngineType'] = self.dbproxy_engine_type
67773
+ if self.dbproxy_instance_num is not None:
67774
+ result['DBProxyInstanceNum'] = self.dbproxy_instance_num
67775
+ if self.dbproxy_instance_type is not None:
67776
+ result['DBProxyInstanceType'] = self.dbproxy_instance_type
67777
+ result['DBProxyNodes'] = []
67778
+ if self.dbproxy_nodes is not None:
67779
+ for k in self.dbproxy_nodes:
67780
+ result['DBProxyNodes'].append(k.to_map() if k else None)
67781
+ if self.instance_network_type is not None:
67782
+ result['InstanceNetworkType'] = self.instance_network_type
67783
+ if self.owner_id is not None:
67784
+ result['OwnerId'] = self.owner_id
67785
+ if self.persistent_connection_status is not None:
67786
+ result['PersistentConnectionStatus'] = self.persistent_connection_status
67787
+ if self.region_id is not None:
67788
+ result['RegionId'] = self.region_id
67789
+ if self.resource_group_id is not None:
67790
+ result['ResourceGroupId'] = self.resource_group_id
67791
+ if self.resource_owner_account is not None:
67792
+ result['ResourceOwnerAccount'] = self.resource_owner_account
67793
+ if self.resource_owner_id is not None:
67794
+ result['ResourceOwnerId'] = self.resource_owner_id
67795
+ if self.vpcid is not None:
67796
+ result['VPCId'] = self.vpcid
67797
+ if self.v_switch_id is not None:
67798
+ result['VSwitchId'] = self.v_switch_id
67799
+ return result
67800
+
67801
+ def from_map(self, m: dict = None):
67802
+ m = m or dict()
67803
+ if m.get('ConfigDBProxyService') is not None:
67804
+ self.config_dbproxy_service = m.get('ConfigDBProxyService')
67805
+ if m.get('DBInstanceId') is not None:
67806
+ self.dbinstance_id = m.get('DBInstanceId')
67807
+ if m.get('DBProxyEngineType') is not None:
67808
+ self.dbproxy_engine_type = m.get('DBProxyEngineType')
67809
+ if m.get('DBProxyInstanceNum') is not None:
67810
+ self.dbproxy_instance_num = m.get('DBProxyInstanceNum')
67811
+ if m.get('DBProxyInstanceType') is not None:
67812
+ self.dbproxy_instance_type = m.get('DBProxyInstanceType')
67813
+ self.dbproxy_nodes = []
67814
+ if m.get('DBProxyNodes') is not None:
67815
+ for k in m.get('DBProxyNodes'):
67816
+ temp_model = ModifyDBProxyRequestDBProxyNodes()
67817
+ self.dbproxy_nodes.append(temp_model.from_map(k))
67818
+ if m.get('InstanceNetworkType') is not None:
67819
+ self.instance_network_type = m.get('InstanceNetworkType')
67820
+ if m.get('OwnerId') is not None:
67821
+ self.owner_id = m.get('OwnerId')
67822
+ if m.get('PersistentConnectionStatus') is not None:
67823
+ self.persistent_connection_status = m.get('PersistentConnectionStatus')
67824
+ if m.get('RegionId') is not None:
67825
+ self.region_id = m.get('RegionId')
67826
+ if m.get('ResourceGroupId') is not None:
67827
+ self.resource_group_id = m.get('ResourceGroupId')
67828
+ if m.get('ResourceOwnerAccount') is not None:
67829
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
67830
+ if m.get('ResourceOwnerId') is not None:
67831
+ self.resource_owner_id = m.get('ResourceOwnerId')
67832
+ if m.get('VPCId') is not None:
67833
+ self.vpcid = m.get('VPCId')
67834
+ if m.get('VSwitchId') is not None:
67835
+ self.v_switch_id = m.get('VSwitchId')
67836
+ return self
67837
+
67838
+
67839
+ class ModifyDBProxyShrinkRequest(TeaModel):
67840
+ def __init__(
67841
+ self,
67842
+ config_dbproxy_service: str = None,
67843
+ dbinstance_id: str = None,
67844
+ dbproxy_engine_type: str = None,
67845
+ dbproxy_instance_num: str = None,
67846
+ dbproxy_instance_type: str = None,
67847
+ dbproxy_nodes_shrink: str = None,
66839
67848
  instance_network_type: str = None,
66840
67849
  owner_id: int = None,
66841
67850
  persistent_connection_status: str = None,
@@ -66865,6 +67874,7 @@ class ModifyDBProxyRequest(TeaModel):
66865
67874
  self.dbproxy_instance_num = dbproxy_instance_num
66866
67875
  # This parameter is reserved. You do not need to specify this parameter.
66867
67876
  self.dbproxy_instance_type = dbproxy_instance_type
67877
+ self.dbproxy_nodes_shrink = dbproxy_nodes_shrink
66868
67878
  # The network type of the instance. Set the value to **VPC**.
66869
67879
  #
66870
67880
  # > This parameter is required if you enable the database proxy feature for an ApsaraDB RDS for MySQL instance that uses cloud disks or an ApsaraDB RDS for PostgreSQL instance.
@@ -66912,6 +67922,8 @@ class ModifyDBProxyRequest(TeaModel):
66912
67922
  result['DBProxyInstanceNum'] = self.dbproxy_instance_num
66913
67923
  if self.dbproxy_instance_type is not None:
66914
67924
  result['DBProxyInstanceType'] = self.dbproxy_instance_type
67925
+ if self.dbproxy_nodes_shrink is not None:
67926
+ result['DBProxyNodes'] = self.dbproxy_nodes_shrink
66915
67927
  if self.instance_network_type is not None:
66916
67928
  result['InstanceNetworkType'] = self.instance_network_type
66917
67929
  if self.owner_id is not None:
@@ -66944,6 +67956,8 @@ class ModifyDBProxyRequest(TeaModel):
66944
67956
  self.dbproxy_instance_num = m.get('DBProxyInstanceNum')
66945
67957
  if m.get('DBProxyInstanceType') is not None:
66946
67958
  self.dbproxy_instance_type = m.get('DBProxyInstanceType')
67959
+ if m.get('DBProxyNodes') is not None:
67960
+ self.dbproxy_nodes_shrink = m.get('DBProxyNodes')
66947
67961
  if m.get('InstanceNetworkType') is not None:
66948
67962
  self.instance_network_type = m.get('InstanceNetworkType')
66949
67963
  if m.get('OwnerId') is not None:
@@ -67045,6 +68059,8 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67045
68059
  db_endpoint_operator: str = None,
67046
68060
  db_endpoint_read_write_mode: str = None,
67047
68061
  db_endpoint_type: str = None,
68062
+ effective_specific_time: str = None,
68063
+ effective_time: str = None,
67048
68064
  owner_id: int = None,
67049
68065
  read_only_instance_distribution_type: str = None,
67050
68066
  read_only_instance_max_delay_time: str = None,
@@ -67052,6 +68068,7 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67052
68068
  region_id: str = None,
67053
68069
  resource_owner_account: str = None,
67054
68070
  resource_owner_id: int = None,
68071
+ v_switch_id: str = None,
67055
68072
  ):
67056
68073
  # The features that you want to enable for the proxy endpoint. If you specify more than one feature, separate the features with semicolons (;). Format: `Feature 1:Status;Feature 2:Status;...`. Do not add a semicolon (;) at the end of the value.
67057
68074
  #
@@ -67097,6 +68114,8 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67097
68114
  self.db_endpoint_read_write_mode = db_endpoint_read_write_mode
67098
68115
  # The type of the proxy terminal. This is a reserved parameter. You do not need to specify this parameter.
67099
68116
  self.db_endpoint_type = db_endpoint_type
68117
+ self.effective_specific_time = effective_specific_time
68118
+ self.effective_time = effective_time
67100
68119
  self.owner_id = owner_id
67101
68120
  # The policy that is used to allocate read weights. Valid values:
67102
68121
  #
@@ -67125,6 +68144,7 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67125
68144
  self.region_id = region_id
67126
68145
  self.resource_owner_account = resource_owner_account
67127
68146
  self.resource_owner_id = resource_owner_id
68147
+ self.v_switch_id = v_switch_id
67128
68148
 
67129
68149
  def validate(self):
67130
68150
  pass
@@ -67151,6 +68171,10 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67151
68171
  result['DbEndpointReadWriteMode'] = self.db_endpoint_read_write_mode
67152
68172
  if self.db_endpoint_type is not None:
67153
68173
  result['DbEndpointType'] = self.db_endpoint_type
68174
+ if self.effective_specific_time is not None:
68175
+ result['EffectiveSpecificTime'] = self.effective_specific_time
68176
+ if self.effective_time is not None:
68177
+ result['EffectiveTime'] = self.effective_time
67154
68178
  if self.owner_id is not None:
67155
68179
  result['OwnerId'] = self.owner_id
67156
68180
  if self.read_only_instance_distribution_type is not None:
@@ -67165,6 +68189,8 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67165
68189
  result['ResourceOwnerAccount'] = self.resource_owner_account
67166
68190
  if self.resource_owner_id is not None:
67167
68191
  result['ResourceOwnerId'] = self.resource_owner_id
68192
+ if self.v_switch_id is not None:
68193
+ result['VSwitchId'] = self.v_switch_id
67168
68194
  return result
67169
68195
 
67170
68196
  def from_map(self, m: dict = None):
@@ -67185,6 +68211,10 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67185
68211
  self.db_endpoint_read_write_mode = m.get('DbEndpointReadWriteMode')
67186
68212
  if m.get('DbEndpointType') is not None:
67187
68213
  self.db_endpoint_type = m.get('DbEndpointType')
68214
+ if m.get('EffectiveSpecificTime') is not None:
68215
+ self.effective_specific_time = m.get('EffectiveSpecificTime')
68216
+ if m.get('EffectiveTime') is not None:
68217
+ self.effective_time = m.get('EffectiveTime')
67188
68218
  if m.get('OwnerId') is not None:
67189
68219
  self.owner_id = m.get('OwnerId')
67190
68220
  if m.get('ReadOnlyInstanceDistributionType') is not None:
@@ -67199,6 +68229,8 @@ class ModifyDBProxyEndpointRequest(TeaModel):
67199
68229
  self.resource_owner_account = m.get('ResourceOwnerAccount')
67200
68230
  if m.get('ResourceOwnerId') is not None:
67201
68231
  self.resource_owner_id = m.get('ResourceOwnerId')
68232
+ if m.get('VSwitchId') is not None:
68233
+ self.v_switch_id = m.get('VSwitchId')
67202
68234
  return self
67203
68235
 
67204
68236
 
@@ -67437,6 +68469,78 @@ class ModifyDBProxyEndpointAddressResponse(TeaModel):
67437
68469
  return self
67438
68470
 
67439
68471
 
68472
+ class ModifyDBProxyInstanceRequestDBProxyNodes(TeaModel):
68473
+ def __init__(
68474
+ self,
68475
+ cpu_cores: str = None,
68476
+ node_counts: str = None,
68477
+ zone_id: str = None,
68478
+ ):
68479
+ self.cpu_cores = cpu_cores
68480
+ self.node_counts = node_counts
68481
+ self.zone_id = zone_id
68482
+
68483
+ def validate(self):
68484
+ pass
68485
+
68486
+ def to_map(self):
68487
+ _map = super().to_map()
68488
+ if _map is not None:
68489
+ return _map
68490
+
68491
+ result = dict()
68492
+ if self.cpu_cores is not None:
68493
+ result['cpuCores'] = self.cpu_cores
68494
+ if self.node_counts is not None:
68495
+ result['nodeCounts'] = self.node_counts
68496
+ if self.zone_id is not None:
68497
+ result['zoneId'] = self.zone_id
68498
+ return result
68499
+
68500
+ def from_map(self, m: dict = None):
68501
+ m = m or dict()
68502
+ if m.get('cpuCores') is not None:
68503
+ self.cpu_cores = m.get('cpuCores')
68504
+ if m.get('nodeCounts') is not None:
68505
+ self.node_counts = m.get('nodeCounts')
68506
+ if m.get('zoneId') is not None:
68507
+ self.zone_id = m.get('zoneId')
68508
+ return self
68509
+
68510
+
68511
+ class ModifyDBProxyInstanceRequestMigrateAZ(TeaModel):
68512
+ def __init__(
68513
+ self,
68514
+ db_proxy_endpoint_id: str = None,
68515
+ dest_vswitch_id: str = None,
68516
+ ):
68517
+ self.db_proxy_endpoint_id = db_proxy_endpoint_id
68518
+ self.dest_vswitch_id = dest_vswitch_id
68519
+
68520
+ def validate(self):
68521
+ pass
68522
+
68523
+ def to_map(self):
68524
+ _map = super().to_map()
68525
+ if _map is not None:
68526
+ return _map
68527
+
68528
+ result = dict()
68529
+ if self.db_proxy_endpoint_id is not None:
68530
+ result['dbProxyEndpointId'] = self.db_proxy_endpoint_id
68531
+ if self.dest_vswitch_id is not None:
68532
+ result['destVSwitchId'] = self.dest_vswitch_id
68533
+ return result
68534
+
68535
+ def from_map(self, m: dict = None):
68536
+ m = m or dict()
68537
+ if m.get('dbProxyEndpointId') is not None:
68538
+ self.db_proxy_endpoint_id = m.get('dbProxyEndpointId')
68539
+ if m.get('destVSwitchId') is not None:
68540
+ self.dest_vswitch_id = m.get('destVSwitchId')
68541
+ return self
68542
+
68543
+
67440
68544
  class ModifyDBProxyInstanceRequest(TeaModel):
67441
68545
  def __init__(
67442
68546
  self,
@@ -67444,8 +68548,10 @@ class ModifyDBProxyInstanceRequest(TeaModel):
67444
68548
  dbproxy_engine_type: str = None,
67445
68549
  dbproxy_instance_num: str = None,
67446
68550
  dbproxy_instance_type: str = None,
68551
+ dbproxy_nodes: List[ModifyDBProxyInstanceRequestDBProxyNodes] = None,
67447
68552
  effective_specific_time: str = None,
67448
68553
  effective_time: str = None,
68554
+ migrate_az: List[ModifyDBProxyInstanceRequestMigrateAZ] = None,
67449
68555
  owner_id: int = None,
67450
68556
  region_id: str = None,
67451
68557
  resource_owner_account: str = None,
@@ -67471,6 +68577,7 @@ class ModifyDBProxyInstanceRequest(TeaModel):
67471
68577
  #
67472
68578
  # This parameter is required.
67473
68579
  self.dbproxy_instance_type = dbproxy_instance_type
68580
+ self.dbproxy_nodes = dbproxy_nodes
67474
68581
  # The point in time that you want to specify. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.
67475
68582
  #
67476
68583
  # > If the **EffectiveTime** parameter is set to **SpecificTime**, you must specify this parameter.
@@ -67483,6 +68590,152 @@ class ModifyDBProxyInstanceRequest(TeaModel):
67483
68590
  #
67484
68591
  # Default value: **MaintainTime**.
67485
68592
  self.effective_time = effective_time
68593
+ self.migrate_az = migrate_az
68594
+ self.owner_id = owner_id
68595
+ # The region ID. You can call the DescribeRegions operation to query the most recent region list.
68596
+ self.region_id = region_id
68597
+ self.resource_owner_account = resource_owner_account
68598
+ self.resource_owner_id = resource_owner_id
68599
+ # The ID of the vSwitch in the destination zone. You can call the [DescribeVSwitches](https://help.aliyun.com/document_detail/610431.html) operation to query existing vSwitches.
68600
+ #
68601
+ # > Only database proxies for ApsaraDB RDS for MySQL instances that use cloud disks can be migrated to different zones.
68602
+ self.v_switch_ids = v_switch_ids
68603
+
68604
+ def validate(self):
68605
+ if self.dbproxy_nodes:
68606
+ for k in self.dbproxy_nodes:
68607
+ if k:
68608
+ k.validate()
68609
+ if self.migrate_az:
68610
+ for k in self.migrate_az:
68611
+ if k:
68612
+ k.validate()
68613
+
68614
+ def to_map(self):
68615
+ _map = super().to_map()
68616
+ if _map is not None:
68617
+ return _map
68618
+
68619
+ result = dict()
68620
+ if self.dbinstance_id is not None:
68621
+ result['DBInstanceId'] = self.dbinstance_id
68622
+ if self.dbproxy_engine_type is not None:
68623
+ result['DBProxyEngineType'] = self.dbproxy_engine_type
68624
+ if self.dbproxy_instance_num is not None:
68625
+ result['DBProxyInstanceNum'] = self.dbproxy_instance_num
68626
+ if self.dbproxy_instance_type is not None:
68627
+ result['DBProxyInstanceType'] = self.dbproxy_instance_type
68628
+ result['DBProxyNodes'] = []
68629
+ if self.dbproxy_nodes is not None:
68630
+ for k in self.dbproxy_nodes:
68631
+ result['DBProxyNodes'].append(k.to_map() if k else None)
68632
+ if self.effective_specific_time is not None:
68633
+ result['EffectiveSpecificTime'] = self.effective_specific_time
68634
+ if self.effective_time is not None:
68635
+ result['EffectiveTime'] = self.effective_time
68636
+ result['MigrateAZ'] = []
68637
+ if self.migrate_az is not None:
68638
+ for k in self.migrate_az:
68639
+ result['MigrateAZ'].append(k.to_map() if k else None)
68640
+ if self.owner_id is not None:
68641
+ result['OwnerId'] = self.owner_id
68642
+ if self.region_id is not None:
68643
+ result['RegionId'] = self.region_id
68644
+ if self.resource_owner_account is not None:
68645
+ result['ResourceOwnerAccount'] = self.resource_owner_account
68646
+ if self.resource_owner_id is not None:
68647
+ result['ResourceOwnerId'] = self.resource_owner_id
68648
+ if self.v_switch_ids is not None:
68649
+ result['VSwitchIds'] = self.v_switch_ids
68650
+ return result
68651
+
68652
+ def from_map(self, m: dict = None):
68653
+ m = m or dict()
68654
+ if m.get('DBInstanceId') is not None:
68655
+ self.dbinstance_id = m.get('DBInstanceId')
68656
+ if m.get('DBProxyEngineType') is not None:
68657
+ self.dbproxy_engine_type = m.get('DBProxyEngineType')
68658
+ if m.get('DBProxyInstanceNum') is not None:
68659
+ self.dbproxy_instance_num = m.get('DBProxyInstanceNum')
68660
+ if m.get('DBProxyInstanceType') is not None:
68661
+ self.dbproxy_instance_type = m.get('DBProxyInstanceType')
68662
+ self.dbproxy_nodes = []
68663
+ if m.get('DBProxyNodes') is not None:
68664
+ for k in m.get('DBProxyNodes'):
68665
+ temp_model = ModifyDBProxyInstanceRequestDBProxyNodes()
68666
+ self.dbproxy_nodes.append(temp_model.from_map(k))
68667
+ if m.get('EffectiveSpecificTime') is not None:
68668
+ self.effective_specific_time = m.get('EffectiveSpecificTime')
68669
+ if m.get('EffectiveTime') is not None:
68670
+ self.effective_time = m.get('EffectiveTime')
68671
+ self.migrate_az = []
68672
+ if m.get('MigrateAZ') is not None:
68673
+ for k in m.get('MigrateAZ'):
68674
+ temp_model = ModifyDBProxyInstanceRequestMigrateAZ()
68675
+ self.migrate_az.append(temp_model.from_map(k))
68676
+ if m.get('OwnerId') is not None:
68677
+ self.owner_id = m.get('OwnerId')
68678
+ if m.get('RegionId') is not None:
68679
+ self.region_id = m.get('RegionId')
68680
+ if m.get('ResourceOwnerAccount') is not None:
68681
+ self.resource_owner_account = m.get('ResourceOwnerAccount')
68682
+ if m.get('ResourceOwnerId') is not None:
68683
+ self.resource_owner_id = m.get('ResourceOwnerId')
68684
+ if m.get('VSwitchIds') is not None:
68685
+ self.v_switch_ids = m.get('VSwitchIds')
68686
+ return self
68687
+
68688
+
68689
+ class ModifyDBProxyInstanceShrinkRequest(TeaModel):
68690
+ def __init__(
68691
+ self,
68692
+ dbinstance_id: str = None,
68693
+ dbproxy_engine_type: str = None,
68694
+ dbproxy_instance_num: str = None,
68695
+ dbproxy_instance_type: str = None,
68696
+ dbproxy_nodes_shrink: str = None,
68697
+ effective_specific_time: str = None,
68698
+ effective_time: str = None,
68699
+ migrate_azshrink: str = None,
68700
+ owner_id: int = None,
68701
+ region_id: str = None,
68702
+ resource_owner_account: str = None,
68703
+ resource_owner_id: int = None,
68704
+ v_switch_ids: str = None,
68705
+ ):
68706
+ # The instance ID. You can call the DescribeDBInstances operation to query the instance ID.
68707
+ #
68708
+ # This parameter is required.
68709
+ self.dbinstance_id = dbinstance_id
68710
+ # A deprecated parameter. You do not need to specify this parameter.
68711
+ self.dbproxy_engine_type = dbproxy_engine_type
68712
+ # The number of database proxies. If you set this parameter to 0, the database proxy feature is disabled for the instance. Valid values: **1** to **16**.
68713
+ #
68714
+ # > The capability of the database proxy feature to process requests increases with the number of database proxies that are enabled. You can monitor the load on the instance and specify an appropriate number of database proxies based on the load monitoring data.
68715
+ #
68716
+ # This parameter is required.
68717
+ self.dbproxy_instance_num = dbproxy_instance_num
68718
+ # The database proxy type. Valid values:
68719
+ #
68720
+ # * **common**: general-purpose database proxy
68721
+ # * **exclusive** (default): dedicated database proxy
68722
+ #
68723
+ # This parameter is required.
68724
+ self.dbproxy_instance_type = dbproxy_instance_type
68725
+ self.dbproxy_nodes_shrink = dbproxy_nodes_shrink
68726
+ # The point in time that you want to specify. Specify the time in the ISO 8601 standard in the *yyyy-MM-dd*T*HH:mm:ss*Z format. The time must be in UTC.
68727
+ #
68728
+ # > If the **EffectiveTime** parameter is set to **SpecificTime**, you must specify this parameter.
68729
+ self.effective_specific_time = effective_specific_time
68730
+ # The effective time. Valid values:
68731
+ #
68732
+ # * **Immediate**: The effective time is immediate.
68733
+ # * **MaintainTime**: The effective time is within the maintenance window. For more information, see ModifyDBInstanceMaintainTime.
68734
+ # * **SpecificTime**: The effective time is a specified point in time.
68735
+ #
68736
+ # Default value: **MaintainTime**.
68737
+ self.effective_time = effective_time
68738
+ self.migrate_azshrink = migrate_azshrink
67486
68739
  self.owner_id = owner_id
67487
68740
  # The region ID. You can call the DescribeRegions operation to query the most recent region list.
67488
68741
  self.region_id = region_id
@@ -67510,10 +68763,14 @@ class ModifyDBProxyInstanceRequest(TeaModel):
67510
68763
  result['DBProxyInstanceNum'] = self.dbproxy_instance_num
67511
68764
  if self.dbproxy_instance_type is not None:
67512
68765
  result['DBProxyInstanceType'] = self.dbproxy_instance_type
68766
+ if self.dbproxy_nodes_shrink is not None:
68767
+ result['DBProxyNodes'] = self.dbproxy_nodes_shrink
67513
68768
  if self.effective_specific_time is not None:
67514
68769
  result['EffectiveSpecificTime'] = self.effective_specific_time
67515
68770
  if self.effective_time is not None:
67516
68771
  result['EffectiveTime'] = self.effective_time
68772
+ if self.migrate_azshrink is not None:
68773
+ result['MigrateAZ'] = self.migrate_azshrink
67517
68774
  if self.owner_id is not None:
67518
68775
  result['OwnerId'] = self.owner_id
67519
68776
  if self.region_id is not None:
@@ -67536,10 +68793,14 @@ class ModifyDBProxyInstanceRequest(TeaModel):
67536
68793
  self.dbproxy_instance_num = m.get('DBProxyInstanceNum')
67537
68794
  if m.get('DBProxyInstanceType') is not None:
67538
68795
  self.dbproxy_instance_type = m.get('DBProxyInstanceType')
68796
+ if m.get('DBProxyNodes') is not None:
68797
+ self.dbproxy_nodes_shrink = m.get('DBProxyNodes')
67539
68798
  if m.get('EffectiveSpecificTime') is not None:
67540
68799
  self.effective_specific_time = m.get('EffectiveSpecificTime')
67541
68800
  if m.get('EffectiveTime') is not None:
67542
68801
  self.effective_time = m.get('EffectiveTime')
68802
+ if m.get('MigrateAZ') is not None:
68803
+ self.migrate_azshrink = m.get('MigrateAZ')
67543
68804
  if m.get('OwnerId') is not None:
67544
68805
  self.owner_id = m.get('OwnerId')
67545
68806
  if m.get('RegionId') is not None:
@@ -69176,6 +70437,7 @@ class ModifyMaskingRulesRequest(TeaModel):
69176
70437
  enabled: str = None,
69177
70438
  masking_algo: str = None,
69178
70439
  owner_id: str = None,
70440
+ region_id: str = None,
69179
70441
  resource_owner_account: str = None,
69180
70442
  resource_owner_id: int = None,
69181
70443
  rule_config: ModifyMaskingRulesRequestRuleConfig = None,
@@ -69187,6 +70449,7 @@ class ModifyMaskingRulesRequest(TeaModel):
69187
70449
  self.enabled = enabled
69188
70450
  self.masking_algo = masking_algo
69189
70451
  self.owner_id = owner_id
70452
+ self.region_id = region_id
69190
70453
  self.resource_owner_account = resource_owner_account
69191
70454
  self.resource_owner_id = resource_owner_id
69192
70455
  self.rule_config = rule_config
@@ -69213,6 +70476,8 @@ class ModifyMaskingRulesRequest(TeaModel):
69213
70476
  result['MaskingAlgo'] = self.masking_algo
69214
70477
  if self.owner_id is not None:
69215
70478
  result['OwnerId'] = self.owner_id
70479
+ if self.region_id is not None:
70480
+ result['RegionId'] = self.region_id
69216
70481
  if self.resource_owner_account is not None:
69217
70482
  result['ResourceOwnerAccount'] = self.resource_owner_account
69218
70483
  if self.resource_owner_id is not None:
@@ -69235,6 +70500,8 @@ class ModifyMaskingRulesRequest(TeaModel):
69235
70500
  self.masking_algo = m.get('MaskingAlgo')
69236
70501
  if m.get('OwnerId') is not None:
69237
70502
  self.owner_id = m.get('OwnerId')
70503
+ if m.get('RegionId') is not None:
70504
+ self.region_id = m.get('RegionId')
69238
70505
  if m.get('ResourceOwnerAccount') is not None:
69239
70506
  self.resource_owner_account = m.get('ResourceOwnerAccount')
69240
70507
  if m.get('ResourceOwnerId') is not None:
@@ -69255,6 +70522,7 @@ class ModifyMaskingRulesShrinkRequest(TeaModel):
69255
70522
  enabled: str = None,
69256
70523
  masking_algo: str = None,
69257
70524
  owner_id: str = None,
70525
+ region_id: str = None,
69258
70526
  resource_owner_account: str = None,
69259
70527
  resource_owner_id: int = None,
69260
70528
  rule_config_shrink: str = None,
@@ -69266,6 +70534,7 @@ class ModifyMaskingRulesShrinkRequest(TeaModel):
69266
70534
  self.enabled = enabled
69267
70535
  self.masking_algo = masking_algo
69268
70536
  self.owner_id = owner_id
70537
+ self.region_id = region_id
69269
70538
  self.resource_owner_account = resource_owner_account
69270
70539
  self.resource_owner_id = resource_owner_id
69271
70540
  self.rule_config_shrink = rule_config_shrink
@@ -69291,6 +70560,8 @@ class ModifyMaskingRulesShrinkRequest(TeaModel):
69291
70560
  result['MaskingAlgo'] = self.masking_algo
69292
70561
  if self.owner_id is not None:
69293
70562
  result['OwnerId'] = self.owner_id
70563
+ if self.region_id is not None:
70564
+ result['RegionId'] = self.region_id
69294
70565
  if self.resource_owner_account is not None:
69295
70566
  result['ResourceOwnerAccount'] = self.resource_owner_account
69296
70567
  if self.resource_owner_id is not None:
@@ -69313,6 +70584,8 @@ class ModifyMaskingRulesShrinkRequest(TeaModel):
69313
70584
  self.masking_algo = m.get('MaskingAlgo')
69314
70585
  if m.get('OwnerId') is not None:
69315
70586
  self.owner_id = m.get('OwnerId')
70587
+ if m.get('RegionId') is not None:
70588
+ self.region_id = m.get('RegionId')
69316
70589
  if m.get('ResourceOwnerAccount') is not None:
69317
70590
  self.resource_owner_account = m.get('ResourceOwnerAccount')
69318
70591
  if m.get('ResourceOwnerId') is not None:
@@ -70064,11 +71337,30 @@ class ModifyRCInstanceRequest(TeaModel):
70064
71337
  instance_type: str = None,
70065
71338
  region_id: str = None,
70066
71339
  ):
71340
+ # Specifies whether to enable the automatic payment feature. Valid values:
71341
+ #
71342
+ # * **true** (default): enables the feature. You must make sure that your account balance is sufficient.
71343
+ # * **false**: disables the feature. An unpaid order is generated.
71344
+ #
71345
+ # > If your account balance is insufficient, you can set AutoPay to false. In this case, an unpaid order is generated. You can complete the payment in the Expenses and Costs console.
70067
71346
  self.auto_pay = auto_pay
71347
+ # The type of the change that you want to perform on the instance. Valid values:
71348
+ #
71349
+ # > This parameter is optional. The system can automatically determine whether the instance change is an upgrade or a downgrade. If you want to specify this parameter, take note of the following items:
71350
+ #
71351
+ # * **Upgrade** (default): upgrades the instance type. Make sure that your account balance is sufficient.
71352
+ # * **Down**: downgrades the instance type. If the new instance type specified by InstanceType has lower specifications than the current instance type, set Direction to Down.
70068
71353
  self.direction = direction
71354
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
71355
+ #
71356
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and resource inventory.
71357
+ # * **false**: performs a dry run and performs the actual request. If the request passes the dry run, the operation is performed.
70069
71358
  self.dry_run = dry_run
71359
+ # The instance ID.
70070
71360
  self.instance_id = instance_id
71361
+ # The new instance type. For more information about the instance types that are supported by RDS Custom instances, see [Instance types of RDS Custom instances](https://help.aliyun.com/document_detail/2844823.html).
70071
71362
  self.instance_type = instance_type
71363
+ # The region ID of the instance.
70072
71364
  self.region_id = region_id
70073
71365
 
70074
71366
  def validate(self):
@@ -70117,7 +71409,9 @@ class ModifyRCInstanceResponseBody(TeaModel):
70117
71409
  order_id: int = None,
70118
71410
  request_id: str = None,
70119
71411
  ):
71412
+ # The order ID.
70120
71413
  self.order_id = order_id
71414
+ # The request ID.
70121
71415
  self.request_id = request_id
70122
71416
 
70123
71417
  def validate(self):
@@ -71425,7 +72719,7 @@ class ModifySecurityIpsRequest(TeaModel):
71425
72719
  # Default value: **Cover**.
71426
72720
  self.modify_mode = modify_mode
71427
72721
  self.resource_owner_id = resource_owner_id
71428
- # The type of the IP addresses in the IP address whitelist. Set the value to IPv4. IPv6 is not supported.
72722
+ # The IP address type. The value is fixed as IPv4.
71429
72723
  self.security_iptype = security_iptype
71430
72724
  # The IP addresses in an IP address whitelist. Separate multiple IP addresses with commas (,). Each IP address in the IP address whitelist must be unique. The entries in the IP address whitelist must be in one of the following formats:
71431
72725
  #
@@ -73056,10 +74350,23 @@ class RebootRCInstanceRequest(TeaModel):
73056
74350
  instance_id: str = None,
73057
74351
  region_id: str = None,
73058
74352
  ):
74353
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
74354
+ #
74355
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors. If the request passes the dry run, the DryRunOperation error code is returned. Otherwise, an error message is returned.
74356
+ # * **false**: performs a dry run and performs the actual request. If the request passes the dry run, the instance is restarted.
74357
+ #
74358
+ # Default value: false
73059
74359
  self.dry_run = dry_run
74360
+ # Specifies whether to forcefully stop the instance before you restart the instance Valid values:
74361
+ #
74362
+ # * **true**: forcefully stops the instance. This operation is equivalent to the typical power-off operation. Cache data that is not written to storage devices on the instance is lost.
74363
+ # * **false** (default): normally stops the instance.
73060
74364
  self.force_stop = force_stop
74365
+ # The instance ID.
74366
+ #
73061
74367
  # This parameter is required.
73062
74368
  self.instance_id = instance_id
74369
+ # The region ID.
73063
74370
  self.region_id = region_id
73064
74371
 
73065
74372
  def validate(self):
@@ -73099,6 +74406,7 @@ class RebootRCInstanceResponseBody(TeaModel):
73099
74406
  self,
73100
74407
  request_id: str = None,
73101
74408
  ):
74409
+ # The request ID.
73102
74410
  self.request_id = request_id
73103
74411
 
73104
74412
  def validate(self):
@@ -74932,11 +76240,28 @@ class ResizeRCInstanceDiskRequest(TeaModel):
74932
76240
  region_id: str = None,
74933
76241
  type: str = None,
74934
76242
  ):
76243
+ # Specifies whether to enable the automatic payment feature for the instance. Valid values:
76244
+ #
76245
+ # * **true** (default): enables the feature. Make sure that your account balance is sufficient.
76246
+ # * **false**: disables the feature. An unpaid order is generated.
76247
+ #
76248
+ # > If your account balance is insufficient, you can set AutoPay to false. In this case, an unpaid order is generated. You can complete the payment in the Expenses and Costs console.
74935
76249
  self.auto_pay = auto_pay
76250
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
76251
+ #
76252
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors.
76253
+ # * **false**: performs a dry run and performs the actual request. If the request passes the dry run, the instance is created.
74936
76254
  self.dry_run = dry_run
76255
+ # The instance ID.
74937
76256
  self.instance_id = instance_id
76257
+ # The new disk size. Unit: GiB.
74938
76258
  self.new_size = new_size
76259
+ # The region ID of the instance.
74939
76260
  self.region_id = region_id
76261
+ # The method that you want to use to resize the disk. Valid values:
76262
+ #
76263
+ # * **offline** (default): resizes disks offline. After you resize a disk offline, you must restart the instance for the resizing operation to take effect.
76264
+ # * **online**: resizes disks online. After you resize a disk online, the resizing operation takes effect immediately and you do not need to restart the instance.
74940
76265
  self.type = type
74941
76266
 
74942
76267
  def validate(self):
@@ -74985,7 +76310,9 @@ class ResizeRCInstanceDiskResponseBody(TeaModel):
74985
76310
  order_id: int = None,
74986
76311
  request_id: str = None,
74987
76312
  ):
76313
+ # The order ID.
74988
76314
  self.order_id = order_id
76315
+ # The request ID.
74989
76316
  self.request_id = request_id
74990
76317
 
74991
76318
  def validate(self):
@@ -75839,10 +77166,18 @@ class RunRCInstancesRequestDataDisk(TeaModel):
75839
77166
  performance_level: str = None,
75840
77167
  size: int = None,
75841
77168
  ):
77169
+ # The type of the data disk. Set the value to **cloud_essd**, which indicates Enterprise SSDs (ESSDs).
75842
77170
  self.category = category
77171
+ # The reserved parameter. This parameter is not supported.
75843
77172
  self.delete_with_instance = delete_with_instance
77173
+ # Specifies whether to encrypt the cloud disk. Valid values:
77174
+ #
77175
+ # * **true**\
77176
+ # * **false** (default)
75844
77177
  self.encrypted = encrypted
77178
+ # The reserved parameter. This parameter is not supported.
75845
77179
  self.performance_level = performance_level
77180
+ # The size of the data disk. Unit: GiB.
75846
77181
  self.size = size
75847
77182
 
75848
77183
  def validate(self):
@@ -75887,7 +77222,9 @@ class RunRCInstancesRequestSystemDisk(TeaModel):
75887
77222
  category: str = None,
75888
77223
  size: str = None,
75889
77224
  ):
77225
+ # The type of the system disk. Set the value to **cloud_essd**, which indicates ESSDs.
75890
77226
  self.category = category
77227
+ # The size of the system disk. Unit: GiB. Only performance level 1 (PL1) ESSDs are supported. Valid values: 20 to 2048.
75891
77228
  self.size = size
75892
77229
 
75893
77230
  def validate(self):
@@ -75914,6 +77251,39 @@ class RunRCInstancesRequestSystemDisk(TeaModel):
75914
77251
  return self
75915
77252
 
75916
77253
 
77254
+ class RunRCInstancesRequestTag(TeaModel):
77255
+ def __init__(
77256
+ self,
77257
+ key: str = None,
77258
+ value: str = None,
77259
+ ):
77260
+ self.key = key
77261
+ self.value = value
77262
+
77263
+ def validate(self):
77264
+ pass
77265
+
77266
+ def to_map(self):
77267
+ _map = super().to_map()
77268
+ if _map is not None:
77269
+ return _map
77270
+
77271
+ result = dict()
77272
+ if self.key is not None:
77273
+ result['Key'] = self.key
77274
+ if self.value is not None:
77275
+ result['Value'] = self.value
77276
+ return result
77277
+
77278
+ def from_map(self, m: dict = None):
77279
+ m = m or dict()
77280
+ if m.get('Key') is not None:
77281
+ self.key = m.get('Key')
77282
+ if m.get('Value') is not None:
77283
+ self.value = m.get('Value')
77284
+ return self
77285
+
77286
+
75917
77287
  class RunRCInstancesRequest(TeaModel):
75918
77288
  def __init__(
75919
77289
  self,
@@ -75921,10 +77291,12 @@ class RunRCInstancesRequest(TeaModel):
75921
77291
  auto_pay: bool = None,
75922
77292
  auto_renew: bool = None,
75923
77293
  client_token: str = None,
77294
+ create_mode: str = None,
75924
77295
  data_disk: List[RunRCInstancesRequestDataDisk] = None,
75925
77296
  deployment_set_id: str = None,
75926
77297
  description: str = None,
75927
77298
  dry_run: bool = None,
77299
+ host_name: str = None,
75928
77300
  image_id: str = None,
75929
77301
  instance_charge_type: str = None,
75930
77302
  instance_name: str = None,
@@ -75937,40 +77309,97 @@ class RunRCInstancesRequest(TeaModel):
75937
77309
  period: int = None,
75938
77310
  period_unit: str = None,
75939
77311
  region_id: str = None,
77312
+ resource_group_id: str = None,
75940
77313
  security_enhancement_strategy: str = None,
75941
77314
  security_group_id: str = None,
75942
77315
  system_disk: RunRCInstancesRequestSystemDisk = None,
77316
+ tag: List[RunRCInstancesRequestTag] = None,
75943
77317
  v_switch_id: str = None,
75944
77318
  zone_id: str = None,
75945
77319
  ):
77320
+ # The number of RDS Custom instances that you want to create. The parameter is available if you want to create multiple RDS Custom instances at a time.
77321
+ #
77322
+ # Valid values: **1** to **10**. Default value: **1**.
77323
+ #
75946
77324
  # This parameter is required.
75947
77325
  self.amount = amount
77326
+ # Specifies whether to enable the automatic payment feature. Valid values:
77327
+ #
77328
+ # * **true** (default): enables the feature. Make sure that your account balance is sufficient.
77329
+ # * **false**: disables the feature. An unpaid order is generated.
77330
+ #
77331
+ # > If your account balance is insufficient, you can set the AutoPay parameter to false. In this case, an unpaid order is generated. You can complete the payment in the Expenses and Costs console.
75948
77332
  self.auto_pay = auto_pay
77333
+ # Specifies whether to enable auto-renewal for the instance. Valid values:
77334
+ #
77335
+ # * **true** (default)
77336
+ # * **false**\
75949
77337
  self.auto_renew = auto_renew
77338
+ # The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, 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.
75950
77339
  self.client_token = client_token
77340
+ self.create_mode = create_mode
77341
+ # The information about the data disks.
75951
77342
  self.data_disk = data_disk
77343
+ # The deployment set ID.
75952
77344
  self.deployment_set_id = deployment_set_id
77345
+ # The instance description. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
75953
77346
  self.description = description
77347
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
77348
+ #
77349
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors.
77350
+ # * **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the instance is directly created.
75954
77351
  self.dry_run = dry_run
77352
+ self.host_name = host_name
77353
+ # The ID of the image used by the instance.
75955
77354
  self.image_id = image_id
77355
+ # The billing method of the instance. Set the value to **Prepaid**, which indicates the subscription billing method.
75956
77356
  self.instance_charge_type = instance_charge_type
77357
+ # The instance name.
75957
77358
  self.instance_name = instance_name
77359
+ # The instance type. For more information about the instance types that are supported by RDS Custom instances, see [Instance types for RDS Custom instances](https://help.aliyun.com/document_detail/2844823.html).
77360
+ #
75958
77361
  # This parameter is required.
75959
77362
  self.instance_type = instance_type
77363
+ # The reserved parameter. This parameter is not supported.
75960
77364
  self.internet_charge_type = internet_charge_type
77365
+ # The reserved parameter. This parameter is not supported.
75961
77366
  self.internet_max_bandwidth_out = internet_max_bandwidth_out
77367
+ # The reserved parameter. This parameter is not supported.
75962
77368
  self.io_optimized = io_optimized
77369
+ # The name of the AccessKey pair. You can specify only one name.
75963
77370
  self.key_pair_name = key_pair_name
77371
+ # The password of the account that is used to log on to the instance.
75964
77372
  self.password = password
77373
+ # The subscription duration of the instance. Default value: **1**.
75965
77374
  self.period = period
77375
+ # The unit of the subscription duration. Valid values:
77376
+ #
77377
+ # * **Year**\
77378
+ # * **Month** (default)
75966
77379
  self.period_unit = period_unit
77380
+ # The region ID. You can call the DescribeRegions operation to query the most recent region list.
77381
+ #
75967
77382
  # This parameter is required.
75968
77383
  self.region_id = region_id
77384
+ self.resource_group_id = resource_group_id
77385
+ # The reserved parameter. This parameter is not supported.
75969
77386
  self.security_enhancement_strategy = security_enhancement_strategy
77387
+ # The ID of the security group to which you want to add the new instance. Instances in the same security group can communicate with each other. The maximum number of instances allowed in a security group varies based on the type of the security group. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html).
77388
+ #
77389
+ # > The network type of the instance is determined by the security group specified by the SecurityGroupId parameter. For example, if the network type of the specified security group is VPC, the instance is a VPC-type instance. In this case, you must specify the VSwitchId parameter.
75970
77390
  self.security_group_id = security_group_id
77391
+ # The specification of the system disk.
75971
77392
  self.system_disk = system_disk
77393
+ self.tag = tag
77394
+ # The vSwitch ID of the instance. You must specify this parameter when you create an instance of the virtual private cloud (VPC) type. The specified vSwitch and security group must belong to the same VPC.
77395
+ #
77396
+ # > If you specify the VSwitchId parameter, the zone specified by the ZoneId parameter must be the same as the zone in which the specified vSwitch resides. You can leave the ZoneId parameter empty. In this case, the system uses the zone in which the specified vSwitch resides.
77397
+ #
75972
77398
  # This parameter is required.
75973
77399
  self.v_switch_id = v_switch_id
77400
+ # The zone ID of the instance. You can call the DescribeZones operation to query the zone IDs.
77401
+ #
77402
+ # > If you specify the VSwitchId parameter, the zone specified by the ZoneId parameter must be the same as the zone in which the specified vSwitch resides. You can leave the ZoneId parameter empty. In this case, the system uses the zone in which the specified vSwitch resides.
75974
77403
  self.zone_id = zone_id
75975
77404
 
75976
77405
  def validate(self):
@@ -75980,6 +77409,10 @@ class RunRCInstancesRequest(TeaModel):
75980
77409
  k.validate()
75981
77410
  if self.system_disk:
75982
77411
  self.system_disk.validate()
77412
+ if self.tag:
77413
+ for k in self.tag:
77414
+ if k:
77415
+ k.validate()
75983
77416
 
75984
77417
  def to_map(self):
75985
77418
  _map = super().to_map()
@@ -75995,6 +77428,8 @@ class RunRCInstancesRequest(TeaModel):
75995
77428
  result['AutoRenew'] = self.auto_renew
75996
77429
  if self.client_token is not None:
75997
77430
  result['ClientToken'] = self.client_token
77431
+ if self.create_mode is not None:
77432
+ result['CreateMode'] = self.create_mode
75998
77433
  result['DataDisk'] = []
75999
77434
  if self.data_disk is not None:
76000
77435
  for k in self.data_disk:
@@ -76005,6 +77440,8 @@ class RunRCInstancesRequest(TeaModel):
76005
77440
  result['Description'] = self.description
76006
77441
  if self.dry_run is not None:
76007
77442
  result['DryRun'] = self.dry_run
77443
+ if self.host_name is not None:
77444
+ result['HostName'] = self.host_name
76008
77445
  if self.image_id is not None:
76009
77446
  result['ImageId'] = self.image_id
76010
77447
  if self.instance_charge_type is not None:
@@ -76029,12 +77466,18 @@ class RunRCInstancesRequest(TeaModel):
76029
77466
  result['PeriodUnit'] = self.period_unit
76030
77467
  if self.region_id is not None:
76031
77468
  result['RegionId'] = self.region_id
77469
+ if self.resource_group_id is not None:
77470
+ result['ResourceGroupId'] = self.resource_group_id
76032
77471
  if self.security_enhancement_strategy is not None:
76033
77472
  result['SecurityEnhancementStrategy'] = self.security_enhancement_strategy
76034
77473
  if self.security_group_id is not None:
76035
77474
  result['SecurityGroupId'] = self.security_group_id
76036
77475
  if self.system_disk is not None:
76037
77476
  result['SystemDisk'] = self.system_disk.to_map()
77477
+ result['Tag'] = []
77478
+ if self.tag is not None:
77479
+ for k in self.tag:
77480
+ result['Tag'].append(k.to_map() if k else None)
76038
77481
  if self.v_switch_id is not None:
76039
77482
  result['VSwitchId'] = self.v_switch_id
76040
77483
  if self.zone_id is not None:
@@ -76051,6 +77494,8 @@ class RunRCInstancesRequest(TeaModel):
76051
77494
  self.auto_renew = m.get('AutoRenew')
76052
77495
  if m.get('ClientToken') is not None:
76053
77496
  self.client_token = m.get('ClientToken')
77497
+ if m.get('CreateMode') is not None:
77498
+ self.create_mode = m.get('CreateMode')
76054
77499
  self.data_disk = []
76055
77500
  if m.get('DataDisk') is not None:
76056
77501
  for k in m.get('DataDisk'):
@@ -76062,6 +77507,8 @@ class RunRCInstancesRequest(TeaModel):
76062
77507
  self.description = m.get('Description')
76063
77508
  if m.get('DryRun') is not None:
76064
77509
  self.dry_run = m.get('DryRun')
77510
+ if m.get('HostName') is not None:
77511
+ self.host_name = m.get('HostName')
76065
77512
  if m.get('ImageId') is not None:
76066
77513
  self.image_id = m.get('ImageId')
76067
77514
  if m.get('InstanceChargeType') is not None:
@@ -76086,6 +77533,8 @@ class RunRCInstancesRequest(TeaModel):
76086
77533
  self.period_unit = m.get('PeriodUnit')
76087
77534
  if m.get('RegionId') is not None:
76088
77535
  self.region_id = m.get('RegionId')
77536
+ if m.get('ResourceGroupId') is not None:
77537
+ self.resource_group_id = m.get('ResourceGroupId')
76089
77538
  if m.get('SecurityEnhancementStrategy') is not None:
76090
77539
  self.security_enhancement_strategy = m.get('SecurityEnhancementStrategy')
76091
77540
  if m.get('SecurityGroupId') is not None:
@@ -76093,6 +77542,11 @@ class RunRCInstancesRequest(TeaModel):
76093
77542
  if m.get('SystemDisk') is not None:
76094
77543
  temp_model = RunRCInstancesRequestSystemDisk()
76095
77544
  self.system_disk = temp_model.from_map(m['SystemDisk'])
77545
+ self.tag = []
77546
+ if m.get('Tag') is not None:
77547
+ for k in m.get('Tag'):
77548
+ temp_model = RunRCInstancesRequestTag()
77549
+ self.tag.append(temp_model.from_map(k))
76096
77550
  if m.get('VSwitchId') is not None:
76097
77551
  self.v_switch_id = m.get('VSwitchId')
76098
77552
  if m.get('ZoneId') is not None:
@@ -76100,6 +77554,39 @@ class RunRCInstancesRequest(TeaModel):
76100
77554
  return self
76101
77555
 
76102
77556
 
77557
+ class RunRCInstancesShrinkRequestTag(TeaModel):
77558
+ def __init__(
77559
+ self,
77560
+ key: str = None,
77561
+ value: str = None,
77562
+ ):
77563
+ self.key = key
77564
+ self.value = value
77565
+
77566
+ def validate(self):
77567
+ pass
77568
+
77569
+ def to_map(self):
77570
+ _map = super().to_map()
77571
+ if _map is not None:
77572
+ return _map
77573
+
77574
+ result = dict()
77575
+ if self.key is not None:
77576
+ result['Key'] = self.key
77577
+ if self.value is not None:
77578
+ result['Value'] = self.value
77579
+ return result
77580
+
77581
+ def from_map(self, m: dict = None):
77582
+ m = m or dict()
77583
+ if m.get('Key') is not None:
77584
+ self.key = m.get('Key')
77585
+ if m.get('Value') is not None:
77586
+ self.value = m.get('Value')
77587
+ return self
77588
+
77589
+
76103
77590
  class RunRCInstancesShrinkRequest(TeaModel):
76104
77591
  def __init__(
76105
77592
  self,
@@ -76107,10 +77594,12 @@ class RunRCInstancesShrinkRequest(TeaModel):
76107
77594
  auto_pay: bool = None,
76108
77595
  auto_renew: bool = None,
76109
77596
  client_token: str = None,
77597
+ create_mode: str = None,
76110
77598
  data_disk_shrink: str = None,
76111
77599
  deployment_set_id: str = None,
76112
77600
  description: str = None,
76113
77601
  dry_run: bool = None,
77602
+ host_name: str = None,
76114
77603
  image_id: str = None,
76115
77604
  instance_charge_type: str = None,
76116
77605
  instance_name: str = None,
@@ -76123,44 +77612,104 @@ class RunRCInstancesShrinkRequest(TeaModel):
76123
77612
  period: int = None,
76124
77613
  period_unit: str = None,
76125
77614
  region_id: str = None,
77615
+ resource_group_id: str = None,
76126
77616
  security_enhancement_strategy: str = None,
76127
77617
  security_group_id: str = None,
76128
77618
  system_disk_shrink: str = None,
77619
+ tag: List[RunRCInstancesShrinkRequestTag] = None,
76129
77620
  v_switch_id: str = None,
76130
77621
  zone_id: str = None,
76131
77622
  ):
77623
+ # The number of RDS Custom instances that you want to create. The parameter is available if you want to create multiple RDS Custom instances at a time.
77624
+ #
77625
+ # Valid values: **1** to **10**. Default value: **1**.
77626
+ #
76132
77627
  # This parameter is required.
76133
77628
  self.amount = amount
77629
+ # Specifies whether to enable the automatic payment feature. Valid values:
77630
+ #
77631
+ # * **true** (default): enables the feature. Make sure that your account balance is sufficient.
77632
+ # * **false**: disables the feature. An unpaid order is generated.
77633
+ #
77634
+ # > If your account balance is insufficient, you can set the AutoPay parameter to false. In this case, an unpaid order is generated. You can complete the payment in the Expenses and Costs console.
76134
77635
  self.auto_pay = auto_pay
77636
+ # Specifies whether to enable auto-renewal for the instance. Valid values:
77637
+ #
77638
+ # * **true** (default)
77639
+ # * **false**\
76135
77640
  self.auto_renew = auto_renew
77641
+ # The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, 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.
76136
77642
  self.client_token = client_token
77643
+ self.create_mode = create_mode
77644
+ # The information about the data disks.
76137
77645
  self.data_disk_shrink = data_disk_shrink
77646
+ # The deployment set ID.
76138
77647
  self.deployment_set_id = deployment_set_id
77648
+ # The instance description. The description must be 2 to 256 characters in length and cannot start with http:// or https://.
76139
77649
  self.description = description
77650
+ # Specifies whether to perform only a dry run, without performing the actual request. Valid values:
77651
+ #
77652
+ # * **true**: performs only a dry run. The system checks the request for potential issues, including missing parameter values, incorrect request syntax, service limits, and insufficient inventory errors.
77653
+ # * **false** (default): performs a dry run and performs the actual request. If the request passes the dry run, the instance is directly created.
76140
77654
  self.dry_run = dry_run
77655
+ self.host_name = host_name
77656
+ # The ID of the image used by the instance.
76141
77657
  self.image_id = image_id
77658
+ # The billing method of the instance. Set the value to **Prepaid**, which indicates the subscription billing method.
76142
77659
  self.instance_charge_type = instance_charge_type
77660
+ # The instance name.
76143
77661
  self.instance_name = instance_name
77662
+ # The instance type. For more information about the instance types that are supported by RDS Custom instances, see [Instance types for RDS Custom instances](https://help.aliyun.com/document_detail/2844823.html).
77663
+ #
76144
77664
  # This parameter is required.
76145
77665
  self.instance_type = instance_type
77666
+ # The reserved parameter. This parameter is not supported.
76146
77667
  self.internet_charge_type = internet_charge_type
77668
+ # The reserved parameter. This parameter is not supported.
76147
77669
  self.internet_max_bandwidth_out = internet_max_bandwidth_out
77670
+ # The reserved parameter. This parameter is not supported.
76148
77671
  self.io_optimized = io_optimized
77672
+ # The name of the AccessKey pair. You can specify only one name.
76149
77673
  self.key_pair_name = key_pair_name
77674
+ # The password of the account that is used to log on to the instance.
76150
77675
  self.password = password
77676
+ # The subscription duration of the instance. Default value: **1**.
76151
77677
  self.period = period
77678
+ # The unit of the subscription duration. Valid values:
77679
+ #
77680
+ # * **Year**\
77681
+ # * **Month** (default)
76152
77682
  self.period_unit = period_unit
77683
+ # The region ID. You can call the DescribeRegions operation to query the most recent region list.
77684
+ #
76153
77685
  # This parameter is required.
76154
77686
  self.region_id = region_id
77687
+ self.resource_group_id = resource_group_id
77688
+ # The reserved parameter. This parameter is not supported.
76155
77689
  self.security_enhancement_strategy = security_enhancement_strategy
77690
+ # The ID of the security group to which you want to add the new instance. Instances in the same security group can communicate with each other. The maximum number of instances allowed in a security group varies based on the type of the security group. For more information, see the "Security group limits" section in [Limits](https://help.aliyun.com/document_detail/25412.html).
77691
+ #
77692
+ # > The network type of the instance is determined by the security group specified by the SecurityGroupId parameter. For example, if the network type of the specified security group is VPC, the instance is a VPC-type instance. In this case, you must specify the VSwitchId parameter.
76156
77693
  self.security_group_id = security_group_id
77694
+ # The specification of the system disk.
76157
77695
  self.system_disk_shrink = system_disk_shrink
77696
+ self.tag = tag
77697
+ # The vSwitch ID of the instance. You must specify this parameter when you create an instance of the virtual private cloud (VPC) type. The specified vSwitch and security group must belong to the same VPC.
77698
+ #
77699
+ # > If you specify the VSwitchId parameter, the zone specified by the ZoneId parameter must be the same as the zone in which the specified vSwitch resides. You can leave the ZoneId parameter empty. In this case, the system uses the zone in which the specified vSwitch resides.
77700
+ #
76158
77701
  # This parameter is required.
76159
77702
  self.v_switch_id = v_switch_id
77703
+ # The zone ID of the instance. You can call the DescribeZones operation to query the zone IDs.
77704
+ #
77705
+ # > If you specify the VSwitchId parameter, the zone specified by the ZoneId parameter must be the same as the zone in which the specified vSwitch resides. You can leave the ZoneId parameter empty. In this case, the system uses the zone in which the specified vSwitch resides.
76160
77706
  self.zone_id = zone_id
76161
77707
 
76162
77708
  def validate(self):
76163
- pass
77709
+ if self.tag:
77710
+ for k in self.tag:
77711
+ if k:
77712
+ k.validate()
76164
77713
 
76165
77714
  def to_map(self):
76166
77715
  _map = super().to_map()
@@ -76176,6 +77725,8 @@ class RunRCInstancesShrinkRequest(TeaModel):
76176
77725
  result['AutoRenew'] = self.auto_renew
76177
77726
  if self.client_token is not None:
76178
77727
  result['ClientToken'] = self.client_token
77728
+ if self.create_mode is not None:
77729
+ result['CreateMode'] = self.create_mode
76179
77730
  if self.data_disk_shrink is not None:
76180
77731
  result['DataDisk'] = self.data_disk_shrink
76181
77732
  if self.deployment_set_id is not None:
@@ -76184,6 +77735,8 @@ class RunRCInstancesShrinkRequest(TeaModel):
76184
77735
  result['Description'] = self.description
76185
77736
  if self.dry_run is not None:
76186
77737
  result['DryRun'] = self.dry_run
77738
+ if self.host_name is not None:
77739
+ result['HostName'] = self.host_name
76187
77740
  if self.image_id is not None:
76188
77741
  result['ImageId'] = self.image_id
76189
77742
  if self.instance_charge_type is not None:
@@ -76208,12 +77761,18 @@ class RunRCInstancesShrinkRequest(TeaModel):
76208
77761
  result['PeriodUnit'] = self.period_unit
76209
77762
  if self.region_id is not None:
76210
77763
  result['RegionId'] = self.region_id
77764
+ if self.resource_group_id is not None:
77765
+ result['ResourceGroupId'] = self.resource_group_id
76211
77766
  if self.security_enhancement_strategy is not None:
76212
77767
  result['SecurityEnhancementStrategy'] = self.security_enhancement_strategy
76213
77768
  if self.security_group_id is not None:
76214
77769
  result['SecurityGroupId'] = self.security_group_id
76215
77770
  if self.system_disk_shrink is not None:
76216
77771
  result['SystemDisk'] = self.system_disk_shrink
77772
+ result['Tag'] = []
77773
+ if self.tag is not None:
77774
+ for k in self.tag:
77775
+ result['Tag'].append(k.to_map() if k else None)
76217
77776
  if self.v_switch_id is not None:
76218
77777
  result['VSwitchId'] = self.v_switch_id
76219
77778
  if self.zone_id is not None:
@@ -76230,6 +77789,8 @@ class RunRCInstancesShrinkRequest(TeaModel):
76230
77789
  self.auto_renew = m.get('AutoRenew')
76231
77790
  if m.get('ClientToken') is not None:
76232
77791
  self.client_token = m.get('ClientToken')
77792
+ if m.get('CreateMode') is not None:
77793
+ self.create_mode = m.get('CreateMode')
76233
77794
  if m.get('DataDisk') is not None:
76234
77795
  self.data_disk_shrink = m.get('DataDisk')
76235
77796
  if m.get('DeploymentSetId') is not None:
@@ -76238,6 +77799,8 @@ class RunRCInstancesShrinkRequest(TeaModel):
76238
77799
  self.description = m.get('Description')
76239
77800
  if m.get('DryRun') is not None:
76240
77801
  self.dry_run = m.get('DryRun')
77802
+ if m.get('HostName') is not None:
77803
+ self.host_name = m.get('HostName')
76241
77804
  if m.get('ImageId') is not None:
76242
77805
  self.image_id = m.get('ImageId')
76243
77806
  if m.get('InstanceChargeType') is not None:
@@ -76262,12 +77825,19 @@ class RunRCInstancesShrinkRequest(TeaModel):
76262
77825
  self.period_unit = m.get('PeriodUnit')
76263
77826
  if m.get('RegionId') is not None:
76264
77827
  self.region_id = m.get('RegionId')
77828
+ if m.get('ResourceGroupId') is not None:
77829
+ self.resource_group_id = m.get('ResourceGroupId')
76265
77830
  if m.get('SecurityEnhancementStrategy') is not None:
76266
77831
  self.security_enhancement_strategy = m.get('SecurityEnhancementStrategy')
76267
77832
  if m.get('SecurityGroupId') is not None:
76268
77833
  self.security_group_id = m.get('SecurityGroupId')
76269
77834
  if m.get('SystemDisk') is not None:
76270
77835
  self.system_disk_shrink = m.get('SystemDisk')
77836
+ self.tag = []
77837
+ if m.get('Tag') is not None:
77838
+ for k in m.get('Tag'):
77839
+ temp_model = RunRCInstancesShrinkRequestTag()
77840
+ self.tag.append(temp_model.from_map(k))
76271
77841
  if m.get('VSwitchId') is not None:
76272
77842
  self.v_switch_id = m.get('VSwitchId')
76273
77843
  if m.get('ZoneId') is not None:
@@ -76309,8 +77879,11 @@ class RunRCInstancesResponseBody(TeaModel):
76309
77879
  order_id: str = None,
76310
77880
  request_id: str = None,
76311
77881
  ):
77882
+ # The instance IDs (InstanceIdSet).
76312
77883
  self.instance_id_sets = instance_id_sets
77884
+ # The order ID.
76313
77885
  self.order_id = order_id
77886
+ # The request ID.
76314
77887
  self.request_id = request_id
76315
77888
 
76316
77889
  def validate(self):
@@ -76628,8 +78201,11 @@ class StartRCInstanceRequest(TeaModel):
76628
78201
  instance_id: str = None,
76629
78202
  region_id: str = None,
76630
78203
  ):
78204
+ # The instance ID.
78205
+ #
76631
78206
  # This parameter is required.
76632
78207
  self.instance_id = instance_id
78208
+ # The region ID.
76633
78209
  self.region_id = region_id
76634
78210
 
76635
78211
  def validate(self):
@@ -76661,6 +78237,7 @@ class StartRCInstanceResponseBody(TeaModel):
76661
78237
  self,
76662
78238
  request_id: str = None,
76663
78239
  ):
78240
+ # The request ID.
76664
78241
  self.request_id = request_id
76665
78242
 
76666
78243
  def validate(self):
@@ -76857,9 +78434,16 @@ class StopRCInstanceRequest(TeaModel):
76857
78434
  instance_id: str = None,
76858
78435
  region_id: str = None,
76859
78436
  ):
78437
+ # Specifies whether to forcefully stop the instance. Valid values:
78438
+ #
78439
+ # * **true**\
78440
+ # * **false** (default)
76860
78441
  self.force_stop = force_stop
78442
+ # The instance ID.
78443
+ #
76861
78444
  # This parameter is required.
76862
78445
  self.instance_id = instance_id
78446
+ # The region ID.
76863
78447
  self.region_id = region_id
76864
78448
 
76865
78449
  def validate(self):
@@ -76895,6 +78479,7 @@ class StopRCInstanceResponseBody(TeaModel):
76895
78479
  self,
76896
78480
  request_id: str = None,
76897
78481
  ):
78482
+ # The request ID.
76898
78483
  self.request_id = request_id
76899
78484
 
76900
78485
  def validate(self):
@@ -77427,9 +79012,13 @@ class SyncRCKeyPairRequest(TeaModel):
77427
79012
  self,
77428
79013
  key_pair_name: str = None,
77429
79014
  region_id: str = None,
79015
+ sync_mode: bool = None,
77430
79016
  ):
79017
+ # The name of the key pair.
77431
79018
  self.key_pair_name = key_pair_name
79019
+ # The region ID.
77432
79020
  self.region_id = region_id
79021
+ self.sync_mode = sync_mode
77433
79022
 
77434
79023
  def validate(self):
77435
79024
  pass
@@ -77444,6 +79033,8 @@ class SyncRCKeyPairRequest(TeaModel):
77444
79033
  result['KeyPairName'] = self.key_pair_name
77445
79034
  if self.region_id is not None:
77446
79035
  result['RegionId'] = self.region_id
79036
+ if self.sync_mode is not None:
79037
+ result['SyncMode'] = self.sync_mode
77447
79038
  return result
77448
79039
 
77449
79040
  def from_map(self, m: dict = None):
@@ -77452,6 +79043,8 @@ class SyncRCKeyPairRequest(TeaModel):
77452
79043
  self.key_pair_name = m.get('KeyPairName')
77453
79044
  if m.get('RegionId') is not None:
77454
79045
  self.region_id = m.get('RegionId')
79046
+ if m.get('SyncMode') is not None:
79047
+ self.sync_mode = m.get('SyncMode')
77455
79048
  return self
77456
79049
 
77457
79050
 
@@ -77460,6 +79053,10 @@ class SyncRCKeyPairResponseBodyData(TeaModel):
77460
79053
  self,
77461
79054
  is_sync_info: bool = None,
77462
79055
  ):
79056
+ # Indicates whether the synchronization succeeded. Valid values:
79057
+ #
79058
+ # * **true**\
79059
+ # * **false**\
77463
79060
  self.is_sync_info = is_sync_info
77464
79061
 
77465
79062
  def validate(self):
@@ -77488,7 +79085,9 @@ class SyncRCKeyPairResponseBody(TeaModel):
77488
79085
  data: SyncRCKeyPairResponseBodyData = None,
77489
79086
  request_id: str = None,
77490
79087
  ):
79088
+ # The details of the result.
77491
79089
  self.data = data
79090
+ # The request ID.
77492
79091
  self.request_id = request_id
77493
79092
 
77494
79093
  def validate(self):