@alicloud/ess20220222 1.0.2 → 1.0.3

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
@@ -350,6 +350,90 @@ export class AttachLoadBalancersResponse extends $tea.Model {
350
350
  }
351
351
  }
352
352
 
353
+ export class AttachServerGroupsRequest extends $tea.Model {
354
+ clientToken?: string;
355
+ forceAttach?: boolean;
356
+ ownerId?: number;
357
+ regionId?: string;
358
+ resourceOwnerAccount?: string;
359
+ scalingGroupId?: string;
360
+ serverGroups?: AttachServerGroupsRequestServerGroups[];
361
+ static names(): { [key: string]: string } {
362
+ return {
363
+ clientToken: 'ClientToken',
364
+ forceAttach: 'ForceAttach',
365
+ ownerId: 'OwnerId',
366
+ regionId: 'RegionId',
367
+ resourceOwnerAccount: 'ResourceOwnerAccount',
368
+ scalingGroupId: 'ScalingGroupId',
369
+ serverGroups: 'ServerGroups',
370
+ };
371
+ }
372
+
373
+ static types(): { [key: string]: any } {
374
+ return {
375
+ clientToken: 'string',
376
+ forceAttach: 'boolean',
377
+ ownerId: 'number',
378
+ regionId: 'string',
379
+ resourceOwnerAccount: 'string',
380
+ scalingGroupId: 'string',
381
+ serverGroups: { 'type': 'array', 'itemType': AttachServerGroupsRequestServerGroups },
382
+ };
383
+ }
384
+
385
+ constructor(map?: { [key: string]: any }) {
386
+ super(map);
387
+ }
388
+ }
389
+
390
+ export class AttachServerGroupsResponseBody extends $tea.Model {
391
+ requestId?: string;
392
+ scalingActivityId?: string;
393
+ static names(): { [key: string]: string } {
394
+ return {
395
+ requestId: 'RequestId',
396
+ scalingActivityId: 'ScalingActivityId',
397
+ };
398
+ }
399
+
400
+ static types(): { [key: string]: any } {
401
+ return {
402
+ requestId: 'string',
403
+ scalingActivityId: 'string',
404
+ };
405
+ }
406
+
407
+ constructor(map?: { [key: string]: any }) {
408
+ super(map);
409
+ }
410
+ }
411
+
412
+ export class AttachServerGroupsResponse extends $tea.Model {
413
+ headers: { [key: string]: string };
414
+ statusCode: number;
415
+ body: AttachServerGroupsResponseBody;
416
+ static names(): { [key: string]: string } {
417
+ return {
418
+ headers: 'headers',
419
+ statusCode: 'statusCode',
420
+ body: 'body',
421
+ };
422
+ }
423
+
424
+ static types(): { [key: string]: any } {
425
+ return {
426
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
427
+ statusCode: 'number',
428
+ body: AttachServerGroupsResponseBody,
429
+ };
430
+ }
431
+
432
+ constructor(map?: { [key: string]: any }) {
433
+ super(map);
434
+ }
435
+ }
436
+
353
437
  export class AttachVServerGroupsRequest extends $tea.Model {
354
438
  clientToken?: string;
355
439
  forceAttach?: boolean;
@@ -431,6 +515,84 @@ export class AttachVServerGroupsResponse extends $tea.Model {
431
515
  }
432
516
  }
433
517
 
518
+ export class ChangeResourceGroupRequest extends $tea.Model {
519
+ newResourceGroupId?: string;
520
+ ownerId?: number;
521
+ regionId?: string;
522
+ resourceId?: string;
523
+ resourceOwnerAccount?: string;
524
+ resourceType?: string;
525
+ static names(): { [key: string]: string } {
526
+ return {
527
+ newResourceGroupId: 'NewResourceGroupId',
528
+ ownerId: 'OwnerId',
529
+ regionId: 'RegionId',
530
+ resourceId: 'ResourceId',
531
+ resourceOwnerAccount: 'ResourceOwnerAccount',
532
+ resourceType: 'ResourceType',
533
+ };
534
+ }
535
+
536
+ static types(): { [key: string]: any } {
537
+ return {
538
+ newResourceGroupId: 'string',
539
+ ownerId: 'number',
540
+ regionId: 'string',
541
+ resourceId: 'string',
542
+ resourceOwnerAccount: 'string',
543
+ resourceType: 'string',
544
+ };
545
+ }
546
+
547
+ constructor(map?: { [key: string]: any }) {
548
+ super(map);
549
+ }
550
+ }
551
+
552
+ export class ChangeResourceGroupResponseBody extends $tea.Model {
553
+ requestId?: string;
554
+ static names(): { [key: string]: string } {
555
+ return {
556
+ requestId: 'RequestId',
557
+ };
558
+ }
559
+
560
+ static types(): { [key: string]: any } {
561
+ return {
562
+ requestId: 'string',
563
+ };
564
+ }
565
+
566
+ constructor(map?: { [key: string]: any }) {
567
+ super(map);
568
+ }
569
+ }
570
+
571
+ export class ChangeResourceGroupResponse extends $tea.Model {
572
+ headers: { [key: string]: string };
573
+ statusCode: number;
574
+ body: ChangeResourceGroupResponseBody;
575
+ static names(): { [key: string]: string } {
576
+ return {
577
+ headers: 'headers',
578
+ statusCode: 'statusCode',
579
+ body: 'body',
580
+ };
581
+ }
582
+
583
+ static types(): { [key: string]: any } {
584
+ return {
585
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
586
+ statusCode: 'number',
587
+ body: ChangeResourceGroupResponseBody,
588
+ };
589
+ }
590
+
591
+ constructor(map?: { [key: string]: any }) {
592
+ super(map);
593
+ }
594
+ }
595
+
434
596
  export class CompleteLifecycleActionRequest extends $tea.Model {
435
597
  clientToken?: string;
436
598
  lifecycleActionResult?: string;
@@ -1410,9 +1572,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1410
1572
  ownerId?: number;
1411
1573
  regionId?: string;
1412
1574
  removalPolicies?: string[];
1575
+ resourceGroupId?: string;
1413
1576
  resourceOwnerAccount?: string;
1414
1577
  scalingGroupName?: string;
1415
1578
  scalingPolicy?: string;
1579
+ serverGroups?: CreateScalingGroupRequestServerGroups[];
1416
1580
  spotAllocationStrategy?: string;
1417
1581
  spotInstancePools?: number;
1418
1582
  spotInstanceRemedy?: boolean;
@@ -1452,9 +1616,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1452
1616
  ownerId: 'OwnerId',
1453
1617
  regionId: 'RegionId',
1454
1618
  removalPolicies: 'RemovalPolicies',
1619
+ resourceGroupId: 'ResourceGroupId',
1455
1620
  resourceOwnerAccount: 'ResourceOwnerAccount',
1456
1621
  scalingGroupName: 'ScalingGroupName',
1457
1622
  scalingPolicy: 'ScalingPolicy',
1623
+ serverGroups: 'ServerGroups',
1458
1624
  spotAllocationStrategy: 'SpotAllocationStrategy',
1459
1625
  spotInstancePools: 'SpotInstancePools',
1460
1626
  spotInstanceRemedy: 'SpotInstanceRemedy',
@@ -1497,9 +1663,11 @@ export class CreateScalingGroupRequest extends $tea.Model {
1497
1663
  ownerId: 'number',
1498
1664
  regionId: 'string',
1499
1665
  removalPolicies: { 'type': 'array', 'itemType': 'string' },
1666
+ resourceGroupId: 'string',
1500
1667
  resourceOwnerAccount: 'string',
1501
1668
  scalingGroupName: 'string',
1502
1669
  scalingPolicy: 'string',
1670
+ serverGroups: { 'type': 'array', 'itemType': CreateScalingGroupRequestServerGroups },
1503
1671
  spotAllocationStrategy: 'string',
1504
1672
  spotInstancePools: 'number',
1505
1673
  spotInstanceRemedy: 'boolean',
@@ -3502,6 +3670,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3502
3670
  pageNumber?: number;
3503
3671
  pageSize?: number;
3504
3672
  regionId?: string;
3673
+ resourceGroupId?: string;
3505
3674
  resourceOwnerAccount?: string;
3506
3675
  resourceOwnerId?: number;
3507
3676
  scalingGroupIds?: string[];
@@ -3515,6 +3684,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3515
3684
  pageNumber: 'PageNumber',
3516
3685
  pageSize: 'PageSize',
3517
3686
  regionId: 'RegionId',
3687
+ resourceGroupId: 'ResourceGroupId',
3518
3688
  resourceOwnerAccount: 'ResourceOwnerAccount',
3519
3689
  resourceOwnerId: 'ResourceOwnerId',
3520
3690
  scalingGroupIds: 'ScalingGroupIds',
@@ -3531,6 +3701,7 @@ export class DescribeScalingGroupsRequest extends $tea.Model {
3531
3701
  pageNumber: 'number',
3532
3702
  pageSize: 'number',
3533
3703
  regionId: 'string',
3704
+ resourceGroupId: 'string',
3534
3705
  resourceOwnerAccount: 'string',
3535
3706
  resourceOwnerId: 'number',
3536
3707
  scalingGroupIds: { 'type': 'array', 'itemType': 'string' },
@@ -4275,6 +4446,90 @@ export class DetachLoadBalancersResponse extends $tea.Model {
4275
4446
  }
4276
4447
  }
4277
4448
 
4449
+ export class DetachServerGroupsRequest extends $tea.Model {
4450
+ clientToken?: string;
4451
+ forceDetach?: boolean;
4452
+ ownerId?: number;
4453
+ regionId?: string;
4454
+ resourceOwnerAccount?: string;
4455
+ scalingGroupId?: string;
4456
+ serverGroups?: DetachServerGroupsRequestServerGroups[];
4457
+ static names(): { [key: string]: string } {
4458
+ return {
4459
+ clientToken: 'ClientToken',
4460
+ forceDetach: 'ForceDetach',
4461
+ ownerId: 'OwnerId',
4462
+ regionId: 'RegionId',
4463
+ resourceOwnerAccount: 'ResourceOwnerAccount',
4464
+ scalingGroupId: 'ScalingGroupId',
4465
+ serverGroups: 'ServerGroups',
4466
+ };
4467
+ }
4468
+
4469
+ static types(): { [key: string]: any } {
4470
+ return {
4471
+ clientToken: 'string',
4472
+ forceDetach: 'boolean',
4473
+ ownerId: 'number',
4474
+ regionId: 'string',
4475
+ resourceOwnerAccount: 'string',
4476
+ scalingGroupId: 'string',
4477
+ serverGroups: { 'type': 'array', 'itemType': DetachServerGroupsRequestServerGroups },
4478
+ };
4479
+ }
4480
+
4481
+ constructor(map?: { [key: string]: any }) {
4482
+ super(map);
4483
+ }
4484
+ }
4485
+
4486
+ export class DetachServerGroupsResponseBody extends $tea.Model {
4487
+ requestId?: string;
4488
+ scalingActivityId?: string;
4489
+ static names(): { [key: string]: string } {
4490
+ return {
4491
+ requestId: 'RequestId',
4492
+ scalingActivityId: 'ScalingActivityId',
4493
+ };
4494
+ }
4495
+
4496
+ static types(): { [key: string]: any } {
4497
+ return {
4498
+ requestId: 'string',
4499
+ scalingActivityId: 'string',
4500
+ };
4501
+ }
4502
+
4503
+ constructor(map?: { [key: string]: any }) {
4504
+ super(map);
4505
+ }
4506
+ }
4507
+
4508
+ export class DetachServerGroupsResponse extends $tea.Model {
4509
+ headers: { [key: string]: string };
4510
+ statusCode: number;
4511
+ body: DetachServerGroupsResponseBody;
4512
+ static names(): { [key: string]: string } {
4513
+ return {
4514
+ headers: 'headers',
4515
+ statusCode: 'statusCode',
4516
+ body: 'body',
4517
+ };
4518
+ }
4519
+
4520
+ static types(): { [key: string]: any } {
4521
+ return {
4522
+ headers: { 'type': 'map', 'keyType': 'string', 'valueType': 'string' },
4523
+ statusCode: 'number',
4524
+ body: DetachServerGroupsResponseBody,
4525
+ };
4526
+ }
4527
+
4528
+ constructor(map?: { [key: string]: any }) {
4529
+ super(map);
4530
+ }
4531
+ }
4532
+
4278
4533
  export class DetachVServerGroupsRequest extends $tea.Model {
4279
4534
  clientToken?: string;
4280
4535
  forceDetach?: boolean;
@@ -5317,6 +5572,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5317
5572
  autoMatchImageCache?: boolean;
5318
5573
  containerGroupName?: string;
5319
5574
  containers?: ModifyEciScalingConfigurationRequestContainers[];
5575
+ containersUpdateType?: string;
5320
5576
  costOptimization?: boolean;
5321
5577
  cpu?: number;
5322
5578
  cpuOptionsCore?: number;
@@ -5363,6 +5619,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5363
5619
  autoMatchImageCache: 'AutoMatchImageCache',
5364
5620
  containerGroupName: 'ContainerGroupName',
5365
5621
  containers: 'Containers',
5622
+ containersUpdateType: 'ContainersUpdateType',
5366
5623
  costOptimization: 'CostOptimization',
5367
5624
  cpu: 'Cpu',
5368
5625
  cpuOptionsCore: 'CpuOptionsCore',
@@ -5412,6 +5669,7 @@ export class ModifyEciScalingConfigurationRequest extends $tea.Model {
5412
5669
  autoMatchImageCache: 'boolean',
5413
5670
  containerGroupName: 'string',
5414
5671
  containers: { 'type': 'array', 'itemType': ModifyEciScalingConfigurationRequestContainers },
5672
+ containersUpdateType: 'string',
5415
5673
  costOptimization: 'boolean',
5416
5674
  cpu: 'number',
5417
5675
  cpuOptionsCore: 'number',
@@ -6789,10 +7047,12 @@ export class ScaleWithAdjustmentRequest extends $tea.Model {
6789
7047
  }
6790
7048
 
6791
7049
  export class ScaleWithAdjustmentResponseBody extends $tea.Model {
7050
+ activityType?: string;
6792
7051
  requestId?: string;
6793
7052
  scalingActivityId?: string;
6794
7053
  static names(): { [key: string]: string } {
6795
7054
  return {
7055
+ activityType: 'ActivityType',
6796
7056
  requestId: 'RequestId',
6797
7057
  scalingActivityId: 'ScalingActivityId',
6798
7058
  };
@@ -6800,6 +7060,7 @@ export class ScaleWithAdjustmentResponseBody extends $tea.Model {
6800
7060
 
6801
7061
  static types(): { [key: string]: any } {
6802
7062
  return {
7063
+ activityType: 'string',
6803
7064
  requestId: 'string',
6804
7065
  scalingActivityId: 'string',
6805
7066
  };
@@ -7463,6 +7724,34 @@ export class AttachAlbServerGroupsRequestAlbServerGroups extends $tea.Model {
7463
7724
  }
7464
7725
  }
7465
7726
 
7727
+ export class AttachServerGroupsRequestServerGroups extends $tea.Model {
7728
+ port?: number;
7729
+ serverGroupId?: string;
7730
+ type?: string;
7731
+ weight?: number;
7732
+ static names(): { [key: string]: string } {
7733
+ return {
7734
+ port: 'Port',
7735
+ serverGroupId: 'ServerGroupId',
7736
+ type: 'Type',
7737
+ weight: 'Weight',
7738
+ };
7739
+ }
7740
+
7741
+ static types(): { [key: string]: any } {
7742
+ return {
7743
+ port: 'number',
7744
+ serverGroupId: 'string',
7745
+ type: 'string',
7746
+ weight: 'number',
7747
+ };
7748
+ }
7749
+
7750
+ constructor(map?: { [key: string]: any }) {
7751
+ super(map);
7752
+ }
7753
+ }
7754
+
7466
7755
  export class AttachVServerGroupsRequestVServerGroupsVServerGroupAttributes extends $tea.Model {
7467
7756
  port?: number;
7468
7757
  VServerGroupId?: string;
@@ -8910,10 +9199,12 @@ export class CreateScalingGroupRequestAlbServerGroups extends $tea.Model {
8910
9199
 
8911
9200
  export class CreateScalingGroupRequestLaunchTemplateOverrides extends $tea.Model {
8912
9201
  instanceType?: string;
9202
+ spotPriceLimit?: number;
8913
9203
  weightedCapacity?: number;
8914
9204
  static names(): { [key: string]: string } {
8915
9205
  return {
8916
9206
  instanceType: 'InstanceType',
9207
+ spotPriceLimit: 'SpotPriceLimit',
8917
9208
  weightedCapacity: 'WeightedCapacity',
8918
9209
  };
8919
9210
  }
@@ -8921,6 +9212,7 @@ export class CreateScalingGroupRequestLaunchTemplateOverrides extends $tea.Model
8921
9212
  static types(): { [key: string]: any } {
8922
9213
  return {
8923
9214
  instanceType: 'string',
9215
+ spotPriceLimit: 'number',
8924
9216
  weightedCapacity: 'number',
8925
9217
  };
8926
9218
  }
@@ -8964,6 +9256,34 @@ export class CreateScalingGroupRequestLifecycleHooks extends $tea.Model {
8964
9256
  }
8965
9257
  }
8966
9258
 
9259
+ export class CreateScalingGroupRequestServerGroups extends $tea.Model {
9260
+ port?: number;
9261
+ serverGroupId?: string;
9262
+ type?: string;
9263
+ weight?: number;
9264
+ static names(): { [key: string]: string } {
9265
+ return {
9266
+ port: 'Port',
9267
+ serverGroupId: 'ServerGroupId',
9268
+ type: 'Type',
9269
+ weight: 'Weight',
9270
+ };
9271
+ }
9272
+
9273
+ static types(): { [key: string]: any } {
9274
+ return {
9275
+ port: 'number',
9276
+ serverGroupId: 'string',
9277
+ type: 'string',
9278
+ weight: 'number',
9279
+ };
9280
+ }
9281
+
9282
+ constructor(map?: { [key: string]: any }) {
9283
+ super(map);
9284
+ }
9285
+ }
9286
+
8967
9287
  export class CreateScalingGroupRequestTags extends $tea.Model {
8968
9288
  key?: string;
8969
9289
  value?: string;
@@ -10040,30 +10360,52 @@ export class DescribeScalingActivitiesResponseBodyScalingActivities extends $tea
10040
10360
  attachedCapacity?: string;
10041
10361
  autoCreatedCapacity?: string;
10042
10362
  cause?: string;
10363
+ createdCapacity?: number;
10364
+ createdInstances?: string[];
10043
10365
  description?: string;
10366
+ destroyedCapacity?: number;
10367
+ destroyedInstances?: string[];
10368
+ detail?: string;
10044
10369
  endTime?: string;
10370
+ errorCode?: string;
10371
+ errorMessage?: string;
10045
10372
  progress?: number;
10046
10373
  scalingActivityId?: string;
10047
10374
  scalingGroupId?: string;
10048
10375
  scalingInstanceNumber?: number;
10049
10376
  startTime?: string;
10377
+ startedCapacity?: number;
10378
+ startedInstances?: string[];
10050
10379
  statusCode?: string;
10051
10380
  statusMessage?: string;
10381
+ stoppedCapacity?: number;
10382
+ stoppedInstances?: string[];
10052
10383
  totalCapacity?: string;
10053
10384
  static names(): { [key: string]: string } {
10054
10385
  return {
10055
10386
  attachedCapacity: 'AttachedCapacity',
10056
10387
  autoCreatedCapacity: 'AutoCreatedCapacity',
10057
10388
  cause: 'Cause',
10389
+ createdCapacity: 'CreatedCapacity',
10390
+ createdInstances: 'CreatedInstances',
10058
10391
  description: 'Description',
10392
+ destroyedCapacity: 'DestroyedCapacity',
10393
+ destroyedInstances: 'DestroyedInstances',
10394
+ detail: 'Detail',
10059
10395
  endTime: 'EndTime',
10396
+ errorCode: 'ErrorCode',
10397
+ errorMessage: 'ErrorMessage',
10060
10398
  progress: 'Progress',
10061
10399
  scalingActivityId: 'ScalingActivityId',
10062
10400
  scalingGroupId: 'ScalingGroupId',
10063
10401
  scalingInstanceNumber: 'ScalingInstanceNumber',
10064
10402
  startTime: 'StartTime',
10403
+ startedCapacity: 'StartedCapacity',
10404
+ startedInstances: 'StartedInstances',
10065
10405
  statusCode: 'StatusCode',
10066
10406
  statusMessage: 'StatusMessage',
10407
+ stoppedCapacity: 'StoppedCapacity',
10408
+ stoppedInstances: 'StoppedInstances',
10067
10409
  totalCapacity: 'TotalCapacity',
10068
10410
  };
10069
10411
  }
@@ -10073,15 +10415,26 @@ export class DescribeScalingActivitiesResponseBodyScalingActivities extends $tea
10073
10415
  attachedCapacity: 'string',
10074
10416
  autoCreatedCapacity: 'string',
10075
10417
  cause: 'string',
10418
+ createdCapacity: 'number',
10419
+ createdInstances: { 'type': 'array', 'itemType': 'string' },
10076
10420
  description: 'string',
10421
+ destroyedCapacity: 'number',
10422
+ destroyedInstances: { 'type': 'array', 'itemType': 'string' },
10423
+ detail: 'string',
10077
10424
  endTime: 'string',
10425
+ errorCode: 'string',
10426
+ errorMessage: 'string',
10078
10427
  progress: 'number',
10079
10428
  scalingActivityId: 'string',
10080
10429
  scalingGroupId: 'string',
10081
10430
  scalingInstanceNumber: 'number',
10082
10431
  startTime: 'string',
10432
+ startedCapacity: 'number',
10433
+ startedInstances: { 'type': 'array', 'itemType': 'string' },
10083
10434
  statusCode: 'string',
10084
10435
  statusMessage: 'string',
10436
+ stoppedCapacity: 'number',
10437
+ stoppedInstances: { 'type': 'array', 'itemType': 'string' },
10085
10438
  totalCapacity: 'string',
10086
10439
  };
10087
10440
  }
@@ -10285,6 +10638,7 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10285
10638
  imageFamily?: string;
10286
10639
  imageId?: string;
10287
10640
  imageName?: string;
10641
+ imageOwnerAlias?: string;
10288
10642
  instanceDescription?: string;
10289
10643
  instanceGeneration?: string;
10290
10644
  instanceName?: string;
@@ -10346,6 +10700,7 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10346
10700
  imageFamily: 'ImageFamily',
10347
10701
  imageId: 'ImageId',
10348
10702
  imageName: 'ImageName',
10703
+ imageOwnerAlias: 'ImageOwnerAlias',
10349
10704
  instanceDescription: 'InstanceDescription',
10350
10705
  instanceGeneration: 'InstanceGeneration',
10351
10706
  instanceName: 'InstanceName',
@@ -10410,6 +10765,7 @@ export class DescribeScalingConfigurationsResponseBodyScalingConfigurations exte
10410
10765
  imageFamily: 'string',
10411
10766
  imageId: 'string',
10412
10767
  imageName: 'string',
10768
+ imageOwnerAlias: 'string',
10413
10769
  instanceDescription: 'string',
10414
10770
  instanceGeneration: 'string',
10415
10771
  instanceName: 'string',
@@ -10491,10 +10847,12 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsAlbServerGroups exten
10491
10847
 
10492
10848
  export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides extends $tea.Model {
10493
10849
  instanceType?: string;
10850
+ spotPriceLimit?: number;
10494
10851
  weightedCapacity?: number;
10495
10852
  static names(): { [key: string]: string } {
10496
10853
  return {
10497
10854
  instanceType: 'InstanceType',
10855
+ spotPriceLimit: 'SpotPriceLimit',
10498
10856
  weightedCapacity: 'WeightedCapacity',
10499
10857
  };
10500
10858
  }
@@ -10502,6 +10860,7 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrid
10502
10860
  static types(): { [key: string]: any } {
10503
10861
  return {
10504
10862
  instanceType: 'string',
10863
+ spotPriceLimit: 'number',
10505
10864
  weightedCapacity: 'number',
10506
10865
  };
10507
10866
  }
@@ -10511,6 +10870,34 @@ export class DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrid
10511
10870
  }
10512
10871
  }
10513
10872
 
10873
+ export class DescribeScalingGroupsResponseBodyScalingGroupsServerGroups extends $tea.Model {
10874
+ port?: number;
10875
+ serverGroupId?: string;
10876
+ type?: string;
10877
+ weight?: number;
10878
+ static names(): { [key: string]: string } {
10879
+ return {
10880
+ port: 'Port',
10881
+ serverGroupId: 'ServerGroupId',
10882
+ type: 'Type',
10883
+ weight: 'Weight',
10884
+ };
10885
+ }
10886
+
10887
+ static types(): { [key: string]: any } {
10888
+ return {
10889
+ port: 'number',
10890
+ serverGroupId: 'string',
10891
+ type: 'string',
10892
+ weight: 'number',
10893
+ };
10894
+ }
10895
+
10896
+ constructor(map?: { [key: string]: any }) {
10897
+ super(map);
10898
+ }
10899
+ }
10900
+
10514
10901
  export class DescribeScalingGroupsResponseBodyScalingGroupsVServerGroupsVServerGroupAttributes extends $tea.Model {
10515
10902
  port?: number;
10516
10903
  VServerGroupId?: string;
@@ -10574,6 +10961,7 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10574
10961
  groupDeletionProtection?: boolean;
10575
10962
  groupType?: string;
10576
10963
  healthCheckType?: string;
10964
+ initCapacity?: number;
10577
10965
  isElasticStrengthInAlarm?: boolean;
10578
10966
  launchTemplateId?: string;
10579
10967
  launchTemplateOverrides?: DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides[];
@@ -10595,9 +10983,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10595
10983
  removalPolicies?: string[];
10596
10984
  removingCapacity?: number;
10597
10985
  removingWaitCapacity?: number;
10986
+ resourceGroupId?: string;
10598
10987
  scalingGroupId?: string;
10599
10988
  scalingGroupName?: string;
10600
10989
  scalingPolicy?: string;
10990
+ serverGroups?: DescribeScalingGroupsResponseBodyScalingGroupsServerGroups[];
10601
10991
  spotAllocationStrategy?: string;
10602
10992
  spotInstancePools?: number;
10603
10993
  spotInstanceRemedy?: boolean;
@@ -10628,6 +11018,7 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10628
11018
  groupDeletionProtection: 'GroupDeletionProtection',
10629
11019
  groupType: 'GroupType',
10630
11020
  healthCheckType: 'HealthCheckType',
11021
+ initCapacity: 'InitCapacity',
10631
11022
  isElasticStrengthInAlarm: 'IsElasticStrengthInAlarm',
10632
11023
  launchTemplateId: 'LaunchTemplateId',
10633
11024
  launchTemplateOverrides: 'LaunchTemplateOverrides',
@@ -10649,9 +11040,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10649
11040
  removalPolicies: 'RemovalPolicies',
10650
11041
  removingCapacity: 'RemovingCapacity',
10651
11042
  removingWaitCapacity: 'RemovingWaitCapacity',
11043
+ resourceGroupId: 'ResourceGroupId',
10652
11044
  scalingGroupId: 'ScalingGroupId',
10653
11045
  scalingGroupName: 'ScalingGroupName',
10654
11046
  scalingPolicy: 'ScalingPolicy',
11047
+ serverGroups: 'ServerGroups',
10655
11048
  spotAllocationStrategy: 'SpotAllocationStrategy',
10656
11049
  spotInstancePools: 'SpotInstancePools',
10657
11050
  spotInstanceRemedy: 'SpotInstanceRemedy',
@@ -10685,6 +11078,7 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10685
11078
  groupDeletionProtection: 'boolean',
10686
11079
  groupType: 'string',
10687
11080
  healthCheckType: 'string',
11081
+ initCapacity: 'number',
10688
11082
  isElasticStrengthInAlarm: 'boolean',
10689
11083
  launchTemplateId: 'string',
10690
11084
  launchTemplateOverrides: { 'type': 'array', 'itemType': DescribeScalingGroupsResponseBodyScalingGroupsLaunchTemplateOverrides },
@@ -10706,9 +11100,11 @@ export class DescribeScalingGroupsResponseBodyScalingGroups extends $tea.Model {
10706
11100
  removalPolicies: { 'type': 'array', 'itemType': 'string' },
10707
11101
  removingCapacity: 'number',
10708
11102
  removingWaitCapacity: 'number',
11103
+ resourceGroupId: 'string',
10709
11104
  scalingGroupId: 'string',
10710
11105
  scalingGroupName: 'string',
10711
11106
  scalingPolicy: 'string',
11107
+ serverGroups: { 'type': 'array', 'itemType': DescribeScalingGroupsResponseBodyScalingGroupsServerGroups },
10712
11108
  spotAllocationStrategy: 'string',
10713
11109
  spotInstancePools: 'number',
10714
11110
  spotInstanceRemedy: 'boolean',
@@ -11055,6 +11451,31 @@ export class DetachAlbServerGroupsRequestAlbServerGroups extends $tea.Model {
11055
11451
  }
11056
11452
  }
11057
11453
 
11454
+ export class DetachServerGroupsRequestServerGroups extends $tea.Model {
11455
+ port?: number;
11456
+ serverGroupId?: string;
11457
+ type?: string;
11458
+ static names(): { [key: string]: string } {
11459
+ return {
11460
+ port: 'Port',
11461
+ serverGroupId: 'ServerGroupId',
11462
+ type: 'Type',
11463
+ };
11464
+ }
11465
+
11466
+ static types(): { [key: string]: any } {
11467
+ return {
11468
+ port: 'number',
11469
+ serverGroupId: 'string',
11470
+ type: 'string',
11471
+ };
11472
+ }
11473
+
11474
+ constructor(map?: { [key: string]: any }) {
11475
+ super(map);
11476
+ }
11477
+ }
11478
+
11058
11479
  export class DetachVServerGroupsRequestVServerGroupsVServerGroupAttributes extends $tea.Model {
11059
11480
  port?: number;
11060
11481
  VServerGroupId?: string;
@@ -12587,10 +13008,12 @@ export class ModifyScalingConfigurationShrinkRequestSpotPriceLimits extends $tea
12587
13008
 
12588
13009
  export class ModifyScalingGroupRequestLaunchTemplateOverrides extends $tea.Model {
12589
13010
  instanceType?: string;
13011
+ spotPriceLimit?: number;
12590
13012
  weightedCapacity?: number;
12591
13013
  static names(): { [key: string]: string } {
12592
13014
  return {
12593
13015
  instanceType: 'InstanceType',
13016
+ spotPriceLimit: 'SpotPriceLimit',
12594
13017
  weightedCapacity: 'WeightedCapacity',
12595
13018
  };
12596
13019
  }
@@ -12598,6 +13021,7 @@ export class ModifyScalingGroupRequestLaunchTemplateOverrides extends $tea.Model
12598
13021
  static types(): { [key: string]: any } {
12599
13022
  return {
12600
13023
  instanceType: 'string',
13024
+ spotPriceLimit: 'number',
12601
13025
  weightedCapacity: 'number',
12602
13026
  };
12603
13027
  }
@@ -12726,6 +13150,13 @@ export default class Client extends OpenApi {
12726
13150
  return EndpointUtil.getEndpointRules(productId, regionId, endpointRule, network, suffix);
12727
13151
  }
12728
13152
 
13153
+ /**
13154
+ * Associates one or more Application Load Balancer (ALB) server groups with a scaling group.
13155
+ *
13156
+ * @param request AttachAlbServerGroupsRequest
13157
+ * @param runtime runtime options for this request RuntimeOptions
13158
+ * @return AttachAlbServerGroupsResponse
13159
+ */
12729
13160
  async attachAlbServerGroupsWithOptions(request: AttachAlbServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachAlbServerGroupsResponse> {
12730
13161
  Util.validateModel(request);
12731
13162
  let query = { };
@@ -12774,11 +13205,24 @@ export default class Client extends OpenApi {
12774
13205
  return $tea.cast<AttachAlbServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachAlbServerGroupsResponse({}));
12775
13206
  }
12776
13207
 
13208
+ /**
13209
+ * Associates one or more Application Load Balancer (ALB) server groups with a scaling group.
13210
+ *
13211
+ * @param request AttachAlbServerGroupsRequest
13212
+ * @return AttachAlbServerGroupsResponse
13213
+ */
12777
13214
  async attachAlbServerGroups(request: AttachAlbServerGroupsRequest): Promise<AttachAlbServerGroupsResponse> {
12778
13215
  let runtime = new $Util.RuntimeOptions({ });
12779
13216
  return await this.attachAlbServerGroupsWithOptions(request, runtime);
12780
13217
  }
12781
13218
 
13219
+ /**
13220
+ * Associates one or more ApsaraDB RDS instances with a scaling group.
13221
+ *
13222
+ * @param request AttachDBInstancesRequest
13223
+ * @param runtime runtime options for this request RuntimeOptions
13224
+ * @return AttachDBInstancesResponse
13225
+ */
12782
13226
  async attachDBInstancesWithOptions(request: AttachDBInstancesRequest, runtime: $Util.RuntimeOptions): Promise<AttachDBInstancesResponse> {
12783
13227
  Util.validateModel(request);
12784
13228
  let query = { };
@@ -12827,11 +13271,24 @@ export default class Client extends OpenApi {
12827
13271
  return $tea.cast<AttachDBInstancesResponse>(await this.callApi(params, req, runtime), new AttachDBInstancesResponse({}));
12828
13272
  }
12829
13273
 
13274
+ /**
13275
+ * Associates one or more ApsaraDB RDS instances with a scaling group.
13276
+ *
13277
+ * @param request AttachDBInstancesRequest
13278
+ * @return AttachDBInstancesResponse
13279
+ */
12830
13280
  async attachDBInstances(request: AttachDBInstancesRequest): Promise<AttachDBInstancesResponse> {
12831
13281
  let runtime = new $Util.RuntimeOptions({ });
12832
13282
  return await this.attachDBInstancesWithOptions(request, runtime);
12833
13283
  }
12834
13284
 
13285
+ /**
13286
+ * Manually adds Elastic Compute Service (ECS) instances or elastic container instances to a scaling group.
13287
+ *
13288
+ * @param request AttachInstancesRequest
13289
+ * @param runtime runtime options for this request RuntimeOptions
13290
+ * @return AttachInstancesResponse
13291
+ */
12835
13292
  async attachInstancesWithOptions(request: AttachInstancesRequest, runtime: $Util.RuntimeOptions): Promise<AttachInstancesResponse> {
12836
13293
  Util.validateModel(request);
12837
13294
  let query = { };
@@ -12892,11 +13349,24 @@ export default class Client extends OpenApi {
12892
13349
  return $tea.cast<AttachInstancesResponse>(await this.callApi(params, req, runtime), new AttachInstancesResponse({}));
12893
13350
  }
12894
13351
 
13352
+ /**
13353
+ * Manually adds Elastic Compute Service (ECS) instances or elastic container instances to a scaling group.
13354
+ *
13355
+ * @param request AttachInstancesRequest
13356
+ * @return AttachInstancesResponse
13357
+ */
12895
13358
  async attachInstances(request: AttachInstancesRequest): Promise<AttachInstancesResponse> {
12896
13359
  let runtime = new $Util.RuntimeOptions({ });
12897
13360
  return await this.attachInstancesWithOptions(request, runtime);
12898
13361
  }
12899
13362
 
13363
+ /**
13364
+ * Attaches one or more Classic Load Balancer (CLB) instances to a scaling group.
13365
+ *
13366
+ * @param request AttachLoadBalancersRequest
13367
+ * @param runtime runtime options for this request RuntimeOptions
13368
+ * @return AttachLoadBalancersResponse
13369
+ */
12900
13370
  async attachLoadBalancersWithOptions(request: AttachLoadBalancersRequest, runtime: $Util.RuntimeOptions): Promise<AttachLoadBalancersResponse> {
12901
13371
  Util.validateModel(request);
12902
13372
  let query = { };
@@ -12945,11 +13415,77 @@ export default class Client extends OpenApi {
12945
13415
  return $tea.cast<AttachLoadBalancersResponse>(await this.callApi(params, req, runtime), new AttachLoadBalancersResponse({}));
12946
13416
  }
12947
13417
 
13418
+ /**
13419
+ * Attaches one or more Classic Load Balancer (CLB) instances to a scaling group.
13420
+ *
13421
+ * @param request AttachLoadBalancersRequest
13422
+ * @return AttachLoadBalancersResponse
13423
+ */
12948
13424
  async attachLoadBalancers(request: AttachLoadBalancersRequest): Promise<AttachLoadBalancersResponse> {
12949
13425
  let runtime = new $Util.RuntimeOptions({ });
12950
13426
  return await this.attachLoadBalancersWithOptions(request, runtime);
12951
13427
  }
12952
13428
 
13429
+ async attachServerGroupsWithOptions(request: AttachServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachServerGroupsResponse> {
13430
+ Util.validateModel(request);
13431
+ let query = { };
13432
+ if (!Util.isUnset(request.clientToken)) {
13433
+ query["ClientToken"] = request.clientToken;
13434
+ }
13435
+
13436
+ if (!Util.isUnset(request.forceAttach)) {
13437
+ query["ForceAttach"] = request.forceAttach;
13438
+ }
13439
+
13440
+ if (!Util.isUnset(request.ownerId)) {
13441
+ query["OwnerId"] = request.ownerId;
13442
+ }
13443
+
13444
+ if (!Util.isUnset(request.regionId)) {
13445
+ query["RegionId"] = request.regionId;
13446
+ }
13447
+
13448
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
13449
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13450
+ }
13451
+
13452
+ if (!Util.isUnset(request.scalingGroupId)) {
13453
+ query["ScalingGroupId"] = request.scalingGroupId;
13454
+ }
13455
+
13456
+ if (!Util.isUnset(request.serverGroups)) {
13457
+ query["ServerGroups"] = request.serverGroups;
13458
+ }
13459
+
13460
+ let req = new $OpenApi.OpenApiRequest({
13461
+ query: OpenApiUtil.query(query),
13462
+ });
13463
+ let params = new $OpenApi.Params({
13464
+ action: "AttachServerGroups",
13465
+ version: "2022-02-22",
13466
+ protocol: "HTTPS",
13467
+ pathname: "/",
13468
+ method: "POST",
13469
+ authType: "AK",
13470
+ style: "RPC",
13471
+ reqBodyType: "formData",
13472
+ bodyType: "json",
13473
+ });
13474
+ return $tea.cast<AttachServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachServerGroupsResponse({}));
13475
+ }
13476
+
13477
+ async attachServerGroups(request: AttachServerGroupsRequest): Promise<AttachServerGroupsResponse> {
13478
+ let runtime = new $Util.RuntimeOptions({ });
13479
+ return await this.attachServerGroupsWithOptions(request, runtime);
13480
+ }
13481
+
13482
+ /**
13483
+ * Attaches one or more vServer groups of a Classic Load Balancer (CLB) instance to a scaling group.
13484
+ *
13485
+ * @param request AttachVServerGroupsRequest
13486
+ * @param runtime runtime options for this request RuntimeOptions
13487
+ * @return AttachVServerGroupsResponse
13488
+ */
12953
13489
  async attachVServerGroupsWithOptions(request: AttachVServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<AttachVServerGroupsResponse> {
12954
13490
  Util.validateModel(request);
12955
13491
  let query = { };
@@ -12998,11 +13534,86 @@ export default class Client extends OpenApi {
12998
13534
  return $tea.cast<AttachVServerGroupsResponse>(await this.callApi(params, req, runtime), new AttachVServerGroupsResponse({}));
12999
13535
  }
13000
13536
 
13537
+ /**
13538
+ * Attaches one or more vServer groups of a Classic Load Balancer (CLB) instance to a scaling group.
13539
+ *
13540
+ * @param request AttachVServerGroupsRequest
13541
+ * @return AttachVServerGroupsResponse
13542
+ */
13001
13543
  async attachVServerGroups(request: AttachVServerGroupsRequest): Promise<AttachVServerGroupsResponse> {
13002
13544
  let runtime = new $Util.RuntimeOptions({ });
13003
13545
  return await this.attachVServerGroupsWithOptions(request, runtime);
13004
13546
  }
13005
13547
 
13548
+ /**
13549
+ * 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.
13550
+ *
13551
+ * @param request ChangeResourceGroupRequest
13552
+ * @param runtime runtime options for this request RuntimeOptions
13553
+ * @return ChangeResourceGroupResponse
13554
+ */
13555
+ async changeResourceGroupWithOptions(request: ChangeResourceGroupRequest, runtime: $Util.RuntimeOptions): Promise<ChangeResourceGroupResponse> {
13556
+ Util.validateModel(request);
13557
+ let query = { };
13558
+ if (!Util.isUnset(request.newResourceGroupId)) {
13559
+ query["NewResourceGroupId"] = request.newResourceGroupId;
13560
+ }
13561
+
13562
+ if (!Util.isUnset(request.ownerId)) {
13563
+ query["OwnerId"] = request.ownerId;
13564
+ }
13565
+
13566
+ if (!Util.isUnset(request.regionId)) {
13567
+ query["RegionId"] = request.regionId;
13568
+ }
13569
+
13570
+ if (!Util.isUnset(request.resourceId)) {
13571
+ query["ResourceId"] = request.resourceId;
13572
+ }
13573
+
13574
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
13575
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13576
+ }
13577
+
13578
+ if (!Util.isUnset(request.resourceType)) {
13579
+ query["ResourceType"] = request.resourceType;
13580
+ }
13581
+
13582
+ let req = new $OpenApi.OpenApiRequest({
13583
+ query: OpenApiUtil.query(query),
13584
+ });
13585
+ let params = new $OpenApi.Params({
13586
+ action: "ChangeResourceGroup",
13587
+ version: "2022-02-22",
13588
+ protocol: "HTTPS",
13589
+ pathname: "/",
13590
+ method: "POST",
13591
+ authType: "AK",
13592
+ style: "RPC",
13593
+ reqBodyType: "formData",
13594
+ bodyType: "json",
13595
+ });
13596
+ return $tea.cast<ChangeResourceGroupResponse>(await this.callApi(params, req, runtime), new ChangeResourceGroupResponse({}));
13597
+ }
13598
+
13599
+ /**
13600
+ * 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.
13601
+ *
13602
+ * @param request ChangeResourceGroupRequest
13603
+ * @return ChangeResourceGroupResponse
13604
+ */
13605
+ async changeResourceGroup(request: ChangeResourceGroupRequest): Promise<ChangeResourceGroupResponse> {
13606
+ let runtime = new $Util.RuntimeOptions({ });
13607
+ return await this.changeResourceGroupWithOptions(request, runtime);
13608
+ }
13609
+
13610
+ /**
13611
+ * When you call this operation to end a lifecycle hook ahead of schedule, you can use the LifecycleActionResult parameter to specify the action that you want Auto Scaling to perform after the lifecycle hook ends. You can set the LifecycleActionResult parameter to CONTINUE or ABANDON.
13612
+ *
13613
+ * @param request CompleteLifecycleActionRequest
13614
+ * @param runtime runtime options for this request RuntimeOptions
13615
+ * @return CompleteLifecycleActionResponse
13616
+ */
13006
13617
  async completeLifecycleActionWithOptions(request: CompleteLifecycleActionRequest, runtime: $Util.RuntimeOptions): Promise<CompleteLifecycleActionResponse> {
13007
13618
  Util.validateModel(request);
13008
13619
  let query = { };
@@ -13055,11 +13666,28 @@ export default class Client extends OpenApi {
13055
13666
  return $tea.cast<CompleteLifecycleActionResponse>(await this.callApi(params, req, runtime), new CompleteLifecycleActionResponse({}));
13056
13667
  }
13057
13668
 
13669
+ /**
13670
+ * When you call this operation to end a lifecycle hook ahead of schedule, you can use the LifecycleActionResult parameter to specify the action that you want Auto Scaling to perform after the lifecycle hook ends. You can set the LifecycleActionResult parameter to CONTINUE or ABANDON.
13671
+ *
13672
+ * @param request CompleteLifecycleActionRequest
13673
+ * @return CompleteLifecycleActionResponse
13674
+ */
13058
13675
  async completeLifecycleAction(request: CompleteLifecycleActionRequest): Promise<CompleteLifecycleActionResponse> {
13059
13676
  let runtime = new $Util.RuntimeOptions({ });
13060
13677
  return await this.completeLifecycleActionWithOptions(request, runtime);
13061
13678
  }
13062
13679
 
13680
+ /**
13681
+ * * 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~~).
13682
+ * * 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.
13683
+ * * If you set the MetricType parameter to custom, the valid values are your custom metrics.
13684
+ * * For information about the supported metrics when you set the MetricType parameter to system, see [Event-triggered task for system monitoring](~~74854~~).
13685
+ * > 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.
13686
+ *
13687
+ * @param request CreateAlarmRequest
13688
+ * @param runtime runtime options for this request RuntimeOptions
13689
+ * @return CreateAlarmResponse
13690
+ */
13063
13691
  async createAlarmWithOptions(request: CreateAlarmRequest, runtime: $Util.RuntimeOptions): Promise<CreateAlarmResponse> {
13064
13692
  Util.validateModel(request);
13065
13693
  let query = { };
@@ -13156,11 +13784,29 @@ export default class Client extends OpenApi {
13156
13784
  return $tea.cast<CreateAlarmResponse>(await this.callApi(params, req, runtime), new CreateAlarmResponse({}));
13157
13785
  }
13158
13786
 
13787
+ /**
13788
+ * * 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~~).
13789
+ * * 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.
13790
+ * * If you set the MetricType parameter to custom, the valid values are your custom metrics.
13791
+ * * For information about the supported metrics when you set the MetricType parameter to system, see [Event-triggered task for system monitoring](~~74854~~).
13792
+ * > 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.
13793
+ *
13794
+ * @param request CreateAlarmRequest
13795
+ * @return CreateAlarmResponse
13796
+ */
13159
13797
  async createAlarm(request: CreateAlarmRequest): Promise<CreateAlarmResponse> {
13160
13798
  let runtime = new $Util.RuntimeOptions({ });
13161
13799
  return await this.createAlarmWithOptions(request, runtime);
13162
13800
  }
13163
13801
 
13802
+ /**
13803
+ * A scaling configuration is a template that is used to create elastic container instances during scale-out activities.
13804
+ * 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.
13805
+ *
13806
+ * @param request CreateEciScalingConfigurationRequest
13807
+ * @param runtime runtime options for this request RuntimeOptions
13808
+ * @return CreateEciScalingConfigurationResponse
13809
+ */
13164
13810
  async createEciScalingConfigurationWithOptions(request: CreateEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateEciScalingConfigurationResponse> {
13165
13811
  Util.validateModel(request);
13166
13812
  let query = { };
@@ -13357,11 +14003,28 @@ export default class Client extends OpenApi {
13357
14003
  return $tea.cast<CreateEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new CreateEciScalingConfigurationResponse({}));
13358
14004
  }
13359
14005
 
14006
+ /**
14007
+ * A scaling configuration is a template that is used to create elastic container instances during scale-out activities.
14008
+ * 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.
14009
+ *
14010
+ * @param request CreateEciScalingConfigurationRequest
14011
+ * @return CreateEciScalingConfigurationResponse
14012
+ */
13360
14013
  async createEciScalingConfiguration(request: CreateEciScalingConfigurationRequest): Promise<CreateEciScalingConfigurationResponse> {
13361
14014
  let runtime = new $Util.RuntimeOptions({ });
13362
14015
  return await this.createEciScalingConfigurationWithOptions(request, runtime);
13363
14016
  }
13364
14017
 
14018
+ /**
14019
+ * You can create up to six lifecycle hooks for each scaling group. After a lifecycle hook is created for a scaling group, Elastic Compute Service (ECS) instances in the scaling group waits to be added to or removed from the scaling group during scaling activities. You can use the HeartbeatTimeout parameter to specify the timeout period of the lifecycle hook. During the timeout period of a lifecycle hook, you can perform custom operations such as initialize ECS instance configurations and download ECS instance data on the ECS instances for which the lifecycle hook is applied.
14020
+ * During a scale-out activity and the timeout period of a lifecycle hook, the private IP addresses of ECS instances wait to be added to the associated whitelist that manages access to the ApsaraDB RDS instance. The ECS instances also wait to be added to the backend server group of the associated Classic Load Balancer (CLB) instance. After the lifecycle hook times out, the private IP addresses of the ECS instances are added to the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances are also added to the backend server group of the associated CLB instance. During a scale-in activity and the timeout period of a lifecycle hook, the private IP addresses of ECS instances wait to be removed from the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances also wait to be removed from the backend server group of the associated CLB instance. After the lifecycle hook times out, the private IP addresses of the ECS instances are removed from the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances are also removed from the backend server group of the associated CLB instance.
14021
+ * You can configure a notification method for a lifecycle hook. When the lifecycle hook is triggered, a notification can be sent to the specified Message Service (MNS) topic or queue, or an operation can be performed based on the specified Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a Resource Access Management (RAM) role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).
14022
+ * > If your scaling group has existing ECS instances and you configured an OOS template that is used to add the private IP addresses of ECS instances to or remove the private IP addresses of ECS instances from the whitelists that manage access to cloud databases that are not ApsaraDB RDS databases, you must manually add the private IP addresses of the ECS instances to or remove the private IP addresses of the ECS instances from the whitelists that manage access to the cloud databases.
14023
+ *
14024
+ * @param request CreateLifecycleHookRequest
14025
+ * @param runtime runtime options for this request RuntimeOptions
14026
+ * @return CreateLifecycleHookResponse
14027
+ */
13365
14028
  async createLifecycleHookWithOptions(request: CreateLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<CreateLifecycleHookResponse> {
13366
14029
  Util.validateModel(request);
13367
14030
  let query = { };
@@ -13422,11 +14085,27 @@ export default class Client extends OpenApi {
13422
14085
  return $tea.cast<CreateLifecycleHookResponse>(await this.callApi(params, req, runtime), new CreateLifecycleHookResponse({}));
13423
14086
  }
13424
14087
 
14088
+ /**
14089
+ * You can create up to six lifecycle hooks for each scaling group. After a lifecycle hook is created for a scaling group, Elastic Compute Service (ECS) instances in the scaling group waits to be added to or removed from the scaling group during scaling activities. You can use the HeartbeatTimeout parameter to specify the timeout period of the lifecycle hook. During the timeout period of a lifecycle hook, you can perform custom operations such as initialize ECS instance configurations and download ECS instance data on the ECS instances for which the lifecycle hook is applied.
14090
+ * During a scale-out activity and the timeout period of a lifecycle hook, the private IP addresses of ECS instances wait to be added to the associated whitelist that manages access to the ApsaraDB RDS instance. The ECS instances also wait to be added to the backend server group of the associated Classic Load Balancer (CLB) instance. After the lifecycle hook times out, the private IP addresses of the ECS instances are added to the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances are also added to the backend server group of the associated CLB instance. During a scale-in activity and the timeout period of a lifecycle hook, the private IP addresses of ECS instances wait to be removed from the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances also wait to be removed from the backend server group of the associated CLB instance. After the lifecycle hook times out, the private IP addresses of the ECS instances are removed from the whitelist that manages access to the associated ApsaraDB RDS instance. The ECS instances are also removed from the backend server group of the associated CLB instance.
14091
+ * You can configure a notification method for a lifecycle hook. When the lifecycle hook is triggered, a notification can be sent to the specified Message Service (MNS) topic or queue, or an operation can be performed based on the specified Operation Orchestration Service (OOS) template. If you want to configure an OOS template, you must create a Resource Access Management (RAM) role for OOS. For more information, see [Grant RAM permissions to OOS](~~120810~~).
14092
+ * > If your scaling group has existing ECS instances and you configured an OOS template that is used to add the private IP addresses of ECS instances to or remove the private IP addresses of ECS instances from the whitelists that manage access to cloud databases that are not ApsaraDB RDS databases, you must manually add the private IP addresses of the ECS instances to or remove the private IP addresses of the ECS instances from the whitelists that manage access to the cloud databases.
14093
+ *
14094
+ * @param request CreateLifecycleHookRequest
14095
+ * @return CreateLifecycleHookResponse
14096
+ */
13425
14097
  async createLifecycleHook(request: CreateLifecycleHookRequest): Promise<CreateLifecycleHookResponse> {
13426
14098
  let runtime = new $Util.RuntimeOptions({ });
13427
14099
  return await this.createLifecycleHookWithOptions(request, runtime);
13428
14100
  }
13429
14101
 
14102
+ /**
14103
+ * Creates a notification.
14104
+ *
14105
+ * @param request CreateNotificationConfigurationRequest
14106
+ * @param runtime runtime options for this request RuntimeOptions
14107
+ * @return CreateNotificationConfigurationResponse
14108
+ */
13430
14109
  async createNotificationConfigurationWithOptions(request: CreateNotificationConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateNotificationConfigurationResponse> {
13431
14110
  Util.validateModel(request);
13432
14111
  let query = { };
@@ -13471,11 +14150,30 @@ export default class Client extends OpenApi {
13471
14150
  return $tea.cast<CreateNotificationConfigurationResponse>(await this.callApi(params, req, runtime), new CreateNotificationConfigurationResponse({}));
13472
14151
  }
13473
14152
 
14153
+ /**
14154
+ * Creates a notification.
14155
+ *
14156
+ * @param request CreateNotificationConfigurationRequest
14157
+ * @return CreateNotificationConfigurationResponse
14158
+ */
13474
14159
  async createNotificationConfiguration(request: CreateNotificationConfigurationRequest): Promise<CreateNotificationConfigurationResponse> {
13475
14160
  let runtime = new $Util.RuntimeOptions({ });
13476
14161
  return await this.createNotificationConfigurationWithOptions(request, runtime);
13477
14162
  }
13478
14163
 
14164
+ /**
14165
+ * Auto Scaling automatically scales out Elastic Compute Service (ECS) instances based on the specified scaling configuration. ECS instances can be configured in the following modes:
14166
+ * * InstancePatternInfo.N: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price 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 helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.
14167
+ * * InstanceType: In this mode, you must specify one instance type.
14168
+ * * InstanceTypes.N: In this mode, you must specify multiple instance types.
14169
+ * * InstanceTypeOverride.N: In this mode, you must specify multiple instance types and specify weights for the instance types.
14170
+ * * Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines a set of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates ECS instances of the instance type that is provided at the lowest price. 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.
14171
+ * > You cannot use InstanceType, InstanceTypes, InstanceTypeOverride, and Cpu and Memory at the same time. You can use InstanceType and InstancePatternInfos or use InstanceTypes and InstancePatternInfos at the same time. If you use InstanceType and InstancePatternInfos or use InstanceTypes and InstancePatternInfos at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes for scale-out activities. If the instance types that are specified by InstanceType or InstanceTypes do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfos for scale-out activities.
14172
+ *
14173
+ * @param tmpReq CreateScalingConfigurationRequest
14174
+ * @param runtime runtime options for this request RuntimeOptions
14175
+ * @return CreateScalingConfigurationResponse
14176
+ */
13479
14177
  async createScalingConfigurationWithOptions(tmpReq: CreateScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingConfigurationResponse> {
13480
14178
  Util.validateModel(tmpReq);
13481
14179
  let request = new CreateScalingConfigurationShrinkRequest({ });
@@ -13677,11 +14375,11 @@ export default class Client extends OpenApi {
13677
14375
  query["ZoneId"] = request.zoneId;
13678
14376
  }
13679
14377
 
13680
- if (!Util.isUnset($tea.toMap(request.privatePoolOptions))) {
14378
+ if (!Util.isUnset(request.privatePoolOptions)) {
13681
14379
  query["PrivatePoolOptions"] = request.privatePoolOptions;
13682
14380
  }
13683
14381
 
13684
- if (!Util.isUnset($tea.toMap(request.systemDisk))) {
14382
+ if (!Util.isUnset(request.systemDisk)) {
13685
14383
  query["SystemDisk"] = request.systemDisk;
13686
14384
  }
13687
14385
 
@@ -13702,11 +14400,51 @@ export default class Client extends OpenApi {
13702
14400
  return $tea.cast<CreateScalingConfigurationResponse>(await this.callApi(params, req, runtime), new CreateScalingConfigurationResponse({}));
13703
14401
  }
13704
14402
 
14403
+ /**
14404
+ * Auto Scaling automatically scales out Elastic Compute Service (ECS) instances based on the specified scaling configuration. ECS instances can be configured in the following modes:
14405
+ * * InstancePatternInfo.N: intelligent configuration mode. In this mode, you need to only specify the number of vCPUs, memory size, instance family, and maximum price. The system selects an instance type that is provided at the lowest price 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 helps reduce the failures of scale-out activities caused by insufficient inventory of instance types.
14406
+ * * InstanceType: In this mode, you must specify one instance type.
14407
+ * * InstanceTypes.N: In this mode, you must specify multiple instance types.
14408
+ * * InstanceTypeOverride.N: In this mode, you must specify multiple instance types and specify weights for the instance types.
14409
+ * * Cpu and Memory: In this mode, you must specify the number of vCPUs and the memory size. Auto Scaling determines a set of available instance types based on factors such as I/O optimization requirements and zones. Then, Auto Scaling preferentially creates ECS instances of the instance type that is provided at the lowest price. 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.
14410
+ * > You cannot use InstanceType, InstanceTypes, InstanceTypeOverride, and Cpu and Memory at the same time. You can use InstanceType and InstancePatternInfos or use InstanceTypes and InstancePatternInfos at the same time. If you use InstanceType and InstancePatternInfos or use InstanceTypes and InstancePatternInfos at the same time, Auto Scaling preferentially uses the instance types that are specified by InstanceType or InstanceTypes for scale-out activities. If the instance types that are specified by InstanceType or InstanceTypes do not have sufficient inventory, Auto Scaling uses the instance types that are specified by InstancePatternInfos for scale-out activities.
14411
+ *
14412
+ * @param request CreateScalingConfigurationRequest
14413
+ * @return CreateScalingConfigurationResponse
14414
+ */
13705
14415
  async createScalingConfiguration(request: CreateScalingConfigurationRequest): Promise<CreateScalingConfigurationResponse> {
13706
14416
  let runtime = new $Util.RuntimeOptions({ });
13707
14417
  return await this.createScalingConfigurationWithOptions(request, runtime);
13708
14418
  }
13709
14419
 
14420
+ /**
14421
+ * A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.
14422
+ * 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.
14423
+ * A scaling group does not immediately take effect after you create it. You must call the EnableScalingGroup operation to enable a scaling group. After you enable a scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.
14424
+ * 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 in ECS Product Introduction.
14425
+ * If you associate a CLB instance with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server group of the 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:
14426
+ * * 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.
14427
+ * * 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.
14428
+ * > If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all specified server groups.
14429
+ * 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:
14430
+ * * The CLB instance must be in the Active state. You can call the DescribeLoadBalancers operation to query the state of the CLB instance.
14431
+ * * 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.
14432
+ * If you associate an Application Load Balancer (ALB) server group with a scaling group, Auto Scaling automatically adds ECS instances 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.
14433
+ * 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:
14434
+ * * 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.
14435
+ * * 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 in ApsaraDB RDS User Guide.
14436
+ * If you set the MultiAZPolicy parameter of the scaling group to COST_OPTIMIZED, take note of the following items:
14437
+ * * 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.
14438
+ * * 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.
14439
+ * If you set the `Tags.Propagate` parameter for the scaling group to true, the following rules apply:
14440
+ * * 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.
14441
+ * * 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.
14442
+ * * If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group that uses the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.
14443
+ *
14444
+ * @param request CreateScalingGroupRequest
14445
+ * @param runtime runtime options for this request RuntimeOptions
14446
+ * @return CreateScalingGroupResponse
14447
+ */
13710
14448
  async createScalingGroupWithOptions(request: CreateScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingGroupResponse> {
13711
14449
  Util.validateModel(request);
13712
14450
  let query = { };
@@ -13826,6 +14564,10 @@ export default class Client extends OpenApi {
13826
14564
  query["RemovalPolicies"] = request.removalPolicies;
13827
14565
  }
13828
14566
 
14567
+ if (!Util.isUnset(request.resourceGroupId)) {
14568
+ query["ResourceGroupId"] = request.resourceGroupId;
14569
+ }
14570
+
13829
14571
  if (!Util.isUnset(request.resourceOwnerAccount)) {
13830
14572
  query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
13831
14573
  }
@@ -13838,6 +14580,10 @@ export default class Client extends OpenApi {
13838
14580
  query["ScalingPolicy"] = request.scalingPolicy;
13839
14581
  }
13840
14582
 
14583
+ if (!Util.isUnset(request.serverGroups)) {
14584
+ query["ServerGroups"] = request.serverGroups;
14585
+ }
14586
+
13841
14587
  if (!Util.isUnset(request.spotAllocationStrategy)) {
13842
14588
  query["SpotAllocationStrategy"] = request.spotAllocationStrategy;
13843
14589
  }
@@ -13887,11 +14633,45 @@ export default class Client extends OpenApi {
13887
14633
  return $tea.cast<CreateScalingGroupResponse>(await this.callApi(params, req, runtime), new CreateScalingGroupResponse({}));
13888
14634
  }
13889
14635
 
14636
+ /**
14637
+ * A scaling group is a group of Elastic Compute Service (ECS) instances that can be used in similar business scenarios.
14638
+ * 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.
14639
+ * A scaling group does not immediately take effect after you create it. You must call the EnableScalingGroup operation to enable a scaling group. After you enable a scaling group, Auto Scaling can execute scaling rules to trigger scaling activities in the scaling group.
14640
+ * 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 in ECS Product Introduction.
14641
+ * If you associate a CLB instance with a scaling group, Auto Scaling automatically adds ECS instances in the scaling group to the backend server group of the 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:
14642
+ * * 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.
14643
+ * * 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.
14644
+ * > If you specify the default server group and multiple vServer groups at the same time, ECS instances are added to all specified server groups.
14645
+ * 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:
14646
+ * * The CLB instance must be in the Active state. You can call the DescribeLoadBalancers operation to query the state of the CLB instance.
14647
+ * * 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.
14648
+ * If you associate an Application Load Balancer (ALB) server group with a scaling group, Auto Scaling automatically adds ECS instances 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.
14649
+ * 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:
14650
+ * * 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.
14651
+ * * 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 in ApsaraDB RDS User Guide.
14652
+ * If you set the MultiAZPolicy parameter of the scaling group to COST_OPTIMIZED, take note of the following items:
14653
+ * * 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.
14654
+ * * 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.
14655
+ * If you set the `Tags.Propagate` parameter for the scaling group to true, the following rules apply:
14656
+ * * 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.
14657
+ * * 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.
14658
+ * * If the tag key that you specify in a scaling configuration and the tag key that you add to the scaling group that uses the scaling configuration are the same, the tag value that you specify in the scaling configuration is preferentially used.
14659
+ *
14660
+ * @param request CreateScalingGroupRequest
14661
+ * @return CreateScalingGroupResponse
14662
+ */
13890
14663
  async createScalingGroup(request: CreateScalingGroupRequest): Promise<CreateScalingGroupResponse> {
13891
14664
  let runtime = new $Util.RuntimeOptions({ });
13892
14665
  return await this.createScalingGroupWithOptions(request, runtime);
13893
14666
  }
13894
14667
 
14668
+ /**
14669
+ * Creates a scaling rule.
14670
+ *
14671
+ * @param request CreateScalingRuleRequest
14672
+ * @param runtime runtime options for this request RuntimeOptions
14673
+ * @return CreateScalingRuleResponse
14674
+ */
13895
14675
  async createScalingRuleWithOptions(request: CreateScalingRuleRequest, runtime: $Util.RuntimeOptions): Promise<CreateScalingRuleResponse> {
13896
14676
  Util.validateModel(request);
13897
14677
  let query = { };
@@ -14004,11 +14784,24 @@ export default class Client extends OpenApi {
14004
14784
  return $tea.cast<CreateScalingRuleResponse>(await this.callApi(params, req, runtime), new CreateScalingRuleResponse({}));
14005
14785
  }
14006
14786
 
14787
+ /**
14788
+ * Creates a scaling rule.
14789
+ *
14790
+ * @param request CreateScalingRuleRequest
14791
+ * @return CreateScalingRuleResponse
14792
+ */
14007
14793
  async createScalingRule(request: CreateScalingRuleRequest): Promise<CreateScalingRuleResponse> {
14008
14794
  let runtime = new $Util.RuntimeOptions({ });
14009
14795
  return await this.createScalingRuleWithOptions(request, runtime);
14010
14796
  }
14011
14797
 
14798
+ /**
14799
+ * Creates a scheduled task.
14800
+ *
14801
+ * @param request CreateScheduledTaskRequest
14802
+ * @param runtime runtime options for this request RuntimeOptions
14803
+ * @return CreateScheduledTaskResponse
14804
+ */
14012
14805
  async createScheduledTaskWithOptions(request: CreateScheduledTaskRequest, runtime: $Util.RuntimeOptions): Promise<CreateScheduledTaskResponse> {
14013
14806
  Util.validateModel(request);
14014
14807
  let query = { };
@@ -14097,6 +14890,12 @@ export default class Client extends OpenApi {
14097
14890
  return $tea.cast<CreateScheduledTaskResponse>(await this.callApi(params, req, runtime), new CreateScheduledTaskResponse({}));
14098
14891
  }
14099
14892
 
14893
+ /**
14894
+ * Creates a scheduled task.
14895
+ *
14896
+ * @param request CreateScheduledTaskRequest
14897
+ * @return CreateScheduledTaskResponse
14898
+ */
14100
14899
  async createScheduledTask(request: CreateScheduledTaskRequest): Promise<CreateScheduledTaskResponse> {
14101
14900
  let runtime = new $Util.RuntimeOptions({ });
14102
14901
  return await this.createScheduledTaskWithOptions(request, runtime);
@@ -14184,6 +14983,13 @@ export default class Client extends OpenApi {
14184
14983
  return await this.deleteAlarmWithOptions(request, runtime);
14185
14984
  }
14186
14985
 
14986
+ /**
14987
+ * Deletes a scaling configuration that is used to create elastic container instances.
14988
+ *
14989
+ * @param request DeleteEciScalingConfigurationRequest
14990
+ * @param runtime runtime options for this request RuntimeOptions
14991
+ * @return DeleteEciScalingConfigurationResponse
14992
+ */
14187
14993
  async deleteEciScalingConfigurationWithOptions(request: DeleteEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<DeleteEciScalingConfigurationResponse> {
14188
14994
  Util.validateModel(request);
14189
14995
  let query = { };
@@ -14224,11 +15030,26 @@ export default class Client extends OpenApi {
14224
15030
  return $tea.cast<DeleteEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new DeleteEciScalingConfigurationResponse({}));
14225
15031
  }
14226
15032
 
15033
+ /**
15034
+ * Deletes a scaling configuration that is used to create elastic container instances.
15035
+ *
15036
+ * @param request DeleteEciScalingConfigurationRequest
15037
+ * @return DeleteEciScalingConfigurationResponse
15038
+ */
14227
15039
  async deleteEciScalingConfiguration(request: DeleteEciScalingConfigurationRequest): Promise<DeleteEciScalingConfigurationResponse> {
14228
15040
  let runtime = new $Util.RuntimeOptions({ });
14229
15041
  return await this.deleteEciScalingConfigurationWithOptions(request, runtime);
14230
15042
  }
14231
15043
 
15044
+ /**
15045
+ * 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:
15046
+ * * 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.
15047
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.
15048
+ *
15049
+ * @param request DeleteLifecycleHookRequest
15050
+ * @param runtime runtime options for this request RuntimeOptions
15051
+ * @return DeleteLifecycleHookResponse
15052
+ */
14232
15053
  async deleteLifecycleHookWithOptions(request: DeleteLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<DeleteLifecycleHookResponse> {
14233
15054
  Util.validateModel(request);
14234
15055
  let query = { };
@@ -14277,6 +15098,14 @@ export default class Client extends OpenApi {
14277
15098
  return $tea.cast<DeleteLifecycleHookResponse>(await this.callApi(params, req, runtime), new DeleteLifecycleHookResponse({}));
14278
15099
  }
14279
15100
 
15101
+ /**
15102
+ * 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:
15103
+ * * 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.
15104
+ * * Specify the lifecycle hook ID by using the LifecycleHookId parameter. In this case, the ScalingGroupId parameter and the LifecycleHookName parameter are ignored.
15105
+ *
15106
+ * @param request DeleteLifecycleHookRequest
15107
+ * @return DeleteLifecycleHookResponse
15108
+ */
14280
15109
  async deleteLifecycleHook(request: DeleteLifecycleHookRequest): Promise<DeleteLifecycleHookResponse> {
14281
15110
  let runtime = new $Util.RuntimeOptions({ });
14282
15111
  return await this.deleteLifecycleHookWithOptions(request, runtime);
@@ -14327,6 +15156,13 @@ export default class Client extends OpenApi {
14327
15156
  return await this.deleteNotificationConfigurationWithOptions(request, runtime);
14328
15157
  }
14329
15158
 
15159
+ /**
15160
+ * Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.
15161
+ *
15162
+ * @param request DeleteScalingConfigurationRequest
15163
+ * @param runtime runtime options for this request RuntimeOptions
15164
+ * @return DeleteScalingConfigurationResponse
15165
+ */
14330
15166
  async deleteScalingConfigurationWithOptions(request: DeleteScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<DeleteScalingConfigurationResponse> {
14331
15167
  Util.validateModel(request);
14332
15168
  let query = { };
@@ -14363,11 +15199,24 @@ export default class Client extends OpenApi {
14363
15199
  return $tea.cast<DeleteScalingConfigurationResponse>(await this.callApi(params, req, runtime), new DeleteScalingConfigurationResponse({}));
14364
15200
  }
14365
15201
 
15202
+ /**
15203
+ * Deletes a scaling configuration that is used to create Elastic Compute Service (ECS) instances.
15204
+ *
15205
+ * @param request DeleteScalingConfigurationRequest
15206
+ * @return DeleteScalingConfigurationResponse
15207
+ */
14366
15208
  async deleteScalingConfiguration(request: DeleteScalingConfigurationRequest): Promise<DeleteScalingConfigurationResponse> {
14367
15209
  let runtime = new $Util.RuntimeOptions({ });
14368
15210
  return await this.deleteScalingConfigurationWithOptions(request, runtime);
14369
15211
  }
14370
15212
 
15213
+ /**
15214
+ * Deletes a scaling group.
15215
+ *
15216
+ * @param request DeleteScalingGroupRequest
15217
+ * @param runtime runtime options for this request RuntimeOptions
15218
+ * @return DeleteScalingGroupResponse
15219
+ */
14371
15220
  async deleteScalingGroupWithOptions(request: DeleteScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<DeleteScalingGroupResponse> {
14372
15221
  Util.validateModel(request);
14373
15222
  let query = { };
@@ -14412,6 +15261,12 @@ export default class Client extends OpenApi {
14412
15261
  return $tea.cast<DeleteScalingGroupResponse>(await this.callApi(params, req, runtime), new DeleteScalingGroupResponse({}));
14413
15262
  }
14414
15263
 
15264
+ /**
15265
+ * Deletes a scaling group.
15266
+ *
15267
+ * @param request DeleteScalingGroupRequest
15268
+ * @return DeleteScalingGroupResponse
15269
+ */
14415
15270
  async deleteScalingGroup(request: DeleteScalingGroupRequest): Promise<DeleteScalingGroupResponse> {
14416
15271
  let runtime = new $Util.RuntimeOptions({ });
14417
15272
  return await this.deleteScalingGroupWithOptions(request, runtime);
@@ -14641,6 +15496,13 @@ export default class Client extends OpenApi {
14641
15496
  return await this.describeEciScalingConfigurationsWithOptions(request, runtime);
14642
15497
  }
14643
15498
 
15499
+ /**
15500
+ * Queries lifecycle actions.
15501
+ *
15502
+ * @param request DescribeLifecycleActionsRequest
15503
+ * @param runtime runtime options for this request RuntimeOptions
15504
+ * @return DescribeLifecycleActionsResponse
15505
+ */
14644
15506
  async describeLifecycleActionsWithOptions(request: DescribeLifecycleActionsRequest, runtime: $Util.RuntimeOptions): Promise<DescribeLifecycleActionsResponse> {
14645
15507
  Util.validateModel(request);
14646
15508
  let query = { };
@@ -14689,11 +15551,27 @@ export default class Client extends OpenApi {
14689
15551
  return $tea.cast<DescribeLifecycleActionsResponse>(await this.callApi(params, req, runtime), new DescribeLifecycleActionsResponse({}));
14690
15552
  }
14691
15553
 
15554
+ /**
15555
+ * Queries lifecycle actions.
15556
+ *
15557
+ * @param request DescribeLifecycleActionsRequest
15558
+ * @return DescribeLifecycleActionsResponse
15559
+ */
14692
15560
  async describeLifecycleActions(request: DescribeLifecycleActionsRequest): Promise<DescribeLifecycleActionsResponse> {
14693
15561
  let runtime = new $Util.RuntimeOptions({ });
14694
15562
  return await this.describeLifecycleActionsWithOptions(request, runtime);
14695
15563
  }
14696
15564
 
15565
+ /**
15566
+ * You can use one of the following methods to query lifecycle hooks:
15567
+ * * 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.
15568
+ * * Specify the scaling group ID by using the ScalingGroupId parameter.
15569
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter at the same time.
15570
+ *
15571
+ * @param request DescribeLifecycleHooksRequest
15572
+ * @param runtime runtime options for this request RuntimeOptions
15573
+ * @return DescribeLifecycleHooksResponse
15574
+ */
14697
15575
  async describeLifecycleHooksWithOptions(request: DescribeLifecycleHooksRequest, runtime: $Util.RuntimeOptions): Promise<DescribeLifecycleHooksResponse> {
14698
15576
  Util.validateModel(request);
14699
15577
  let query = { };
@@ -14750,6 +15628,15 @@ export default class Client extends OpenApi {
14750
15628
  return $tea.cast<DescribeLifecycleHooksResponse>(await this.callApi(params, req, runtime), new DescribeLifecycleHooksResponse({}));
14751
15629
  }
14752
15630
 
15631
+ /**
15632
+ * You can use one of the following methods to query lifecycle hooks:
15633
+ * * 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.
15634
+ * * Specify the scaling group ID by using the ScalingGroupId parameter.
15635
+ * * Specify the scaling group ID by using the ScalingGroupId parameter and the lifecycle hook name by using the LifecycleHookName parameter at the same time.
15636
+ *
15637
+ * @param request DescribeLifecycleHooksRequest
15638
+ * @return DescribeLifecycleHooksResponse
15639
+ */
14753
15640
  async describeLifecycleHooks(request: DescribeLifecycleHooksRequest): Promise<DescribeLifecycleHooksResponse> {
14754
15641
  let runtime = new $Util.RuntimeOptions({ });
14755
15642
  return await this.describeLifecycleHooksWithOptions(request, runtime);
@@ -14903,6 +15790,15 @@ export default class Client extends OpenApi {
14903
15790
  return await this.describeRegionsWithOptions(request, runtime);
14904
15791
  }
14905
15792
 
15793
+ /**
15794
+ * You can specify a scaling group ID to query all scaling activities in the scaling group.
15795
+ * You can filter query results based on the status of scaling activities.
15796
+ * You can query scaling activities that are executed in the previous 30 days.
15797
+ *
15798
+ * @param request DescribeScalingActivitiesRequest
15799
+ * @param runtime runtime options for this request RuntimeOptions
15800
+ * @return DescribeScalingActivitiesResponse
15801
+ */
14906
15802
  async describeScalingActivitiesWithOptions(request: DescribeScalingActivitiesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingActivitiesResponse> {
14907
15803
  Util.validateModel(request);
14908
15804
  let query = { };
@@ -14963,6 +15859,14 @@ export default class Client extends OpenApi {
14963
15859
  return $tea.cast<DescribeScalingActivitiesResponse>(await this.callApi(params, req, runtime), new DescribeScalingActivitiesResponse({}));
14964
15860
  }
14965
15861
 
15862
+ /**
15863
+ * You can specify a scaling group ID to query all scaling activities in the scaling group.
15864
+ * You can filter query results based on the status of scaling activities.
15865
+ * You can query scaling activities that are executed in the previous 30 days.
15866
+ *
15867
+ * @param request DescribeScalingActivitiesRequest
15868
+ * @return DescribeScalingActivitiesResponse
15869
+ */
14966
15870
  async describeScalingActivities(request: DescribeScalingActivitiesRequest): Promise<DescribeScalingActivitiesResponse> {
14967
15871
  let runtime = new $Util.RuntimeOptions({ });
14968
15872
  return await this.describeScalingActivitiesWithOptions(request, runtime);
@@ -15101,6 +16005,10 @@ export default class Client extends OpenApi {
15101
16005
  query["RegionId"] = request.regionId;
15102
16006
  }
15103
16007
 
16008
+ if (!Util.isUnset(request.resourceGroupId)) {
16009
+ query["ResourceGroupId"] = request.resourceGroupId;
16010
+ }
16011
+
15104
16012
  if (!Util.isUnset(request.resourceOwnerAccount)) {
15105
16013
  query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
15106
16014
  }
@@ -15143,6 +16051,13 @@ export default class Client extends OpenApi {
15143
16051
  return await this.describeScalingGroupsWithOptions(request, runtime);
15144
16052
  }
15145
16053
 
16054
+ /**
16055
+ * You can query ECS instances by scaling group ID, scaling configuration ID, health status, lifecycle status, and instance creation method.
16056
+ *
16057
+ * @param request DescribeScalingInstancesRequest
16058
+ * @param runtime runtime options for this request RuntimeOptions
16059
+ * @return DescribeScalingInstancesResponse
16060
+ */
15146
16061
  async describeScalingInstancesWithOptions(request: DescribeScalingInstancesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingInstancesResponse> {
15147
16062
  Util.validateModel(request);
15148
16063
  let query = { };
@@ -15219,11 +16134,24 @@ export default class Client extends OpenApi {
15219
16134
  return $tea.cast<DescribeScalingInstancesResponse>(await this.callApi(params, req, runtime), new DescribeScalingInstancesResponse({}));
15220
16135
  }
15221
16136
 
16137
+ /**
16138
+ * You can query ECS instances by scaling group ID, scaling configuration ID, health status, lifecycle status, and instance creation method.
16139
+ *
16140
+ * @param request DescribeScalingInstancesRequest
16141
+ * @return DescribeScalingInstancesResponse
16142
+ */
15222
16143
  async describeScalingInstances(request: DescribeScalingInstancesRequest): Promise<DescribeScalingInstancesResponse> {
15223
16144
  let runtime = new $Util.RuntimeOptions({ });
15224
16145
  return await this.describeScalingInstancesWithOptions(request, runtime);
15225
16146
  }
15226
16147
 
16148
+ /**
16149
+ * Queries all scaling rules in a scaling group.
16150
+ *
16151
+ * @param request DescribeScalingRulesRequest
16152
+ * @param runtime runtime options for this request RuntimeOptions
16153
+ * @return DescribeScalingRulesResponse
16154
+ */
15227
16155
  async describeScalingRulesWithOptions(request: DescribeScalingRulesRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScalingRulesResponse> {
15228
16156
  Util.validateModel(request);
15229
16157
  let query = { };
@@ -15296,11 +16224,24 @@ export default class Client extends OpenApi {
15296
16224
  return $tea.cast<DescribeScalingRulesResponse>(await this.callApi(params, req, runtime), new DescribeScalingRulesResponse({}));
15297
16225
  }
15298
16226
 
16227
+ /**
16228
+ * Queries all scaling rules in a scaling group.
16229
+ *
16230
+ * @param request DescribeScalingRulesRequest
16231
+ * @return DescribeScalingRulesResponse
16232
+ */
15299
16233
  async describeScalingRules(request: DescribeScalingRulesRequest): Promise<DescribeScalingRulesResponse> {
15300
16234
  let runtime = new $Util.RuntimeOptions({ });
15301
16235
  return await this.describeScalingRulesWithOptions(request, runtime);
15302
16236
  }
15303
16237
 
16238
+ /**
16239
+ * You can query scheduled tasks by scaling rule, task ID, or task name.
16240
+ *
16241
+ * @param request DescribeScheduledTasksRequest
16242
+ * @param runtime runtime options for this request RuntimeOptions
16243
+ * @return DescribeScheduledTasksResponse
16244
+ */
15304
16245
  async describeScheduledTasksWithOptions(request: DescribeScheduledTasksRequest, runtime: $Util.RuntimeOptions): Promise<DescribeScheduledTasksResponse> {
15305
16246
  Util.validateModel(request);
15306
16247
  let query = { };
@@ -15365,6 +16306,12 @@ export default class Client extends OpenApi {
15365
16306
  return $tea.cast<DescribeScheduledTasksResponse>(await this.callApi(params, req, runtime), new DescribeScheduledTasksResponse({}));
15366
16307
  }
15367
16308
 
16309
+ /**
16310
+ * You can query scheduled tasks by scaling rule, task ID, or task name.
16311
+ *
16312
+ * @param request DescribeScheduledTasksRequest
16313
+ * @return DescribeScheduledTasksResponse
16314
+ */
15368
16315
  async describeScheduledTasks(request: DescribeScheduledTasksRequest): Promise<DescribeScheduledTasksResponse> {
15369
16316
  let runtime = new $Util.RuntimeOptions({ });
15370
16317
  return await this.describeScheduledTasksWithOptions(request, runtime);
@@ -15476,6 +16423,13 @@ export default class Client extends OpenApi {
15476
16423
  return await this.detachDBInstancesWithOptions(request, runtime);
15477
16424
  }
15478
16425
 
16426
+ /**
16427
+ * Removes one or more Elastic Compute Service (ECS) instances or elastic container instances from a scaling group.
16428
+ *
16429
+ * @param request DetachInstancesRequest
16430
+ * @param runtime runtime options for this request RuntimeOptions
16431
+ * @return DetachInstancesResponse
16432
+ */
15479
16433
  async detachInstancesWithOptions(request: DetachInstancesRequest, runtime: $Util.RuntimeOptions): Promise<DetachInstancesResponse> {
15480
16434
  Util.validateModel(request);
15481
16435
  let query = { };
@@ -15532,6 +16486,12 @@ export default class Client extends OpenApi {
15532
16486
  return $tea.cast<DetachInstancesResponse>(await this.callApi(params, req, runtime), new DetachInstancesResponse({}));
15533
16487
  }
15534
16488
 
16489
+ /**
16490
+ * Removes one or more Elastic Compute Service (ECS) instances or elastic container instances from a scaling group.
16491
+ *
16492
+ * @param request DetachInstancesRequest
16493
+ * @return DetachInstancesResponse
16494
+ */
15535
16495
  async detachInstances(request: DetachInstancesRequest): Promise<DetachInstancesResponse> {
15536
16496
  let runtime = new $Util.RuntimeOptions({ });
15537
16497
  return await this.detachInstancesWithOptions(request, runtime);
@@ -15594,6 +16554,66 @@ export default class Client extends OpenApi {
15594
16554
  return await this.detachLoadBalancersWithOptions(request, runtime);
15595
16555
  }
15596
16556
 
16557
+ async detachServerGroupsWithOptions(request: DetachServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<DetachServerGroupsResponse> {
16558
+ Util.validateModel(request);
16559
+ let query = { };
16560
+ if (!Util.isUnset(request.clientToken)) {
16561
+ query["ClientToken"] = request.clientToken;
16562
+ }
16563
+
16564
+ if (!Util.isUnset(request.forceDetach)) {
16565
+ query["ForceDetach"] = request.forceDetach;
16566
+ }
16567
+
16568
+ if (!Util.isUnset(request.ownerId)) {
16569
+ query["OwnerId"] = request.ownerId;
16570
+ }
16571
+
16572
+ if (!Util.isUnset(request.regionId)) {
16573
+ query["RegionId"] = request.regionId;
16574
+ }
16575
+
16576
+ if (!Util.isUnset(request.resourceOwnerAccount)) {
16577
+ query["ResourceOwnerAccount"] = request.resourceOwnerAccount;
16578
+ }
16579
+
16580
+ if (!Util.isUnset(request.scalingGroupId)) {
16581
+ query["ScalingGroupId"] = request.scalingGroupId;
16582
+ }
16583
+
16584
+ if (!Util.isUnset(request.serverGroups)) {
16585
+ query["ServerGroups"] = request.serverGroups;
16586
+ }
16587
+
16588
+ let req = new $OpenApi.OpenApiRequest({
16589
+ query: OpenApiUtil.query(query),
16590
+ });
16591
+ let params = new $OpenApi.Params({
16592
+ action: "DetachServerGroups",
16593
+ version: "2022-02-22",
16594
+ protocol: "HTTPS",
16595
+ pathname: "/",
16596
+ method: "POST",
16597
+ authType: "AK",
16598
+ style: "RPC",
16599
+ reqBodyType: "formData",
16600
+ bodyType: "json",
16601
+ });
16602
+ return $tea.cast<DetachServerGroupsResponse>(await this.callApi(params, req, runtime), new DetachServerGroupsResponse({}));
16603
+ }
16604
+
16605
+ async detachServerGroups(request: DetachServerGroupsRequest): Promise<DetachServerGroupsResponse> {
16606
+ let runtime = new $Util.RuntimeOptions({ });
16607
+ return await this.detachServerGroupsWithOptions(request, runtime);
16608
+ }
16609
+
16610
+ /**
16611
+ * Detaches one or more vServer groups of a Classic Load Balancer (CLB) instance from a scaling group.
16612
+ *
16613
+ * @param request DetachVServerGroupsRequest
16614
+ * @param runtime runtime options for this request RuntimeOptions
16615
+ * @return DetachVServerGroupsResponse
16616
+ */
15597
16617
  async detachVServerGroupsWithOptions(request: DetachVServerGroupsRequest, runtime: $Util.RuntimeOptions): Promise<DetachVServerGroupsResponse> {
15598
16618
  Util.validateModel(request);
15599
16619
  let query = { };
@@ -15642,6 +16662,12 @@ export default class Client extends OpenApi {
15642
16662
  return $tea.cast<DetachVServerGroupsResponse>(await this.callApi(params, req, runtime), new DetachVServerGroupsResponse({}));
15643
16663
  }
15644
16664
 
16665
+ /**
16666
+ * Detaches one or more vServer groups of a Classic Load Balancer (CLB) instance from a scaling group.
16667
+ *
16668
+ * @param request DetachVServerGroupsRequest
16669
+ * @return DetachVServerGroupsResponse
16670
+ */
15645
16671
  async detachVServerGroups(request: DetachVServerGroupsRequest): Promise<DetachVServerGroupsResponse> {
15646
16672
  let runtime = new $Util.RuntimeOptions({ });
15647
16673
  return await this.detachVServerGroupsWithOptions(request, runtime);
@@ -15688,6 +16714,13 @@ export default class Client extends OpenApi {
15688
16714
  return await this.disableAlarmWithOptions(request, runtime);
15689
16715
  }
15690
16716
 
16717
+ /**
16718
+ * Disables a scaling group.
16719
+ *
16720
+ * @param request DisableScalingGroupRequest
16721
+ * @param runtime runtime options for this request RuntimeOptions
16722
+ * @return DisableScalingGroupResponse
16723
+ */
15691
16724
  async disableScalingGroupWithOptions(request: DisableScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<DisableScalingGroupResponse> {
15692
16725
  Util.validateModel(request);
15693
16726
  let query = { };
@@ -15728,6 +16761,12 @@ export default class Client extends OpenApi {
15728
16761
  return $tea.cast<DisableScalingGroupResponse>(await this.callApi(params, req, runtime), new DisableScalingGroupResponse({}));
15729
16762
  }
15730
16763
 
16764
+ /**
16765
+ * Disables a scaling group.
16766
+ *
16767
+ * @param request DisableScalingGroupRequest
16768
+ * @return DisableScalingGroupResponse
16769
+ */
15731
16770
  async disableScalingGroup(request: DisableScalingGroupRequest): Promise<DisableScalingGroupResponse> {
15732
16771
  let runtime = new $Util.RuntimeOptions({ });
15733
16772
  return await this.disableScalingGroupWithOptions(request, runtime);
@@ -15774,6 +16813,17 @@ export default class Client extends OpenApi {
15774
16813
  return await this.enableAlarmWithOptions(request, runtime);
15775
16814
  }
15776
16815
 
16816
+ /**
16817
+ * 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.
16818
+ * > 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.
16819
+ * If you specify a value for the InstanceId 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.
16820
+ * * If the total number of ECS instances is less than the minimum number of instances allowed 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 allowed in your scaling group is five, and you specify the InstanceId parameter to add two created ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.
16821
+ * * If the value of the TotalCapactiy parameter is greater than the value of the MaxSize parameter, the call fails.
16822
+ *
16823
+ * @param request EnableScalingGroupRequest
16824
+ * @param runtime runtime options for this request RuntimeOptions
16825
+ * @return EnableScalingGroupResponse
16826
+ */
15777
16827
  async enableScalingGroupWithOptions(request: EnableScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<EnableScalingGroupResponse> {
15778
16828
  Util.validateModel(request);
15779
16829
  let query = { };
@@ -15842,11 +16892,31 @@ export default class Client extends OpenApi {
15842
16892
  return $tea.cast<EnableScalingGroupResponse>(await this.callApi(params, req, runtime), new EnableScalingGroupResponse({}));
15843
16893
  }
15844
16894
 
16895
+ /**
16896
+ * 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.
16897
+ * > 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.
16898
+ * If you specify a value for the InstanceId 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.
16899
+ * * If the total number of ECS instances is less than the minimum number of instances allowed 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 allowed in your scaling group is five, and you specify the InstanceId parameter to add two created ECS instances to the scaling group, Auto Scaling automatically creates three instances in the scaling group after the two instances are added.
16900
+ * * If the value of the TotalCapactiy parameter is greater than the value of the MaxSize parameter, the call fails.
16901
+ *
16902
+ * @param request EnableScalingGroupRequest
16903
+ * @return EnableScalingGroupResponse
16904
+ */
15845
16905
  async enableScalingGroup(request: EnableScalingGroupRequest): Promise<EnableScalingGroupResponse> {
15846
16906
  let runtime = new $Util.RuntimeOptions({ });
15847
16907
  return await this.enableScalingGroupWithOptions(request, runtime);
15848
16908
  }
15849
16909
 
16910
+ /**
16911
+ * * 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.
16912
+ * * You can remove an ECS instance that is in the Standby state from a scaling group and release the instance.
16913
+ * * 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.
16914
+ * * 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.
16915
+ *
16916
+ * @param request EnterStandbyRequest
16917
+ * @param runtime runtime options for this request RuntimeOptions
16918
+ * @return EnterStandbyResponse
16919
+ */
15850
16920
  async enterStandbyWithOptions(request: EnterStandbyRequest, runtime: $Util.RuntimeOptions): Promise<EnterStandbyResponse> {
15851
16921
  Util.validateModel(request);
15852
16922
  let query = { };
@@ -15891,11 +16961,27 @@ export default class Client extends OpenApi {
15891
16961
  return $tea.cast<EnterStandbyResponse>(await this.callApi(params, req, runtime), new EnterStandbyResponse({}));
15892
16962
  }
15893
16963
 
16964
+ /**
16965
+ * * 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.
16966
+ * * You can remove an ECS instance that is in the Standby state from a scaling group and release the instance.
16967
+ * * 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.
16968
+ * * 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.
16969
+ *
16970
+ * @param request EnterStandbyRequest
16971
+ * @return EnterStandbyResponse
16972
+ */
15894
16973
  async enterStandby(request: EnterStandbyRequest): Promise<EnterStandbyResponse> {
15895
16974
  let runtime = new $Util.RuntimeOptions({ });
15896
16975
  return await this.enterStandbyWithOptions(request, runtime);
15897
16976
  }
15898
16977
 
16978
+ /**
16979
+ * Executes a scaling rule.
16980
+ *
16981
+ * @param request ExecuteScalingRuleRequest
16982
+ * @param runtime runtime options for this request RuntimeOptions
16983
+ * @return ExecuteScalingRuleResponse
16984
+ */
15899
16985
  async executeScalingRuleWithOptions(request: ExecuteScalingRuleRequest, runtime: $Util.RuntimeOptions): Promise<ExecuteScalingRuleResponse> {
15900
16986
  Util.validateModel(request);
15901
16987
  let query = { };
@@ -15952,11 +17038,24 @@ export default class Client extends OpenApi {
15952
17038
  return $tea.cast<ExecuteScalingRuleResponse>(await this.callApi(params, req, runtime), new ExecuteScalingRuleResponse({}));
15953
17039
  }
15954
17040
 
17041
+ /**
17042
+ * Executes a scaling rule.
17043
+ *
17044
+ * @param request ExecuteScalingRuleRequest
17045
+ * @return ExecuteScalingRuleResponse
17046
+ */
15955
17047
  async executeScalingRule(request: ExecuteScalingRuleRequest): Promise<ExecuteScalingRuleResponse> {
15956
17048
  let runtime = new $Util.RuntimeOptions({ });
15957
17049
  return await this.executeScalingRuleWithOptions(request, runtime);
15958
17050
  }
15959
17051
 
17052
+ /**
17053
+ * 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.
17054
+ *
17055
+ * @param request ExitStandbyRequest
17056
+ * @param runtime runtime options for this request RuntimeOptions
17057
+ * @return ExitStandbyResponse
17058
+ */
15960
17059
  async exitStandbyWithOptions(request: ExitStandbyRequest, runtime: $Util.RuntimeOptions): Promise<ExitStandbyResponse> {
15961
17060
  Util.validateModel(request);
15962
17061
  let query = { };
@@ -16005,6 +17104,12 @@ export default class Client extends OpenApi {
16005
17104
  return $tea.cast<ExitStandbyResponse>(await this.callApi(params, req, runtime), new ExitStandbyResponse({}));
16006
17105
  }
16007
17106
 
17107
+ /**
17108
+ * 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.
17109
+ *
17110
+ * @param request ExitStandbyRequest
17111
+ * @return ExitStandbyResponse
17112
+ */
16008
17113
  async exitStandby(request: ExitStandbyRequest): Promise<ExitStandbyResponse> {
16009
17114
  let runtime = new $Util.RuntimeOptions({ });
16010
17115
  return await this.exitStandbyWithOptions(request, runtime);
@@ -16165,6 +17270,13 @@ export default class Client extends OpenApi {
16165
17270
  return await this.listTagValuesWithOptions(request, runtime);
16166
17271
  }
16167
17272
 
17273
+ /**
17274
+ * Modifies an event-triggered task.
17275
+ *
17276
+ * @param request ModifyAlarmRequest
17277
+ * @param runtime runtime options for this request RuntimeOptions
17278
+ * @return ModifyAlarmResponse
17279
+ */
16168
17280
  async modifyAlarmWithOptions(request: ModifyAlarmRequest, runtime: $Util.RuntimeOptions): Promise<ModifyAlarmResponse> {
16169
17281
  Util.validateModel(request);
16170
17282
  let query = { };
@@ -16261,11 +17373,24 @@ export default class Client extends OpenApi {
16261
17373
  return $tea.cast<ModifyAlarmResponse>(await this.callApi(params, req, runtime), new ModifyAlarmResponse({}));
16262
17374
  }
16263
17375
 
17376
+ /**
17377
+ * Modifies an event-triggered task.
17378
+ *
17379
+ * @param request ModifyAlarmRequest
17380
+ * @return ModifyAlarmResponse
17381
+ */
16264
17382
  async modifyAlarm(request: ModifyAlarmRequest): Promise<ModifyAlarmResponse> {
16265
17383
  let runtime = new $Util.RuntimeOptions({ });
16266
17384
  return await this.modifyAlarmWithOptions(request, runtime);
16267
17385
  }
16268
17386
 
17387
+ /**
17388
+ * 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.
17389
+ *
17390
+ * @param request ModifyEciScalingConfigurationRequest
17391
+ * @param runtime runtime options for this request RuntimeOptions
17392
+ * @return ModifyEciScalingConfigurationResponse
17393
+ */
16269
17394
  async modifyEciScalingConfigurationWithOptions(request: ModifyEciScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<ModifyEciScalingConfigurationResponse> {
16270
17395
  Util.validateModel(request);
16271
17396
  let query = { };
@@ -16293,6 +17418,10 @@ export default class Client extends OpenApi {
16293
17418
  query["Containers"] = request.containers;
16294
17419
  }
16295
17420
 
17421
+ if (!Util.isUnset(request.containersUpdateType)) {
17422
+ query["ContainersUpdateType"] = request.containersUpdateType;
17423
+ }
17424
+
16296
17425
  if (!Util.isUnset(request.costOptimization)) {
16297
17426
  query["CostOptimization"] = request.costOptimization;
16298
17427
  }
@@ -16462,11 +17591,24 @@ export default class Client extends OpenApi {
16462
17591
  return $tea.cast<ModifyEciScalingConfigurationResponse>(await this.callApi(params, req, runtime), new ModifyEciScalingConfigurationResponse({}));
16463
17592
  }
16464
17593
 
17594
+ /**
17595
+ * 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.
17596
+ *
17597
+ * @param request ModifyEciScalingConfigurationRequest
17598
+ * @return ModifyEciScalingConfigurationResponse
17599
+ */
16465
17600
  async modifyEciScalingConfiguration(request: ModifyEciScalingConfigurationRequest): Promise<ModifyEciScalingConfigurationResponse> {
16466
17601
  let runtime = new $Util.RuntimeOptions({ });
16467
17602
  return await this.modifyEciScalingConfigurationWithOptions(request, runtime);
16468
17603
  }
16469
17604
 
17605
+ /**
17606
+ * Modifies a lifecycle hook.
17607
+ *
17608
+ * @param request ModifyLifecycleHookRequest
17609
+ * @param runtime runtime options for this request RuntimeOptions
17610
+ * @return ModifyLifecycleHookResponse
17611
+ */
16470
17612
  async modifyLifecycleHookWithOptions(request: ModifyLifecycleHookRequest, runtime: $Util.RuntimeOptions): Promise<ModifyLifecycleHookResponse> {
16471
17613
  Util.validateModel(request);
16472
17614
  let query = { };
@@ -16539,6 +17681,12 @@ export default class Client extends OpenApi {
16539
17681
  return $tea.cast<ModifyLifecycleHookResponse>(await this.callApi(params, req, runtime), new ModifyLifecycleHookResponse({}));
16540
17682
  }
16541
17683
 
17684
+ /**
17685
+ * Modifies a lifecycle hook.
17686
+ *
17687
+ * @param request ModifyLifecycleHookRequest
17688
+ * @return ModifyLifecycleHookResponse
17689
+ */
16542
17690
  async modifyLifecycleHook(request: ModifyLifecycleHookRequest): Promise<ModifyLifecycleHookResponse> {
16543
17691
  let runtime = new $Util.RuntimeOptions({ });
16544
17692
  return await this.modifyLifecycleHookWithOptions(request, runtime);
@@ -16593,6 +17741,13 @@ export default class Client extends OpenApi {
16593
17741
  return await this.modifyNotificationConfigurationWithOptions(request, runtime);
16594
17742
  }
16595
17743
 
17744
+ /**
17745
+ * 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.
17746
+ *
17747
+ * @param tmpReq ModifyScalingConfigurationRequest
17748
+ * @param runtime runtime options for this request RuntimeOptions
17749
+ * @return ModifyScalingConfigurationResponse
17750
+ */
16596
17751
  async modifyScalingConfigurationWithOptions(tmpReq: ModifyScalingConfigurationRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScalingConfigurationResponse> {
16597
17752
  Util.validateModel(tmpReq);
16598
17753
  let request = new ModifyScalingConfigurationShrinkRequest({ });
@@ -16778,11 +17933,11 @@ export default class Client extends OpenApi {
16778
17933
  query["ZoneId"] = request.zoneId;
16779
17934
  }
16780
17935
 
16781
- if (!Util.isUnset($tea.toMap(request.privatePoolOptions))) {
17936
+ if (!Util.isUnset(request.privatePoolOptions)) {
16782
17937
  query["PrivatePoolOptions"] = request.privatePoolOptions;
16783
17938
  }
16784
17939
 
16785
- if (!Util.isUnset($tea.toMap(request.systemDisk))) {
17940
+ if (!Util.isUnset(request.systemDisk)) {
16786
17941
  query["SystemDisk"] = request.systemDisk;
16787
17942
  }
16788
17943
 
@@ -16803,11 +17958,24 @@ export default class Client extends OpenApi {
16803
17958
  return $tea.cast<ModifyScalingConfigurationResponse>(await this.callApi(params, req, runtime), new ModifyScalingConfigurationResponse({}));
16804
17959
  }
16805
17960
 
17961
+ /**
17962
+ * 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.
17963
+ *
17964
+ * @param request ModifyScalingConfigurationRequest
17965
+ * @return ModifyScalingConfigurationResponse
17966
+ */
16806
17967
  async modifyScalingConfiguration(request: ModifyScalingConfigurationRequest): Promise<ModifyScalingConfigurationResponse> {
16807
17968
  let runtime = new $Util.RuntimeOptions({ });
16808
17969
  return await this.modifyScalingConfigurationWithOptions(request, runtime);
16809
17970
  }
16810
17971
 
17972
+ /**
17973
+ * Modifies a scaling group.
17974
+ *
17975
+ * @param request ModifyScalingGroupRequest
17976
+ * @param runtime runtime options for this request RuntimeOptions
17977
+ * @return ModifyScalingGroupResponse
17978
+ */
16811
17979
  async modifyScalingGroupWithOptions(request: ModifyScalingGroupRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScalingGroupResponse> {
16812
17980
  Util.validateModel(request);
16813
17981
  let query = { };
@@ -16944,6 +18112,12 @@ export default class Client extends OpenApi {
16944
18112
  return $tea.cast<ModifyScalingGroupResponse>(await this.callApi(params, req, runtime), new ModifyScalingGroupResponse({}));
16945
18113
  }
16946
18114
 
18115
+ /**
18116
+ * Modifies a scaling group.
18117
+ *
18118
+ * @param request ModifyScalingGroupRequest
18119
+ * @return ModifyScalingGroupResponse
18120
+ */
16947
18121
  async modifyScalingGroup(request: ModifyScalingGroupRequest): Promise<ModifyScalingGroupResponse> {
16948
18122
  let runtime = new $Util.RuntimeOptions({ });
16949
18123
  return await this.modifyScalingGroupWithOptions(request, runtime);
@@ -17062,6 +18236,13 @@ export default class Client extends OpenApi {
17062
18236
  return await this.modifyScalingRuleWithOptions(request, runtime);
17063
18237
  }
17064
18238
 
18239
+ /**
18240
+ * Modifies a scheduled task.
18241
+ *
18242
+ * @param request ModifyScheduledTaskRequest
18243
+ * @param runtime runtime options for this request RuntimeOptions
18244
+ * @return ModifyScheduledTaskResponse
18245
+ */
17065
18246
  async modifyScheduledTaskWithOptions(request: ModifyScheduledTaskRequest, runtime: $Util.RuntimeOptions): Promise<ModifyScheduledTaskResponse> {
17066
18247
  Util.validateModel(request);
17067
18248
  let query = { };
@@ -17154,11 +18335,24 @@ export default class Client extends OpenApi {
17154
18335
  return $tea.cast<ModifyScheduledTaskResponse>(await this.callApi(params, req, runtime), new ModifyScheduledTaskResponse({}));
17155
18336
  }
17156
18337
 
18338
+ /**
18339
+ * Modifies a scheduled task.
18340
+ *
18341
+ * @param request ModifyScheduledTaskRequest
18342
+ * @return ModifyScheduledTaskResponse
18343
+ */
17157
18344
  async modifyScheduledTask(request: ModifyScheduledTaskRequest): Promise<ModifyScheduledTaskResponse> {
17158
18345
  let runtime = new $Util.RuntimeOptions({ });
17159
18346
  return await this.modifyScheduledTaskWithOptions(request, runtime);
17160
18347
  }
17161
18348
 
18349
+ /**
18350
+ * Rebalances Elastic Compute Service (ECS) instances in a multi-zone scaling group across zones.
18351
+ *
18352
+ * @param request RebalanceInstancesRequest
18353
+ * @param runtime runtime options for this request RuntimeOptions
18354
+ * @return RebalanceInstancesResponse
18355
+ */
17162
18356
  async rebalanceInstancesWithOptions(request: RebalanceInstancesRequest, runtime: $Util.RuntimeOptions): Promise<RebalanceInstancesResponse> {
17163
18357
  Util.validateModel(request);
17164
18358
  let query = { };
@@ -17203,11 +18397,24 @@ export default class Client extends OpenApi {
17203
18397
  return $tea.cast<RebalanceInstancesResponse>(await this.callApi(params, req, runtime), new RebalanceInstancesResponse({}));
17204
18398
  }
17205
18399
 
18400
+ /**
18401
+ * Rebalances Elastic Compute Service (ECS) instances in a multi-zone scaling group across zones.
18402
+ *
18403
+ * @param request RebalanceInstancesRequest
18404
+ * @return RebalanceInstancesResponse
18405
+ */
17206
18406
  async rebalanceInstances(request: RebalanceInstancesRequest): Promise<RebalanceInstancesResponse> {
17207
18407
  let runtime = new $Util.RuntimeOptions({ });
17208
18408
  return await this.rebalanceInstancesWithOptions(request, runtime);
17209
18409
  }
17210
18410
 
18411
+ /**
18412
+ * Prolongs a lifecycle hook for Elastic Compute Service (ECS) instances.
18413
+ *
18414
+ * @param request RecordLifecycleActionHeartbeatRequest
18415
+ * @param runtime runtime options for this request RuntimeOptions
18416
+ * @return RecordLifecycleActionHeartbeatResponse
18417
+ */
17211
18418
  async recordLifecycleActionHeartbeatWithOptions(request: RecordLifecycleActionHeartbeatRequest, runtime: $Util.RuntimeOptions): Promise<RecordLifecycleActionHeartbeatResponse> {
17212
18419
  Util.validateModel(request);
17213
18420
  let query = { };
@@ -17256,11 +18463,31 @@ export default class Client extends OpenApi {
17256
18463
  return $tea.cast<RecordLifecycleActionHeartbeatResponse>(await this.callApi(params, req, runtime), new RecordLifecycleActionHeartbeatResponse({}));
17257
18464
  }
17258
18465
 
18466
+ /**
18467
+ * Prolongs a lifecycle hook for Elastic Compute Service (ECS) instances.
18468
+ *
18469
+ * @param request RecordLifecycleActionHeartbeatRequest
18470
+ * @return RecordLifecycleActionHeartbeatResponse
18471
+ */
17259
18472
  async recordLifecycleActionHeartbeat(request: RecordLifecycleActionHeartbeatRequest): Promise<RecordLifecycleActionHeartbeatResponse> {
17260
18473
  let runtime = new $Util.RuntimeOptions({ });
17261
18474
  return await this.recordLifecycleActionHeartbeatWithOptions(request, runtime);
17262
18475
  }
17263
18476
 
18477
+ /**
18478
+ * * Before you call this operation, make sure that the following requirements are met:
18479
+ * * The scaling group is in the Active state.
18480
+ * * No scaling activity is in progress within the scaling group.
18481
+ * > If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.
18482
+ * * 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.
18483
+ * * 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.
18484
+ * * 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.
18485
+ * 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.
18486
+ *
18487
+ * @param request RemoveInstancesRequest
18488
+ * @param runtime runtime options for this request RuntimeOptions
18489
+ * @return RemoveInstancesResponse
18490
+ */
17264
18491
  async removeInstancesWithOptions(request: RemoveInstancesRequest, runtime: $Util.RuntimeOptions): Promise<RemoveInstancesResponse> {
17265
18492
  Util.validateModel(request);
17266
18493
  let query = { };
@@ -17317,6 +18544,19 @@ export default class Client extends OpenApi {
17317
18544
  return $tea.cast<RemoveInstancesResponse>(await this.callApi(params, req, runtime), new RemoveInstancesResponse({}));
17318
18545
  }
17319
18546
 
18547
+ /**
18548
+ * * Before you call this operation, make sure that the following requirements are met:
18549
+ * * The scaling group is in the Active state.
18550
+ * * No scaling activity is in progress within the scaling group.
18551
+ * > If no scaling activity is in progress within the scaling group, you can call the operation even within the cooldown period.
18552
+ * * 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.
18553
+ * * 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.
18554
+ * * 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.
18555
+ * 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.
18556
+ *
18557
+ * @param request RemoveInstancesRequest
18558
+ * @return RemoveInstancesResponse
18559
+ */
17320
18560
  async removeInstances(request: RemoveInstancesRequest): Promise<RemoveInstancesResponse> {
17321
18561
  let runtime = new $Util.RuntimeOptions({ });
17322
18562
  return await this.removeInstancesWithOptions(request, runtime);
@@ -17371,6 +18611,20 @@ export default class Client extends OpenApi {
17371
18611
  return await this.resumeProcessesWithOptions(request, runtime);
17372
18612
  }
17373
18613
 
18614
+ /**
18615
+ * 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:
18616
+ * * The following conditions must be met:
18617
+ * * The scaling group is in the Active state.
18618
+ * * No scaling activities in the scaling group are in progress.
18619
+ * * If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.
18620
+ * * 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.
18621
+ * * 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.
18622
+ * 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.
18623
+ *
18624
+ * @param request ScaleWithAdjustmentRequest
18625
+ * @param runtime runtime options for this request RuntimeOptions
18626
+ * @return ScaleWithAdjustmentResponse
18627
+ */
17374
18628
  async scaleWithAdjustmentWithOptions(request: ScaleWithAdjustmentRequest, runtime: $Util.RuntimeOptions): Promise<ScaleWithAdjustmentResponse> {
17375
18629
  Util.validateModel(request);
17376
18630
  let query = { };
@@ -17423,6 +18677,19 @@ export default class Client extends OpenApi {
17423
18677
  return $tea.cast<ScaleWithAdjustmentResponse>(await this.callApi(params, req, runtime), new ScaleWithAdjustmentResponse({}));
17424
18678
  }
17425
18679
 
18680
+ /**
18681
+ * 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:
18682
+ * * The following conditions must be met:
18683
+ * * The scaling group is in the Active state.
18684
+ * * No scaling activities in the scaling group are in progress.
18685
+ * * If no scaling activities in the scaling group are in progress, the operation can trigger scaling activities even before the cooldown time expires.
18686
+ * * 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.
18687
+ * * 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.
18688
+ * 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.
18689
+ *
18690
+ * @param request ScaleWithAdjustmentRequest
18691
+ * @return ScaleWithAdjustmentResponse
18692
+ */
17426
18693
  async scaleWithAdjustment(request: ScaleWithAdjustmentRequest): Promise<ScaleWithAdjustmentResponse> {
17427
18694
  let runtime = new $Util.RuntimeOptions({ });
17428
18695
  return await this.scaleWithAdjustmentWithOptions(request, runtime);
@@ -17473,6 +18740,13 @@ export default class Client extends OpenApi {
17473
18740
  return await this.setGroupDeletionProtectionWithOptions(request, runtime);
17474
18741
  }
17475
18742
 
18743
+ /**
18744
+ * Configures the health check feature for Elastic Compute Service (ECS) instances.
18745
+ *
18746
+ * @param request SetInstanceHealthRequest
18747
+ * @param runtime runtime options for this request RuntimeOptions
18748
+ * @return SetInstanceHealthResponse
18749
+ */
17476
18750
  async setInstanceHealthWithOptions(request: SetInstanceHealthRequest, runtime: $Util.RuntimeOptions): Promise<SetInstanceHealthResponse> {
17477
18751
  Util.validateModel(request);
17478
18752
  let query = { };
@@ -17509,11 +18783,24 @@ export default class Client extends OpenApi {
17509
18783
  return $tea.cast<SetInstanceHealthResponse>(await this.callApi(params, req, runtime), new SetInstanceHealthResponse({}));
17510
18784
  }
17511
18785
 
18786
+ /**
18787
+ * Configures the health check feature for Elastic Compute Service (ECS) instances.
18788
+ *
18789
+ * @param request SetInstanceHealthRequest
18790
+ * @return SetInstanceHealthResponse
18791
+ */
17512
18792
  async setInstanceHealth(request: SetInstanceHealthRequest): Promise<SetInstanceHealthResponse> {
17513
18793
  let runtime = new $Util.RuntimeOptions({ });
17514
18794
  return await this.setInstanceHealthWithOptions(request, runtime);
17515
18795
  }
17516
18796
 
18797
+ /**
18798
+ * Puts one or more Elastic Compute Service (ECS) instances into the Protected state.
18799
+ *
18800
+ * @param request SetInstancesProtectionRequest
18801
+ * @param runtime runtime options for this request RuntimeOptions
18802
+ * @return SetInstancesProtectionResponse
18803
+ */
17517
18804
  async setInstancesProtectionWithOptions(request: SetInstancesProtectionRequest, runtime: $Util.RuntimeOptions): Promise<SetInstancesProtectionResponse> {
17518
18805
  Util.validateModel(request);
17519
18806
  let query = { };
@@ -17554,6 +18841,12 @@ export default class Client extends OpenApi {
17554
18841
  return $tea.cast<SetInstancesProtectionResponse>(await this.callApi(params, req, runtime), new SetInstancesProtectionResponse({}));
17555
18842
  }
17556
18843
 
18844
+ /**
18845
+ * Puts one or more Elastic Compute Service (ECS) instances into the Protected state.
18846
+ *
18847
+ * @param request SetInstancesProtectionRequest
18848
+ * @return SetInstancesProtectionResponse
18849
+ */
17557
18850
  async setInstancesProtection(request: SetInstancesProtectionRequest): Promise<SetInstancesProtectionResponse> {
17558
18851
  let runtime = new $Util.RuntimeOptions({ });
17559
18852
  return await this.setInstancesProtectionWithOptions(request, runtime);