
com.aliyun.sdk.service.polardb20170801.models.ModifyDBNodesClassRequest Maven / Gradle / Ivy
Show all versions of alibabacloud-polardb20170801 Show documentation
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.sdk.service.polardb20170801.models;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
* {@link ModifyDBNodesClassRequest} extends {@link RequestModel}
*
* ModifyDBNodesClassRequest
*/
public class ModifyDBNodesClassRequest 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("DBClusterId")
@com.aliyun.core.annotation.Validation(required = true)
private String DBClusterId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBNode")
@com.aliyun.core.annotation.Validation(required = true)
private java.util.List < DBNode> DBNode;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ModifyType")
@com.aliyun.core.annotation.Validation(required = true)
private String modifyType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerAccount")
private String ownerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("OwnerId")
private Long ownerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PlannedEndTime")
private String plannedEndTime;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PlannedFlashingOffTime")
private String plannedFlashingOffTime;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PlannedStartTime")
private String plannedStartTime;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerAccount")
private String resourceOwnerAccount;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceOwnerId")
private Long resourceOwnerId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("SubCategory")
private String subCategory;
private ModifyDBNodesClassRequest(Builder builder) {
super(builder);
this.clientToken = builder.clientToken;
this.DBClusterId = builder.DBClusterId;
this.DBNode = builder.DBNode;
this.modifyType = builder.modifyType;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.plannedEndTime = builder.plannedEndTime;
this.plannedFlashingOffTime = builder.plannedFlashingOffTime;
this.plannedStartTime = builder.plannedStartTime;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.subCategory = builder.subCategory;
}
public static Builder builder() {
return new Builder();
}
public static ModifyDBNodesClassRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return DBClusterId
*/
public String getDBClusterId() {
return this.DBClusterId;
}
/**
* @return DBNode
*/
public java.util.List < DBNode> getDBNode() {
return this.DBNode;
}
/**
* @return modifyType
*/
public String getModifyType() {
return this.modifyType;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return plannedEndTime
*/
public String getPlannedEndTime() {
return this.plannedEndTime;
}
/**
* @return plannedFlashingOffTime
*/
public String getPlannedFlashingOffTime() {
return this.plannedFlashingOffTime;
}
/**
* @return plannedStartTime
*/
public String getPlannedStartTime() {
return this.plannedStartTime;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return subCategory
*/
public String getSubCategory() {
return this.subCategory;
}
public static final class Builder extends Request.Builder {
private String clientToken;
private String DBClusterId;
private java.util.List < DBNode> DBNode;
private String modifyType;
private String ownerAccount;
private Long ownerId;
private String plannedEndTime;
private String plannedFlashingOffTime;
private String plannedStartTime;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String subCategory;
private Builder() {
super();
}
private Builder(ModifyDBNodesClassRequest request) {
super(request);
this.clientToken = request.clientToken;
this.DBClusterId = request.DBClusterId;
this.DBNode = request.DBNode;
this.modifyType = request.modifyType;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.plannedEndTime = request.plannedEndTime;
this.plannedFlashingOffTime = request.plannedFlashingOffTime;
this.plannedStartTime = request.plannedStartTime;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.subCategory = request.subCategory;
}
/**
* 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 make sure that it is unique among different requests. The token can contain only ASCII characters and cannot exceed 64 characters in length. The token is case-sensitive.
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The cluster ID.
*/
public Builder DBClusterId(String DBClusterId) {
this.putQueryParameter("DBClusterId", DBClusterId);
this.DBClusterId = DBClusterId;
return this;
}
/**
* The details of the nodes.
*/
public Builder DBNode(java.util.List < DBNode> DBNode) {
this.putQueryParameter("DBNode", DBNode);
this.DBNode = DBNode;
return this;
}
/**
* The type of the configuration change. Valid values:
*
*
* * **Upgrade**
* * **Downgrade**
*/
public Builder modifyType(String modifyType) {
this.putQueryParameter("ModifyType", modifyType);
this.modifyType = modifyType;
return this;
}
/**
* OwnerAccount.
*/
public Builder ownerAccount(String ownerAccount) {
this.putQueryParameter("OwnerAccount", ownerAccount);
this.ownerAccount = ownerAccount;
return this;
}
/**
* OwnerId.
*/
public Builder ownerId(Long ownerId) {
this.putQueryParameter("OwnerId", ownerId);
this.ownerId = ownerId;
return this;
}
/**
* The latest start time to upgrade the specifications within the scheduled time period. Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format. The time must be in UTC.
*
*
* >* The value of this parameter must be at least 30 minutes later than the value of PlannedStartTime.
* >* By default, if you specify `PlannedStartTime` but do not specify PlannedEndTime, the latest start time of the task is set to `Value of PlannedEndTime + 30 minutes`. For example, if you set `PlannedStartTime` to `2021-01-14T09:00:00Z` and you do not specify PlannedEndTime, the latest start time of the task is `2021-01-14T09:30:00Z`.
*/
public Builder plannedEndTime(String plannedEndTime) {
this.putQueryParameter("PlannedEndTime", plannedEndTime);
this.plannedEndTime = plannedEndTime;
return this;
}
/**
* PlannedFlashingOffTime.
*/
public Builder plannedFlashingOffTime(String plannedFlashingOffTime) {
this.putQueryParameter("PlannedFlashingOffTime", plannedFlashingOffTime);
this.plannedFlashingOffTime = plannedFlashingOffTime;
return this;
}
/**
* The earliest start time to upgrade the specifications within the scheduled time period. Specify the time in the ISO 8601 standard in the `YYYY-MM-DDThh:mm:ssZ` format. The time must be in UTC.
*
*
* > * This parameter takes effect only when `ModifyType` is set to `Upgrade`.
* >* The earliest start time of the task can be a point in time within the next 24 hours. For example, if the current time is `2021-01-14T09:00:00Z`, you can specify a point in the time that ranges from `2021-01-14T09:00:00Z` to `2021-01-15T09:00:00Z`.
* >* If this parameter is left empty, the upgrade task is immediately performed.
*/
public Builder plannedStartTime(String plannedStartTime) {
this.putQueryParameter("PlannedStartTime", plannedStartTime);
this.plannedStartTime = plannedStartTime;
return this;
}
/**
* ResourceOwnerAccount.
*/
public Builder resourceOwnerAccount(String resourceOwnerAccount) {
this.putQueryParameter("ResourceOwnerAccount", resourceOwnerAccount);
this.resourceOwnerAccount = resourceOwnerAccount;
return this;
}
/**
* ResourceOwnerId.
*/
public Builder resourceOwnerId(Long resourceOwnerId) {
this.putQueryParameter("ResourceOwnerId", resourceOwnerId);
this.resourceOwnerId = resourceOwnerId;
return this;
}
/**
* The category of the cluster. Valid values:
*
*
* * **normal_exclusive**: dedicated
* * **normal_general**: genera-purpose
*/
public Builder subCategory(String subCategory) {
this.putQueryParameter("SubCategory", subCategory);
this.subCategory = subCategory;
return this;
}
@Override
public ModifyDBNodesClassRequest build() {
return new ModifyDBNodesClassRequest(this);
}
}
public static class DBNode extends TeaModel {
@com.aliyun.core.annotation.NameInMap("DBNodeId")
private String DBNodeId;
@com.aliyun.core.annotation.NameInMap("TargetClass")
private String targetClass;
private DBNode(Builder builder) {
this.DBNodeId = builder.DBNodeId;
this.targetClass = builder.targetClass;
}
public static Builder builder() {
return new Builder();
}
public static DBNode create() {
return builder().build();
}
/**
* @return DBNodeId
*/
public String getDBNodeId() {
return this.DBNodeId;
}
/**
* @return targetClass
*/
public String getTargetClass() {
return this.targetClass;
}
public static final class Builder {
private String DBNodeId;
private String targetClass;
/**
* The ID of the node.
*
*
* > If you specify this parameter, DBNode.N.TargetClass is required. N is an integer that starts from 1. The maximum value of N is calculated by using the following formula:16 - The number of current nodes.
*/
public Builder DBNodeId(String DBNodeId) {
this.DBNodeId = DBNodeId;
return this;
}
/**
* The specifications of the node that you want to change. For more information, see [Specifications of compute nodes](~~102542~~).
*
*
* > If you specify this parameter, DBNode.N.DBNodeId is required. N is an integer that starts from 1. The maximum value of N is calculated by using the following formula:16 - The number of current nodes.
*/
public Builder targetClass(String targetClass) {
this.targetClass = targetClass;
return this;
}
public DBNode build() {
return new DBNode(this);
}
}
}
}