@alicloud/ess20220222 1.0.2 → 1.0.4

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.
package/src/client.ts CHANGED
@@ -270,6 +270,7 @@ export class AttachLoadBalancersRequest extends $tea.Model {
270
270
  async?: boolean;
271
271
  clientToken?: string;
272
272
  forceAttach?: boolean;
273
+ loadBalancerConfigs?: AttachLoadBalancersRequestLoadBalancerConfigs[];
273
274
  loadBalancers?: string[];
274
275
  ownerId?: number;
275
276
  resourceOwnerAccount?: string;
@@ -279,6 +280,7 @@ export class AttachLoadBalancersRequest extends $tea.Model {
279
280
  async: 'Async',
280
281
  clientToken: 'ClientToken',
281
282
  forceAttach: 'ForceAttach',
283
+ loadBalancerConfigs: 'LoadBalancerConfigs',
282
284
  loadBalancers: 'LoadBalancers',
283
285
  ownerId: 'OwnerId',
284
286
  resourceOwnerAccount: 'ResourceOwnerAccount',
@@ -291,6 +293,7 @@ export class AttachLoadBalancersRequest extends $tea.Model {
291
293
  async: 'boolean',
292
294
  clientToken: 'string',
293
295
  forceAttach: 'boolean',
296
+ loadBalancerConfigs: { 'type': 'array', 'itemType': AttachLoadBalancersRequestLoadBalancerConfigs },
294
297
  loadBalancers: { 'type': 'array', 'itemType': 'string' },
295
298
  ownerId: 'number',
296
299
  resourceOwnerAccount: 'string',
@@ -350,6 +353,90 @@ export class AttachLoadBalancersResponse extends $tea.Model {
350
353
  }
351
354
  }
352
355
 
356
+ export class AttachServerGroupsRequest extends $tea.Model {
357
+ clientToken?: string;
358
+ forceAttach?: boolean;
359
+ ownerId?: number;
360
+ regionId?: string;
361
+ resourceOwnerAccount?: string;
362
+ scalingGroupId?: string;
363
+ serverGroups?: AttachServerGroupsRequestServerGroups[];
364
+ static names(): { [key: string]: string } {
365
+ return {
366
+ clientToken: 'ClientToken',
367
+ forceAttach: 'ForceAttach',
368
+ ownerId: 'OwnerId',
369
+ regionId: 'RegionId',
370
+ resourceOwnerAccount: 'ResourceOwnerAccount',
371
+ scalingGroupId: 'ScalingGroupId',
372
+ serverGroups: 'ServerGroups',
373
+ };
374
+ }
375
+
376
+ static types(): { [key: string]: any } {
377
+ return {
378
+ clientToken: 'string',
379
+ forceAttach: 'boolean',
380
+ ownerId: 'number',
381
+ regionId: 'string',
382
+ resourceOwnerAccount: 'string',
383
+ scalingGroupId: 'string',
384
+ serverGroups: { 'type': 'array', 'itemType': AttachServerGroupsRequestServerGroups },
385
+ };
386
+ }
387
+
388
+ constructor(map?: { [key: string]: any }) {
389
+ super(map);
390
+ }
391
+ }
392
+
393
+ export class AttachServerGroupsResponseBody extends $tea.Model {
394
+ requestId?: string;
395
+ scalingActivityId?: string;
396
+ static names(): { [key: string]: string } {
397
+ return {
398
+ requestId: 'RequestId',
399
+ scalingActivityId: 'ScalingActivityId',
400
+ };
401
+ }
402
+
403
+ static types(): { [key: string]: any } {
404
+ return {
405
+ requestId: 'string',
406
+ scalingActivityId: 'string',
407
+ };
408
+ }
409
+
410
+ constructor(map?: { [key: string]: any }) {
411
+ super(map);
412
+ }
413
+ }
414
+
415
+ export class AttachServerGroupsResponse extends $tea.Model {
416
+ headers: { [key: string]: string };
417
+ statusCode: number;
418
+ body: AttachServerGroupsResponseBody;
419
+ static names(): { [key: string]: string } {
420
+ return {
421
+ headers: 'headers',
422
+ statusCode: 'statusCode',
423
+ body: 'body',
424
+ };
425
+ }
426
+
427
+ static types(): { [key: string]: any } {
428
+ return {
429
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
430
+ statusCode: 'number',
431
+ body: AttachServerGroupsResponseBody,
432
+ };
433
+ }
434
+
435
+ constructor(map?: { [key: string]: any }) {
436
+ super(map);
437
+ }
438
+ }
439
+
353
440
  export class AttachVServerGroupsRequest extends $tea.Model {
354
441
  clientToken?: string;
355
442
  forceAttach?: boolean;
@@ -431,6 +518,84 @@ export class AttachVServerGroupsResponse extends $tea.Model {
431
518
  }
432
519
  }
433
520
 
521
+ export class ChangeResourceGroupRequest extends $tea.Model {
522
+ newResourceGroupId?: string;
523
+ ownerId?: number;
524
+ regionId?: string;
525
+ resourceId?: string;
526
+ resourceOwnerAccount?: string;
527
+ resourceType?: string;
528
+ static names(): { [key: string]: string } {
529
+ return {
530
+ newResourceGroupId: 'NewResourceGroupId',
531
+ ownerId: 'OwnerId',
532
+ regionId: 'RegionId',
533
+ resourceId: 'ResourceId',
534
+ resourceOwnerAccount: 'ResourceOwnerAccount',
535
+ resourceType: 'ResourceType',
536
+ };
537
+ }
538
+
539
+ static types(): { [key: string]: any } {
540
+ return {
541
+ newResourceGroupId: 'string',
542
+ ownerId: 'number',
543
+ regionId: 'string',
544
+ resourceId: 'string',
545
+ resourceOwnerAccount: 'string',
546
+ resourceType: 'string',
547
+ };
548
+ }
549
+
550
+ constructor(map?: { [key: string]: any }) {
551
+ super(map);
552
+ }
553
+ }
554
+
555
+ export class ChangeResourceGroupResponseBody extends $tea.Model {
556
+ requestId?: string;
557
+ static names(): { [key: string]: string } {
558
+ return {
559
+ requestId: 'RequestId',
560
+ };
561
+ }
562
+
563
+ static types(): { [key: string]: any } {
564
+ return {
565
+ requestId: 'string',
566
+ };
567
+ }
568
+
569
+ constructor(map?: { [key: string]: any }) {
570
+ super(map);
571
+ }
572
+ }
573
+
574
+ export class ChangeResourceGroupResponse extends $tea.Model {
575
+ headers: { [key: string]: string };
576
+ statusCode: number;
577
+ body: ChangeResourceGroupResponseBody;
578
+ static names(): { [key: string]: string } {
579
+ return {
580
+ headers: 'headers',
581
+ statusCode: 'statusCode',
582
+ body: 'body',
583
+ };
584
+ }
585
+
586
+ static types(): { [key: string]: any } {
587
+ return {
588
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
589
+ statusCode: 'number',
590
+ body: ChangeResourceGroupResponseBody,
591
+ };
592
+ }
593
+
594
+ constructor(map?: { [key: string]: any }) {
595
+ super(map);
596
+ }
597
+ }
598
+
434
599
  export class CompleteLifecycleActionRequest extends $tea.Model {
435
600
  clientToken?: string;
436
601
  lifecycleActionResult?: string;
@@ -1002,6 +1167,7 @@ export class CreateNotificationConfigurationResponse extends $tea.Model {
1002
1167
  }
1003
1168
 
1004
1169
  export class CreateScalingConfigurationRequest extends $tea.Model {
1170
+ imageOptions?: CreateScalingConfigurationRequestImageOptions;
1005
1171
  privatePoolOptions?: CreateScalingConfigurationRequestPrivatePoolOptions;
1006
1172
  systemDisk?: CreateScalingConfigurationRequestSystemDisk;
1007
1173
  affinity?: string;
@@ -1054,6 +1220,7 @@ export class CreateScalingConfigurationRequest extends $tea.Model {
1054
1220
  zoneId?: string;
1055
1221
  static names(): { [key: string]: string } {
1056
1222
  return {
1223
+ imageOptions: 'ImageOptions',
1057
1224
  privatePoolOptions: 'PrivatePoolOptions',
1058
1225
  systemDisk: 'SystemDisk',
1059
1226
  affinity: 'Affinity',
@@ -1109,6 +1276,7 @@ export class CreateScalingConfigurationRequest extends $tea.Model {
1109
1276
 
1110
1277
  static types(): { [key: string]: any } {
1111
1278
  return {
1279
+ imageOptions: CreateScalingConfigurationRequestImageOptions,
1112
1280
  privatePoolOptions: CreateScalingConfigurationRequestPrivatePoolOptions,
1113
1281
  systemDisk: CreateScalingConfigurationRequestSystemDisk,
1114
1282
  affinity: 'string',
@@ -1168,6 +1336,7 @@ export class CreateScalingConfigurationRequest extends $tea.Model {
1168
1336
  }
1169
1337
 
1170
1338
  export class CreateScalingConfigurationShrinkRequest extends $tea.Model {
1339
+ imageOptions?: CreateScalingConfigurationShrinkRequestImageOptions;
1171
1340
  privatePoolOptions?: CreateScalingConfigurationShrinkRequestPrivatePoolOptions;
1172
1341
  systemDisk?: CreateScalingConfigurationShrinkRequestSystemDisk;
1173
1342
  affinity?: string;
@@ -1220,6 +1389,7 @@ export class CreateScalingConfigurationShrinkRequest extends $tea.Model {
1220
1389
  zoneId?: string;
1221
1390
  static names(): { [key: string]: string } {
1222
1391
  return {
1392
+ imageOptions: 'ImageOptions',
1223
1393
  privatePoolOptions: 'PrivatePoolOptions',
1224
1394
  systemDisk: 'SystemDisk',
1225
1395
  affinity: 'Affinity',
@@ -1275,6 +1445,7 @@ export class CreateScalingConfigurationShrinkRequest extends $tea.Model {
1275
1445
 
1276
1446
  static types(): { [key: string]: any } {
1277
1447
  return {
1448
+ imageOptions: CreateScalingConfigurationShrinkRequestImageOptions,
1278
1449
  privatePoolOptions: CreateScalingConfigurationShrinkRequestPrivatePoolOptions,
1279
1450
  systemDisk: CreateScalingConfigurationShrinkRequestSystemDisk,
1280
1451
  affinity: 'string',
@@ -1399,6 +1570,7 @@ export class CreateScalingGroupRequest extends $tea.Model {
1399
1570
  launchTemplateOverrides?: CreateScalingGroupRequestLaunchTemplateOverrides[];
1400
1571
  launchTemplateVersion?: string;
1401
1572
  lifecycleHooks?: CreateScalingGroupRequestLifecycleHooks[];
1573
+ loadBalancerConfigs?: CreateScalingGroupRequestLoadBalancerConfigs[];
1402
1574
  loadBalancerIds?: string;
1403
1575
  maxInstanceLifetime?: number;
1404
1576
  maxSize?: number;
@@ -1410,9 +1582,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1410
1582
  ownerId?: number;
1411
1583
  regionId?: string;
1412
1584
  removalPolicies?: string[];
1585
+ resourceGroupId?: string;
1413
1586
  resourceOwnerAccount?: string;
1414
1587
  scalingGroupName?: string;
1415
1588
  scalingPolicy?: string;
1589
+ serverGroups?: CreateScalingGroupRequestServerGroups[];
1416
1590
  spotAllocationStrategy?: string;
1417
1591
  spotInstancePools?: number;
1418
1592
  spotInstanceRemedy?: boolean;
@@ -1441,6 +1615,7 @@ export class CreateScalingGroupRequest extends $tea.Model {
1441
1615
  launchTemplateOverrides: 'LaunchTemplateOverrides',
1442
1616
  launchTemplateVersion: 'LaunchTemplateVersion',
1443
1617
  lifecycleHooks: 'LifecycleHooks',
1618
+ loadBalancerConfigs: 'LoadBalancerConfigs',
1444
1619
  loadBalancerIds: 'LoadBalancerIds',
1445
1620
  maxInstanceLifetime: 'MaxInstanceLifetime',
1446
1621
  maxSize: 'MaxSize',
@@ -1452,9 +1627,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1452
1627
  ownerId: 'OwnerId',
1453
1628
  regionId: 'RegionId',
1454
1629
  removalPolicies: 'RemovalPolicies',
1630
+ resourceGroupId: 'ResourceGroupId',
1455
1631
  resourceOwnerAccount: 'ResourceOwnerAccount',
1456
1632
  scalingGroupName: 'ScalingGroupName',
1457
1633
  scalingPolicy: 'ScalingPolicy',
1634
+ serverGroups: 'ServerGroups',
1458
1635
  spotAllocationStrategy: 'SpotAllocationStrategy',
1459
1636
  spotInstancePools: 'SpotInstancePools',
1460
1637
  spotInstanceRemedy: 'SpotInstanceRemedy',
@@ -1486,6 +1663,7 @@ export class CreateScalingGroupRequest extends $tea.Model {
1486
1663
  launchTemplateOverrides: { 'type': 'array', 'itemType': CreateScalingGroupRequestLaunchTemplateOverrides },
1487
1664
  launchTemplateVersion: 'string',
1488
1665
  lifecycleHooks: { 'type': 'array', 'itemType': CreateScalingGroupRequestLifecycleHooks },
1666
+ loadBalancerConfigs: { 'type': 'array', 'itemType': CreateScalingGroupRequestLoadBalancerConfigs },
1489
1667
  loadBalancerIds: 'string',
1490
1668
  maxInstanceLifetime: 'number',
1491
1669
  maxSize: 'number',
@@ -1497,9 +1675,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1497
1675
  ownerId: 'number',
1498
1676
  regionId: 'string',
1499
1677
  removalPolicies: { 'type': 'array', 'itemType': 'string' },
1678
+ resourceGroupId: 'string',
1500
1679
  resourceOwnerAccount: 'string',
1501
1680
  scalingGroupName: 'string',
1502
1681
  scalingPolicy: 'string',
1682
+ serverGroups: { 'type': 'array', 'itemType': CreateScalingGroupRequestServerGroups },
1503
1683
  spotAllocationStrategy: 'string',
1504
1684
  spotInstancePools: 'number',
1505
1685
  spotInstanceRemedy: 'boolean',
@@ -1566,6 +1746,7 @@ export class CreateScalingGroupResponse extends $tea.Model {
1566
1746
  export class CreateScalingRuleRequest extends $tea.Model {
1567
1747
  adjustmentType?: string;
1568
1748
  adjustmentValue?: number;
1749
+ alarmDimensions?: CreateScalingRuleRequestAlarmDimensions[];
1569
1750
  cooldown?: number;
1570
1751
  disableScaleIn?: boolean;
1571
1752
  estimatedInstanceWarmup?: number;
@@ -1591,6 +1772,7 @@ export class CreateScalingRuleRequest extends $tea.Model {
1591
1772
  return {
1592
1773
  adjustmentType: 'AdjustmentType',
1593
1774
  adjustmentValue: 'AdjustmentValue',
1775
+ alarmDimensions: 'AlarmDimensions',
1594
1776
  cooldown: 'Cooldown',
1595
1777
  disableScaleIn: 'DisableScaleIn',
1596
1778
  estimatedInstanceWarmup: 'EstimatedInstanceWarmup',
@@ -1619,6 +1801,7 @@ export class CreateScalingRuleRequest extends $tea.Model {
1619
1801
  return {
1620
1802
  adjustmentType: 'string',
1621
1803
  adjustmentValue: 'number',
1804
+ alarmDimensions: { 'type': 'array', 'itemType': CreateScalingRuleRequestAlarmDimensions },
1622
1805
  cooldown: 'number',
1623
1806
  disableScaleIn: 'boolean',
1624
1807
  estimatedInstanceWarmup: 'number',
@@ -2918,6 +3101,7 @@ export class DescribeLimitationResponseBody extends $tea.Model {
2918
3101
  maxNumberOfLoadBalancers?: number;
2919
3102
  maxNumberOfMaxSize?: number;
2920
3103
  maxNumberOfMinSize?: number;
3104
+ maxNumberOfNlbServerGroup?: number;
2921
3105
  maxNumberOfNotificationConfigurations?: number;
2922
3106
  maxNumberOfScalingConfigurations?: number;
2923
3107
  maxNumberOfScalingGroups?: number;
@@ -2934,6 +3118,7 @@ export class DescribeLimitationResponseBody extends $tea.Model {
2934
3118
  maxNumberOfLoadBalancers: 'MaxNumberOfLoadBalancers',
2935
3119
  maxNumberOfMaxSize: 'MaxNumberOfMaxSize',
2936
3120
  maxNumberOfMinSize: 'MaxNumberOfMinSize',
3121
+ maxNumberOfNlbServerGroup: 'MaxNumberOfNlbServerGroup',
2937
3122
  maxNumberOfNotificationConfigurations: 'MaxNumberOfNotificationConfigurations',
2938
3123
  maxNumberOfScalingConfigurations: 'MaxNumberOfScalingConfigurations',
2939
3124
  maxNumberOfScalingGroups: 'MaxNumberOfScalingGroups',
@@ -2953,6 +3138,7 @@ export class DescribeLimitationResponseBody extends $tea.Model {
2953
3138
  maxNumberOfLoadBalancers: 'number',
2954
3139
  maxNumberOfMaxSize: 'number',
2955
3140
  maxNumberOfMinSize: 'number',
3141
+ maxNumberOfNlbServerGroup: 'number',
2956
3142
  maxNumberOfNotificationConfigurations: 'number',
2957
3143
  maxNumberOfScalingConfigurations: 'number',
2958
3144
  maxNumberOfScalingGroups: 'number',
@@ -3502,6 +3688,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3502
3688
  pageNumber?: number;
3503
3689
  pageSize?: number;
3504
3690
  regionId?: string;
3691
+ resourceGroupId?: string;
3505
3692
  resourceOwnerAccount?: string;
3506
3693
  resourceOwnerId?: number;
3507
3694
  scalingGroupIds?: string[];
@@ -3515,6 +3702,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3515
3702
  pageNumber: 'PageNumber',
3516
3703
  pageSize: 'PageSize',
3517
3704
  regionId: 'RegionId',
3705
+ resourceGroupId: 'ResourceGroupId',
3518
3706
  resourceOwnerAccount: 'ResourceOwnerAccount',
3519
3707
  resourceOwnerId: 'ResourceOwnerId',
3520
3708
  scalingGroupIds: 'ScalingGroupIds',
@@ -3531,6 +3719,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3531
3719
  pageNumber: 'number',
3532
3720
  pageSize: 'number',
3533
3721
  regionId: 'string',
3722
+ resourceGroupId: 'string',
3534
3723
  resourceOwnerAccount: 'string',
3535
3724
  resourceOwnerId: 'number',
3536
3725
  scalingGroupIds: { 'type': 'array', 'itemType': 'string' },
@@ -4275,6 +4464,90 @@ export class DetachLoadBalancersResponse extends $tea.Model {
4275
4464
  }
4276
4465
  }
4277
4466
 
4467
+ export class DetachServerGroupsRequest extends $tea.Model {
4468
+ clientToken?: string;
4469
+ forceDetach?: boolean;
4470
+ ownerId?: number;
4471
+ regionId?: string;
4472
+ resourceOwnerAccount?: string;
4473
+ scalingGroupId?: string;
4474
+ serverGroups?: DetachServerGroupsRequestServerGroups[];
4475
+ static names(): { [key: string]: string } {
4476
+ return {
4477
+ clientToken: 'ClientToken',
4478
+ forceDetach: 'ForceDetach',
4479
+ ownerId: 'OwnerId',
4480
+ regionId: 'RegionId',
4481
+ resourceOwnerAccount: 'ResourceOwnerAccount',
4482
+ scalingGroupId: 'ScalingGroupId',
4483
+ serverGroups: 'ServerGroups',
4484
+ };
4485
+ }
4486
+
4487
+ static types(): { [key: string]: any } {
4488
+ return {
4489
+ clientToken: 'string',
4490
+ forceDetach: 'boolean',
4491
+ ownerId: 'number',
4492
+ regionId: 'string',
4493
+ resourceOwnerAccount: 'string',
4494
+ scalingGroupId: 'string',
4495
+ serverGroups: { 'type': 'array', 'itemType': DetachServerGroupsRequestServerGroups },
4496
+ };
4497
+ }
4498
+
4499
+ constructor(map?: { [key: string]: any }) {
4500
+ super(map);
4501
+ }
4502
+ }
4503
+
4504
+ export class DetachServerGroupsResponseBody extends $tea.Model {
4505
+ requestId?: string;
4506
+ scalingActivityId?: string;
4507
+ static names(): { [key: string]: string } {
4508
+ return {
4509
+ requestId: 'RequestId',
4510
+ scalingActivityId: 'ScalingActivityId',
4511
+ };
4512
+ }
4513
+
4514
+ static types(): { [key: string]: any } {
4515
+ return {
4516
+ requestId: 'string',
4517
+ scalingActivityId: 'string',
4518
+ };
4519
+ }
4520
+
4521
+ constructor(map?: { [key: string]: any }) {
4522
+ super(map);
4523
+ }
4524
+ }
4525
+
4526
+ export class DetachServerGroupsResponse extends $tea.Model {
4527
+ headers: { [key: string]: string };
4528
+ statusCode: number;
4529
+ body: DetachServerGroupsResponseBody;
4530
+ static names(): { [key: string]: string } {
4531
+ return {
4532
+ headers: 'headers',
4533
+ statusCode: 'statusCode',
4534
+ body: 'body',
4535
+ };
4536
+ }
4537
+
4538
+ static types(): { [key: string]: any } {
4539
+ return {
4540
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
4541
+ statusCode: 'number',
4542
+ body: DetachServerGroupsResponseBody,
4543
+ };
4544
+ }
4545
+
4546
+ constructor(map?: { [key: string]: any }) {
4547
+ super(map);
4548
+ }
4549
+ }
4550
+
4278
4551
  export class DetachVServerGroupsRequest extends $tea.Model {
4279
4552
  clientToken?: string;
4280
4553
  forceDetach?: boolean;
@@ -5317,6 +5590,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5317
5590
  autoMatchImageCache?: boolean;
5318
5591
  containerGroupName?: string;
5319
5592
  containers?: ModifyEciScalingConfigurationRequestContainers[];
5593
+ containersUpdateType?: string;
5320
5594
  costOptimization?: boolean;
5321
5595
  cpu?: number;
5322
5596
  cpuOptionsCore?: number;
@@ -5363,6 +5637,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5363
5637
  autoMatchImageCache: 'AutoMatchImageCache',
5364
5638
  containerGroupName: 'ContainerGroupName',
5365
5639
  containers: 'Containers',
5640
+ containersUpdateType: 'ContainersUpdateType',
5366
5641
  costOptimization: 'CostOptimization',
5367
5642
  cpu: 'Cpu',
5368
5643
  cpuOptionsCore: 'CpuOptionsCore',
@@ -5412,6 +5687,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5412
5687
  autoMatchImageCache: 'boolean',
5413
5688
  containerGroupName: 'string',
5414
5689
  containers: { 'type': 'array', 'itemType': ModifyEciScalingConfigurationRequestContainers },
5690
+ containersUpdateType: 'string',
5415
5691
  costOptimization: 'boolean',
5416
5692
  cpu: 'number',
5417
5693
  cpuOptionsCore: 'number',
@@ -5680,6 +5956,7 @@ export class ModifyNotificationConfigurationResponse extends $tea.Model {
5680
5956
  }
5681
5957
 
5682
5958
  export class ModifyScalingConfigurationRequest extends $tea.Model {
5959
+ imageOptions?: ModifyScalingConfigurationRequestImageOptions;
5683
5960
  privatePoolOptions?: ModifyScalingConfigurationRequestPrivatePoolOptions;
5684
5961
  systemDisk?: ModifyScalingConfigurationRequestSystemDisk;
5685
5962
  affinity?: string;
@@ -5728,6 +6005,7 @@ export class ModifyScalingConfigurationRequest extends $tea.Model {
5728
6005
  zoneId?: string;
5729
6006
  static names(): { [key: string]: string } {
5730
6007
  return {
6008
+ imageOptions: 'ImageOptions',
5731
6009
  privatePoolOptions: 'PrivatePoolOptions',
5732
6010
  systemDisk: 'SystemDisk',
5733
6011
  affinity: 'Affinity',
@@ -5779,6 +6057,7 @@ export class ModifyScalingConfigurationRequest extends $tea.Model {
5779
6057
 
5780
6058
  static types(): { [key: string]: any } {
5781
6059
  return {
6060
+ imageOptions: ModifyScalingConfigurationRequestImageOptions,
5782
6061
  privatePoolOptions: ModifyScalingConfigurationRequestPrivatePoolOptions,
5783
6062
  systemDisk: ModifyScalingConfigurationRequestSystemDisk,
5784
6063
  affinity: 'string',
@@ -5834,6 +6113,7 @@ export class ModifyScalingConfigurationRequest extends $tea.Model {
5834
6113
  }
5835
6114
 
5836
6115
  export class ModifyScalingConfigurationShrinkRequest extends $tea.Model {
6116
+ imageOptions?: ModifyScalingConfigurationShrinkRequestImageOptions;
5837
6117
  privatePoolOptions?: ModifyScalingConfigurationShrinkRequestPrivatePoolOptions;
5838
6118
  systemDisk?: ModifyScalingConfigurationShrinkRequestSystemDisk;
5839
6119
  affinity?: string;
@@ -5882,6 +6162,7 @@ export class ModifyScalingConfigurationShrinkRequest extends $tea.Model {
5882
6162
  zoneId?: string;
5883
6163
  static names(): { [key: string]: string } {
5884
6164
  return {
6165
+ imageOptions: 'ImageOptions',
5885
6166
  privatePoolOptions: 'PrivatePoolOptions',
5886
6167
  systemDisk: 'SystemDisk',
5887
6168
  affinity: 'Affinity',
@@ -5933,6 +6214,7 @@ export class ModifyScalingConfigurationShrinkRequest extends $tea.Model {
5933
6214
 
5934
6215
  static types(): { [key: string]: any } {
5935
6216
  return {
6217
+ imageOptions: ModifyScalingConfigurationShrinkRequestImageOptions,
5936
6218
  privatePoolOptions: ModifyScalingConfigurationShrinkRequestPrivatePoolOptions,
5937
6219
  systemDisk: ModifyScalingConfigurationShrinkRequestSystemDisk,
5938
6220
  affinity: 'string',
@@ -6181,6 +6463,7 @@ export class ModifyScalingGroupResponse extends $tea.Model {
6181
6463
  export class ModifyScalingRuleRequest extends $tea.Model {
6182
6464
  adjustmentType?: string;
6183
6465
  adjustmentValue?: number;
6466
+ alarmDimensions?: ModifyScalingRuleRequestAlarmDimensions[];
6184
6467
  cooldown?: number;
6185
6468
  disableScaleIn?: boolean;
6186
6469
  estimatedInstanceWarmup?: number;
@@ -6205,6 +6488,7 @@ export class ModifyScalingRuleRequest extends $tea.Model {
6205
6488
  return {
6206
6489
  adjustmentType: 'AdjustmentType',
6207
6490
  adjustmentValue: 'AdjustmentValue',
6491
+ alarmDimensions: 'AlarmDimensions',
6208
6492
  cooldown: 'Cooldown',
6209
6493
  disableScaleIn: 'DisableScaleIn',
6210
6494
  estimatedInstanceWarmup: 'EstimatedInstanceWarmup',
@@ -6232,6 +6516,7 @@ export class ModifyScalingRuleRequest extends $tea.Model {
6232
6516
  return {
6233
6517
  adjustmentType: 'string',
6234
6518
  adjustmentValue: 'number',
6519
+ alarmDimensions: { 'type': 'array', 'itemType': ModifyScalingRuleRequestAlarmDimensions },
6235
6520
  cooldown: 'number',
6236
6521
  disableScaleIn: 'boolean',
6237
6522
  estimatedInstanceWarmup: 'number',
@@ -6789,10 +7074,12 @@ export class ScaleWithAdjustmentRequest extends $tea.Model {
6789
7074
  }
6790
7075
 
6791
7076
  export class ScaleWithAdjustmentResponseBody extends $tea.Model {
7077
+ activityType?: string;
6792
7078
  requestId?: string;
6793
7079
  scalingActivityId?: string;
6794
7080
  static names(): { [key: string]: string } {
6795
7081
  return {
7082
+ activityType: 'ActivityType',
6796
7083
  requestId: 'RequestId',
6797
7084
  scalingActivityId: 'ScalingActivityId',
6798
7085
  };
@@ -6800,6 +7087,7 @@ export class ScaleWithAdjustmentResponseBody extends $tea.Model {
6800
7087
 
6801
7088
  static types(): { [key: string]: any } {
6802
7089
  return {
7090
+ activityType: 'string',
6803
7091
  requestId: 'string',
6804
7092
  scalingActivityId: 'string',
6805
7093
  };
@@ -7463,22 +7751,19 @@ export class AttachAlbServerGroupsRequestAlbServerGroups extends $tea.Model {
7463
7751
  }
7464
7752
  }
7465
7753
 
7466
- export class AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes extends $tea.Model {
7467
- port?: number;
7468
- VServerGroupId?: string;
7754
+ export class AttachLoadBalancersRequestLoadBalancerConfigs extends $tea.Model {
7755
+ loadBalancerId?: string;
7469
7756
  weight?: number;
7470
7757
  static names(): { [key: string]: string } {
7471
7758
  return {
7472
- port: 'Port',
7473
- VServerGroupId: 'VServerGroupId',
7759
+ loadBalancerId: 'LoadBalancerId',
7474
7760
  weight: 'Weight',
7475
7761
  };
7476
7762
  }
7477
7763
 
7478
7764
  static types(): { [key: string]: any } {
7479
7765
  return {
7480
- port: 'number',
7481
- VServerGroupId: 'string',
7766
+ loadBalancerId: 'string',
7482
7767
  weight: 'number',
7483
7768
  };
7484
7769
  }
@@ -7488,20 +7773,26 @@ export class AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes exten
7488
7773
  }
7489
7774
  }
7490
7775
 
7491
- export class AttachVServerGroupsRequestVServerGroups extends $tea.Model {
7492
- loadBalancerId?: string;
7493
- VServerGroupAttributes?: AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes[];
7776
+ export class AttachServerGroupsRequestServerGroups extends $tea.Model {
7777
+ port?: number;
7778
+ serverGroupId?: string;
7779
+ type?: string;
7780
+ weight?: number;
7494
7781
  static names(): { [key: string]: string } {
7495
7782
  return {
7496
- loadBalancerId: 'LoadBalancerId',
7497
- VServerGroupAttributes: 'VServerGroupAttributes',
7783
+ port: 'Port',
7784
+ serverGroupId: 'ServerGroupId',
7785
+ type: 'Type',
7786
+ weight: 'Weight',
7498
7787
  };
7499
7788
  }
7500
7789
 
7501
7790
  static types(): { [key: string]: any } {
7502
7791
  return {
7503
- loadBalancerId: 'string',
7504
- VServerGroupAttributes: { 'type': 'array', 'itemType': AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes },
7792
+ port: 'number',
7793
+ serverGroupId: 'string',
7794
+ type: 'string',
7795
+ weight: 'number',
7505
7796
  };
7506
7797
  }
7507
7798
 
@@ -7510,8 +7801,55 @@ export class AttachVServerGroupsRequestVServerGroups extends $tea.Model {
7510
7801
  }
7511
7802
  }
7512
7803
 
7513
- export class CreateAlarmRequestDimensions extends $tea.Model {
7514
- dimensionKey?: string;
7804
+ export class AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes extends $tea.Model {
7805
+ port?: number;
7806
+ VServerGroupId?: string;
7807
+ weight?: number;
7808
+ static names(): { [key: string]: string } {
7809
+ return {
7810
+ port: 'Port',
7811
+ VServerGroupId: 'VServerGroupId',
7812
+ weight: 'Weight',
7813
+ };
7814
+ }
7815
+
7816
+ static types(): { [key: string]: any } {
7817
+ return {
7818
+ port: 'number',
7819
+ VServerGroupId: 'string',
7820
+ weight: 'number',
7821
+ };
7822
+ }
7823
+
7824
+ constructor(map?: { [key: string]: any }) {
7825
+ super(map);
7826
+ }
7827
+ }
7828
+
7829
+ export class AttachVServerGroupsRequestVServerGroups extends $tea.Model {
7830
+ loadBalancerId?: string;
7831
+ VServerGroupAttributes?: AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes[];
7832
+ static names(): { [key: string]: string } {
7833
+ return {
7834
+ loadBalancerId: 'LoadBalancerId',
7835
+ VServerGroupAttributes: 'VServerGroupAttributes',
7836
+ };
7837
+ }
7838
+
7839
+ static types(): { [key: string]: any } {
7840
+ return {
7841
+ loadBalancerId: 'string',
7842
+ VServerGroupAttributes: { 'type': 'array', 'itemType': AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes },
7843
+ };
7844
+ }
7845
+
7846
+ constructor(map?: { [key: string]: any }) {
7847
+ super(map);
7848
+ }
7849
+ }
7850
+
7851
+ export class CreateAlarmRequestDimensions extends $tea.Model {
7852
+ dimensionKey?: string;
7515
7853
  dimensionValue?: string;
7516
7854
  static names(): { [key: string]: string } {
7517
7855
  return {
@@ -7655,13 +7993,13 @@ export class CreateEciScalingConfigurationRequestContainersLivenessProbeTcpSocke
7655
7993
  }
7656
7994
 
7657
7995
  export class CreateEciScalingConfigurationRequestContainersLivenessProbe extends $tea.Model {
7658
- exec: CreateEciScalingConfigurationRequestContainersLivenessProbeExec;
7996
+ exec?: CreateEciScalingConfigurationRequestContainersLivenessProbeExec;
7659
7997
  failureThreshold?: number;
7660
- httpGet: CreateEciScalingConfigurationRequestContainersLivenessProbeHttpGet;
7998
+ httpGet?: CreateEciScalingConfigurationRequestContainersLivenessProbeHttpGet;
7661
7999
  initialDelaySeconds?: number;
7662
8000
  periodSeconds?: number;
7663
8001
  successThreshold?: number;
7664
- tcpSocket: CreateEciScalingConfigurationRequestContainersLivenessProbeTcpSocket;
8002
+ tcpSocket?: CreateEciScalingConfigurationRequestContainersLivenessProbeTcpSocket;
7665
8003
  timeoutSeconds?: number;
7666
8004
  static names(): { [key: string]: string } {
7667
8005
  return {
@@ -7758,13 +8096,13 @@ export class CreateEciScalingConfigurationRequestContainersReadinessProbeTcpSock
7758
8096
  }
7759
8097
 
7760
8098
  export class CreateEciScalingConfigurationRequestContainersReadinessProbe extends $tea.Model {
7761
- exec: CreateEciScalingConfigurationRequestContainersReadinessProbeExec;
8099
+ exec?: CreateEciScalingConfigurationRequestContainersReadinessProbeExec;
7762
8100
  failureThreshold?: number;
7763
- httpGet: CreateEciScalingConfigurationRequestContainersReadinessProbeHttpGet;
8101
+ httpGet?: CreateEciScalingConfigurationRequestContainersReadinessProbeHttpGet;
7764
8102
  initialDelaySeconds?: number;
7765
8103
  periodSeconds?: number;
7766
8104
  successThreshold?: number;
7767
- tcpSocket: CreateEciScalingConfigurationRequestContainersReadinessProbeTcpSocket;
8105
+ tcpSocket?: CreateEciScalingConfigurationRequestContainersReadinessProbeTcpSocket;
7768
8106
  timeoutSeconds?: number;
7769
8107
  static names(): { [key: string]: string } {
7770
8108
  return {
@@ -7817,7 +8155,7 @@ export class CreateEciScalingConfigurationRequestContainersSecurityContextCapabi
7817
8155
  }
7818
8156
 
7819
8157
  export class CreateEciScalingConfigurationRequestContainersSecurityContext extends $tea.Model {
7820
- capability: CreateEciScalingConfigurationRequestContainersSecurityContextCapability;
8158
+ capability?: CreateEciScalingConfigurationRequestContainersSecurityContextCapability;
7821
8159
  readOnlyRootFilesystem?: boolean;
7822
8160
  runAsUser?: number;
7823
8161
  static names(): { [key: string]: string } {
@@ -7920,9 +8258,9 @@ export class CreateEciScalingConfigurationRequestContainersVolumeMounts extends
7920
8258
  }
7921
8259
 
7922
8260
  export class CreateEciScalingConfigurationRequestContainers extends $tea.Model {
7923
- livenessProbe: CreateEciScalingConfigurationRequestContainersLivenessProbe;
7924
- readinessProbe: CreateEciScalingConfigurationRequestContainersReadinessProbe;
7925
- securityContext: CreateEciScalingConfigurationRequestContainersSecurityContext;
8261
+ livenessProbe?: CreateEciScalingConfigurationRequestContainersLivenessProbe;
8262
+ readinessProbe?: CreateEciScalingConfigurationRequestContainersReadinessProbe;
8263
+ securityContext?: CreateEciScalingConfigurationRequestContainersSecurityContext;
7926
8264
  args?: string[];
7927
8265
  commands?: string[];
7928
8266
  cpu?: number;
@@ -8078,7 +8416,7 @@ export class CreateEciScalingConfigurationRequestInitContainersSecurityContextCa
8078
8416
  }
8079
8417
 
8080
8418
  export class CreateEciScalingConfigurationRequestInitContainersSecurityContext extends $tea.Model {
8081
- capability: CreateEciScalingConfigurationRequestInitContainersSecurityContextCapability;
8419
+ capability?: CreateEciScalingConfigurationRequestInitContainersSecurityContextCapability;
8082
8420
  readOnlyRootFilesystem?: boolean;
8083
8421
  runAsUser?: number;
8084
8422
  static names(): { [key: string]: string } {
@@ -8181,7 +8519,7 @@ export class CreateEciScalingConfigurationRequestInitContainersInitContainerVolu
8181
8519
  }
8182
8520
 
8183
8521
  export class CreateEciScalingConfigurationRequestInitContainers extends $tea.Model {
8184
- securityContext: CreateEciScalingConfigurationRequestInitContainersSecurityContext;
8522
+ securityContext?: CreateEciScalingConfigurationRequestInitContainersSecurityContext;
8185
8523
  args?: string[];
8186
8524
  commands?: string[];
8187
8525
  cpu?: number;
@@ -8421,11 +8759,11 @@ export class CreateEciScalingConfigurationRequestVolumesConfigFileVolumeConfigFi
8421
8759
  }
8422
8760
 
8423
8761
  export class CreateEciScalingConfigurationRequestVolumes extends $tea.Model {
8424
- diskVolume: CreateEciScalingConfigurationRequestVolumesDiskVolume;
8425
- emptyDirVolume: CreateEciScalingConfigurationRequestVolumesEmptyDirVolume;
8426
- flexVolume: CreateEciScalingConfigurationRequestVolumesFlexVolume;
8427
- hostPathVolume: CreateEciScalingConfigurationRequestVolumesHostPathVolume;
8428
- NFSVolume: CreateEciScalingConfigurationRequestVolumesNFSVolume;
8762
+ diskVolume?: CreateEciScalingConfigurationRequestVolumesDiskVolume;
8763
+ emptyDirVolume?: CreateEciScalingConfigurationRequestVolumesEmptyDirVolume;
8764
+ flexVolume?: CreateEciScalingConfigurationRequestVolumesFlexVolume;
8765
+ hostPathVolume?: CreateEciScalingConfigurationRequestVolumesHostPathVolume;
8766
+ NFSVolume?: CreateEciScalingConfigurationRequestVolumesNFSVolume;
8429
8767
  configFileVolumeConfigFileToPaths?: CreateEciScalingConfigurationRequestVolumesConfigFileVolumeConfigFileToPaths[];
8430
8768
  configFileVolumeDefaultMode?: number;
8431
8769
  name?: string;
@@ -8463,6 +8801,25 @@ export class CreateEciScalingConfigurationRequestVolumes extends $tea.Model {
8463
8801
  }
8464
8802
  }
8465
8803
 
8804
+ export class CreateScalingConfigurationRequestImageOptions extends $tea.Model {
8805
+ loginAsNonRoot?: boolean;
8806
+ static names(): { [key: string]: string } {
8807
+ return {
8808
+ loginAsNonRoot: 'LoginAsNonRoot',
8809
+ };
8810
+ }
8811
+
8812
+ static types(): { [key: string]: any } {
8813
+ return {
8814
+ loginAsNonRoot: 'boolean',
8815
+ };
8816
+ }
8817
+
8818
+ constructor(map?: { [key: string]: any }) {
8819
+ super(map);
8820
+ }
8821
+ }
8822
+
8466
8823
  export class CreateScalingConfigurationRequestPrivatePoolOptions extends $tea.Model {
8467
8824
  id?: string;
8468
8825
  matchCriteria?: string;
@@ -8673,6 +9030,25 @@ export class CreateScalingConfigurationRequestSpotPriceLimits extends $tea.Model
8673
9030
  }
8674
9031
  }
8675
9032
 
9033
+ export class CreateScalingConfigurationShrinkRequestImageOptions extends $tea.Model {
9034
+ loginAsNonRoot?: boolean;
9035
+ static names(): { [key: string]: string } {
9036
+ return {
9037
+ loginAsNonRoot: 'LoginAsNonRoot',
9038
+ };
9039
+ }
9040
+
9041
+ static types(): { [key: string]: any } {
9042
+ return {
9043
+ loginAsNonRoot: 'boolean',
9044
+ };
9045
+ }
9046
+
9047
+ constructor(map?: { [key: string]: any }) {
9048
+ super(map);
9049
+ }
9050
+ }
9051
+
8676
9052
  export class CreateScalingConfigurationShrinkRequestPrivatePoolOptions extends $tea.Model {
8677
9053
  id?: string;
8678
9054
  matchCriteria?: string;
@@ -8910,10 +9286,12 @@ export class CreateScalingGroupRequestAlbServerGroups extends $tea.Model {
8910
9286
 
8911
9287
  export class CreateScalingGroupRequestLaunchTemplateOverrides extends $tea.Model {
8912
9288
  instanceType?: string;
9289
+ spotPriceLimit?: number;
8913
9290
  weightedCapacity?: number;
8914
9291
  static names(): { [key: string]: string } {
8915
9292
  return {
8916
9293
  instanceType: 'InstanceType',
9294
+ spotPriceLimit: 'SpotPriceLimit',
8917
9295
  weightedCapacity: 'WeightedCapacity',
8918
9296
  };
8919
9297
  }
@@ -8921,6 +9299,7 @@ export class CreateScalingGroupRequestLaunchTemplateOverrides extends $tea.Model
8921
9299
  static types(): { [key: string]: any } {
8922
9300
  return {
8923
9301
  instanceType: 'string',
9302
+ spotPriceLimit: 'number',
8924
9303
  weightedCapacity: 'number',
8925
9304
  };
8926
9305
  }
@@ -8964,6 +9343,56 @@ export class CreateScalingGroupRequestLifecycleHooks extends $tea.Model {
8964
9343
  }
8965
9344
  }
8966
9345
 
9346
+ export class CreateScalingGroupRequestLoadBalancerConfigs extends $tea.Model {
9347
+ loadBalancerId?: string;
9348
+ weight?: number;
9349
+ static names(): { [key: string]: string } {
9350
+ return {
9351
+ loadBalancerId: 'LoadBalancerId',
9352
+ weight: 'Weight',
9353
+ };
9354
+ }
9355
+
9356
+ static types(): { [key: string]: any } {
9357
+ return {
9358
+ loadBalancerId: 'string',
9359
+ weight: 'number',
9360
+ };
9361
+ }
9362
+
9363
+ constructor(map?: { [key: string]: any }) {
9364
+ super(map);
9365
+ }
9366
+ }
9367
+
9368
+ export class CreateScalingGroupRequestServerGroups extends $tea.Model {
9369
+ port?: number;
9370
+ serverGroupId?: string;
9371
+ type?: string;
9372
+ weight?: number;
9373
+ static names(): { [key: string]: string } {
9374
+ return {
9375
+ port: 'Port',
9376
+ serverGroupId: 'ServerGroupId',
9377
+ type: 'Type',
9378
+ weight: 'Weight',
9379
+ };
9380
+ }
9381
+
9382
+ static types(): { [key: string]: any } {
9383
+ return {
9384
+ port: 'number',
9385
+ serverGroupId: 'string',
9386
+ type: 'string',
9387
+ weight: 'number',
9388
+ };
9389
+ }
9390
+
9391
+ constructor(map?: { [key: string]: any }) {
9392
+ super(map);
9393
+ }
9394
+ }
9395
+
8967
9396
  export class CreateScalingGroupRequestTags extends $tea.Model {
8968
9397
  key?: string;
8969
9398
  value?: string;
@@ -9033,6 +9462,28 @@ export class CreateScalingGroupRequestVServerGroups extends $tea.Model {
9033
9462
  }
9034
9463
  }
9035
9464
 
9465
+ export class CreateScalingRuleRequestAlarmDimensions extends $tea.Model {
9466
+ dimensionKey?: string;
9467
+ dimensionValue?: string;
9468
+ static names(): { [key: string]: string } {
9469
+ return {
9470
+ dimensionKey: 'DimensionKey',
9471
+ dimensionValue: 'DimensionValue',
9472
+ };
9473
+ }
9474
+
9475
+ static types(): { [key: string]: any } {
9476
+ return {
9477
+ dimensionKey: 'string',
9478
+ dimensionValue: 'string',
9479
+ };
9480
+ }
9481
+
9482
+ constructor(map?: { [key: string]: any }) {
9483
+ super(map);
9484
+ }
9485
+ }
9486
+
9036
9487
  export class CreateScalingRuleRequestStepAdjustments extends $tea.Model {
9037
9488
  metricIntervalLowerBound?: number;
9038
9489
  metricIntervalUpperBound?: number;
@@ -10040,30 +10491,52 @@ export class DescribeScalingActivitiesResponseBodyScalingActivities extends $tea
10040
10491
  attachedCapacity?: string;
10041
10492
  autoCreatedCapacity?: string;
10042
10493
  cause?: string;
10494
+ createdCapacity?: number;
10495
+ createdInstances?: string[];
10043
10496
  description?: string;
10497
+ destroyedCapacity?: number;
10498
+ destroyedInstances?: string[];
10499
+ detail?: string;
10044
10500
  endTime?: string;
10501
+ errorCode?: string;
10502
+ errorMessage?: string;
10045
10503
  progress?: number;
10046
10504
  scalingActivityId?: string;
10047
10505
  scalingGroupId?: string;
10048
10506
  scalingInstanceNumber?: number;
10049
10507
  startTime?: string;
10508
+ startedCapacity?: number;
10509
+ startedInstances?: string[];
10050
10510
  statusCode?: string;
10051
10511
  statusMessage?: string;
10512
+ stoppedCapacity?: number;
10513
+ stoppedInstances?: string[];
10052
10514
  totalCapacity?: string;
10053
10515
  static names(): { [key: string]: string } {
10054
10516
  return {
10055
10517
  attachedCapacity: 'AttachedCapacity',
10056
10518
  autoCreatedCapacity: 'AutoCreatedCapacity',
10057
10519
  cause: 'Cause',
10520
+ createdCapacity: 'CreatedCapacity',
10521
+ createdInstances: 'CreatedInstances',
10058
10522
  description: 'Description',
10523
+ destroyedCapacity: 'DestroyedCapacity',
10524
+ destroyedInstances: 'DestroyedInstances',
10525
+ detail: 'Detail',
10059
10526
  endTime: 'EndTime',
10527
+ errorCode: 'ErrorCode',
10528
+ errorMessage: 'ErrorMessage',
10060
10529
  progress: 'Progress',
10061
10530
  scalingActivityId: 'ScalingActivityId',
10062
10531
  scalingGroupId: 'ScalingGroupId',
10063
10532
  scalingInstanceNumber: 'ScalingInstanceNumber',
10064
10533
  startTime: 'StartTime',
10534
+ startedCapacity: 'StartedCapacity',
10535
+ startedInstances: 'StartedInstances',
10065
10536
  statusCode: 'StatusCode',
10066
10537
  statusMessage: 'StatusMessage',
10538
+ stoppedCapacity: 'StoppedCapacity',
10539
+ stoppedInstances: 'StoppedInstances',
10067
10540
  totalCapacity: 'TotalCapacity',
10068
10541
  };
10069
10542
  }
@@ -10073,15 +10546,26 @@ export class DescribeScalingActivitiesResponseBodyScalingActivities extends $tea
10073
10546
  attachedCapacity: 'string',
10074
10547
  autoCreatedCapacity: 'string',
10075
10548
  cause: 'string',
10549
+ createdCapacity: 'number',
10550
+ createdInstances: { 'type': 'array', 'itemType': 'string' },
10076
10551
  description: 'string',
10552
+ destroyedCapacity: 'number',
10553
+ destroyedInstances: { 'type': 'array', 'itemType': 'string' },
10554
+ detail: 'string',
10077
10555
  endTime: 'string',
10556
+ errorCode: 'string',
10557
+ errorMessage: 'string',
10078
10558
  progress: 'number',
10079
10559
  scalingActivityId: 'string',
10080
10560
  scalingGroupId: 'string',
10081
10561
  scalingInstanceNumber: 'number',
10082
10562
  startTime: 'string',
10563
+ startedCapacity: 'number',
10564
+ startedInstances: { 'type': 'array', 'itemType': 'string' },
10083
10565
  statusCode: 'string',
10084
10566
  statusMessage: 'string',
10567
+ stoppedCapacity: 'number',
10568
+ stoppedInstances: { 'type': 'array', 'itemType': 'string' },
10085
10569
  totalCapacity: 'string',
10086
10570
  };
10087
10571
  }
@@ -10272,7 +10756,7 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurationsTags
10272
10756
  }
10273
10757
 
10274
10758
  export class DescribeScalingConfigurationsResponseBodyScalingConfigurations extends $tea.Model {
10275
- privatePoolOptions: DescribeScalingConfigurationsResponseBodyScalingConfigurationsPrivatePoolOptions;
10759
+ privatePoolOptions?: DescribeScalingConfigurationsResponseBodyScalingConfigurationsPrivatePoolOptions;
10276
10760
  affinity?: string;
10277
10761
  cpu?: number;
10278
10762
  creationTime?: string;
@@ -10285,6 +10769,8 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10285
10769
  imageFamily?: string;
10286
10770
  imageId?: string;
10287
10771
  imageName?: string;
10772
+ imageOptionsLoginAsNonRoot?: boolean;
10773
+ imageOwnerAlias?: string;
10288
10774
  instanceDescription?: string;
10289
10775
  instanceGeneration?: string;
10290
10776
  instanceName?: string;
@@ -10346,6 +10832,8 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10346
10832
  imageFamily: 'ImageFamily',
10347
10833
  imageId: 'ImageId',
10348
10834
  imageName: 'ImageName',
10835
+ imageOptionsLoginAsNonRoot: 'ImageOptionsLoginAsNonRoot',
10836
+ imageOwnerAlias: 'ImageOwnerAlias',
10349
10837
  instanceDescription: 'InstanceDescription',
10350
10838
  instanceGeneration: 'InstanceGeneration',
10351
10839
  instanceName: 'InstanceName',
@@ -10410,6 +10898,8 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10410
10898
  imageFamily: 'string',
10411
10899
  imageId: 'string',
10412
10900
  imageName: 'string',
10901
+ imageOptionsLoginAsNonRoot: 'boolean',
10902
+ imageOwnerAlias: 'string',
10413
10903
  instanceDescription: 'string',
10414
10904
  instanceGeneration: 'string',
10415
10905
  instanceName: 'string',
@@ -10491,10 +10981,12 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsAlbServerGroups exten
10491
10981
 
10492
10982
  export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides extends $tea.Model {
10493
10983
  instanceType?: string;
10984
+ spotPriceLimit?: number;
10494
10985
  weightedCapacity?: number;
10495
10986
  static names(): { [key: string]: string } {
10496
10987
  return {
10497
10988
  instanceType: 'InstanceType',
10989
+ spotPriceLimit: 'SpotPriceLimit',
10498
10990
  weightedCapacity: 'WeightedCapacity',
10499
10991
  };
10500
10992
  }
@@ -10502,6 +10994,7 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrid
10502
10994
  static types(): { [key: string]: any } {
10503
10995
  return {
10504
10996
  instanceType: 'string',
10997
+ spotPriceLimit: 'number',
10505
10998
  weightedCapacity: 'number',
10506
10999
  };
10507
11000
  }
@@ -10511,6 +11004,56 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrid
10511
11004
  }
10512
11005
  }
10513
11006
 
11007
+ export class DescribeScalingGroupsResponseBodyScalingGroupsLoadBalancerConfigs extends $tea.Model {
11008
+ loadBalancerId?: string;
11009
+ weight?: number;
11010
+ static names(): { [key: string]: string } {
11011
+ return {
11012
+ loadBalancerId: 'LoadBalancerId',
11013
+ weight: 'Weight',
11014
+ };
11015
+ }
11016
+
11017
+ static types(): { [key: string]: any } {
11018
+ return {
11019
+ loadBalancerId: 'string',
11020
+ weight: 'number',
11021
+ };
11022
+ }
11023
+
11024
+ constructor(map?: { [key: string]: any }) {
11025
+ super(map);
11026
+ }
11027
+ }
11028
+
11029
+ export class DescribeScalingGroupsResponseBodyScalingGroupsServerGroups extends $tea.Model {
11030
+ port?: number;
11031
+ serverGroupId?: string;
11032
+ type?: string;
11033
+ weight?: number;
11034
+ static names(): { [key: string]: string } {
11035
+ return {
11036
+ port: 'Port',
11037
+ serverGroupId: 'ServerGroupId',
11038
+ type: 'Type',
11039
+ weight: 'Weight',
11040
+ };
11041
+ }
11042
+
11043
+ static types(): { [key: string]: any } {
11044
+ return {
11045
+ port: 'number',
11046
+ serverGroupId: 'string',
11047
+ type: 'string',
11048
+ weight: 'number',
11049
+ };
11050
+ }
11051
+
11052
+ constructor(map?: { [key: string]: any }) {
11053
+ super(map);
11054
+ }
11055
+ }
11056
+
10514
11057
  export class DescribeScalingGroupsResponseBodyScalingGroupsVServerGroupsVServerGroupAttributes extends $tea.Model {
10515
11058
  port?: number;
10516
11059
  VServerGroupId?: string;
@@ -10574,11 +11117,13 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10574
11117
  groupDeletionProtection?: boolean;
10575
11118
  groupType?: string;
10576
11119
  healthCheckType?: string;
11120
+ initCapacity?: number;
10577
11121
  isElasticStrengthInAlarm?: boolean;
10578
11122
  launchTemplateId?: string;
10579
11123
  launchTemplateOverrides?: DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides[];
10580
11124
  launchTemplateVersion?: string;
10581
11125
  lifecycleState?: string;
11126
+ loadBalancerConfigs?: DescribeScalingGroupsResponseBodyScalingGroupsLoadBalancerConfigs[];
10582
11127
  loadBalancerIds?: string[];
10583
11128
  maxInstanceLifetime?: number;
10584
11129
  maxSize?: number;
@@ -10595,9 +11140,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10595
11140
  removalPolicies?: string[];
10596
11141
  removingCapacity?: number;
10597
11142
  removingWaitCapacity?: number;
11143
+ resourceGroupId?: string;
10598
11144
  scalingGroupId?: string;
10599
11145
  scalingGroupName?: string;
10600
11146
  scalingPolicy?: string;
11147
+ serverGroups?: DescribeScalingGroupsResponseBodyScalingGroupsServerGroups[];
10601
11148
  spotAllocationStrategy?: string;
10602
11149
  spotInstancePools?: number;
10603
11150
  spotInstanceRemedy?: boolean;
@@ -10628,11 +11175,13 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10628
11175
  groupDeletionProtection: 'GroupDeletionProtection',
10629
11176
  groupType: 'GroupType',
10630
11177
  healthCheckType: 'HealthCheckType',
11178
+ initCapacity: 'InitCapacity',
10631
11179
  isElasticStrengthInAlarm: 'IsElasticStrengthInAlarm',
10632
11180
  launchTemplateId: 'LaunchTemplateId',
10633
11181
  launchTemplateOverrides: 'LaunchTemplateOverrides',
10634
11182
  launchTemplateVersion: 'LaunchTemplateVersion',
10635
11183
  lifecycleState: 'LifecycleState',
11184
+ loadBalancerConfigs: 'LoadBalancerConfigs',
10636
11185
  loadBalancerIds: 'LoadBalancerIds',
10637
11186
  maxInstanceLifetime: 'MaxInstanceLifetime',
10638
11187
  maxSize: 'MaxSize',
@@ -10649,9 +11198,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10649
11198
  removalPolicies: 'RemovalPolicies',
10650
11199
  removingCapacity: 'RemovingCapacity',
10651
11200
  removingWaitCapacity: 'RemovingWaitCapacity',
11201
+ resourceGroupId: 'ResourceGroupId',
10652
11202
  scalingGroupId: 'ScalingGroupId',
10653
11203
  scalingGroupName: 'ScalingGroupName',
10654
11204
  scalingPolicy: 'ScalingPolicy',
11205
+ serverGroups: 'ServerGroups',
10655
11206
  spotAllocationStrategy: 'SpotAllocationStrategy',
10656
11207
  spotInstancePools: 'SpotInstancePools',
10657
11208
  spotInstanceRemedy: 'SpotInstanceRemedy',
@@ -10685,11 +11236,13 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10685
11236
  groupDeletionProtection: 'boolean',
10686
11237
  groupType: 'string',
10687
11238
  healthCheckType: 'string',
11239
+ initCapacity: 'number',
10688
11240
  isElasticStrengthInAlarm: 'boolean',
10689
11241
  launchTemplateId: 'string',
10690
11242
  launchTemplateOverrides: { 'type': 'array', 'itemType': DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides },
10691
11243
  launchTemplateVersion: 'string',
10692
11244
  lifecycleState: 'string',
11245
+ loadBalancerConfigs: { 'type': 'array', 'itemType': DescribeScalingGroupsResponseBodyScalingGroupsLoadBalancerConfigs },
10693
11246
  loadBalancerIds: { 'type': 'array', 'itemType': 'string' },
10694
11247
  maxInstanceLifetime: 'number',
10695
11248
  maxSize: 'number',
@@ -10706,9 +11259,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10706
11259
  removalPolicies: { 'type': 'array', 'itemType': 'string' },
10707
11260
  removingCapacity: 'number',
10708
11261
  removingWaitCapacity: 'number',
11262
+ resourceGroupId: 'string',
10709
11263
  scalingGroupId: 'string',
10710
11264
  scalingGroupName: 'string',
10711
11265
  scalingPolicy: 'string',
11266
+ serverGroups: { 'type': 'array', 'itemType': DescribeScalingGroupsResponseBodyScalingGroupsServerGroups },
10712
11267
  spotAllocationStrategy: 'string',
10713
11268
  spotInstancePools: 'number',
10714
11269
  spotInstanceRemedy: 'boolean',
@@ -10797,6 +11352,28 @@ export class DescribeScalingInstancesResponseBodyScalingInstances extends $tea.M
10797
11352
  }
10798
11353
  }
10799
11354
 
11355
+ export class DescribeScalingRulesResponseBodyScalingRulesAlarmDimensions extends $tea.Model {
11356
+ dimensionKey?: string;
11357
+ dimensionValue?: string;
11358
+ static names(): { [key: string]: string } {
11359
+ return {
11360
+ dimensionKey: 'DimensionKey',
11361
+ dimensionValue: 'DimensionValue',
11362
+ };
11363
+ }
11364
+
11365
+ static types(): { [key: string]: any } {
11366
+ return {
11367
+ dimensionKey: 'string',
11368
+ dimensionValue: 'string',
11369
+ };
11370
+ }
11371
+
11372
+ constructor(map?: { [key: string]: any }) {
11373
+ super(map);
11374
+ }
11375
+ }
11376
+
10800
11377
  export class DescribeScalingRulesResponseBodyScalingRulesAlarmsDimensions extends $tea.Model {
10801
11378
  dimensionKey?: string;
10802
11379
  dimensionValue?: string;
@@ -10890,6 +11467,7 @@ export class DescribeScalingRulesResponseBodyScalingRulesStepAdjustments extends
10890
11467
  export class DescribeScalingRulesResponseBodyScalingRules extends $tea.Model {
10891
11468
  adjustmentType?: string;
10892
11469
  adjustmentValue?: number;
11470
+ alarmDimensions?: DescribeScalingRulesResponseBodyScalingRulesAlarmDimensions[];
10893
11471
  alarms?: DescribeScalingRulesResponseBodyScalingRulesAlarms[];
10894
11472
  cooldown?: number;
10895
11473
  disableScaleIn?: boolean;
@@ -10916,6 +11494,7 @@ export class DescribeScalingRulesResponseBodyScalingRules extends $tea.Model {
10916
11494
  return {
10917
11495
  adjustmentType: 'AdjustmentType',
10918
11496
  adjustmentValue: 'AdjustmentValue',
11497
+ alarmDimensions: 'AlarmDimensions',
10919
11498
  alarms: 'Alarms',
10920
11499
  cooldown: 'Cooldown',
10921
11500
  disableScaleIn: 'DisableScaleIn',
@@ -10945,6 +11524,7 @@ export class DescribeScalingRulesResponseBodyScalingRules extends $tea.Model {
10945
11524
  return {
10946
11525
  adjustmentType: 'string',
10947
11526
  adjustmentValue: 'number',
11527
+ alarmDimensions: { 'type': 'array', 'itemType': DescribeScalingRulesResponseBodyScalingRulesAlarmDimensions },
10948
11528
  alarms: { 'type': 'array', 'itemType': DescribeScalingRulesResponseBodyScalingRulesAlarms },
10949
11529
  cooldown: 'number',
10950
11530
  disableScaleIn: 'boolean',
@@ -11055,6 +11635,31 @@ export class DetachAlbServerGroupsRequestAlbServerGroups extends $tea.Model {
11055
11635
  }
11056
11636
  }
11057
11637
 
11638
+ export class DetachServerGroupsRequestServerGroups extends $tea.Model {
11639
+ port?: number;
11640
+ serverGroupId?: string;
11641
+ type?: string;
11642
+ static names(): { [key: string]: string } {
11643
+ return {
11644
+ port: 'Port',
11645
+ serverGroupId: 'ServerGroupId',
11646
+ type: 'Type',
11647
+ };
11648
+ }
11649
+
11650
+ static types(): { [key: string]: any } {
11651
+ return {
11652
+ port: 'number',
11653
+ serverGroupId: 'string',
11654
+ type: 'string',
11655
+ };
11656
+ }
11657
+
11658
+ constructor(map?: { [key: string]: any }) {
11659
+ super(map);
11660
+ }
11661
+ }
11662
+
11058
11663
  export class DetachVServerGroupsRequestVServerGroupsVServerGroupAttributes extends $tea.Model {
11059
11664
  port?: number;
11060
11665
  VServerGroupId?: string;
@@ -11319,13 +11924,13 @@ export class ModifyEciScalingConfigurationRequestContainersLivenessProbeTcpSocke
11319
11924
  }
11320
11925
 
11321
11926
  export class ModifyEciScalingConfigurationRequestContainersLivenessProbe extends $tea.Model {
11322
- exec: ModifyEciScalingConfigurationRequestContainersLivenessProbeExec;
11927
+ exec?: ModifyEciScalingConfigurationRequestContainersLivenessProbeExec;
11323
11928
  failureThreshold?: number;
11324
- httpGet: ModifyEciScalingConfigurationRequestContainersLivenessProbeHttpGet;
11929
+ httpGet?: ModifyEciScalingConfigurationRequestContainersLivenessProbeHttpGet;
11325
11930
  initialDelaySeconds?: number;
11326
11931
  periodSeconds?: number;
11327
11932
  successThreshold?: number;
11328
- tcpSocket: ModifyEciScalingConfigurationRequestContainersLivenessProbeTcpSocket;
11933
+ tcpSocket?: ModifyEciScalingConfigurationRequestContainersLivenessProbeTcpSocket;
11329
11934
  timeoutSeconds?: number;
11330
11935
  static names(): { [key: string]: string } {
11331
11936
  return {
@@ -11422,13 +12027,13 @@ export class ModifyEciScalingConfigurationRequestContainersReadinessProbeTcpSock
11422
12027
  }
11423
12028
 
11424
12029
  export class ModifyEciScalingConfigurationRequestContainersReadinessProbe extends $tea.Model {
11425
- exec: ModifyEciScalingConfigurationRequestContainersReadinessProbeExec;
12030
+ exec?: ModifyEciScalingConfigurationRequestContainersReadinessProbeExec;
11426
12031
  failureThreshold?: number;
11427
- httpGet: ModifyEciScalingConfigurationRequestContainersReadinessProbeHttpGet;
12032
+ httpGet?: ModifyEciScalingConfigurationRequestContainersReadinessProbeHttpGet;
11428
12033
  initialDelaySeconds?: number;
11429
12034
  periodSeconds?: number;
11430
12035
  successThreshold?: number;
11431
- tcpSocket: ModifyEciScalingConfigurationRequestContainersReadinessProbeTcpSocket;
12036
+ tcpSocket?: ModifyEciScalingConfigurationRequestContainersReadinessProbeTcpSocket;
11432
12037
  timeoutSeconds?: number;
11433
12038
  static names(): { [key: string]: string } {
11434
12039
  return {
@@ -11481,7 +12086,7 @@ export class ModifyEciScalingConfigurationRequestContainersSecurityContextCapabi
11481
12086
  }
11482
12087
 
11483
12088
  export class ModifyEciScalingConfigurationRequestContainersSecurityContext extends $tea.Model {
11484
- capability: ModifyEciScalingConfigurationRequestContainersSecurityContextCapability;
12089
+ capability?: ModifyEciScalingConfigurationRequestContainersSecurityContextCapability;
11485
12090
  readOnlyRootFilesystem?: boolean;
11486
12091
  runAsUser?: number;
11487
12092
  static names(): { [key: string]: string } {
@@ -11525,7 +12130,7 @@ export class ModifyEciScalingConfigurationRequestContainersEnvironmentVarsFieldR
11525
12130
  }
11526
12131
 
11527
12132
  export class ModifyEciScalingConfigurationRequestContainersEnvironmentVars extends $tea.Model {
11528
- fieldRef: ModifyEciScalingConfigurationRequestContainersEnvironmentVarsFieldRef;
12133
+ fieldRef?: ModifyEciScalingConfigurationRequestContainersEnvironmentVarsFieldRef;
11529
12134
  key?: string;
11530
12135
  value?: string;
11531
12136
  static names(): { [key: string]: string } {
@@ -11603,9 +12208,9 @@ export class ModifyEciScalingConfigurationRequestContainersVolumeMounts extends
11603
12208
  }
11604
12209
 
11605
12210
  export class ModifyEciScalingConfigurationRequestContainers extends $tea.Model {
11606
- livenessProbe: ModifyEciScalingConfigurationRequestContainersLivenessProbe;
11607
- readinessProbe: ModifyEciScalingConfigurationRequestContainersReadinessProbe;
11608
- securityContext: ModifyEciScalingConfigurationRequestContainersSecurityContext;
12211
+ livenessProbe?: ModifyEciScalingConfigurationRequestContainersLivenessProbe;
12212
+ readinessProbe?: ModifyEciScalingConfigurationRequestContainersReadinessProbe;
12213
+ securityContext?: ModifyEciScalingConfigurationRequestContainersSecurityContext;
11609
12214
  args?: string[];
11610
12215
  commands?: string[];
11611
12216
  cpu?: number;
@@ -11761,7 +12366,7 @@ export class ModifyEciScalingConfigurationRequestInitContainersSecurityContextCa
11761
12366
  }
11762
12367
 
11763
12368
  export class ModifyEciScalingConfigurationRequestInitContainersSecurityContext extends $tea.Model {
11764
- capability: ModifyEciScalingConfigurationRequestInitContainersSecurityContextCapability;
12369
+ capability?: ModifyEciScalingConfigurationRequestInitContainersSecurityContextCapability;
11765
12370
  readOnlyRootFilesystem?: boolean;
11766
12371
  runAsUser?: number;
11767
12372
  static names(): { [key: string]: string } {
@@ -11805,7 +12410,7 @@ export class ModifyEciScalingConfigurationRequestInitContainersInitContainerEnvi
11805
12410
  }
11806
12411
 
11807
12412
  export class ModifyEciScalingConfigurationRequestInitContainersInitContainerEnvironmentVars extends $tea.Model {
11808
- fieldRef: ModifyEciScalingConfigurationRequestInitContainersInitContainerEnvironmentVarsFieldRef;
12413
+ fieldRef?: ModifyEciScalingConfigurationRequestInitContainersInitContainerEnvironmentVarsFieldRef;
11809
12414
  key?: string;
11810
12415
  value?: string;
11811
12416
  static names(): { [key: string]: string } {
@@ -11883,7 +12488,7 @@ export class ModifyEciScalingConfigurationRequestInitContainersInitContainerVolu
11883
12488
  }
11884
12489
 
11885
12490
  export class ModifyEciScalingConfigurationRequestInitContainers extends $tea.Model {
11886
- securityContext: ModifyEciScalingConfigurationRequestInitContainersSecurityContext;
12491
+ securityContext?: ModifyEciScalingConfigurationRequestInitContainersSecurityContext;
11887
12492
  args?: string[];
11888
12493
  commands?: string[];
11889
12494
  cpu?: number;
@@ -12123,11 +12728,11 @@ export class ModifyEciScalingConfigurationRequestVolumesConfigFileVolumeConfigFi
12123
12728
  }
12124
12729
 
12125
12730
  export class ModifyEciScalingConfigurationRequestVolumes extends $tea.Model {
12126
- diskVolume: ModifyEciScalingConfigurationRequestVolumesDiskVolume;
12127
- emptyDirVolume: ModifyEciScalingConfigurationRequestVolumesEmptyDirVolume;
12128
- flexVolume: ModifyEciScalingConfigurationRequestVolumesFlexVolume;
12129
- hostPathVolume: ModifyEciScalingConfigurationRequestVolumesHostPathVolume;
12130
- NFSVolume: ModifyEciScalingConfigurationRequestVolumesNFSVolume;
12731
+ diskVolume?: ModifyEciScalingConfigurationRequestVolumesDiskVolume;
12732
+ emptyDirVolume?: ModifyEciScalingConfigurationRequestVolumesEmptyDirVolume;
12733
+ flexVolume?: ModifyEciScalingConfigurationRequestVolumesFlexVolume;
12734
+ hostPathVolume?: ModifyEciScalingConfigurationRequestVolumesHostPathVolume;
12735
+ NFSVolume?: ModifyEciScalingConfigurationRequestVolumesNFSVolume;
12131
12736
  configFileVolumeConfigFileToPath?: ModifyEciScalingConfigurationRequestVolumesConfigFileVolumeConfigFileToPath[];
12132
12737
  configFileVolumeDefaultMode?: number;
12133
12738
  name?: string;
@@ -12165,6 +12770,25 @@ export class ModifyEciScalingConfigurationRequestVolumes extends $tea.Model {
12165
12770
  }
12166
12771
  }
12167
12772
 
12773
+ export class ModifyScalingConfigurationRequestImageOptions extends $tea.Model {
12774
+ loginAsNonRoot?: boolean;
12775
+ static names(): { [key: string]: string } {
12776
+ return {
12777
+ loginAsNonRoot: 'LoginAsNonRoot',
12778
+ };
12779
+ }
12780
+
12781
+ static types(): { [key: string]: any } {
12782
+ return {
12783
+ loginAsNonRoot: 'boolean',
12784
+ };
12785
+ }
12786
+
12787
+ constructor(map?: { [key: string]: any }) {
12788
+ super(map);
12789
+ }
12790
+ }
12791
+
12168
12792
  export class ModifyScalingConfigurationRequestPrivatePoolOptions extends $tea.Model {
12169
12793
  id?: string;
12170
12794
  matchCriteria?: string;
@@ -12375,6 +12999,25 @@ export class ModifyScalingConfigurationRequestSpotPriceLimits extends $tea.Model
12375
12999
  }
12376
13000
  }
12377
13001
 
13002
+ export class ModifyScalingConfigurationShrinkRequestImageOptions extends $tea.Model {
13003
+ loginAsNonRoot?: boolean;
13004
+ static names(): { [key: string]: string } {
13005
+ return {
13006
+ loginAsNonRoot: 'LoginAsNonRoot',
13007
+ };
13008
+ }
13009
+
13010
+ static types(): { [key: string]: any } {
13011
+ return {
13012
+ loginAsNonRoot: 'boolean',
13013
+ };
13014
+ }
13015
+
13016
+ constructor(map?: { [key: string]: any }) {
13017
+ super(map);
13018
+ }
13019
+ }
13020
+
12378
13021
  export class ModifyScalingConfigurationShrinkRequestPrivatePoolOptions extends $tea.Model {
12379
13022
  id?: string;
12380
13023
  matchCriteria?: string;
@@ -12587,10 +13230,12 @@ export class ModifyScalingConfigurationShrinkRequestSpotPriceLimits extends $tea
12587
13230
 
12588
13231
  export class ModifyScalingGroupRequestLaunchTemplateOverrides extends $tea.Model {
12589
13232
  instanceType?: string;
13233
+ spotPriceLimit?: number;
12590
13234
  weightedCapacity?: number;
12591
13235
  static names(): { [key: string]: string } {
12592
13236
  return {
12593
13237
  instanceType: 'InstanceType',
13238
+ spotPriceLimit: 'SpotPriceLimit',
12594
13239
  weightedCapacity: 'WeightedCapacity',
12595
13240
  };
12596
13241
  }
@@ -12598,6 +13243,7 @@ export class ModifyScalingGroupRequestLaunchTemplateOverrides extends $tea.Model
12598
13243
  static types(): { [key: string]: any } {
12599
13244
  return {
12600
13245
  instanceType: 'string',
13246
+ spotPriceLimit: 'number',
12601
13247
  weightedCapacity: 'number',
12602
13248
  };
12603
13249
  }
@@ -12607,6 +13253,28 @@ export class ModifyScalingGroupRequestLaunchTemplateOverrides extends $tea.Model
12607
13253
  }
12608
13254
  }
12609
13255
 
13256
+ export class ModifyScalingRuleRequestAlarmDimensions extends $tea.Model {
13257
+ dimensionKey?: string;
13258
+ dimensionValue?: string;
13259
+ static names(): { [key: string]: string } {
13260
+ return {
13261
+ dimensionKey: 'DimensionKey',
13262
+ dimensionValue: 'DimensionValue',
13263
+ };
13264
+ }
13265
+
13266
+ static types(): { [key: string]: any } {
13267
+ return {
13268
+ dimensionKey: 'string',
13269
+ dimensionValue: 'string',
13270
+ };
13271
+ }
13272
+
13273
+ constructor(map?: { [key: string]: any }) {
13274
+ super(map);
13275
+ }
13276
+ }
13277
+
12610
13278
  export class ModifyScalingRuleRequestStepAdjustments extends $tea.Model {
12611
13279
  metricIntervalLowerBound?: number;
12612
13280
  metricIntervalUpperBound?: number;
@@ -12726,6 +13394,13 @@ export default class Client extends OpenApi {
12726
13394
  return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
12727
13395
  }
12728
13396
 
13397
+ /**
13398
+ * Associates one or more Application Load Balancer (ALB) server groups with a scaling group.
13399
+ *
13400
+ * @param request AttachAlbServerGroupsRequest
13401
+ * @param runtime runtime options for this request RuntimeOptions
13402
+ * @return AttachAlbServerGroupsResponse
13403
+ */
12729
13404
  async attachAlbServerGroupsWithOptions(request: AttachAlbServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachAlbServerGroupsResponse> {
12730
13405
  Util.validateModel(request);
12731
13406
  let query = { };
@@ -12774,11 +13449,24 @@ export default class Client extends OpenApi {
12774
13449
  return $tea.cast<AttachAlbServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachAlbServerGroupsResponse({}));
12775
13450
  }
12776
13451
 
13452
+ /**
13453
+ * Associates one or more Application Load Balancer (ALB) server groups with a scaling group.
13454
+ *
13455
+ * @param request AttachAlbServerGroupsRequest
13456
+ * @return AttachAlbServerGroupsResponse
13457
+ */
12777
13458
  async attachAlbServerGroups(request: AttachAlbServerGroupsRequest): Promise<AttachAlbServerGroupsResponse> {
12778
13459
  let runtime = new $Util.RuntimeOptions({ });
12779
13460
  return await this.attachAlbServerGroupsWithOptions(request, runtime);
12780
13461
  }
12781
13462
 
13463
+ /**
13464
+ * Associates one or more ApsaraDB RDS instances with a scaling group.
13465
+ *
13466
+ * @param request AttachDBInstancesRequest
13467
+ * @param runtime runtime options for this request RuntimeOptions
13468
+ * @return AttachDBInstancesResponse
13469
+ */
12782
13470
  async attachDBInstancesWithOptions(request: AttachDBInstancesRequest, runtime: $Util.RuntimeOptions): Promise<AttachDBInstancesResponse> {
12783
13471
  Util.validateModel(request);
12784
13472
  let query = { };
@@ -12827,11 +13515,24 @@ export default class Client extends OpenApi {
12827
13515
  return $tea.cast<AttachDBInstancesResponse>(await this.callApi(params, req, runtime), new AttachDBInstancesResponse({}));
12828
13516
  }
12829
13517
 
13518
+ /**
13519
+ * Associates one or more ApsaraDB RDS instances with a scaling group.
13520
+ *
13521
+ * @param request AttachDBInstancesRequest
13522
+ * @return AttachDBInstancesResponse
13523
+ */
12830
13524
  async attachDBInstances(request: AttachDBInstancesRequest): Promise<AttachDBInstancesResponse> {
12831
13525
  let runtime = new $Util.RuntimeOptions({ });
12832
13526
  return await this.attachDBInstancesWithOptions(request, runtime);
12833
13527
  }
12834
13528
 
13529
+ /**
13530
+ * Manually adds Elastic Compute Service (ECS) instances or elastic container instances to a scaling group.
13531
+ *
13532
+ * @param request AttachInstancesRequest
13533
+ * @param runtime runtime options for this request RuntimeOptions
13534
+ * @return AttachInstancesResponse
13535
+ */
12835
13536
  async attachInstancesWithOptions(request: AttachInstancesRequest, runtime: $Util.RuntimeOptions): Promise<AttachInstancesResponse> {
12836
13537
  Util.validateModel(request);
12837
13538
  let query = { };
@@ -12892,11 +13593,24 @@ export default class Client extends OpenApi {
12892
13593
  return $tea.cast<AttachInstancesResponse>(await this.callApi(params, req, runtime), new AttachInstancesResponse({}));
12893
13594
  }
12894
13595
 
13596
+ /**
13597
+ * Manually adds Elastic Compute Service (ECS) instances or elastic container instances to a scaling group.
13598
+ *
13599
+ * @param request AttachInstancesRequest
13600
+ * @return AttachInstancesResponse
13601
+ */
12895
13602
  async attachInstances(request: AttachInstancesRequest): Promise<AttachInstancesResponse> {
12896
13603
  let runtime = new $Util.RuntimeOptions({ });
12897
13604
  return await this.attachInstancesWithOptions(request, runtime);
12898
13605
  }
12899
13606
 
13607
+ /**
13608
+ * Attaches one or more Classic Load Balancer (CLB) instances to a scaling group.
13609
+ *
13610
+ * @param request AttachLoadBalancersRequest
13611
+ * @param runtime runtime options for this request RuntimeOptions
13612
+ * @return AttachLoadBalancersResponse
13613
+ */
12900
13614
  async attachLoadBalancersWithOptions(request: AttachLoadBalancersRequest, runtime: $Util.RuntimeOptions): Promise<AttachLoadBalancersResponse> {
12901
13615
  Util.validateModel(request);
12902
13616
  let query = { };
@@ -12912,6 +13626,10 @@ export default class Client extends OpenApi {
12912
13626
  query["ForceAttach"] = request.forceAttach;
12913
13627
  }
12914
13628
 
13629
+ if (!Util.isUnset(request.loadBalancerConfigs)) {
13630
+ query["LoadBalancerConfigs"] = request.loadBalancerConfigs;
13631
+ }
13632
+
12915
13633
  if (!Util.isUnset(request.loadBalancers)) {
12916
13634
  query["LoadBalancers"] = request.loadBalancers;
12917
13635
  }
@@ -12945,11 +13663,77 @@ export default class Client extends OpenApi {
12945
13663
  return $tea.cast<AttachLoadBalancersResponse>(await this.callApi(params, req, runtime), new AttachLoadBalancersResponse({}));
12946
13664
  }
12947
13665
 
13666
+ /**
13667
+ * Attaches one or more Classic Load Balancer (CLB) instances to a scaling group.
13668
+ *
13669
+ * @param request AttachLoadBalancersRequest
13670
+ * @return AttachLoadBalancersResponse
13671
+ */
12948
13672
  async attachLoadBalancers(request: AttachLoadBalancersRequest): Promise<AttachLoadBalancersResponse> {
12949
13673
  let runtime = new $Util.RuntimeOptions({ });
12950
13674
  return await this.attachLoadBalancersWithOptions(request, runtime);
12951
13675
  }
12952
13676
 
13677
+ async attachServerGroupsWithOptions(request: AttachServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachServerGroupsResponse> {
13678
+ Util.validateModel(request);
13679
+ let query = { };
13680
+ if (!Util.isUnset(request.clientToken)) {
13681
+ query["ClientToken"] = request.clientToken;
13682
+ }
13683
+
13684
+ if (!Util.isUnset(request.forceAttach)) {
13685
+ query["ForceAttach"] = request.forceAttach;
13686
+ }
13687
+
13688
+ if (!Util.isUnset(request.ownerId)) {
13689
+ query["OwnerId"] = request.ownerId;
13690
+ }
13691
+
13692
+ if (!Util.isUnset(request.regionId)) {
13693
+ query["RegionId"] = request.regionId;
13694
+ }
13695
+
13696
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
13697
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13698
+ }
13699
+
13700
+ if (!Util.isUnset(request.scalingGroupId)) {
13701
+ query["ScalingGroupId"] = request.scalingGroupId;
13702
+ }
13703
+
13704
+ if (!Util.isUnset(request.serverGroups)) {
13705
+ query["ServerGroups"] = request.serverGroups;
13706
+ }
13707
+
13708
+ let req = new $OpenApi.OpenApiRequest({
13709
+ query: OpenApiUtil.query(query),
13710
+ });
13711
+ let params = new $OpenApi.Params({
13712
+ action: "AttachServerGroups",
13713
+ version: "2022-02-22",
13714
+ protocol: "HTTPS",
13715
+ pathname: "/",
13716
+ method: "POST",
13717
+ authType: "AK",
13718
+ style: "RPC",
13719
+ reqBodyType: "formData",
13720
+ bodyType: "json",
13721
+ });
13722
+ return $tea.cast<AttachServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachServerGroupsResponse({}));
13723
+ }
13724
+
13725
+ async attachServerGroups(request: AttachServerGroupsRequest): Promise<AttachServerGroupsResponse> {
13726
+ let runtime = new $Util.RuntimeOptions({ });
13727
+ return await this.attachServerGroupsWithOptions(request, runtime);
13728
+ }
13729
+
13730
+ /**
13731
+ * Attaches one or more vServer groups of a Classic Load Balancer (CLB) instance to a scaling group.
13732
+ *
13733
+ * @param request AttachVServerGroupsRequest
13734
+ * @param runtime runtime options for this request RuntimeOptions
13735
+ * @return AttachVServerGroupsResponse
13736
+ */
12953
13737
  async attachVServerGroupsWithOptions(request: AttachVServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachVServerGroupsResponse> {
12954
13738
  Util.validateModel(request);
12955
13739
  let query = { };
@@ -12998,11 +13782,86 @@ export default class Client extends OpenApi {
12998
13782
  return $tea.cast<AttachVServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachVServerGroupsResponse({}));
12999
13783
  }
13000
13784
 
13785
+ /**
13786
+ * Attaches one or more vServer groups of a Classic Load Balancer (CLB) instance to a scaling group.
13787
+ *
13788
+ * @param request AttachVServerGroupsRequest
13789
+ * @return AttachVServerGroupsResponse
13790
+ */
13001
13791
  async attachVServerGroups(request: AttachVServerGroupsRequest): Promise<AttachVServerGroupsResponse> {
13002
13792
  let runtime = new $Util.RuntimeOptions({ });
13003
13793
  return await this.attachVServerGroupsWithOptions(request, runtime);
13004
13794
  }
13005
13795
 
13796
+ /**
13797
+ * A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources, monitor resources, and perform operations in a centralized manner. This way, you do not need to view and check your Alibaba Cloud resources in each Alibaba Cloud service.
13798
+ *
13799
+ * @param request ChangeResourceGroupRequest
13800
+ * @param runtime runtime options for this request RuntimeOptions
13801
+ * @return ChangeResourceGroupResponse
13802
+ */
13803
+ async changeResourceGroupWithOptions(request: ChangeResourceGroupRequest, runtime: $Util.RuntimeOptions): Promise<ChangeResourceGroupResponse> {
13804
+ Util.validateModel(request);
13805
+ let query = { };
13806
+ if (!Util.isUnset(request.newResourceGroupId)) {
13807
+ query["NewResourceGroupId"] = request.newResourceGroupId;
13808
+ }
13809
+
13810
+ if (!Util.isUnset(request.ownerId)) {
13811
+ query["OwnerId"] = request.ownerId;
13812
+ }
13813
+
13814
+ if (!Util.isUnset(request.regionId)) {
13815
+ query["RegionId"] = request.regionId;
13816
+ }
13817
+
13818
+ if (!Util.isUnset(request.resourceId)) {
13819
+ query["ResourceId"] = request.resourceId;
13820
+ }
13821
+
13822
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
13823
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13824
+ }
13825
+
13826
+ if (!Util.isUnset(request.resourceType)) {
13827
+ query["ResourceType"] = request.resourceType;
13828
+ }
13829
+
13830
+ let req = new $OpenApi.OpenApiRequest({
13831
+ query: OpenApiUtil.query(query),
13832
+ });
13833
+ let params = new $OpenApi.Params({
13834
+ action: "ChangeResourceGroup",
13835
+ version: "2022-02-22",
13836
+ protocol: "HTTPS",
13837
+ pathname: "/",
13838
+ method: "POST",
13839
+ authType: "AK",
13840
+ style: "RPC",
13841
+ reqBodyType: "formData",
13842
+ bodyType: "json",
13843
+ });
13844
+ return $tea.cast<ChangeResourceGroupResponse>(await this.callApi(params, req, runtime), new ChangeResourceGroupResponse({}));
13845
+ }
13846
+
13847
+ /**
13848
+ * A resource is an entity of cloud services that you create on Alibaba Cloud. For example, a scaling group is a resource. A resource group is a collection of infrastructure for projects, environments, or stacks. In a resource group, you can manage resources, monitor resources, and perform operations in a centralized manner. This way, you do not need to view and check your Alibaba Cloud resources in each Alibaba Cloud service.
13849
+ *
13850
+ * @param request ChangeResourceGroupRequest
13851
+ * @return ChangeResourceGroupResponse
13852
+ */
13853
+ async changeResourceGroup(request: ChangeResourceGroupRequest): Promise<ChangeResourceGroupResponse> {
13854
+ let runtime = new $Util.RuntimeOptions({ });
13855
+ return await this.changeResourceGroupWithOptions(request, runtime);
13856
+ }
13857
+
13858
+ /**
13859
+ * If you set the LifecycleActionResult parameter for a lifecycle hook of a scaling group to CONTINUE in the operation, Auto Scaling continues to complete the scaling activity in the scaling group after the lifecycle hook times out. If you set the LifecycleActionResult parameter to ABANDON, Auto Scaling stops the scaling activity in the scaling group after the lifecycle hook times out.
13860
+ *
13861
+ * @param request CompleteLifecycleActionRequest
13862
+ * @param runtime runtime options for this request RuntimeOptions
13863
+ * @return CompleteLifecycleActionResponse
13864
+ */
13006
13865
  async completeLifecycleActionWithOptions(request: CompleteLifecycleActionRequest, runtime: $Util.RuntimeOptions): Promise<CompleteLifecycleActionResponse> {
13007
13866
  Util.validateModel(request);
13008
13867
  let query = { };
@@ -13055,11 +13914,28 @@ export default class Client extends OpenApi {
13055
13914
  return $tea.cast<CompleteLifecycleActionResponse>(await this.callApi(params, req, runtime), new CompleteLifecycleActionResponse({}));
13056
13915
  }
13057
13916
 
13917
+ /**
13918
+ * If you set the LifecycleActionResult parameter for a lifecycle hook of a scaling group to CONTINUE in the operation, Auto Scaling continues to complete the scaling activity in the scaling group after the lifecycle hook times out. If you set the LifecycleActionResult parameter to ABANDON, Auto Scaling stops the scaling activity in the scaling group after the lifecycle hook times out.
13919
+ *
13920
+ * @param request CompleteLifecycleActionRequest
13921
+ * @return CompleteLifecycleActionResponse
13922
+ */
13058
13923
  async completeLifecycleAction(request: CompleteLifecycleActionRequest): Promise<CompleteLifecycleActionResponse> {
13059
13924
  let runtime = new $Util.RuntimeOptions({ });
13060
13925
  return await this.completeLifecycleActionWithOptions(request, runtime);
13061
13926
  }
13062
13927
 
13928
+ /**
13929
+ * * If you set the MetricType parameter to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).
13930
+ * * When you create an event-triggered task, you must specify the MetricName, DimensionKey, and DimensionValue parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the user_id and scaling_group dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances or elastic container instances in a scaling group within an Alibaba Cloud account.
13931
+ * * If you set the MetricType parameter to custom, the valid values are your custom metrics.
13932
+ * * For information about the supported metrics when you set the MetricType parameter to system, see [Event-triggered task for system monitoring](~~74854~~).
13933
+ * > The user_id and scaling_group dimensions are automatically populated. You need to only specify the device and state dimensions. For more information, see the `DimensionKey` and `DimensionValue` parameters in the "Request parameters" section of this topic.
13934
+ *
13935
+ * @param request CreateAlarmRequest
13936
+ * @param runtime runtime options for this request RuntimeOptions
13937
+ * @return CreateAlarmResponse
13938
+ */
13063
13939
  async createAlarmWithOptions(request: CreateAlarmRequest, runtime: $Util.RuntimeOptions): Promise<CreateAlarmResponse> {
13064
13940
  Util.validateModel(request);
13065
13941
  let query = { };
@@ -13156,11 +14032,29 @@ export default class Client extends OpenApi {
13156
14032
  return $tea.cast<CreateAlarmResponse>(await this.callApi(params, req, runtime), new CreateAlarmResponse({}));
13157
14033
  }
13158
14034
 
14035
+ /**
14036
+ * * If you set the MetricType parameter to custom, you must report your custom metrics to CloudMonitor before you can create event-triggered tasks by using custom metrics. For more information, see [Custom monitoring event-triggered tasks](~~74861~~).
14037
+ * * When you create an event-triggered task, you must specify the MetricName, DimensionKey, and DimensionValue parameters to determine the range of statistics that you want to aggregate for the metrics of the scaling group. For example, you can specify the user_id and scaling_group dimensions for an event-triggered task to aggregate monitoring data of all Elastic Compute Service (ECS) instances or elastic container instances in a scaling group within an Alibaba Cloud account.
14038
+ * * If you set the MetricType parameter to custom, the valid values are your custom metrics.
14039
+ * * For information about the supported metrics when you set the MetricType parameter to system, see [Event-triggered task for system monitoring](~~74854~~).
14040
+ * > The user_id and scaling_group dimensions are automatically populated. You need to only specify the device and state dimensions. For more information, see the `DimensionKey` and `DimensionValue` parameters in the "Request parameters" section of this topic.
14041
+ *
14042
+ * @param request CreateAlarmRequest
14043
+ * @return CreateAlarmResponse
14044
+ */
13159
14045
  async createAlarm(request: CreateAlarmRequest): Promise<CreateAlarmResponse> {
13160
14046
  let runtime = new $Util.RuntimeOptions({ });
13161
14047
  return await this.createAlarmWithOptions(request, runtime);
13162
14048
  }
13163
14049
 
14050
+ /**
14051
+ * A scaling configuration is a template that is used to create elastic container instances during scale-out activities.
14052
+ * You can specify the Cpu and Memory parameters to determine the range of instance types. If you specify the parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that is provided at the lowest price. This scaling mode is available only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.
14053
+ *
14054
+ * @param request CreateEciScalingConfigurationRequest
14055
+ * @param runtime runtime options for this request RuntimeOptions
14056
+ * @return CreateEciScalingConfigurationResponse
14057
+ */
13164
14058
  async createEciScalingConfigurationWithOptions(request: CreateEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateEciScalingConfigurationResponse> {
13165
14059
  Util.validateModel(request);
13166
14060
  let query = { };
@@ -13357,11 +14251,28 @@ export default class Client extends OpenApi {
13357
14251
  return $tea.cast<CreateEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new CreateEciScalingConfigurationResponse({}));
13358
14252
  }
13359
14253
 
14254
+ /**
14255
+ * A scaling configuration is a template that is used to create elastic container instances during scale-out activities.
14256
+ * You can specify the Cpu and Memory parameters to determine the range of instance types. If you specify the parameters, Auto Scaling determines the available instance types based on factors such as I/O optimization requirements and zones. Auto Scaling preferentially creates elastic container instances of the instance type that is provided at the lowest price. This scaling mode is available only if Scaling Policy is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.
14257
+ *
14258
+ * @param request CreateEciScalingConfigurationRequest
14259
+ * @return CreateEciScalingConfigurationResponse
14260
+ */
13360
14261
  async createEciScalingConfiguration(request: CreateEciScalingConfigurationRequest): Promise<CreateEciScalingConfigurationResponse> {
13361
14262
  let runtime = new $Util.RuntimeOptions({ });
13362
14263
  return await this.createEciScalingConfigurationWithOptions(request, runtime);
13363
14264
  }
13364
14265
 
14266
+ /**
14267
+ * You can create up to six lifecycle hooks for each scaling group. Elastic Compute Service (ECS) instances are not immediately added to or removed from scaling groups that have effective lifecycle hooks during scaling activities. The ECS instances are added to or removed from the scaling groups only after the lifecycle hooks time out. The period of time before the lifecycle hooks time out is specified by the HeartbeatTimeout parameter. Before lifecycle hooks time out, you can initialize the configurations of ECS instances and query data on the ECS instances.
14268
+ * If lifecycle hooks take effect for scale-out activities, the private IP addresses of ECS instances are added to the IP address whitelists of the associated ApsaraDB RDS instances and the ECS instances are added to the backend server groups of the associated Server Load Balancer (SLB) instances only after the lifecycle hooks time out. If lifecycle hooks take effect for scale-in activities, the private IP addresses of ECS instances are removed from the IP address whitelists of the disassociated ApsaraDB RDS instances and the ECS instances are removed from the backend server groups of the disassociated SLB instances only after the lifecycle hooks time out.
14269
+ * You can configure a notification method for a lifecycle hook. When the lifecycle hook takes effect, a notification can be sent by using a Message Service (MNS) topic, an MNS queue, or an Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a RAM role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).
14270
+ * > If your scaling group contains ECS instances and you configure an OOS template to add the private IP addresses of the ECS instances to or remove the private IP addresses of the ECS instances from the IP address whitelists of cloud databases other than ApsaraDB RDS databases, you must manually add the private IP addresses of the ECS instances to the IP address whitelists of the cloud databases.
14271
+ *
14272
+ * @param request CreateLifecycleHookRequest
14273
+ * @param runtime runtime options for this request RuntimeOptions
14274
+ * @return CreateLifecycleHookResponse
14275
+ */
13365
14276
  async createLifecycleHookWithOptions(request: CreateLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<CreateLifecycleHookResponse> {
13366
14277
  Util.validateModel(request);
13367
14278
  let query = { };
@@ -13422,11 +14333,27 @@ export default class Client extends OpenApi {
13422
14333
  return $tea.cast<CreateLifecycleHookResponse>(await this.callApi(params, req, runtime), new CreateLifecycleHookResponse({}));
13423
14334
  }
13424
14335
 
14336
+ /**
14337
+ * You can create up to six lifecycle hooks for each scaling group. Elastic Compute Service (ECS) instances are not immediately added to or removed from scaling groups that have effective lifecycle hooks during scaling activities. The ECS instances are added to or removed from the scaling groups only after the lifecycle hooks time out. The period of time before the lifecycle hooks time out is specified by the HeartbeatTimeout parameter. Before lifecycle hooks time out, you can initialize the configurations of ECS instances and query data on the ECS instances.
14338
+ * If lifecycle hooks take effect for scale-out activities, the private IP addresses of ECS instances are added to the IP address whitelists of the associated ApsaraDB RDS instances and the ECS instances are added to the backend server groups of the associated Server Load Balancer (SLB) instances only after the lifecycle hooks time out. If lifecycle hooks take effect for scale-in activities, the private IP addresses of ECS instances are removed from the IP address whitelists of the disassociated ApsaraDB RDS instances and the ECS instances are removed from the backend server groups of the disassociated SLB instances only after the lifecycle hooks time out.
14339
+ * You can configure a notification method for a lifecycle hook. When the lifecycle hook takes effect, a notification can be sent by using a Message Service (MNS) topic, an MNS queue, or an Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a RAM role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).
14340
+ * > If your scaling group contains ECS instances and you configure an OOS template to add the private IP addresses of the ECS instances to or remove the private IP addresses of the ECS instances from the IP address whitelists of cloud databases other than ApsaraDB RDS databases, you must manually add the private IP addresses of the ECS instances to the IP address whitelists of the cloud databases.
14341
+ *
14342
+ * @param request CreateLifecycleHookRequest
14343
+ * @return CreateLifecycleHookResponse
14344
+ */
13425
14345
  async createLifecycleHook(request: CreateLifecycleHookRequest): Promise<CreateLifecycleHookResponse> {
13426
14346
  let runtime = new $Util.RuntimeOptions({ });
13427
14347
  return await this.createLifecycleHookWithOptions(request, runtime);
13428
14348
  }
13429
14349
 
14350
+ /**
14351
+ * Creates a notification.
14352
+ *
14353
+ * @param request CreateNotificationConfigurationRequest
14354
+ * @param runtime runtime options for this request RuntimeOptions
14355
+ * @return CreateNotificationConfigurationResponse
14356
+ */
13430
14357
  async createNotificationConfigurationWithOptions(request: CreateNotificationConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateNotificationConfigurationResponse> {
13431
14358
  Util.validateModel(request);
13432
14359
  let query = { };
@@ -13471,11 +14398,30 @@ export default class Client extends OpenApi {
13471
14398
  return $tea.cast<CreateNotificationConfigurationResponse>(await this.callApi(params, req, runtime), new CreateNotificationConfigurationResponse({}));
13472
14399
  }
13473
14400
 
14401
+ /**
14402
+ * Creates a notification.
14403
+ *
14404
+ * @param request CreateNotificationConfigurationRequest
14405
+ * @return CreateNotificationConfigurationResponse
14406
+ */
13474
14407
  async createNotificationConfiguration(request: CreateNotificationConfigurationRequest): Promise<CreateNotificationConfigurationResponse> {
13475
14408
  let runtime = new $Util.RuntimeOptions({ });
13476
14409
  return await this.createNotificationConfigurationWithOptions(request, runtime);
13477
14410
  }
13478
14411
 
14412
+ /**
14413
+ * Auto Scaling automatically creates Elastic Compute Service (ECS) instances based on the specified scaling configuration. ECS instances can be created in the following modes:
14414
+ * * InstancePatternInfos: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. Auto Scaling selects the lowest-priced instance type based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode reduces the failures of scale-outs caused by insufficient inventory of instance types.
14415
+ * * InstanceType: In this mode, you must specify one instance type.
14416
+ * * InstanceTypes: In this mode, you can specify more than one instance type.
14417
+ * * InstanceTypeOverrides: In this mode, you can specify multiple instance types and weights for the instance types.
14418
+ * * Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines the range of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling creates ECS instances of the lowest-priced instance type. This mode is available only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.
14419
+ * > You cannot specify InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory parameters at the same time. You can specify InstanceType and InstancePatternInfos or specify InstanceTypes and InstancePatternInfo at the same time. If you specify the InstanceType and InstancePatternInfos parameters or specify the InstanceTypes and InstancePatternInfos parameters at the same time, Auto Scaling preferentially uses the instance types that are specified by the InstanceType or InstanceTypes parameter for scale-outs. If the instance types that are specified by the InstanceType or InstanceTypes parameter do not have sufficient inventory, Auto Scaling uses the instance types that are specified by the InstancePatternInfos parameter for scale-outs.
14420
+ *
14421
+ * @param tmpReq CreateScalingConfigurationRequest
14422
+ * @param runtime runtime options for this request RuntimeOptions
14423
+ * @return CreateScalingConfigurationResponse
14424
+ */
13479
14425
  async createScalingConfigurationWithOptions(tmpReq: CreateScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingConfigurationResponse> {
13480
14426
  Util.validateModel(tmpReq);
13481
14427
  let request = new CreateScalingConfigurationShrinkRequest({ });
@@ -13677,11 +14623,15 @@ export default class Client extends OpenApi {
13677
14623
  query["ZoneId"] = request.zoneId;
13678
14624
  }
13679
14625
 
13680
- if (!Util.isUnset($tea.toMap(request.privatePoolOptions))) {
14626
+ if (!Util.isUnset(request.imageOptions)) {
14627
+ query["ImageOptions"] = request.imageOptions;
14628
+ }
14629
+
14630
+ if (!Util.isUnset(request.privatePoolOptions)) {
13681
14631
  query["PrivatePoolOptions"] = request.privatePoolOptions;
13682
14632
  }
13683
14633
 
13684
- if (!Util.isUnset($tea.toMap(request.systemDisk))) {
14634
+ if (!Util.isUnset(request.systemDisk)) {
13685
14635
  query["SystemDisk"] = request.systemDisk;
13686
14636
  }
13687
14637
 
@@ -13702,11 +14652,51 @@ export default class Client extends OpenApi {
13702
14652
  return $tea.cast<CreateScalingConfigurationResponse>(await this.callApi(params, req, runtime), new CreateScalingConfigurationResponse({}));
13703
14653
  }
13704
14654
 
14655
+ /**
14656
+ * Auto Scaling automatically creates Elastic Compute Service (ECS) instances based on the specified scaling configuration. ECS instances can be created in the following modes:
14657
+ * * InstancePatternInfos: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. Auto Scaling selects the lowest-priced instance type based on your configurations to create ECS instances. This mode is available only for scaling groups that reside in virtual private clouds (VPCs). This mode reduces the failures of scale-outs caused by insufficient inventory of instance types.
14658
+ * * InstanceType: In this mode, you must specify one instance type.
14659
+ * * InstanceTypes: In this mode, you can specify more than one instance type.
14660
+ * * InstanceTypeOverrides: In this mode, you can specify multiple instance types and weights for the instance types.
14661
+ * * Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines the range of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling creates ECS instances of the lowest-priced instance type. This mode is available only if the Scaling Policy parameter is set to Cost Optimization Policy and no instance type is specified in the scaling configuration.
14662
+ * > You cannot specify InstanceType, InstanceTypes, InstanceTypeOverrides, and Cpu and Memory parameters at the same time. You can specify InstanceType and InstancePatternInfos or specify InstanceTypes and InstancePatternInfo at the same time. If you specify the InstanceType and InstancePatternInfos parameters or specify the InstanceTypes and InstancePatternInfos parameters at the same time, Auto Scaling preferentially uses the instance types that are specified by the InstanceType or InstanceTypes parameter for scale-outs. If the instance types that are specified by the InstanceType or InstanceTypes parameter do not have sufficient inventory, Auto Scaling uses the instance types that are specified by the InstancePatternInfos parameter for scale-outs.
14663
+ *
14664
+ * @param request CreateScalingConfigurationRequest
14665
+ * @return CreateScalingConfigurationResponse
14666
+ */
13705
14667
  async createScalingConfiguration(request: CreateScalingConfigurationRequest): Promise<CreateScalingConfigurationResponse> {
13706
14668
  let runtime = new $Util.RuntimeOptions({ });
13707
14669
  return await this.createScalingConfigurationWithOptions(request, runtime);
13708
14670
  }
13709
14671
 
14672
+ /**
14673
+ * A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.
14674
+ * You can create only a limited number of scaling groups in a region. Go to Quota Center to check the quota of the scaling groups.
14675
+ * A scaling group does not immediately take effect after you create the scaling group. You must call the EnableScalingGroup operation to enable the scaling group. After you enable the scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.
14676
+ * The Classic Load Balancer (CLB) instances and ApsaraDB RDS instances that you want to associate with a scaling group must reside in the same region as the scaling group. CLB instances are formerly known as Server Load Balancer (SLB) instances. For more information, see the "Regions and zones" topic.
14677
+ * If you associate a CLB instance when you create a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server group of the associated CLB instance. You can specify a server group to which ECS instances can be added. You can add ECS instances to the following types of server groups:
14678
+ * * Default server group: a group of ECS instances that are used to receive requests. If you do not specify a vServer group or a primary/secondary server group for a listener, requests are forwarded to the ECS instances in the default server group.
14679
+ * * vServer group: If you want to forward requests to backend servers that are not in the default server group or configure domain name-based or URL-based forwarding rules, you can use vServer groups.
14680
+ * > If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all specified server groups.
14681
+ * The default weight of an ECS instance that is added as a backend server of a CLB instance is 50. The CLB instance that you want to associate with your scaling group must meet the following requirements:
14682
+ * * The CLB instance must be in the Active state. You can call the DescribeLoadBalancers operation to query the state of the CLB instance.
14683
+ * * The health check feature must be enabled on all listener ports that are configured for the CLB instance. Otherwise, the scaling group fails to be created.
14684
+ * If you associate an Application Load Balancer (ALB) server group with a scaling group, Auto Scaling automatically adds ECS instances that are in the scaling group to the ALB server group to process requests distributed by the ALB instance to which the ALB server group belongs. You can specify multiple ALB server groups. The server groups must reside in the same virtual private cloud (VPC) as the scaling group. For more information, see the "AttachAlbServerGroups" topic.
14685
+ * If you associate an ApsaraDB RDS instance with a scaling group, Auto Scaling automatically adds the private IP addresses of the ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance. The ApsaraDB RDS instance that you want to associate with your scaling group must meet the following requirements:
14686
+ * * The ApsaraDB RDS instance must be in the Running state. You can call the DescribeDBInstances operation to query the state of the ApsaraDB RDS instance.
14687
+ * * The number of IP addresses in the IP address whitelist of the ApsaraDB RDS instance cannot exceed the upper limit. For more information, see the "Configure whitelists" topic.
14688
+ * If you set the MultiAZPolicy parameter of the scaling group to COST_OPTIMIZED, take note of the following items:
14689
+ * * You can use the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters to specify the instance allocation method based on the cost optimization policy. This instance allocation method is prioritized during scaling.
14690
+ * * If you do not specify the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools parameter, the instance types that are provided at the lowest price are used to create instances based on the cost optimization policy.
14691
+ * If you set the `Tags.Propagate` parameter of the scaling group to true, the following rules apply:
14692
+ * * Tags that you add to the scaling group cannot be propagated to existing instances in the scaling group. Tags that you add to the scaling group are propagated to only new instances.
14693
+ * * If you specify instance tags in the scaling configuration that is used to create instances and propagate the tags that you add to the scaling group to the instances, all tags exist at the same time.
14694
+ * * If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group of the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.
14695
+ *
14696
+ * @param request CreateScalingGroupRequest
14697
+ * @param runtime runtime options for this request RuntimeOptions
14698
+ * @return CreateScalingGroupResponse
14699
+ */
13710
14700
  async createScalingGroupWithOptions(request: CreateScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingGroupResponse> {
13711
14701
  Util.validateModel(request);
13712
14702
  let query = { };
@@ -13782,6 +14772,10 @@ export default class Client extends OpenApi {
13782
14772
  query["LifecycleHooks"] = request.lifecycleHooks;
13783
14773
  }
13784
14774
 
14775
+ if (!Util.isUnset(request.loadBalancerConfigs)) {
14776
+ query["LoadBalancerConfigs"] = request.loadBalancerConfigs;
14777
+ }
14778
+
13785
14779
  if (!Util.isUnset(request.loadBalancerIds)) {
13786
14780
  query["LoadBalancerIds"] = request.loadBalancerIds;
13787
14781
  }
@@ -13826,6 +14820,10 @@ export default class Client extends OpenApi {
13826
14820
  query["RemovalPolicies"] = request.removalPolicies;
13827
14821
  }
13828
14822
 
14823
+ if (!Util.isUnset(request.resourceGroupId)) {
14824
+ query["ResourceGroupId"] = request.resourceGroupId;
14825
+ }
14826
+
13829
14827
  if (!Util.isUnset(request.resourceOwnerAccount)) {
13830
14828
  query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13831
14829
  }
@@ -13838,6 +14836,10 @@ export default class Client extends OpenApi {
13838
14836
  query["ScalingPolicy"] = request.scalingPolicy;
13839
14837
  }
13840
14838
 
14839
+ if (!Util.isUnset(request.serverGroups)) {
14840
+ query["ServerGroups"] = request.serverGroups;
14841
+ }
14842
+
13841
14843
  if (!Util.isUnset(request.spotAllocationStrategy)) {
13842
14844
  query["SpotAllocationStrategy"] = request.spotAllocationStrategy;
13843
14845
  }
@@ -13887,11 +14889,45 @@ export default class Client extends OpenApi {
13887
14889
  return $tea.cast<CreateScalingGroupResponse>(await this.callApi(params, req, runtime), new CreateScalingGroupResponse({}));
13888
14890
  }
13889
14891
 
14892
+ /**
14893
+ * A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.
14894
+ * You can create only a limited number of scaling groups in a region. Go to Quota Center to check the quota of the scaling groups.
14895
+ * A scaling group does not immediately take effect after you create the scaling group. You must call the EnableScalingGroup operation to enable the scaling group. After you enable the scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.
14896
+ * The Classic Load Balancer (CLB) instances and ApsaraDB RDS instances that you want to associate with a scaling group must reside in the same region as the scaling group. CLB instances are formerly known as Server Load Balancer (SLB) instances. For more information, see the "Regions and zones" topic.
14897
+ * If you associate a CLB instance when you create a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server group of the associated CLB instance. You can specify a server group to which ECS instances can be added. You can add ECS instances to the following types of server groups:
14898
+ * * Default server group: a group of ECS instances that are used to receive requests. If you do not specify a vServer group or a primary/secondary server group for a listener, requests are forwarded to the ECS instances in the default server group.
14899
+ * * vServer group: If you want to forward requests to backend servers that are not in the default server group or configure domain name-based or URL-based forwarding rules, you can use vServer groups.
14900
+ * > If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all specified server groups.
14901
+ * The default weight of an ECS instance that is added as a backend server of a CLB instance is 50. The CLB instance that you want to associate with your scaling group must meet the following requirements:
14902
+ * * The CLB instance must be in the Active state. You can call the DescribeLoadBalancers operation to query the state of the CLB instance.
14903
+ * * The health check feature must be enabled on all listener ports that are configured for the CLB instance. Otherwise, the scaling group fails to be created.
14904
+ * If you associate an Application Load Balancer (ALB) server group with a scaling group, Auto Scaling automatically adds ECS instances that are in the scaling group to the ALB server group to process requests distributed by the ALB instance to which the ALB server group belongs. You can specify multiple ALB server groups. The server groups must reside in the same virtual private cloud (VPC) as the scaling group. For more information, see the "AttachAlbServerGroups" topic.
14905
+ * If you associate an ApsaraDB RDS instance with a scaling group, Auto Scaling automatically adds the private IP addresses of the ECS instances in the scaling group to the IP address whitelist of the ApsaraDB RDS instance. The ApsaraDB RDS instance that you want to associate with your scaling group must meet the following requirements:
14906
+ * * The ApsaraDB RDS instance must be in the Running state. You can call the DescribeDBInstances operation to query the state of the ApsaraDB RDS instance.
14907
+ * * The number of IP addresses in the IP address whitelist of the ApsaraDB RDS instance cannot exceed the upper limit. For more information, see the "Configure whitelists" topic.
14908
+ * If you set the MultiAZPolicy parameter of the scaling group to COST_OPTIMIZED, take note of the following items:
14909
+ * * You can use the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, and SpotInstancePools parameters to specify the instance allocation method based on the cost optimization policy. This instance allocation method is prioritized during scaling.
14910
+ * * If you do not specify the OnDemandBaseCapacity, OnDemandPercentageAboveBaseCapacity, or SpotInstancePools parameter, the instance types that are provided at the lowest price are used to create instances based on the cost optimization policy.
14911
+ * If you set the `Tags.Propagate` parameter of the scaling group to true, the following rules apply:
14912
+ * * Tags that you add to the scaling group cannot be propagated to existing instances in the scaling group. Tags that you add to the scaling group are propagated to only new instances.
14913
+ * * If you specify instance tags in the scaling configuration that is used to create instances and propagate the tags that you add to the scaling group to the instances, all tags exist at the same time.
14914
+ * * If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group of the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.
14915
+ *
14916
+ * @param request CreateScalingGroupRequest
14917
+ * @return CreateScalingGroupResponse
14918
+ */
13890
14919
  async createScalingGroup(request: CreateScalingGroupRequest): Promise<CreateScalingGroupResponse> {
13891
14920
  let runtime = new $Util.RuntimeOptions({ });
13892
14921
  return await this.createScalingGroupWithOptions(request, runtime);
13893
14922
  }
13894
14923
 
14924
+ /**
14925
+ * Creates a scaling rule.
14926
+ *
14927
+ * @param request CreateScalingRuleRequest
14928
+ * @param runtime runtime options for this request RuntimeOptions
14929
+ * @return CreateScalingRuleResponse
14930
+ */
13895
14931
  async createScalingRuleWithOptions(request: CreateScalingRuleRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingRuleResponse> {
13896
14932
  Util.validateModel(request);
13897
14933
  let query = { };
@@ -13903,6 +14939,10 @@ export default class Client extends OpenApi {
13903
14939
  query["AdjustmentValue"] = request.adjustmentValue;
13904
14940
  }
13905
14941
 
14942
+ if (!Util.isUnset(request.alarmDimensions)) {
14943
+ query["AlarmDimensions"] = request.alarmDimensions;
14944
+ }
14945
+
13906
14946
  if (!Util.isUnset(request.cooldown)) {
13907
14947
  query["Cooldown"] = request.cooldown;
13908
14948
  }
@@ -14004,11 +15044,24 @@ export default class Client extends OpenApi {
14004
15044
  return $tea.cast<CreateScalingRuleResponse>(await this.callApi(params, req, runtime), new CreateScalingRuleResponse({}));
14005
15045
  }
14006
15046
 
15047
+ /**
15048
+ * Creates a scaling rule.
15049
+ *
15050
+ * @param request CreateScalingRuleRequest
15051
+ * @return CreateScalingRuleResponse
15052
+ */
14007
15053
  async createScalingRule(request: CreateScalingRuleRequest): Promise<CreateScalingRuleResponse> {
14008
15054
  let runtime = new $Util.RuntimeOptions({ });
14009
15055
  return await this.createScalingRuleWithOptions(request, runtime);
14010
15056
  }
14011
15057
 
15058
+ /**
15059
+ * Creates a scheduled task.
15060
+ *
15061
+ * @param request CreateScheduledTaskRequest
15062
+ * @param runtime runtime options for this request RuntimeOptions
15063
+ * @return CreateScheduledTaskResponse
15064
+ */
14012
15065
  async createScheduledTaskWithOptions(request: CreateScheduledTaskRequest, runtime: $Util.RuntimeOptions): Promise<CreateScheduledTaskResponse> {
14013
15066
  Util.validateModel(request);
14014
15067
  let query = { };
@@ -14097,6 +15150,12 @@ export default class Client extends OpenApi {
14097
15150
  return $tea.cast<CreateScheduledTaskResponse>(await this.callApi(params, req, runtime), new CreateScheduledTaskResponse({}));
14098
15151
  }
14099
15152
 
15153
+ /**
15154
+ * Creates a scheduled task.
15155
+ *
15156
+ * @param request CreateScheduledTaskRequest
15157
+ * @return CreateScheduledTaskResponse
15158
+ */
14100
15159
  async createScheduledTask(request: CreateScheduledTaskRequest): Promise<CreateScheduledTaskResponse> {
14101
15160
  let runtime = new $Util.RuntimeOptions({ });
14102
15161
  return await this.createScheduledTaskWithOptions(request, runtime);
@@ -14184,6 +15243,13 @@ export default class Client extends OpenApi {
14184
15243
  return await this.deleteAlarmWithOptions(request, runtime);
14185
15244
  }
14186
15245
 
15246
+ /**
15247
+ * Deletes a scaling configuration that is used to create elastic container instances.
15248
+ *
15249
+ * @param request DeleteEciScalingConfigurationRequest
15250
+ * @param runtime runtime options for this request RuntimeOptions
15251
+ * @return DeleteEciScalingConfigurationResponse
15252
+ */
14187
15253
  async deleteEciScalingConfigurationWithOptions(request: DeleteEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<DeleteEciScalingConfigurationResponse> {
14188
15254
  Util.validateModel(request);
14189
15255
  let query = { };
@@ -14224,11 +15290,26 @@ export default class Client extends OpenApi {
14224
15290
  return $tea.cast<DeleteEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new DeleteEciScalingConfigurationResponse({}));
14225
15291
  }
14226
15292
 
15293
+ /**
15294
+ * Deletes a scaling configuration that is used to create elastic container instances.
15295
+ *
15296
+ * @param request DeleteEciScalingConfigurationRequest
15297
+ * @return DeleteEciScalingConfigurationResponse
15298
+ */
14227
15299
  async deleteEciScalingConfiguration(request: DeleteEciScalingConfigurationRequest): Promise<DeleteEciScalingConfigurationResponse> {
14228
15300
  let runtime = new $Util.RuntimeOptions({ });
14229
15301
  return await this.deleteEciScalingConfigurationWithOptions(request, runtime);
14230
15302
  }
14231
15303
 
15304
+ /**
15305
+ * If you delete a lifecycle hook that is in effect in a scaling group, instances exit the Pending state in advance. You can use one of the following methods to specify the lifecycle hooks that you want to delete:
15306
+ * * Specify the scaling group ID of the lifecycle hook that you want to delete by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter.
15307
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.
15308
+ *
15309
+ * @param request DeleteLifecycleHookRequest
15310
+ * @param runtime runtime options for this request RuntimeOptions
15311
+ * @return DeleteLifecycleHookResponse
15312
+ */
14232
15313
  async deleteLifecycleHookWithOptions(request: DeleteLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<DeleteLifecycleHookResponse> {
14233
15314
  Util.validateModel(request);
14234
15315
  let query = { };
@@ -14277,6 +15358,14 @@ export default class Client extends OpenApi {
14277
15358
  return $tea.cast<DeleteLifecycleHookResponse>(await this.callApi(params, req, runtime), new DeleteLifecycleHookResponse({}));
14278
15359
  }
14279
15360
 
15361
+ /**
15362
+ * If you delete a lifecycle hook that is in effect in a scaling group, instances exit the Pending state in advance. You can use one of the following methods to specify the lifecycle hooks that you want to delete:
15363
+ * * Specify the scaling group ID of the lifecycle hook that you want to delete by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter.
15364
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.
15365
+ *
15366
+ * @param request DeleteLifecycleHookRequest
15367
+ * @return DeleteLifecycleHookResponse
15368
+ */
14280
15369
  async deleteLifecycleHook(request: DeleteLifecycleHookRequest): Promise<DeleteLifecycleHookResponse> {
14281
15370
  let runtime = new $Util.RuntimeOptions({ });
14282
15371
  return await this.deleteLifecycleHookWithOptions(request, runtime);
@@ -14327,6 +15416,13 @@ export default class Client extends OpenApi {
14327
15416
  return await this.deleteNotificationConfigurationWithOptions(request, runtime);
14328
15417
  }
14329
15418
 
15419
+ /**
15420
+ * Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.
15421
+ *
15422
+ * @param request DeleteScalingConfigurationRequest
15423
+ * @param runtime runtime options for this request RuntimeOptions
15424
+ * @return DeleteScalingConfigurationResponse
15425
+ */
14330
15426
  async deleteScalingConfigurationWithOptions(request: DeleteScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<DeleteScalingConfigurationResponse> {
14331
15427
  Util.validateModel(request);
14332
15428
  let query = { };
@@ -14363,11 +15459,24 @@ export default class Client extends OpenApi {
14363
15459
  return $tea.cast<DeleteScalingConfigurationResponse>(await this.callApi(params, req, runtime), new DeleteScalingConfigurationResponse({}));
14364
15460
  }
14365
15461
 
15462
+ /**
15463
+ * Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.
15464
+ *
15465
+ * @param request DeleteScalingConfigurationRequest
15466
+ * @return DeleteScalingConfigurationResponse
15467
+ */
14366
15468
  async deleteScalingConfiguration(request: DeleteScalingConfigurationRequest): Promise<DeleteScalingConfigurationResponse> {
14367
15469
  let runtime = new $Util.RuntimeOptions({ });
14368
15470
  return await this.deleteScalingConfigurationWithOptions(request, runtime);
14369
15471
  }
14370
15472
 
15473
+ /**
15474
+ * Deletes a scaling group.
15475
+ *
15476
+ * @param request DeleteScalingGroupRequest
15477
+ * @param runtime runtime options for this request RuntimeOptions
15478
+ * @return DeleteScalingGroupResponse
15479
+ */
14371
15480
  async deleteScalingGroupWithOptions(request: DeleteScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<DeleteScalingGroupResponse> {
14372
15481
  Util.validateModel(request);
14373
15482
  let query = { };
@@ -14412,6 +15521,12 @@ export default class Client extends OpenApi {
14412
15521
  return $tea.cast<DeleteScalingGroupResponse>(await this.callApi(params, req, runtime), new DeleteScalingGroupResponse({}));
14413
15522
  }
14414
15523
 
15524
+ /**
15525
+ * Deletes a scaling group.
15526
+ *
15527
+ * @param request DeleteScalingGroupRequest
15528
+ * @return DeleteScalingGroupResponse
15529
+ */
14415
15530
  async deleteScalingGroup(request: DeleteScalingGroupRequest): Promise<DeleteScalingGroupResponse> {
14416
15531
  let runtime = new $Util.RuntimeOptions({ });
14417
15532
  return await this.deleteScalingGroupWithOptions(request, runtime);
@@ -14641,6 +15756,13 @@ export default class Client extends OpenApi {
14641
15756
  return await this.describeEciScalingConfigurationsWithOptions(request, runtime);
14642
15757
  }
14643
15758
 
15759
+ /**
15760
+ * Queries lifecycle actions.
15761
+ *
15762
+ * @param request DescribeLifecycleActionsRequest
15763
+ * @param runtime runtime options for this request RuntimeOptions
15764
+ * @return DescribeLifecycleActionsResponse
15765
+ */
14644
15766
  async describeLifecycleActionsWithOptions(request: DescribeLifecycleActionsRequest, runtime: $Util.RuntimeOptions): Promise<DescribeLifecycleActionsResponse> {
14645
15767
  Util.validateModel(request);
14646
15768
  let query = { };
@@ -14689,11 +15811,27 @@ export default class Client extends OpenApi {
14689
15811
  return $tea.cast<DescribeLifecycleActionsResponse>(await this.callApi(params, req, runtime), new DescribeLifecycleActionsResponse({}));
14690
15812
  }
14691
15813
 
15814
+ /**
15815
+ * Queries lifecycle actions.
15816
+ *
15817
+ * @param request DescribeLifecycleActionsRequest
15818
+ * @return DescribeLifecycleActionsResponse
15819
+ */
14692
15820
  async describeLifecycleActions(request: DescribeLifecycleActionsRequest): Promise<DescribeLifecycleActionsResponse> {
14693
15821
  let runtime = new $Util.RuntimeOptions({ });
14694
15822
  return await this.describeLifecycleActionsWithOptions(request, runtime);
14695
15823
  }
14696
15824
 
15825
+ /**
15826
+ * You can use one of the following methods to query lifecycle hooks:
15827
+ * * Specify a list of lifecycle hook IDs by using the LifecycleHookIds parameter. In this case, you do not need to specify the ScalingGroupId and LifecycleHookName parameters.
15828
+ * * Specify the scaling group ID by using the ScalingGroupId parameter.
15829
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter at the same time.
15830
+ *
15831
+ * @param request DescribeLifecycleHooksRequest
15832
+ * @param runtime runtime options for this request RuntimeOptions
15833
+ * @return DescribeLifecycleHooksResponse
15834
+ */
14697
15835
  async describeLifecycleHooksWithOptions(request: DescribeLifecycleHooksRequest, runtime: $Util.RuntimeOptions): Promise<DescribeLifecycleHooksResponse> {
14698
15836
  Util.validateModel(request);
14699
15837
  let query = { };
@@ -14750,6 +15888,15 @@ export default class Client extends OpenApi {
14750
15888
  return $tea.cast<DescribeLifecycleHooksResponse>(await this.callApi(params, req, runtime), new DescribeLifecycleHooksResponse({}));
14751
15889
  }
14752
15890
 
15891
+ /**
15892
+ * You can use one of the following methods to query lifecycle hooks:
15893
+ * * Specify a list of lifecycle hook IDs by using the LifecycleHookIds parameter. In this case, you do not need to specify the ScalingGroupId and LifecycleHookName parameters.
15894
+ * * Specify the scaling group ID by using the ScalingGroupId parameter.
15895
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter at the same time.
15896
+ *
15897
+ * @param request DescribeLifecycleHooksRequest
15898
+ * @return DescribeLifecycleHooksResponse
15899
+ */
14753
15900
  async describeLifecycleHooks(request: DescribeLifecycleHooksRequest): Promise<DescribeLifecycleHooksResponse> {
14754
15901
  let runtime = new $Util.RuntimeOptions({ });
14755
15902
  return await this.describeLifecycleHooksWithOptions(request, runtime);
@@ -14903,6 +16050,15 @@ export default class Client extends OpenApi {
14903
16050
  return await this.describeRegionsWithOptions(request, runtime);
14904
16051
  }
14905
16052
 
16053
+ /**
16054
+ * You can specify a scaling group ID to query all scaling activities in the scaling group.
16055
+ * You can filter query results based on the status of scaling activities.
16056
+ * You can query scaling activities that are executed in the previous 30 days.
16057
+ *
16058
+ * @param request DescribeScalingActivitiesRequest
16059
+ * @param runtime runtime options for this request RuntimeOptions
16060
+ * @return DescribeScalingActivitiesResponse
16061
+ */
14906
16062
  async describeScalingActivitiesWithOptions(request: DescribeScalingActivitiesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingActivitiesResponse> {
14907
16063
  Util.validateModel(request);
14908
16064
  let query = { };
@@ -14963,6 +16119,14 @@ export default class Client extends OpenApi {
14963
16119
  return $tea.cast<DescribeScalingActivitiesResponse>(await this.callApi(params, req, runtime), new DescribeScalingActivitiesResponse({}));
14964
16120
  }
14965
16121
 
16122
+ /**
16123
+ * You can specify a scaling group ID to query all scaling activities in the scaling group.
16124
+ * You can filter query results based on the status of scaling activities.
16125
+ * You can query scaling activities that are executed in the previous 30 days.
16126
+ *
16127
+ * @param request DescribeScalingActivitiesRequest
16128
+ * @return DescribeScalingActivitiesResponse
16129
+ */
14966
16130
  async describeScalingActivities(request: DescribeScalingActivitiesRequest): Promise<DescribeScalingActivitiesResponse> {
14967
16131
  let runtime = new $Util.RuntimeOptions({ });
14968
16132
  return await this.describeScalingActivitiesWithOptions(request, runtime);
@@ -15101,6 +16265,10 @@ export default class Client extends OpenApi {
15101
16265
  query["RegionId"] = request.regionId;
15102
16266
  }
15103
16267
 
16268
+ if (!Util.isUnset(request.resourceGroupId)) {
16269
+ query["ResourceGroupId"] = request.resourceGroupId;
16270
+ }
16271
+
15104
16272
  if (!Util.isUnset(request.resourceOwnerAccount)) {
15105
16273
  query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
15106
16274
  }
@@ -15143,6 +16311,13 @@ export default class Client extends OpenApi {
15143
16311
  return await this.describeScalingGroupsWithOptions(request, runtime);
15144
16312
  }
15145
16313
 
16314
+ /**
16315
+ * You can query ECS instances by scaling group ID, scaling configuration ID, health status, lifecycle status, and instance creation method.
16316
+ *
16317
+ * @param request DescribeScalingInstancesRequest
16318
+ * @param runtime runtime options for this request RuntimeOptions
16319
+ * @return DescribeScalingInstancesResponse
16320
+ */
15146
16321
  async describeScalingInstancesWithOptions(request: DescribeScalingInstancesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingInstancesResponse> {
15147
16322
  Util.validateModel(request);
15148
16323
  let query = { };
@@ -15219,11 +16394,24 @@ export default class Client extends OpenApi {
15219
16394
  return $tea.cast<DescribeScalingInstancesResponse>(await this.callApi(params, req, runtime), new DescribeScalingInstancesResponse({}));
15220
16395
  }
15221
16396
 
16397
+ /**
16398
+ * You can query ECS instances by scaling group ID, scaling configuration ID, health status, lifecycle status, and instance creation method.
16399
+ *
16400
+ * @param request DescribeScalingInstancesRequest
16401
+ * @return DescribeScalingInstancesResponse
16402
+ */
15222
16403
  async describeScalingInstances(request: DescribeScalingInstancesRequest): Promise<DescribeScalingInstancesResponse> {
15223
16404
  let runtime = new $Util.RuntimeOptions({ });
15224
16405
  return await this.describeScalingInstancesWithOptions(request, runtime);
15225
16406
  }
15226
16407
 
16408
+ /**
16409
+ * Queries all scaling rules in a scaling group.
16410
+ *
16411
+ * @param request DescribeScalingRulesRequest
16412
+ * @param runtime runtime options for this request RuntimeOptions
16413
+ * @return DescribeScalingRulesResponse
16414
+ */
15227
16415
  async describeScalingRulesWithOptions(request: DescribeScalingRulesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingRulesResponse> {
15228
16416
  Util.validateModel(request);
15229
16417
  let query = { };
@@ -15296,11 +16484,24 @@ export default class Client extends OpenApi {
15296
16484
  return $tea.cast<DescribeScalingRulesResponse>(await this.callApi(params, req, runtime), new DescribeScalingRulesResponse({}));
15297
16485
  }
15298
16486
 
16487
+ /**
16488
+ * Queries all scaling rules in a scaling group.
16489
+ *
16490
+ * @param request DescribeScalingRulesRequest
16491
+ * @return DescribeScalingRulesResponse
16492
+ */
15299
16493
  async describeScalingRules(request: DescribeScalingRulesRequest): Promise<DescribeScalingRulesResponse> {
15300
16494
  let runtime = new $Util.RuntimeOptions({ });
15301
16495
  return await this.describeScalingRulesWithOptions(request, runtime);
15302
16496
  }
15303
16497
 
16498
+ /**
16499
+ * You can query scheduled tasks by scaling rule, task ID, or task name.
16500
+ *
16501
+ * @param request DescribeScheduledTasksRequest
16502
+ * @param runtime runtime options for this request RuntimeOptions
16503
+ * @return DescribeScheduledTasksResponse
16504
+ */
15304
16505
  async describeScheduledTasksWithOptions(request: DescribeScheduledTasksRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScheduledTasksResponse> {
15305
16506
  Util.validateModel(request);
15306
16507
  let query = { };
@@ -15365,6 +16566,12 @@ export default class Client extends OpenApi {
15365
16566
  return $tea.cast<DescribeScheduledTasksResponse>(await this.callApi(params, req, runtime), new DescribeScheduledTasksResponse({}));
15366
16567
  }
15367
16568
 
16569
+ /**
16570
+ * You can query scheduled tasks by scaling rule, task ID, or task name.
16571
+ *
16572
+ * @param request DescribeScheduledTasksRequest
16573
+ * @return DescribeScheduledTasksResponse
16574
+ */
15368
16575
  async describeScheduledTasks(request: DescribeScheduledTasksRequest): Promise<DescribeScheduledTasksResponse> {
15369
16576
  let runtime = new $Util.RuntimeOptions({ });
15370
16577
  return await this.describeScheduledTasksWithOptions(request, runtime);
@@ -15476,6 +16683,13 @@ export default class Client extends OpenApi {
15476
16683
  return await this.detachDBInstancesWithOptions(request, runtime);
15477
16684
  }
15478
16685
 
16686
+ /**
16687
+ * Removes one or more Elastic Compute Service (ECS) instances or elastic container instances from a scaling group.
16688
+ *
16689
+ * @param request DetachInstancesRequest
16690
+ * @param runtime runtime options for this request RuntimeOptions
16691
+ * @return DetachInstancesResponse
16692
+ */
15479
16693
  async detachInstancesWithOptions(request: DetachInstancesRequest, runtime: $Util.RuntimeOptions): Promise<DetachInstancesResponse> {
15480
16694
  Util.validateModel(request);
15481
16695
  let query = { };
@@ -15532,6 +16746,12 @@ export default class Client extends OpenApi {
15532
16746
  return $tea.cast<DetachInstancesResponse>(await this.callApi(params, req, runtime), new DetachInstancesResponse({}));
15533
16747
  }
15534
16748
 
16749
+ /**
16750
+ * Removes one or more Elastic Compute Service (ECS) instances or elastic container instances from a scaling group.
16751
+ *
16752
+ * @param request DetachInstancesRequest
16753
+ * @return DetachInstancesResponse
16754
+ */
15535
16755
  async detachInstances(request: DetachInstancesRequest): Promise<DetachInstancesResponse> {
15536
16756
  let runtime = new $Util.RuntimeOptions({ });
15537
16757
  return await this.detachInstancesWithOptions(request, runtime);
@@ -15594,6 +16814,66 @@ export default class Client extends OpenApi {
15594
16814
  return await this.detachLoadBalancersWithOptions(request, runtime);
15595
16815
  }
15596
16816
 
16817
+ async detachServerGroupsWithOptions(request: DetachServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<DetachServerGroupsResponse> {
16818
+ Util.validateModel(request);
16819
+ let query = { };
16820
+ if (!Util.isUnset(request.clientToken)) {
16821
+ query["ClientToken"] = request.clientToken;
16822
+ }
16823
+
16824
+ if (!Util.isUnset(request.forceDetach)) {
16825
+ query["ForceDetach"] = request.forceDetach;
16826
+ }
16827
+
16828
+ if (!Util.isUnset(request.ownerId)) {
16829
+ query["OwnerId"] = request.ownerId;
16830
+ }
16831
+
16832
+ if (!Util.isUnset(request.regionId)) {
16833
+ query["RegionId"] = request.regionId;
16834
+ }
16835
+
16836
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
16837
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
16838
+ }
16839
+
16840
+ if (!Util.isUnset(request.scalingGroupId)) {
16841
+ query["ScalingGroupId"] = request.scalingGroupId;
16842
+ }
16843
+
16844
+ if (!Util.isUnset(request.serverGroups)) {
16845
+ query["ServerGroups"] = request.serverGroups;
16846
+ }
16847
+
16848
+ let req = new $OpenApi.OpenApiRequest({
16849
+ query: OpenApiUtil.query(query),
16850
+ });
16851
+ let params = new $OpenApi.Params({
16852
+ action: "DetachServerGroups",
16853
+ version: "2022-02-22",
16854
+ protocol: "HTTPS",
16855
+ pathname: "/",
16856
+ method: "POST",
16857
+ authType: "AK",
16858
+ style: "RPC",
16859
+ reqBodyType: "formData",
16860
+ bodyType: "json",
16861
+ });
16862
+ return $tea.cast<DetachServerGroupsResponse>(await this.callApi(params, req, runtime), new DetachServerGroupsResponse({}));
16863
+ }
16864
+
16865
+ async detachServerGroups(request: DetachServerGroupsRequest): Promise<DetachServerGroupsResponse> {
16866
+ let runtime = new $Util.RuntimeOptions({ });
16867
+ return await this.detachServerGroupsWithOptions(request, runtime);
16868
+ }
16869
+
16870
+ /**
16871
+ * Detaches one or more vServer groups of a Classic Load Balancer (CLB) instance from a scaling group.
16872
+ *
16873
+ * @param request DetachVServerGroupsRequest
16874
+ * @param runtime runtime options for this request RuntimeOptions
16875
+ * @return DetachVServerGroupsResponse
16876
+ */
15597
16877
  async detachVServerGroupsWithOptions(request: DetachVServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<DetachVServerGroupsResponse> {
15598
16878
  Util.validateModel(request);
15599
16879
  let query = { };
@@ -15642,6 +16922,12 @@ export default class Client extends OpenApi {
15642
16922
  return $tea.cast<DetachVServerGroupsResponse>(await this.callApi(params, req, runtime), new DetachVServerGroupsResponse({}));
15643
16923
  }
15644
16924
 
16925
+ /**
16926
+ * Detaches one or more vServer groups of a Classic Load Balancer (CLB) instance from a scaling group.
16927
+ *
16928
+ * @param request DetachVServerGroupsRequest
16929
+ * @return DetachVServerGroupsResponse
16930
+ */
15645
16931
  async detachVServerGroups(request: DetachVServerGroupsRequest): Promise<DetachVServerGroupsResponse> {
15646
16932
  let runtime = new $Util.RuntimeOptions({ });
15647
16933
  return await this.detachVServerGroupsWithOptions(request, runtime);
@@ -15688,6 +16974,13 @@ export default class Client extends OpenApi {
15688
16974
  return await this.disableAlarmWithOptions(request, runtime);
15689
16975
  }
15690
16976
 
16977
+ /**
16978
+ * Disables a scaling group.
16979
+ *
16980
+ * @param request DisableScalingGroupRequest
16981
+ * @param runtime runtime options for this request RuntimeOptions
16982
+ * @return DisableScalingGroupResponse
16983
+ */
15691
16984
  async disableScalingGroupWithOptions(request: DisableScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<DisableScalingGroupResponse> {
15692
16985
  Util.validateModel(request);
15693
16986
  let query = { };
@@ -15728,6 +17021,12 @@ export default class Client extends OpenApi {
15728
17021
  return $tea.cast<DisableScalingGroupResponse>(await this.callApi(params, req, runtime), new DisableScalingGroupResponse({}));
15729
17022
  }
15730
17023
 
17024
+ /**
17025
+ * Disables a scaling group.
17026
+ *
17027
+ * @param request DisableScalingGroupRequest
17028
+ * @return DisableScalingGroupResponse
17029
+ */
15731
17030
  async disableScalingGroup(request: DisableScalingGroupRequest): Promise<DisableScalingGroupResponse> {
15732
17031
  let runtime = new $Util.RuntimeOptions({ });
15733
17032
  return await this.disableScalingGroupWithOptions(request, runtime);
@@ -15774,6 +17073,17 @@ export default class Client extends OpenApi {
15774
17073
  return await this.enableAlarmWithOptions(request, runtime);
15775
17074
  }
15776
17075
 
17076
+ /**
17077
+ * You can call this operation to enable a scaling group that is in the Inactive state and has an instance configuration source. The instance configuration source can be a scaling configuration, a launch template, or an Elastic Compute Service (ECS) instance that you specified when you created the scaling group. If a scaling group is not in the Inactive state or does not have an active instance configuration source, you cannot call this operation to enable the scaling group.
17078
+ * > A scaling group can have only one active instance configuration source. When you call this operation to enable a scaling group, you can specify a scaling configuration or a launch template for the scaling group. If an instance configuration source has been configured for the scaling group before you call this operation, the scaling configuration or launch template that you specify in the request overwrites the original scaling configuration or launch template.
17079
+ * If you specify a value for the InstanceIds parameter when you call the operation, Auto Scaling checks whether the total number of ECS instances is within the range allowed in the scaling group after you call the operation.
17080
+ * * If the total number of ECS instances is less than the minimum number of instances required in the scaling group after you call the operation, Auto Scaling automatically creates the required number of pay-as-you-go ECS instances and adds the instances to the scaling group to reach the minimum number. For example, if the minimum number of instances required in your scaling group is five, and you specify the InstanceIds parameter to add two ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.
17081
+ * * If the value of the TotalCapacity parameter is greater than the value of the MaxSize parameter, the call fails.
17082
+ *
17083
+ * @param request EnableScalingGroupRequest
17084
+ * @param runtime runtime options for this request RuntimeOptions
17085
+ * @return EnableScalingGroupResponse
17086
+ */
15777
17087
  async enableScalingGroupWithOptions(request: EnableScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<EnableScalingGroupResponse> {
15778
17088
  Util.validateModel(request);
15779
17089
  let query = { };
@@ -15842,11 +17152,31 @@ export default class Client extends OpenApi {
15842
17152
  return $tea.cast<EnableScalingGroupResponse>(await this.callApi(params, req, runtime), new EnableScalingGroupResponse({}));
15843
17153
  }
15844
17154
 
17155
+ /**
17156
+ * You can call this operation to enable a scaling group that is in the Inactive state and has an instance configuration source. The instance configuration source can be a scaling configuration, a launch template, or an Elastic Compute Service (ECS) instance that you specified when you created the scaling group. If a scaling group is not in the Inactive state or does not have an active instance configuration source, you cannot call this operation to enable the scaling group.
17157
+ * > A scaling group can have only one active instance configuration source. When you call this operation to enable a scaling group, you can specify a scaling configuration or a launch template for the scaling group. If an instance configuration source has been configured for the scaling group before you call this operation, the scaling configuration or launch template that you specify in the request overwrites the original scaling configuration or launch template.
17158
+ * If you specify a value for the InstanceIds parameter when you call the operation, Auto Scaling checks whether the total number of ECS instances is within the range allowed in the scaling group after you call the operation.
17159
+ * * If the total number of ECS instances is less than the minimum number of instances required in the scaling group after you call the operation, Auto Scaling automatically creates the required number of pay-as-you-go ECS instances and adds the instances to the scaling group to reach the minimum number. For example, if the minimum number of instances required in your scaling group is five, and you specify the InstanceIds parameter to add two ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.
17160
+ * * If the value of the TotalCapacity parameter is greater than the value of the MaxSize parameter, the call fails.
17161
+ *
17162
+ * @param request EnableScalingGroupRequest
17163
+ * @return EnableScalingGroupResponse
17164
+ */
15845
17165
  async enableScalingGroup(request: EnableScalingGroupRequest): Promise<EnableScalingGroupResponse> {
15846
17166
  let runtime = new $Util.RuntimeOptions({ });
15847
17167
  return await this.enableScalingGroupWithOptions(request, runtime);
15848
17168
  }
15849
17169
 
17170
+ /**
17171
+ * * If you call the operation to set an Elastic Compute Service (ECS) instance in a scaling group that is associated with a Server Load Balancer (SLB) instance to the Standby state, the weight of the ECS instance as a backend server of the SLB instance is set to 0.
17172
+ * * You can remove an ECS instance that is in the Standby state from a scaling group and release the instance.
17173
+ * * When scale-in activities are triggered by changes in the number of scaling groups or by event-triggered tasks, the ECS instances that are in the Standby state are not removed from the scaling groups.
17174
+ * * If Auto Scaling considers an ECS instance that is in the Standby state unhealthy, such as in the Stopping or Restarting state, Auto Scaling does not update the health check status of the ECS instance or trigger scale-in activities to remove the ECS instance from the scaling group. Auto Scaling updates the health check status of the ECS instance only when the ECS instance is no longer in the Standby state.
17175
+ *
17176
+ * @param request EnterStandbyRequest
17177
+ * @param runtime runtime options for this request RuntimeOptions
17178
+ * @return EnterStandbyResponse
17179
+ */
15850
17180
  async enterStandbyWithOptions(request: EnterStandbyRequest, runtime: $Util.RuntimeOptions): Promise<EnterStandbyResponse> {
15851
17181
  Util.validateModel(request);
15852
17182
  let query = { };
@@ -15891,11 +17221,27 @@ export default class Client extends OpenApi {
15891
17221
  return $tea.cast<EnterStandbyResponse>(await this.callApi(params, req, runtime), new EnterStandbyResponse({}));
15892
17222
  }
15893
17223
 
17224
+ /**
17225
+ * * If you call the operation to set an Elastic Compute Service (ECS) instance in a scaling group that is associated with a Server Load Balancer (SLB) instance to the Standby state, the weight of the ECS instance as a backend server of the SLB instance is set to 0.
17226
+ * * You can remove an ECS instance that is in the Standby state from a scaling group and release the instance.
17227
+ * * When scale-in activities are triggered by changes in the number of scaling groups or by event-triggered tasks, the ECS instances that are in the Standby state are not removed from the scaling groups.
17228
+ * * If Auto Scaling considers an ECS instance that is in the Standby state unhealthy, such as in the Stopping or Restarting state, Auto Scaling does not update the health check status of the ECS instance or trigger scale-in activities to remove the ECS instance from the scaling group. Auto Scaling updates the health check status of the ECS instance only when the ECS instance is no longer in the Standby state.
17229
+ *
17230
+ * @param request EnterStandbyRequest
17231
+ * @return EnterStandbyResponse
17232
+ */
15894
17233
  async enterStandby(request: EnterStandbyRequest): Promise<EnterStandbyResponse> {
15895
17234
  let runtime = new $Util.RuntimeOptions({ });
15896
17235
  return await this.enterStandbyWithOptions(request, runtime);
15897
17236
  }
15898
17237
 
17238
+ /**
17239
+ * Executes a scaling rule.
17240
+ *
17241
+ * @param request ExecuteScalingRuleRequest
17242
+ * @param runtime runtime options for this request RuntimeOptions
17243
+ * @return ExecuteScalingRuleResponse
17244
+ */
15899
17245
  async executeScalingRuleWithOptions(request: ExecuteScalingRuleRequest, runtime: $Util.RuntimeOptions): Promise<ExecuteScalingRuleResponse> {
15900
17246
  Util.validateModel(request);
15901
17247
  let query = { };
@@ -15952,11 +17298,24 @@ export default class Client extends OpenApi {
15952
17298
  return $tea.cast<ExecuteScalingRuleResponse>(await this.callApi(params, req, runtime), new ExecuteScalingRuleResponse({}));
15953
17299
  }
15954
17300
 
17301
+ /**
17302
+ * Executes a scaling rule.
17303
+ *
17304
+ * @param request ExecuteScalingRuleRequest
17305
+ * @return ExecuteScalingRuleResponse
17306
+ */
15955
17307
  async executeScalingRule(request: ExecuteScalingRuleRequest): Promise<ExecuteScalingRuleResponse> {
15956
17308
  let runtime = new $Util.RuntimeOptions({ });
15957
17309
  return await this.executeScalingRuleWithOptions(request, runtime);
15958
17310
  }
15959
17311
 
17312
+ /**
17313
+ * If the scaling group is associated with a load balancing instance, the ECS instance weight will be set to the weight value defined in the scaling configuration.
17314
+ *
17315
+ * @param request ExitStandbyRequest
17316
+ * @param runtime runtime options for this request RuntimeOptions
17317
+ * @return ExitStandbyResponse
17318
+ */
15960
17319
  async exitStandbyWithOptions(request: ExitStandbyRequest, runtime: $Util.RuntimeOptions): Promise<ExitStandbyResponse> {
15961
17320
  Util.validateModel(request);
15962
17321
  let query = { };
@@ -16005,6 +17364,12 @@ export default class Client extends OpenApi {
16005
17364
  return $tea.cast<ExitStandbyResponse>(await this.callApi(params, req, runtime), new ExitStandbyResponse({}));
16006
17365
  }
16007
17366
 
17367
+ /**
17368
+ * If the scaling group is associated with a load balancing instance, the ECS instance weight will be set to the weight value defined in the scaling configuration.
17369
+ *
17370
+ * @param request ExitStandbyRequest
17371
+ * @return ExitStandbyResponse
17372
+ */
16008
17373
  async exitStandby(request: ExitStandbyRequest): Promise<ExitStandbyResponse> {
16009
17374
  let runtime = new $Util.RuntimeOptions({ });
16010
17375
  return await this.exitStandbyWithOptions(request, runtime);
@@ -16165,6 +17530,13 @@ export default class Client extends OpenApi {
16165
17530
  return await this.listTagValuesWithOptions(request, runtime);
16166
17531
  }
16167
17532
 
17533
+ /**
17534
+ * Modifies an event-triggered task.
17535
+ *
17536
+ * @param request ModifyAlarmRequest
17537
+ * @param runtime runtime options for this request RuntimeOptions
17538
+ * @return ModifyAlarmResponse
17539
+ */
16168
17540
  async modifyAlarmWithOptions(request: ModifyAlarmRequest, runtime: $Util.RuntimeOptions): Promise<ModifyAlarmResponse> {
16169
17541
  Util.validateModel(request);
16170
17542
  let query = { };
@@ -16261,11 +17633,24 @@ export default class Client extends OpenApi {
16261
17633
  return $tea.cast<ModifyAlarmResponse>(await this.callApi(params, req, runtime), new ModifyAlarmResponse({}));
16262
17634
  }
16263
17635
 
17636
+ /**
17637
+ * Modifies an event-triggered task.
17638
+ *
17639
+ * @param request ModifyAlarmRequest
17640
+ * @return ModifyAlarmResponse
17641
+ */
16264
17642
  async modifyAlarm(request: ModifyAlarmRequest): Promise<ModifyAlarmResponse> {
16265
17643
  let runtime = new $Util.RuntimeOptions({ });
16266
17644
  return await this.modifyAlarmWithOptions(request, runtime);
16267
17645
  }
16268
17646
 
17647
+ /**
17648
+ * If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.
17649
+ *
17650
+ * @param request ModifyEciScalingConfigurationRequest
17651
+ * @param runtime runtime options for this request RuntimeOptions
17652
+ * @return ModifyEciScalingConfigurationResponse
17653
+ */
16269
17654
  async modifyEciScalingConfigurationWithOptions(request: ModifyEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<ModifyEciScalingConfigurationResponse> {
16270
17655
  Util.validateModel(request);
16271
17656
  let query = { };
@@ -16293,6 +17678,10 @@ export default class Client extends OpenApi {
16293
17678
  query["Containers"] = request.containers;
16294
17679
  }
16295
17680
 
17681
+ if (!Util.isUnset(request.containersUpdateType)) {
17682
+ query["ContainersUpdateType"] = request.containersUpdateType;
17683
+ }
17684
+
16296
17685
  if (!Util.isUnset(request.costOptimization)) {
16297
17686
  query["CostOptimization"] = request.costOptimization;
16298
17687
  }
@@ -16462,11 +17851,26 @@ export default class Client extends OpenApi {
16462
17851
  return $tea.cast<ModifyEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new ModifyEciScalingConfigurationResponse({}));
16463
17852
  }
16464
17853
 
17854
+ /**
17855
+ * If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.
17856
+ *
17857
+ * @param request ModifyEciScalingConfigurationRequest
17858
+ * @return ModifyEciScalingConfigurationResponse
17859
+ */
16465
17860
  async modifyEciScalingConfiguration(request: ModifyEciScalingConfigurationRequest): Promise<ModifyEciScalingConfigurationResponse> {
16466
17861
  let runtime = new $Util.RuntimeOptions({ });
16467
17862
  return await this.modifyEciScalingConfigurationWithOptions(request, runtime);
16468
17863
  }
16469
17864
 
17865
+ /**
17866
+ * You can use one of the following methods to specify the lifecycle hook that you want to modify:
17867
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. When you use this method, the ScalingGroupId and LifecycleHookName parameters are ignored.
17868
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and specify the lifecycle hook name by using the LifecycleHookName parameter.
17869
+ *
17870
+ * @param request ModifyLifecycleHookRequest
17871
+ * @param runtime runtime options for this request RuntimeOptions
17872
+ * @return ModifyLifecycleHookResponse
17873
+ */
16470
17874
  async modifyLifecycleHookWithOptions(request: ModifyLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<ModifyLifecycleHookResponse> {
16471
17875
  Util.validateModel(request);
16472
17876
  let query = { };
@@ -16539,6 +17943,14 @@ export default class Client extends OpenApi {
16539
17943
  return $tea.cast<ModifyLifecycleHookResponse>(await this.callApi(params, req, runtime), new ModifyLifecycleHookResponse({}));
16540
17944
  }
16541
17945
 
17946
+ /**
17947
+ * You can use one of the following methods to specify the lifecycle hook that you want to modify:
17948
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. When you use this method, the ScalingGroupId and LifecycleHookName parameters are ignored.
17949
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and specify the lifecycle hook name by using the LifecycleHookName parameter.
17950
+ *
17951
+ * @param request ModifyLifecycleHookRequest
17952
+ * @return ModifyLifecycleHookResponse
17953
+ */
16542
17954
  async modifyLifecycleHook(request: ModifyLifecycleHookRequest): Promise<ModifyLifecycleHookResponse> {
16543
17955
  let runtime = new $Util.RuntimeOptions({ });
16544
17956
  return await this.modifyLifecycleHookWithOptions(request, runtime);
@@ -16593,6 +18005,13 @@ export default class Client extends OpenApi {
16593
18005
  return await this.modifyNotificationConfigurationWithOptions(request, runtime);
16594
18006
  }
16595
18007
 
18008
+ /**
18009
+ * If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.
18010
+ *
18011
+ * @param tmpReq ModifyScalingConfigurationRequest
18012
+ * @param runtime runtime options for this request RuntimeOptions
18013
+ * @return ModifyScalingConfigurationResponse
18014
+ */
16596
18015
  async modifyScalingConfigurationWithOptions(tmpReq: ModifyScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScalingConfigurationResponse> {
16597
18016
  Util.validateModel(tmpReq);
16598
18017
  let request = new ModifyScalingConfigurationShrinkRequest({ });
@@ -16778,11 +18197,15 @@ export default class Client extends OpenApi {
16778
18197
  query["ZoneId"] = request.zoneId;
16779
18198
  }
16780
18199
 
16781
- if (!Util.isUnset($tea.toMap(request.privatePoolOptions))) {
18200
+ if (!Util.isUnset(request.imageOptions)) {
18201
+ query["ImageOptions"] = request.imageOptions;
18202
+ }
18203
+
18204
+ if (!Util.isUnset(request.privatePoolOptions)) {
16782
18205
  query["PrivatePoolOptions"] = request.privatePoolOptions;
16783
18206
  }
16784
18207
 
16785
- if (!Util.isUnset($tea.toMap(request.systemDisk))) {
18208
+ if (!Util.isUnset(request.systemDisk)) {
16786
18209
  query["SystemDisk"] = request.systemDisk;
16787
18210
  }
16788
18211
 
@@ -16803,11 +18226,24 @@ export default class Client extends OpenApi {
16803
18226
  return $tea.cast<ModifyScalingConfigurationResponse>(await this.callApi(params, req, runtime), new ModifyScalingConfigurationResponse({}));
16804
18227
  }
16805
18228
 
18229
+ /**
18230
+ * If you want to change the name of a scaling configuration in a scaling group, make sure that the new name is unique within the scaling group.
18231
+ *
18232
+ * @param request ModifyScalingConfigurationRequest
18233
+ * @return ModifyScalingConfigurationResponse
18234
+ */
16806
18235
  async modifyScalingConfiguration(request: ModifyScalingConfigurationRequest): Promise<ModifyScalingConfigurationResponse> {
16807
18236
  let runtime = new $Util.RuntimeOptions({ });
16808
18237
  return await this.modifyScalingConfigurationWithOptions(request, runtime);
16809
18238
  }
16810
18239
 
18240
+ /**
18241
+ * Modifies a scaling group.
18242
+ *
18243
+ * @param request ModifyScalingGroupRequest
18244
+ * @param runtime runtime options for this request RuntimeOptions
18245
+ * @return ModifyScalingGroupResponse
18246
+ */
16811
18247
  async modifyScalingGroupWithOptions(request: ModifyScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScalingGroupResponse> {
16812
18248
  Util.validateModel(request);
16813
18249
  let query = { };
@@ -16944,6 +18380,12 @@ export default class Client extends OpenApi {
16944
18380
  return $tea.cast<ModifyScalingGroupResponse>(await this.callApi(params, req, runtime), new ModifyScalingGroupResponse({}));
16945
18381
  }
16946
18382
 
18383
+ /**
18384
+ * Modifies a scaling group.
18385
+ *
18386
+ * @param request ModifyScalingGroupRequest
18387
+ * @return ModifyScalingGroupResponse
18388
+ */
16947
18389
  async modifyScalingGroup(request: ModifyScalingGroupRequest): Promise<ModifyScalingGroupResponse> {
16948
18390
  let runtime = new $Util.RuntimeOptions({ });
16949
18391
  return await this.modifyScalingGroupWithOptions(request, runtime);
@@ -16960,6 +18402,10 @@ export default class Client extends OpenApi {
16960
18402
  query["AdjustmentValue"] = request.adjustmentValue;
16961
18403
  }
16962
18404
 
18405
+ if (!Util.isUnset(request.alarmDimensions)) {
18406
+ query["AlarmDimensions"] = request.alarmDimensions;
18407
+ }
18408
+
16963
18409
  if (!Util.isUnset(request.cooldown)) {
16964
18410
  query["Cooldown"] = request.cooldown;
16965
18411
  }
@@ -17062,6 +18508,13 @@ export default class Client extends OpenApi {
17062
18508
  return await this.modifyScalingRuleWithOptions(request, runtime);
17063
18509
  }
17064
18510
 
18511
+ /**
18512
+ * Modifies a scheduled task.
18513
+ *
18514
+ * @param request ModifyScheduledTaskRequest
18515
+ * @param runtime runtime options for this request RuntimeOptions
18516
+ * @return ModifyScheduledTaskResponse
18517
+ */
17065
18518
  async modifyScheduledTaskWithOptions(request: ModifyScheduledTaskRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScheduledTaskResponse> {
17066
18519
  Util.validateModel(request);
17067
18520
  let query = { };
@@ -17154,11 +18607,24 @@ export default class Client extends OpenApi {
17154
18607
  return $tea.cast<ModifyScheduledTaskResponse>(await this.callApi(params, req, runtime), new ModifyScheduledTaskResponse({}));
17155
18608
  }
17156
18609
 
18610
+ /**
18611
+ * Modifies a scheduled task.
18612
+ *
18613
+ * @param request ModifyScheduledTaskRequest
18614
+ * @return ModifyScheduledTaskResponse
18615
+ */
17157
18616
  async modifyScheduledTask(request: ModifyScheduledTaskRequest): Promise<ModifyScheduledTaskResponse> {
17158
18617
  let runtime = new $Util.RuntimeOptions({ });
17159
18618
  return await this.modifyScheduledTaskWithOptions(request, runtime);
17160
18619
  }
17161
18620
 
18621
+ /**
18622
+ * Rebalances Elastic Compute Service (ECS) instances in a multi-zone scaling group across zones.
18623
+ *
18624
+ * @param request RebalanceInstancesRequest
18625
+ * @param runtime runtime options for this request RuntimeOptions
18626
+ * @return RebalanceInstancesResponse
18627
+ */
17162
18628
  async rebalanceInstancesWithOptions(request: RebalanceInstancesRequest, runtime: $Util.RuntimeOptions): Promise<RebalanceInstancesResponse> {
17163
18629
  Util.validateModel(request);
17164
18630
  let query = { };
@@ -17203,11 +18669,24 @@ export default class Client extends OpenApi {
17203
18669
  return $tea.cast<RebalanceInstancesResponse>(await this.callApi(params, req, runtime), new RebalanceInstancesResponse({}));
17204
18670
  }
17205
18671
 
18672
+ /**
18673
+ * Rebalances Elastic Compute Service (ECS) instances in a multi-zone scaling group across zones.
18674
+ *
18675
+ * @param request RebalanceInstancesRequest
18676
+ * @return RebalanceInstancesResponse
18677
+ */
17206
18678
  async rebalanceInstances(request: RebalanceInstancesRequest): Promise<RebalanceInstancesResponse> {
17207
18679
  let runtime = new $Util.RuntimeOptions({ });
17208
18680
  return await this.rebalanceInstancesWithOptions(request, runtime);
17209
18681
  }
17210
18682
 
18683
+ /**
18684
+ * Prolongs a lifecycle hook for Elastic Compute Service (ECS) instances.
18685
+ *
18686
+ * @param request RecordLifecycleActionHeartbeatRequest
18687
+ * @param runtime runtime options for this request RuntimeOptions
18688
+ * @return RecordLifecycleActionHeartbeatResponse
18689
+ */
17211
18690
  async recordLifecycleActionHeartbeatWithOptions(request: RecordLifecycleActionHeartbeatRequest, runtime: $Util.RuntimeOptions): Promise<RecordLifecycleActionHeartbeatResponse> {
17212
18691
  Util.validateModel(request);
17213
18692
  let query = { };
@@ -17256,11 +18735,31 @@ export default class Client extends OpenApi {
17256
18735
  return $tea.cast<RecordLifecycleActionHeartbeatResponse>(await this.callApi(params, req, runtime), new RecordLifecycleActionHeartbeatResponse({}));
17257
18736
  }
17258
18737
 
18738
+ /**
18739
+ * Prolongs a lifecycle hook for Elastic Compute Service (ECS) instances.
18740
+ *
18741
+ * @param request RecordLifecycleActionHeartbeatRequest
18742
+ * @return RecordLifecycleActionHeartbeatResponse
18743
+ */
17259
18744
  async recordLifecycleActionHeartbeat(request: RecordLifecycleActionHeartbeatRequest): Promise<RecordLifecycleActionHeartbeatResponse> {
17260
18745
  let runtime = new $Util.RuntimeOptions({ });
17261
18746
  return await this.recordLifecycleActionHeartbeatWithOptions(request, runtime);
17262
18747
  }
17263
18748
 
18749
+ /**
18750
+ * * Before you call this operation, make sure that the following requirements are met:
18751
+ * * The scaling group is in the Active state.
18752
+ * * No scaling activity is in progress within the scaling group.
18753
+ * > If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.
18754
+ * * If an ECS instance is automatically created by Auto Scaling, or if an ECS instance is manually added to a scaling group and managed by the scaling group, the ECS instance is stopped in economical mode or is released after the instance is removed from the scaling group.
18755
+ * * If an ECS instance is manually added to a scaling group and is not managed by the scaling group, the ECS instance is not stopped or released after the instance is removed from the scaling group.
18756
+ * * If the difference between the number of existing ECS instances specified by the TotalCapacity parameter and the number of ECS instances that you call this operation to remove is less than the value of the MinSize parameter, the call fails.
18757
+ * A successful call only means that Auto Scaling accepts the request. The scaling activity may still fail. You can obtain the status of a scaling activity based on the value of the ScalingActivityId parameter in the response.
18758
+ *
18759
+ * @param request RemoveInstancesRequest
18760
+ * @param runtime runtime options for this request RuntimeOptions
18761
+ * @return RemoveInstancesResponse
18762
+ */
17264
18763
  async removeInstancesWithOptions(request: RemoveInstancesRequest, runtime: $Util.RuntimeOptions): Promise<RemoveInstancesResponse> {
17265
18764
  Util.validateModel(request);
17266
18765
  let query = { };
@@ -17317,6 +18816,19 @@ export default class Client extends OpenApi {
17317
18816
  return $tea.cast<RemoveInstancesResponse>(await this.callApi(params, req, runtime), new RemoveInstancesResponse({}));
17318
18817
  }
17319
18818
 
18819
+ /**
18820
+ * * Before you call this operation, make sure that the following requirements are met:
18821
+ * * The scaling group is in the Active state.
18822
+ * * No scaling activity is in progress within the scaling group.
18823
+ * > If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.
18824
+ * * If an ECS instance is automatically created by Auto Scaling, or if an ECS instance is manually added to a scaling group and managed by the scaling group, the ECS instance is stopped in economical mode or is released after the instance is removed from the scaling group.
18825
+ * * If an ECS instance is manually added to a scaling group and is not managed by the scaling group, the ECS instance is not stopped or released after the instance is removed from the scaling group.
18826
+ * * If the difference between the number of existing ECS instances specified by the TotalCapacity parameter and the number of ECS instances that you call this operation to remove is less than the value of the MinSize parameter, the call fails.
18827
+ * A successful call only means that Auto Scaling accepts the request. The scaling activity may still fail. You can obtain the status of a scaling activity based on the value of the ScalingActivityId parameter in the response.
18828
+ *
18829
+ * @param request RemoveInstancesRequest
18830
+ * @return RemoveInstancesResponse
18831
+ */
17320
18832
  async removeInstances(request: RemoveInstancesRequest): Promise<RemoveInstancesResponse> {
17321
18833
  let runtime = new $Util.RuntimeOptions({ });
17322
18834
  return await this.removeInstancesWithOptions(request, runtime);
@@ -17371,6 +18883,20 @@ export default class Client extends OpenApi {
17371
18883
  return await this.resumeProcessesWithOptions(request, runtime);
17372
18884
  }
17373
18885
 
18886
+ /**
18887
+ * Compared with the ExecuteScalingRule operation, the ScaleWithAdjustment operation does not require a scaling rule to be created in advance. Before you call the ScaleWithAdjustment operation, take note of the following items:
18888
+ * * The following conditions must be met:
18889
+ * * The scaling group is in the Active state.
18890
+ * * No scaling activities in the scaling group are in progress.
18891
+ * * If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.
18892
+ * * If the addition of a specified number of Elastic Compute Service (ECS) instances to a scaling group causes the total number of ECS instances in the scaling group to exceed the maximum number of instances allowed, Auto Scaling adds only a specific number of ECS instances to ensure that the total number of instances is equal to the maximum number of instances.
18893
+ * * If the removal of a specified number of ECS instances from a scaling group causes the total number of ECS instances in the scaling group to drop below the minimum number of instances allowed, Auto Scaling removes only a specific number of ECS instances to ensure that the total number of instances is equal to the minimum number of instances.
18894
+ * A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the `ScalingActivityId` parameter in the response.
18895
+ *
18896
+ * @param request ScaleWithAdjustmentRequest
18897
+ * @param runtime runtime options for this request RuntimeOptions
18898
+ * @return ScaleWithAdjustmentResponse
18899
+ */
17374
18900
  async scaleWithAdjustmentWithOptions(request: ScaleWithAdjustmentRequest, runtime: $Util.RuntimeOptions): Promise<ScaleWithAdjustmentResponse> {
17375
18901
  Util.validateModel(request);
17376
18902
  let query = { };
@@ -17423,6 +18949,19 @@ export default class Client extends OpenApi {
17423
18949
  return $tea.cast<ScaleWithAdjustmentResponse>(await this.callApi(params, req, runtime), new ScaleWithAdjustmentResponse({}));
17424
18950
  }
17425
18951
 
18952
+ /**
18953
+ * Compared with the ExecuteScalingRule operation, the ScaleWithAdjustment operation does not require a scaling rule to be created in advance. Before you call the ScaleWithAdjustment operation, take note of the following items:
18954
+ * * The following conditions must be met:
18955
+ * * The scaling group is in the Active state.
18956
+ * * No scaling activities in the scaling group are in progress.
18957
+ * * If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.
18958
+ * * If the addition of a specified number of Elastic Compute Service (ECS) instances to a scaling group causes the total number of ECS instances in the scaling group to exceed the maximum number of instances allowed, Auto Scaling adds only a specific number of ECS instances to ensure that the total number of instances is equal to the maximum number of instances.
18959
+ * * If the removal of a specified number of ECS instances from a scaling group causes the total number of ECS instances in the scaling group to drop below the minimum number of instances allowed, Auto Scaling removes only a specific number of ECS instances to ensure that the total number of instances is equal to the minimum number of instances.
18960
+ * A successful call indicates that Auto Scaling accepts the request. However, the scaling activity may still fail. You can obtain the status of a scaling activity by using the value of the `ScalingActivityId` parameter in the response.
18961
+ *
18962
+ * @param request ScaleWithAdjustmentRequest
18963
+ * @return ScaleWithAdjustmentResponse
18964
+ */
17426
18965
  async scaleWithAdjustment(request: ScaleWithAdjustmentRequest): Promise<ScaleWithAdjustmentResponse> {
17427
18966
  let runtime = new $Util.RuntimeOptions({ });
17428
18967
  return await this.scaleWithAdjustmentWithOptions(request, runtime);
@@ -17473,6 +19012,13 @@ export default class Client extends OpenApi {
17473
19012
  return await this.setGroupDeletionProtectionWithOptions(request, runtime);
17474
19013
  }
17475
19014
 
19015
+ /**
19016
+ * Configures the health check feature for Elastic Compute Service (ECS) instances.
19017
+ *
19018
+ * @param request SetInstanceHealthRequest
19019
+ * @param runtime runtime options for this request RuntimeOptions
19020
+ * @return SetInstanceHealthResponse
19021
+ */
17476
19022
  async setInstanceHealthWithOptions(request: SetInstanceHealthRequest, runtime: $Util.RuntimeOptions): Promise<SetInstanceHealthResponse> {
17477
19023
  Util.validateModel(request);
17478
19024
  let query = { };
@@ -17509,11 +19055,24 @@ export default class Client extends OpenApi {
17509
19055
  return $tea.cast<SetInstanceHealthResponse>(await this.callApi(params, req, runtime), new SetInstanceHealthResponse({}));
17510
19056
  }
17511
19057
 
19058
+ /**
19059
+ * Configures the health check feature for Elastic Compute Service (ECS) instances.
19060
+ *
19061
+ * @param request SetInstanceHealthRequest
19062
+ * @return SetInstanceHealthResponse
19063
+ */
17512
19064
  async setInstanceHealth(request: SetInstanceHealthRequest): Promise<SetInstanceHealthResponse> {
17513
19065
  let runtime = new $Util.RuntimeOptions({ });
17514
19066
  return await this.setInstanceHealthWithOptions(request, runtime);
17515
19067
  }
17516
19068
 
19069
+ /**
19070
+ * Puts one or more Elastic Compute Service (ECS) instances into the Protected state.
19071
+ *
19072
+ * @param request SetInstancesProtectionRequest
19073
+ * @param runtime runtime options for this request RuntimeOptions
19074
+ * @return SetInstancesProtectionResponse
19075
+ */
17517
19076
  async setInstancesProtectionWithOptions(request: SetInstancesProtectionRequest, runtime: $Util.RuntimeOptions): Promise<SetInstancesProtectionResponse> {
17518
19077
  Util.validateModel(request);
17519
19078
  let query = { };
@@ -17554,6 +19113,12 @@ export default class Client extends OpenApi {
17554
19113
  return $tea.cast<SetInstancesProtectionResponse>(await this.callApi(params, req, runtime), new SetInstancesProtectionResponse({}));
17555
19114
  }
17556
19115
 
19116
+ /**
19117
+ * Puts one or more Elastic Compute Service (ECS) instances into the Protected state.
19118
+ *
19119
+ * @param request SetInstancesProtectionRequest
19120
+ * @return SetInstancesProtectionResponse
19121
+ */
17557
19122
  async setInstancesProtection(request: SetInstancesProtectionRequest): Promise<SetInstancesProtectionResponse> {
17558
19123
  let runtime = new $Util.RuntimeOptions({ });
17559
19124
  return await this.setInstancesProtectionWithOptions(request, runtime);