com.aliyun.ess20220222.models.RemoveInstancesRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.ess20220222.models;
import com.aliyun.tea.*;
public class RemoveInstancesRequest extends TeaModel {
/**
* The client token that is used to ensure the idempotence of the request. You can use the client to generate the token, but you must make sure that the token is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. For more information, see How to ensure idempotence.
*
* example:
* 123e4567-e89b-12d3-a456-42665544****
*/
@NameInMap("ClientToken")
public String clientToken;
/**
* Specifies whether to adjust the expected number of ECS instances in the scaling group. Valid values:
*
* - true: After ECS instances are removed from the scaling group, the expected number of ECS instances in the scaling group decreases.
* - false: After ECS instances are removed from the scaling group, the expected number of ECS instances in the scaling group remains unchanged.
*
* Default value: true.
*
* example:
* true
*/
@NameInMap("DecreaseDesiredCapacity")
public Boolean decreaseDesiredCapacity;
/**
* Specifies whether to ignore invalid instances when you remove a batch of instances from the scaling group. Valid values:
*
* - true: ignores invalid instances. If invalid instances exist and valid instances are deleted, the corresponding scaling activity enters the Warning state. You can check the scaling activity details to view the invalid instances that are ignored.
* - false: does not ignore invalid instances. If invalid instances exist in the batch of instances that you want to remove from the scaling group, an error is reported.
*
* Default value: false.
*
* example:
* false
*/
@NameInMap("IgnoreInvalidInstance")
public Boolean ignoreInvalidInstance;
/**
* The IDs of the ECS instances that you want to remove from the scaling group.
* This parameter is required.
*/
@NameInMap("InstanceIds")
public java.util.List instanceIds;
@NameInMap("OwnerAccount")
public String ownerAccount;
@NameInMap("OwnerId")
public Long ownerId;
/**
* The region ID of the scaling group.
*
* example:
* cn-qingdao
*/
@NameInMap("RegionId")
public String regionId;
/**
* The action subsequent to the removal of the Elastic Compute Service (ECS) instances. Valid values:
*
* recycle: The ECS instances enter the Economical Mode.
* **
* Note This setting is applicable only if you set ScalingPolicy
to recycle
.
*
* release: The ECS instances are released.
*
*
* ScalingPolicy of the CreateScalingGroup operation specifies the reclaim mode of the scaling group while RemovePolicy of the RemoveInstances operation specifies the subsequent action when an ECS instance is removed from the scaling group. Examples:
*
* - If you set ScalingPolicy and RemovePolicy to recycle, the ECS instances enter the Economical Mode when they are removed.
* - If you set ScalingPolicy to recycle and RemovePolicy to release, the ECS instances are released when they are removed.
* - If you set ScalingPolicy to release and RemovePolicy to recycle, the ECS instances are released when they are removed.
* - If you set ScalingPolicy and RemovePolicy to release, the ECS instances are released when they are removed.
*
* Default value: release.
*
* example:
* release
*/
@NameInMap("RemovePolicy")
public String removePolicy;
@NameInMap("ResourceOwnerAccount")
public String resourceOwnerAccount;
@NameInMap("ResourceOwnerId")
public Long resourceOwnerId;
/**
* The ID of the scaling group.
* This parameter is required.
*
* example:
* asg-bp18p2yfxow2dloq****
*/
@NameInMap("ScalingGroupId")
public String scalingGroupId;
@NameInMap("StopInstanceTimeout")
public Integer stopInstanceTimeout;
public static RemoveInstancesRequest build(java.util.Map map) throws Exception {
RemoveInstancesRequest self = new RemoveInstancesRequest();
return TeaModel.build(map, self);
}
public RemoveInstancesRequest setClientToken(String clientToken) {
this.clientToken = clientToken;
return this;
}
public String getClientToken() {
return this.clientToken;
}
public RemoveInstancesRequest setDecreaseDesiredCapacity(Boolean decreaseDesiredCapacity) {
this.decreaseDesiredCapacity = decreaseDesiredCapacity;
return this;
}
public Boolean getDecreaseDesiredCapacity() {
return this.decreaseDesiredCapacity;
}
public RemoveInstancesRequest setIgnoreInvalidInstance(Boolean ignoreInvalidInstance) {
this.ignoreInvalidInstance = ignoreInvalidInstance;
return this;
}
public Boolean getIgnoreInvalidInstance() {
return this.ignoreInvalidInstance;
}
public RemoveInstancesRequest setInstanceIds(java.util.List instanceIds) {
this.instanceIds = instanceIds;
return this;
}
public java.util.List getInstanceIds() {
return this.instanceIds;
}
public RemoveInstancesRequest setOwnerAccount(String ownerAccount) {
this.ownerAccount = ownerAccount;
return this;
}
public String getOwnerAccount() {
return this.ownerAccount;
}
public RemoveInstancesRequest setOwnerId(Long ownerId) {
this.ownerId = ownerId;
return this;
}
public Long getOwnerId() {
return this.ownerId;
}
public RemoveInstancesRequest setRegionId(String regionId) {
this.regionId = regionId;
return this;
}
public String getRegionId() {
return this.regionId;
}
public RemoveInstancesRequest setRemovePolicy(String removePolicy) {
this.removePolicy = removePolicy;
return this;
}
public String getRemovePolicy() {
return this.removePolicy;
}
public RemoveInstancesRequest setResourceOwnerAccount(String resourceOwnerAccount) {
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
public RemoveInstancesRequest setResourceOwnerId(Long resourceOwnerId) {
this.resourceOwnerId = resourceOwnerId;
return this;
}
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
public RemoveInstancesRequest setScalingGroupId(String scalingGroupId) {
this.scalingGroupId = scalingGroupId;
return this;
}
public String getScalingGroupId() {
return this.scalingGroupId;
}
public RemoveInstancesRequest setStopInstanceTimeout(Integer stopInstanceTimeout) {
this.stopInstanceTimeout = stopInstanceTimeout;
return this;
}
public Integer getStopInstanceTimeout() {
return this.stopInstanceTimeout;
}
}