com.aliyun.sdk.service.ess20220222.models.DetachLoadBalancersRequest Maven / Gradle / Ivy
Show all versions of alibabacloud-ess20220222 Show documentation
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.ess20220222.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link DetachLoadBalancersRequest} extends {@link RequestModel}
*
* DetachLoadBalancersRequest
*/
public class DetachLoadBalancersRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Async")
private Boolean async;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ForceDetach")
private Boolean forceDetach;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LoadBalancers")
@com.aliyun.core.annotation.Validation(required = true)
private java.util.List < String > loadBalancers;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("RegionId")
private String regionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ScalingGroupId")
@com.aliyun.core.annotation.Validation(required = true)
private String scalingGroupId;
private DetachLoadBalancersRequest(Builder builder) {
super(builder);
this.async = builder.async;
this.clientToken = builder.clientToken;
this.forceDetach = builder.forceDetach;
this.loadBalancers = builder.loadBalancers;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.scalingGroupId = builder.scalingGroupId;
}
public static Builder builder() {
return new Builder();
}
public static DetachLoadBalancersRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return async
*/
public Boolean getAsync() {
return this.async;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return forceDetach
*/
public Boolean getForceDetach() {
return this.forceDetach;
}
/**
* @return loadBalancers
*/
public java.util.List < String > getLoadBalancers() {
return this.loadBalancers;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return scalingGroupId
*/
public String getScalingGroupId() {
return this.scalingGroupId;
}
public static final class Builder extends Request.Builder {
private Boolean async;
private String clientToken;
private Boolean forceDetach;
private java.util.List < String > loadBalancers;
private Long ownerId;
private String regionId;
private String resourceOwnerAccount;
private String scalingGroupId;
private Builder() {
super();
}
private Builder(DetachLoadBalancersRequest request) {
super(request);
this.async = request.async;
this.clientToken = request.clientToken;
this.forceDetach = request.forceDetach;
this.loadBalancers = request.loadBalancers;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.scalingGroupId = request.scalingGroupId;
}
/**
* Specifies whether to detach the CLB instance from the scaling group in an asynchronous manner. If you detach the CLB instance from the scaling group in an asynchronous manner, the call is successful only after all operations are successful. If a specific operation fails, the call fails. We recommend that you set this parameter to true.
* Valid values:
*
* - true: detaches the CLB instance from the scaling group in an asynchronous manner. In this case, the ID of the scaling activity is returned.
* - false: does not detach the CLB instance from the scaling group in an asynchronous manner.
*
* Default value: false.
*
* example:
* false
*/
public Builder async(Boolean async) {
this.putQueryParameter("Async", async);
this.async = async;
return this;
}
/**
* The client token that is used to ensure the idempotence of the request. You can use the client to generate the value, but you must ensure that the value 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****
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* Specifies whether to remove Elastic Compute Service (ECS) instances in the scaling group from the backend server groups of the CLB instance. Valid values:
*
* - true
* - false
*
* Default value: false.
*
* example:
* false
*/
public Builder forceDetach(Boolean forceDetach) {
this.putQueryParameter("ForceDetach", forceDetach);
this.forceDetach = forceDetach;
return this;
}
/**
* The IDs of the CLB instances. You can specify up to five instance IDs.
* This parameter is required.
*/
public Builder loadBalancers(java.util.List < String > loadBalancers) {
this.putQueryParameter("LoadBalancers", loadBalancers);
this.loadBalancers = loadBalancers;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The region ID of the scaling group.
*
* example:
* cn-qingdao
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* The ID of the scaling group.
* This parameter is required.
*
* example:
* asg-bp1ffogfdauy0jw0****
*/
public Builder scalingGroupId(String scalingGroupId) {
this.putQueryParameter("ScalingGroupId", scalingGroupId);
this.scalingGroupId = scalingGroupId;
return this;
}
@Override
public DetachLoadBalancersRequest build() {
return new DetachLoadBalancersRequest(this);
}
}
}