com.aliyun.sdk.service.ess20220222.models.DetachDBInstancesRequest 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 DetachDBInstancesRequest} extends {@link RequestModel}
*
* DetachDBInstancesRequest
*/
public class DetachDBInstancesRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBInstances")
@com.aliyun.core.annotation.Validation(required = true)
private java.util.List < String > DBInstances;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ForceDetach")
private Boolean forceDetach;
@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("RemoveSecurityGroup")
private Boolean removeSecurityGroup;
@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 DetachDBInstancesRequest(Builder builder) {
super(builder);
this.clientToken = builder.clientToken;
this.DBInstances = builder.DBInstances;
this.forceDetach = builder.forceDetach;
this.ownerId = builder.ownerId;
this.regionId = builder.regionId;
this.removeSecurityGroup = builder.removeSecurityGroup;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.scalingGroupId = builder.scalingGroupId;
}
public static Builder builder() {
return new Builder();
}
public static DetachDBInstancesRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return DBInstances
*/
public java.util.List < String > getDBInstances() {
return this.DBInstances;
}
/**
* @return forceDetach
*/
public Boolean getForceDetach() {
return this.forceDetach;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return removeSecurityGroup
*/
public Boolean getRemoveSecurityGroup() {
return this.removeSecurityGroup;
}
/**
* @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 String clientToken;
private java.util.List < String > DBInstances;
private Boolean forceDetach;
private Long ownerId;
private String regionId;
private Boolean removeSecurityGroup;
private String resourceOwnerAccount;
private String scalingGroupId;
private Builder() {
super();
}
private Builder(DetachDBInstancesRequest request) {
super(request);
this.clientToken = request.clientToken;
this.DBInstances = request.DBInstances;
this.forceDetach = request.forceDetach;
this.ownerId = request.ownerId;
this.regionId = request.regionId;
this.removeSecurityGroup = request.removeSecurityGroup;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.scalingGroupId = request.scalingGroupId;
}
/**
* 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](~~25965~~).
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The IDs of the ApsaraDB RDS instances. You can specify up to five ApsaraDB RDS instances.
*/
public Builder DBInstances(java.util.List < String > DBInstances) {
this.putQueryParameter("DBInstances", DBInstances);
this.DBInstances = DBInstances;
return this;
}
/**
* Specifies whether to remove the private IP addresses of the existing instances in the scaling group from the IP address whitelist of the ApsaraDB RDS instance. Valid values:
*
*
* * true
* * false
*
* Default value: false.
*/
public Builder forceDetach(Boolean forceDetach) {
this.putQueryParameter("ForceDetach", forceDetach);
this.forceDetach = forceDetach;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The region ID of the scaling group.
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* This parameter takes effect only for databases whose AttachMode is set to SecurityGroup. If you set this parameter to true, Auto Scaling removes the security group ID of the active scaling configuration from the security group whitelist of the database that you want to detach from the scaling group.
*
*
* Default value: false.
*/
public Builder removeSecurityGroup(Boolean removeSecurityGroup) {
this.putQueryParameter("RemoveSecurityGroup", removeSecurityGroup);
this.removeSecurityGroup = removeSecurityGroup;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* The ID of the scaling group.
*/
public Builder scalingGroupId(String scalingGroupId) {
this.putQueryParameter("ScalingGroupId", scalingGroupId);
this.scalingGroupId = scalingGroupId;
return this;
}
@Override
public DetachDBInstancesRequest build() {
return new DetachDBInstancesRequest(this);
}
}
}