com.aliyun.sdk.service.polardb20170801.models.CreateDBClusterRequest 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 com.aliyun.sdk.gateway.pop.*;
import darabonba.core.*;
import darabonba.core.async.*;
import darabonba.core.sync.*;
import darabonba.core.client.*;
import darabonba.core.RequestModel;
import darabonba.core.TeaModel;
import com.aliyun.sdk.gateway.pop.models.*;
/**
*
* {@link CreateDBClusterRequest} extends {@link RequestModel}
*
* CreateDBClusterRequest
*/
public class CreateDBClusterRequest extends Request {
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("AllowShutDown")
private String allowShutDown;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Architecture")
private String architecture;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("AutoRenew")
private Boolean autoRenew;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("BackupRetentionPolicyOnClusterDeletion")
private String backupRetentionPolicyOnClusterDeletion;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("BurstingEnabled")
private String burstingEnabled;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClientToken")
private String clientToken;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CloneDataPoint")
private String cloneDataPoint;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ClusterNetworkType")
private String clusterNetworkType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CreationCategory")
private String creationCategory;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("CreationOption")
private String creationOption;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBClusterDescription")
private String DBClusterDescription;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBMinorVersion")
private String DBMinorVersion;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBNodeClass")
@com.aliyun.core.annotation.Validation(required = true)
private String DBNodeClass;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBNodeNum")
private Integer DBNodeNum;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBType")
@com.aliyun.core.annotation.Validation(required = true)
private String DBType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DBVersion")
@com.aliyun.core.annotation.Validation(required = true)
private String DBVersion;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("DefaultTimeZone")
private String defaultTimeZone;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("GDNId")
private String GDNId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("HotStandbyCluster")
private String hotStandbyCluster;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LoosePolarLogBin")
private String loosePolarLogBin;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LooseXEngine")
private String looseXEngine;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LooseXEngineUseMemoryPct")
private String looseXEngineUseMemoryPct;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("LowerCaseTableNames")
private String lowerCaseTableNames;
@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("ParameterGroupId")
private String parameterGroupId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("PayType")
@com.aliyun.core.annotation.Validation(required = true)
private String payType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Period")
private String period;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ProvisionedIops")
private Long provisionedIops;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ProxyClass")
private String proxyClass;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ProxyType")
private String proxyType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("RegionId")
@com.aliyun.core.annotation.Validation(required = true)
private String regionId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ResourceGroupId")
private String resourceGroupId;
@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("ScaleMax")
private String scaleMax;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ScaleMin")
private String scaleMin;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ScaleRoNumMax")
private String scaleRoNumMax;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ScaleRoNumMin")
private String scaleRoNumMin;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("SecurityIPList")
private String securityIPList;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ServerlessType")
private String serverlessType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("SourceResourceId")
private String sourceResourceId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StandbyAZ")
private String standbyAZ;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageAutoScale")
private String storageAutoScale;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageEncryption")
private Boolean storageEncryption;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageEncryptionKey")
private String storageEncryptionKey;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StoragePayType")
private String storagePayType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageSpace")
@com.aliyun.core.annotation.Validation(maximum = 64000, minimum = 20)
private Long storageSpace;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageType")
private String storageType;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StorageUpperBound")
@com.aliyun.core.annotation.Validation(maximum = 64000, minimum = 20)
private Long storageUpperBound;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("StrictConsistency")
private String strictConsistency;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TDEStatus")
private Boolean TDEStatus;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("Tag")
private java.util.List tag;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("TargetMinorVersion")
private String targetMinorVersion;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("UsedTime")
private String usedTime;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("VPCId")
private String VPCId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("VSwitchId")
private String vSwitchId;
@com.aliyun.core.annotation.Query
@com.aliyun.core.annotation.NameInMap("ZoneId")
private String zoneId;
private CreateDBClusterRequest(Builder builder) {
super(builder);
this.allowShutDown = builder.allowShutDown;
this.architecture = builder.architecture;
this.autoRenew = builder.autoRenew;
this.backupRetentionPolicyOnClusterDeletion = builder.backupRetentionPolicyOnClusterDeletion;
this.burstingEnabled = builder.burstingEnabled;
this.clientToken = builder.clientToken;
this.cloneDataPoint = builder.cloneDataPoint;
this.clusterNetworkType = builder.clusterNetworkType;
this.creationCategory = builder.creationCategory;
this.creationOption = builder.creationOption;
this.DBClusterDescription = builder.DBClusterDescription;
this.DBMinorVersion = builder.DBMinorVersion;
this.DBNodeClass = builder.DBNodeClass;
this.DBNodeNum = builder.DBNodeNum;
this.DBType = builder.DBType;
this.DBVersion = builder.DBVersion;
this.defaultTimeZone = builder.defaultTimeZone;
this.GDNId = builder.GDNId;
this.hotStandbyCluster = builder.hotStandbyCluster;
this.loosePolarLogBin = builder.loosePolarLogBin;
this.looseXEngine = builder.looseXEngine;
this.looseXEngineUseMemoryPct = builder.looseXEngineUseMemoryPct;
this.lowerCaseTableNames = builder.lowerCaseTableNames;
this.ownerAccount = builder.ownerAccount;
this.ownerId = builder.ownerId;
this.parameterGroupId = builder.parameterGroupId;
this.payType = builder.payType;
this.period = builder.period;
this.provisionedIops = builder.provisionedIops;
this.proxyClass = builder.proxyClass;
this.proxyType = builder.proxyType;
this.regionId = builder.regionId;
this.resourceGroupId = builder.resourceGroupId;
this.resourceOwnerAccount = builder.resourceOwnerAccount;
this.resourceOwnerId = builder.resourceOwnerId;
this.scaleMax = builder.scaleMax;
this.scaleMin = builder.scaleMin;
this.scaleRoNumMax = builder.scaleRoNumMax;
this.scaleRoNumMin = builder.scaleRoNumMin;
this.securityIPList = builder.securityIPList;
this.serverlessType = builder.serverlessType;
this.sourceResourceId = builder.sourceResourceId;
this.standbyAZ = builder.standbyAZ;
this.storageAutoScale = builder.storageAutoScale;
this.storageEncryption = builder.storageEncryption;
this.storageEncryptionKey = builder.storageEncryptionKey;
this.storagePayType = builder.storagePayType;
this.storageSpace = builder.storageSpace;
this.storageType = builder.storageType;
this.storageUpperBound = builder.storageUpperBound;
this.strictConsistency = builder.strictConsistency;
this.TDEStatus = builder.TDEStatus;
this.tag = builder.tag;
this.targetMinorVersion = builder.targetMinorVersion;
this.usedTime = builder.usedTime;
this.VPCId = builder.VPCId;
this.vSwitchId = builder.vSwitchId;
this.zoneId = builder.zoneId;
}
public static Builder builder() {
return new Builder();
}
public static CreateDBClusterRequest create() {
return builder().build();
}
@Override
public Builder toBuilder() {
return new Builder(this);
}
/**
* @return allowShutDown
*/
public String getAllowShutDown() {
return this.allowShutDown;
}
/**
* @return architecture
*/
public String getArchitecture() {
return this.architecture;
}
/**
* @return autoRenew
*/
public Boolean getAutoRenew() {
return this.autoRenew;
}
/**
* @return backupRetentionPolicyOnClusterDeletion
*/
public String getBackupRetentionPolicyOnClusterDeletion() {
return this.backupRetentionPolicyOnClusterDeletion;
}
/**
* @return burstingEnabled
*/
public String getBurstingEnabled() {
return this.burstingEnabled;
}
/**
* @return clientToken
*/
public String getClientToken() {
return this.clientToken;
}
/**
* @return cloneDataPoint
*/
public String getCloneDataPoint() {
return this.cloneDataPoint;
}
/**
* @return clusterNetworkType
*/
public String getClusterNetworkType() {
return this.clusterNetworkType;
}
/**
* @return creationCategory
*/
public String getCreationCategory() {
return this.creationCategory;
}
/**
* @return creationOption
*/
public String getCreationOption() {
return this.creationOption;
}
/**
* @return DBClusterDescription
*/
public String getDBClusterDescription() {
return this.DBClusterDescription;
}
/**
* @return DBMinorVersion
*/
public String getDBMinorVersion() {
return this.DBMinorVersion;
}
/**
* @return DBNodeClass
*/
public String getDBNodeClass() {
return this.DBNodeClass;
}
/**
* @return DBNodeNum
*/
public Integer getDBNodeNum() {
return this.DBNodeNum;
}
/**
* @return DBType
*/
public String getDBType() {
return this.DBType;
}
/**
* @return DBVersion
*/
public String getDBVersion() {
return this.DBVersion;
}
/**
* @return defaultTimeZone
*/
public String getDefaultTimeZone() {
return this.defaultTimeZone;
}
/**
* @return GDNId
*/
public String getGDNId() {
return this.GDNId;
}
/**
* @return hotStandbyCluster
*/
public String getHotStandbyCluster() {
return this.hotStandbyCluster;
}
/**
* @return loosePolarLogBin
*/
public String getLoosePolarLogBin() {
return this.loosePolarLogBin;
}
/**
* @return looseXEngine
*/
public String getLooseXEngine() {
return this.looseXEngine;
}
/**
* @return looseXEngineUseMemoryPct
*/
public String getLooseXEngineUseMemoryPct() {
return this.looseXEngineUseMemoryPct;
}
/**
* @return lowerCaseTableNames
*/
public String getLowerCaseTableNames() {
return this.lowerCaseTableNames;
}
/**
* @return ownerAccount
*/
public String getOwnerAccount() {
return this.ownerAccount;
}
/**
* @return ownerId
*/
public Long getOwnerId() {
return this.ownerId;
}
/**
* @return parameterGroupId
*/
public String getParameterGroupId() {
return this.parameterGroupId;
}
/**
* @return payType
*/
public String getPayType() {
return this.payType;
}
/**
* @return period
*/
public String getPeriod() {
return this.period;
}
/**
* @return provisionedIops
*/
public Long getProvisionedIops() {
return this.provisionedIops;
}
/**
* @return proxyClass
*/
public String getProxyClass() {
return this.proxyClass;
}
/**
* @return proxyType
*/
public String getProxyType() {
return this.proxyType;
}
/**
* @return regionId
*/
public String getRegionId() {
return this.regionId;
}
/**
* @return resourceGroupId
*/
public String getResourceGroupId() {
return this.resourceGroupId;
}
/**
* @return resourceOwnerAccount
*/
public String getResourceOwnerAccount() {
return this.resourceOwnerAccount;
}
/**
* @return resourceOwnerId
*/
public Long getResourceOwnerId() {
return this.resourceOwnerId;
}
/**
* @return scaleMax
*/
public String getScaleMax() {
return this.scaleMax;
}
/**
* @return scaleMin
*/
public String getScaleMin() {
return this.scaleMin;
}
/**
* @return scaleRoNumMax
*/
public String getScaleRoNumMax() {
return this.scaleRoNumMax;
}
/**
* @return scaleRoNumMin
*/
public String getScaleRoNumMin() {
return this.scaleRoNumMin;
}
/**
* @return securityIPList
*/
public String getSecurityIPList() {
return this.securityIPList;
}
/**
* @return serverlessType
*/
public String getServerlessType() {
return this.serverlessType;
}
/**
* @return sourceResourceId
*/
public String getSourceResourceId() {
return this.sourceResourceId;
}
/**
* @return standbyAZ
*/
public String getStandbyAZ() {
return this.standbyAZ;
}
/**
* @return storageAutoScale
*/
public String getStorageAutoScale() {
return this.storageAutoScale;
}
/**
* @return storageEncryption
*/
public Boolean getStorageEncryption() {
return this.storageEncryption;
}
/**
* @return storageEncryptionKey
*/
public String getStorageEncryptionKey() {
return this.storageEncryptionKey;
}
/**
* @return storagePayType
*/
public String getStoragePayType() {
return this.storagePayType;
}
/**
* @return storageSpace
*/
public Long getStorageSpace() {
return this.storageSpace;
}
/**
* @return storageType
*/
public String getStorageType() {
return this.storageType;
}
/**
* @return storageUpperBound
*/
public Long getStorageUpperBound() {
return this.storageUpperBound;
}
/**
* @return strictConsistency
*/
public String getStrictConsistency() {
return this.strictConsistency;
}
/**
* @return TDEStatus
*/
public Boolean getTDEStatus() {
return this.TDEStatus;
}
/**
* @return tag
*/
public java.util.List getTag() {
return this.tag;
}
/**
* @return targetMinorVersion
*/
public String getTargetMinorVersion() {
return this.targetMinorVersion;
}
/**
* @return usedTime
*/
public String getUsedTime() {
return this.usedTime;
}
/**
* @return VPCId
*/
public String getVPCId() {
return this.VPCId;
}
/**
* @return vSwitchId
*/
public String getVSwitchId() {
return this.vSwitchId;
}
/**
* @return zoneId
*/
public String getZoneId() {
return this.zoneId;
}
public static final class Builder extends Request.Builder {
private String allowShutDown;
private String architecture;
private Boolean autoRenew;
private String backupRetentionPolicyOnClusterDeletion;
private String burstingEnabled;
private String clientToken;
private String cloneDataPoint;
private String clusterNetworkType;
private String creationCategory;
private String creationOption;
private String DBClusterDescription;
private String DBMinorVersion;
private String DBNodeClass;
private Integer DBNodeNum;
private String DBType;
private String DBVersion;
private String defaultTimeZone;
private String GDNId;
private String hotStandbyCluster;
private String loosePolarLogBin;
private String looseXEngine;
private String looseXEngineUseMemoryPct;
private String lowerCaseTableNames;
private String ownerAccount;
private Long ownerId;
private String parameterGroupId;
private String payType;
private String period;
private Long provisionedIops;
private String proxyClass;
private String proxyType;
private String regionId;
private String resourceGroupId;
private String resourceOwnerAccount;
private Long resourceOwnerId;
private String scaleMax;
private String scaleMin;
private String scaleRoNumMax;
private String scaleRoNumMin;
private String securityIPList;
private String serverlessType;
private String sourceResourceId;
private String standbyAZ;
private String storageAutoScale;
private Boolean storageEncryption;
private String storageEncryptionKey;
private String storagePayType;
private Long storageSpace;
private String storageType;
private Long storageUpperBound;
private String strictConsistency;
private Boolean TDEStatus;
private java.util.List tag;
private String targetMinorVersion;
private String usedTime;
private String VPCId;
private String vSwitchId;
private String zoneId;
private Builder() {
super();
}
private Builder(CreateDBClusterRequest request) {
super(request);
this.allowShutDown = request.allowShutDown;
this.architecture = request.architecture;
this.autoRenew = request.autoRenew;
this.backupRetentionPolicyOnClusterDeletion = request.backupRetentionPolicyOnClusterDeletion;
this.burstingEnabled = request.burstingEnabled;
this.clientToken = request.clientToken;
this.cloneDataPoint = request.cloneDataPoint;
this.clusterNetworkType = request.clusterNetworkType;
this.creationCategory = request.creationCategory;
this.creationOption = request.creationOption;
this.DBClusterDescription = request.DBClusterDescription;
this.DBMinorVersion = request.DBMinorVersion;
this.DBNodeClass = request.DBNodeClass;
this.DBNodeNum = request.DBNodeNum;
this.DBType = request.DBType;
this.DBVersion = request.DBVersion;
this.defaultTimeZone = request.defaultTimeZone;
this.GDNId = request.GDNId;
this.hotStandbyCluster = request.hotStandbyCluster;
this.loosePolarLogBin = request.loosePolarLogBin;
this.looseXEngine = request.looseXEngine;
this.looseXEngineUseMemoryPct = request.looseXEngineUseMemoryPct;
this.lowerCaseTableNames = request.lowerCaseTableNames;
this.ownerAccount = request.ownerAccount;
this.ownerId = request.ownerId;
this.parameterGroupId = request.parameterGroupId;
this.payType = request.payType;
this.period = request.period;
this.provisionedIops = request.provisionedIops;
this.proxyClass = request.proxyClass;
this.proxyType = request.proxyType;
this.regionId = request.regionId;
this.resourceGroupId = request.resourceGroupId;
this.resourceOwnerAccount = request.resourceOwnerAccount;
this.resourceOwnerId = request.resourceOwnerId;
this.scaleMax = request.scaleMax;
this.scaleMin = request.scaleMin;
this.scaleRoNumMax = request.scaleRoNumMax;
this.scaleRoNumMin = request.scaleRoNumMin;
this.securityIPList = request.securityIPList;
this.serverlessType = request.serverlessType;
this.sourceResourceId = request.sourceResourceId;
this.standbyAZ = request.standbyAZ;
this.storageAutoScale = request.storageAutoScale;
this.storageEncryption = request.storageEncryption;
this.storageEncryptionKey = request.storageEncryptionKey;
this.storagePayType = request.storagePayType;
this.storageSpace = request.storageSpace;
this.storageType = request.storageType;
this.storageUpperBound = request.storageUpperBound;
this.strictConsistency = request.strictConsistency;
this.TDEStatus = request.TDEStatus;
this.tag = request.tag;
this.targetMinorVersion = request.targetMinorVersion;
this.usedTime = request.usedTime;
this.VPCId = request.VPCId;
this.vSwitchId = request.vSwitchId;
this.zoneId = request.zoneId;
}
/**
* Whether to enable idle pause. Values:
*
* true: Enabled
*
* false: Disabled (default)
*
*
*
* Only supported by Serverless clusters.
*
*
* example:
* true
*/
public Builder allowShutDown(String allowShutDown) {
this.putQueryParameter("AllowShutDown", allowShutDown);
this.allowShutDown = allowShutDown;
return this;
}
/**
* CPU architecture. Available values include:
*
* - X86
* - ARM
*
*
* example:
* X86
*/
public Builder architecture(String architecture) {
this.putQueryParameter("Architecture", architecture);
this.architecture = architecture;
return this;
}
/**
* Whether to enable auto-renewal, with available values as follows:
*
* - true: Auto-renew.
* - false: Do not auto-renew.
*
* The default is false.
*
* This parameter takes effect only when PayType is set to Prepaid.
*
*
* example:
* true
*/
public Builder autoRenew(Boolean autoRenew) {
this.putQueryParameter("AutoRenew", autoRenew);
this.autoRenew = autoRenew;
return this;
}
/**
* Backup retention policy upon cluster deletion, with valid values as follows:
*
* - ALL: Permanently retain all backups.
* - LATEST: Permanently retain the latest backup (automatically backed up before deletion).
* - NONE: Do not retain backup sets upon cluster deletion.
*
* By default, the value is set to NONE, indicating no backup sets are retained upon cluster deletion.
*
* This parameter applies only when DBType is MySQL.
* Serverless clusters do not support this parameter.
*
*
* example:
* NONE
*/
public Builder backupRetentionPolicyOnClusterDeletion(String backupRetentionPolicyOnClusterDeletion) {
this.putQueryParameter("BackupRetentionPolicyOnClusterDeletion", backupRetentionPolicyOnClusterDeletion);
this.backupRetentionPolicyOnClusterDeletion = backupRetentionPolicyOnClusterDeletion;
return this;
}
/**
* BurstingEnabled.
*/
public Builder burstingEnabled(String burstingEnabled) {
this.putQueryParameter("BurstingEnabled", burstingEnabled);
this.burstingEnabled = burstingEnabled;
return this;
}
/**
* Used to ensure idempotency of the request. Generated by the client, ensuring uniqueness across different requests, case-sensitive, and not exceeding 64 ASCII characters.
*
* example:
* 6000170000591aed949d0f5********************
*/
public Builder clientToken(String clientToken) {
this.putQueryParameter("ClientToken", clientToken);
this.clientToken = clientToken;
return this;
}
/**
* The point in time to clone data, with the following options:
*
* - LATEST: Data from the latest time point.
* - BackupID: Historical backup set ID, please enter the specific backup set ID.
* - Timestamp: Historical time point, please enter the specific time in the format
YYYY-MM-DDThh:mm:ssZ
(UTC time).
*
* The default value is LATEST.
*
* If CreationOption is CloneFromRDS, this parameter can only be set to LATEST.
*
*
* example:
* LATEST
*/
public Builder cloneDataPoint(String cloneDataPoint) {
this.putQueryParameter("CloneDataPoint", cloneDataPoint);
this.cloneDataPoint = cloneDataPoint;
return this;
}
/**
* Cluster network type, currently only VPC is supported, with a fixed value of VPC.
*
* example:
* VPC
*/
public Builder clusterNetworkType(String clusterNetworkType) {
this.putQueryParameter("ClusterNetworkType", clusterNetworkType);
this.clusterNetworkType = clusterNetworkType;
return this;
}
/**
* Product series, with valid values as follows:
*
* - Normal: Cluster Edition (default)
* - Basic: Single-node
* - ArchiveNormal: High Compression Engine (X-Engine)
* - NormalMultimaster: Multi-master Cluster Edition
* - SENormal: Standard Edition
*
*
*
* - MySQL 5.6, 5.7, 8.0, PostgreSQL 14, and Oracle Syntax Compatible 2.0 support Basic.
* - MySQL 8.0 supports ArchiveNormal and NormalMultimaster.
* - MySQL 5.6, 5.7, 8.0, and PostgreSQL 14 support SENormal.
*
*
* For more information about product series, see Product Series.
*
* example:
* Normal
*/
public Builder creationCategory(String creationCategory) {
this.putQueryParameter("CreationCategory", creationCategory);
this.creationCategory = creationCategory;
return this;
}
/**
* Creation method, with the following values supported:
*
* Normal: Creates a brand new PolarDB cluster. For console operations, refer to the following documents:
*
*
* CloneFromPolarDB: Clones data from an existing PolarDB cluster to a new PolarDB cluster. For console operations, refer to the following documents:
*
*
* RecoverFromRecyclebin: Recovers data from a released PolarDB cluster to a new PolarDB cluster. For console operations, refer to the following documents:
*
*
* CloneFromRDS: Clones data from an existing RDS instance to a new PolarDB cluster. Console operation guide is available at One-click Clone from RDS MySQL to PolarDB MySQL Edition.
*
* MigrationFromRDS: Migrates data from an existing RDS instance to a new PolarDB cluster. The created PolarDB cluster operates in read-only mode with Binlog enabled by default. Console operation guide is at One-click Upgrade from RDS MySQL to PolarDB MySQL Edition.
*
* CreateGdnStandby: Creates a standby cluster. Console operation guide can be found at Add Standby Cluster.
*
* UpgradeFromPolarDB: Upgrades and migrates from PolarDB. Console operation guide is detailed in Major Version Upgrade.
*
*
* The default value is Normal.
*
* When DBType is MySQL and DBVersion is 8.0, this parameter can also take the value CreateGdnStandby.
*
*
* example:
* Normal
*/
public Builder creationOption(String creationOption) {
this.putQueryParameter("CreationOption", creationOption);
this.creationOption = creationOption;
return this;
}
/**
* Cluster name, which must meet the following requirements:
*
* - Cannot start with
http://
or https://
.
* - Length should be between 2 and 256 characters.
*
*
* example:
* test
*/
public Builder DBClusterDescription(String DBClusterDescription) {
this.putQueryParameter("DBClusterDescription", DBClusterDescription);
this.DBClusterDescription = DBClusterDescription;
return this;
}
/**
* Database engine minor version number. Valid values include:
*
* - 8.0.2
* - 8.0.1
*
*
* This parameter takes effect only when DBType is MySQL and DBVersion is 8.0.
*
*
* example:
* 8.0.1
*/
public Builder DBMinorVersion(String DBMinorVersion) {
this.putQueryParameter("DBMinorVersion", DBMinorVersion);
this.DBMinorVersion = DBMinorVersion;
return this;
}
/**
* Node specifications. For details, refer to the following documents:
*
* - PolarDB MySQL Edition: Compute Node Specifications.
* - PolarDB PostgreSQL Edition (Oracle Compatible): Compute Node Specifications.
* - PolarDB PostgreSQL Edition: Compute Node Specifications.
*
*
*
* - For a Serverless cluster in PolarDB MySQL, enter polar.mysql.sl.small.
* <props="china">> - For a Serverless cluster in both PolarDB PostgreSQL (Oracle Compatible) and PolarDB PostgreSQL, enter polar.pg.sl.small.c.
*
*
* This parameter is required.
*
* example:
* polar.mysql.x4.medium
*/
public Builder DBNodeClass(String DBNodeClass) {
this.putQueryParameter("DBNodeClass", DBNodeClass);
this.DBNodeClass = DBNodeClass;
return this;
}
/**
* The number of nodes. This parameter is supported for Standard Edition clusters. Valid values:
*
* - 1 (default): only one primary node.
* - 2: one read-only node and one primary node.
*
*
*
*
* By default, an Enterprise Edition cluster has two nodes and a Standard Edition cluster has one node.
*
* This parameter is supported only for PolarDB for MySQL clusters.
*
*
*
* example:
* 1
*/
public Builder DBNodeNum(Integer DBNodeNum) {
this.putQueryParameter("DBNodeNum", DBNodeNum);
this.DBNodeNum = DBNodeNum;
return this;
}
/**
* Database engine type, with available values as follows:
*
* - MySQL
* - PostgreSQL
* - Oracle
*
* This parameter is required.
*
* example:
* MySQL
*/
public Builder DBType(String DBType) {
this.putQueryParameter("DBType", DBType);
this.DBType = DBType;
return this;
}
/**
* Database engine version number.
*
* For MySQL, the version numbers are as follows:
*
* - 5.6
* - 5.7
* - 8.0
*
*
* For PostgreSQL, the version numbers are as follows:
*
* 11
*
* 14
*
* 15
* <props="china">
*
* When creating a Serverless cluster in PolarDB PostgreSQL, only version 14 is supported.
*
*
*
*
* For Oracle, the version numbers are as follows:
*
* - 11
* - 14
*
*
*
* This parameter is required.
*
* example:
* 5.6
*/
public Builder DBVersion(String DBVersion) {
this.putQueryParameter("DBVersion", DBVersion);
this.DBVersion = DBVersion;
return this;
}
/**
* Cluster timezone (UTC), with selectable values ranging from -12:00 to +13:00 at whole-hour intervals, e.g., 00:00. The default value is SYSTEM, which matches the Region"s timezone.
*
* This parameter applies only when DBType is MySQL.
*
*
* example:
* SYSTEM
*/
public Builder defaultTimeZone(String defaultTimeZone) {
this.putQueryParameter("DefaultTimeZone", defaultTimeZone);
this.defaultTimeZone = defaultTimeZone;
return this;
}
/**
* Global Database Network (GDN) ID.
*
* This parameter is required when CreationOption is CreateGdnStandby.
*
*
* example:
* gdn-***********
*/
public Builder GDNId(String GDNId) {
this.putQueryParameter("GDNId", GDNId);
this.GDNId = GDNId;
return this;
}
/**
* Whether to enable the hot standby cluster. Values are as follows:
*
* - ON (default): Enables the hot standby cluster.
* - OFF: Disables the hot standby cluster.
* - STANDBY: Enables the hot standby cluster for the standard edition.
* The default value for standard edition clusters is STANDBY.
*
*
*
*
* example:
* ON
*/
public Builder hotStandbyCluster(String hotStandbyCluster) {
this.putQueryParameter("HotStandbyCluster", hotStandbyCluster);
this.hotStandbyCluster = hotStandbyCluster;
return this;
}
/**
* Enable Binlog feature, valid values are as follows:
*
* - ON: Cluster enables the Binlog feature. - OFF: Cluster disables the Binlog feature. > This parameter takes effect only when the DBType parameter is set to MySQL.
*
*
* example:
* ON
*/
public Builder loosePolarLogBin(String loosePolarLogBin) {
this.putQueryParameter("LoosePolarLogBin", loosePolarLogBin);
this.loosePolarLogBin = loosePolarLogBin;
return this;
}
/**
* Enable the X-Engine storage engine feature, with valid values as follows:
*
* - ON: The cluster enables the X-Engine engine.
* - OFF: The cluster disables the X-Engine engine.
* This parameter is effective only when CreationOption is not CreateGdnStandby, DBType is MySQL, and DBVersion is 8.0. The memory specification of nodes that enable the X-Engine engine must be at least 8 GB.
*
*
*
*
* example:
* ON
*/
public Builder looseXEngine(String looseXEngine) {
this.putQueryParameter("LooseXEngine", looseXEngine);
this.looseXEngine = looseXEngine;
return this;
}
/**
* Set the ratio for enabling the X-Engine storage engine, with a range of integers from 10 to 90.
*
* This parameter takes effect only when LooseXEngine is ON.
*
*
* example:
* 50
*/
public Builder looseXEngineUseMemoryPct(String looseXEngineUseMemoryPct) {
this.putQueryParameter("LooseXEngineUseMemoryPct", looseXEngineUseMemoryPct);
this.looseXEngineUseMemoryPct = looseXEngineUseMemoryPct;
return this;
}
/**
* Whether table names are case-sensitive, with valid values as follows:
*
* - 1: Case-insensitive
* - 0: Case-sensitive
*
* The default value is 1.
*
* This parameter applies only when DBType is MySQL.
*
*
* example:
* 1
*/
public Builder lowerCaseTableNames(String lowerCaseTableNames) {
this.putQueryParameter("LowerCaseTableNames", lowerCaseTableNames);
this.lowerCaseTableNames = lowerCaseTableNames;
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;
}
/**
* Parameter template ID.
*
* You can view the list of parameter templates in the target region, including the parameter template ID, by calling the DescribeParameterGroups interface.
*
*
* example:
* pcpg-**************
*/
public Builder parameterGroupId(String parameterGroupId) {
this.putQueryParameter("ParameterGroupId", parameterGroupId);
this.parameterGroupId = parameterGroupId;
return this;
}
/**
* Payment type, with available values as follows:
*
* - Postpaid: Pay-as-you-go.
* - Prepaid: Subscription (monthly or yearly).
*
* This parameter is required.
*
* example:
* Postpaid
*/
public Builder payType(String payType) {
this.putQueryParameter("PayType", payType);
this.payType = payType;
return this;
}
/**
* If the payment type is Prepaid, this parameter is required. It specifies whether the prepaid cluster is on a monthly or yearly basis.
*
* - Year: Yearly subscription.
* - Month: Monthly subscription.
*
*
* example:
* Month
*/
public Builder period(String period) {
this.putQueryParameter("Period", period);
this.period = period;
return this;
}
/**
* The provisioned read and write IOPS for ESSD AutoPL cloud disks. Possible values: 0 to min{50,000, 1000*capacity-Baseline Performance}.
* Baseline Performance = min{1,800+50*capacity, 50000}.
* This parameter is supported only when StorageType is ESSDAUTOPL.
*
* example:
* 1000
*/
public Builder provisionedIops(Long provisionedIops) {
this.putQueryParameter("ProvisionedIops", provisionedIops);
this.provisionedIops = provisionedIops;
return this;
}
/**
* Standard edition database proxy specifications. Values are as follows:
*
* - polar.maxscale.g2.medium.c: 2 cores.
* - polar.maxscale.g2.large.c: 4 cores.
* - polar.maxscale.g2.xlarge.c: 8 cores.
* - polar.maxscale.g2.2xlarge.c: 16 cores.
* - polar.maxscale.g2.3xlarge.c: 24 cores.
* - polar.maxscale.g2.4xlarge.c: 32 cores.
* - polar.maxscale.g2.8xlarge.c: 64 cores.
*
*
* example:
* polar.maxscale.g2.medium.c
*/
public Builder proxyClass(String proxyClass) {
this.putQueryParameter("ProxyClass", proxyClass);
this.proxyClass = proxyClass;
return this;
}
/**
* Database proxy type, with values including:
*
* - EXCLUSIVE: Enterprise Exclusive Edition
* - GENERAL: Enterprise General Purpose Edition
* The proxy type must match the type of the cluster"s node specifications, i.e.,
*
* - If the node specification is general, the proxy type should be Enterprise General Purpose Edition;
* - If the node specification is dedicated, the proxy type should be Enterprise Exclusive Edition.
*
*
*
*
*
* example:
* Exclusive
*/
public Builder proxyType(String proxyType) {
this.putQueryParameter("ProxyType", proxyType);
this.proxyType = proxyType;
return this;
}
/**
* Region ID.
*
* You can view available regions through the DescribeRegions interface.
*
* This parameter is required.
*
* example:
* cn-hangzhou
*/
public Builder regionId(String regionId) {
this.putQueryParameter("RegionId", regionId);
this.regionId = regionId;
return this;
}
/**
* Resource group ID.
*
* example:
* rg-************
*/
public Builder resourceGroupId(String resourceGroupId) {
this.putQueryParameter("ResourceGroupId", resourceGroupId);
this.resourceGroupId = resourceGroupId;
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;
}
/**
* Maximum scaling limit for a single node. The value range is: 1 PCU~32 PCU.
*
* Only supported by Serverless clusters.
*
*
* example:
* 3
*/
public Builder scaleMax(String scaleMax) {
this.putQueryParameter("ScaleMax", scaleMax);
this.scaleMax = scaleMax;
return this;
}
/**
* Minimum scaling limit for a single node. The value range is: 1 PCU~31 PCU.
*
* Only supported by Serverless clusters.
*
*
* example:
* 1
*/
public Builder scaleMin(String scaleMin) {
this.putQueryParameter("ScaleMin", scaleMin);
this.scaleMin = scaleMin;
return this;
}
/**
* Maximum scaling limit for the number of read-only nodes. The value range is: 0~15.
*
* Only supported by Serverless clusters.
*
*
* example:
* 4
*/
public Builder scaleRoNumMax(String scaleRoNumMax) {
this.putQueryParameter("ScaleRoNumMax", scaleRoNumMax);
this.scaleRoNumMax = scaleRoNumMax;
return this;
}
/**
* Minimum scaling limit for the number of read-only nodes. The value range is: 0~15.
*
* Only supported by Serverless clusters.
*
*
* example:
* 2
*/
public Builder scaleRoNumMin(String scaleRoNumMin) {
this.putQueryParameter("ScaleRoNumMin", scaleRoNumMin);
this.scaleRoNumMin = scaleRoNumMin;
return this;
}
/**
* PolarDB cluster whitelist IP address.
*
* Supports configuring multiple whitelist IP addresses, with English commas separating multiple IP addresses.
*
*
* example:
* 10...***
*/
public Builder securityIPList(String securityIPList) {
this.putQueryParameter("SecurityIPList", securityIPList);
this.securityIPList = securityIPList;
return this;
}
/**
* Serverless type. The current value is fixed to AgileServerless (sensitive mode).
*
* This parameter is only supported by Serverless clusters.
*
*
* example:
* AgileServerless
*/
public Builder serverlessType(String serverlessType) {
this.putQueryParameter("ServerlessType", serverlessType);
this.serverlessType = serverlessType;
return this;
}
/**
* Source RDS instance ID or source PolarDB cluster ID. This parameter is mandatory only when CreationOption is set to MigrationFromRDS, CloneFromRDS, CloneFromPolarDB, or RecoverFromRecyclebin.
*
* If CreationOption is MigrationFromRDS or CloneFromRDS, you need to input the source RDS instance ID. The source RDS instance version must be RDS MySQL 5.6, 5.7, or 8.0 High Availability edition.
*
* If CreationOption is CloneFromPolarDB, you need to input the source PolarDB cluster ID. The DBType of the cloned cluster will default to match the source cluster. For example, if the source cluster is MySQL 8.0, the cloned cluster must also have DBType set to MySQL and DBVersion to 8.0.
*
* If CreationOption is RecoverFromRecyclebin, you need to input the released source PolarDB cluster ID. The DBType of the cluster being recovered from the recycle bin must match the source cluster. For example, if the source cluster was MySQL 8.0, the recovered cluster must also have DBType set to MySQL and DBVersion to 8.0.
*
*
*
* example:
* rm-*************
*/
public Builder sourceResourceId(String sourceResourceId) {
this.putQueryParameter("SourceResourceId", sourceResourceId);
this.sourceResourceId = sourceResourceId;
return this;
}
/**
* The availability zone where the hot standby cluster is stored. Applicable to the standard edition 3AZ scenario.
*
* This parameter takes effect only when multi-zone data strong consistency is enabled.
*
*
* example:
* cn-hangzhou-g
*/
public Builder standbyAZ(String standbyAZ) {
this.putQueryParameter("StandbyAZ", standbyAZ);
this.standbyAZ = standbyAZ;
return this;
}
/**
* Whether to enable automatic storage expansion for standard edition clusters, with valid values as follows:
*
* - Enable: Enables automatic storage expansion.
* - Disable: Disables automatic storage expansion.
*
*
* example:
* Enable
*/
public Builder storageAutoScale(String storageAutoScale) {
this.putQueryParameter("StorageAutoScale", storageAutoScale);
this.storageAutoScale = storageAutoScale;
return this;
}
/**
* StorageEncryption.
*/
public Builder storageEncryption(Boolean storageEncryption) {
this.putQueryParameter("StorageEncryption", storageEncryption);
this.storageEncryption = storageEncryption;
return this;
}
/**
* StorageEncryptionKey.
*/
public Builder storageEncryptionKey(String storageEncryptionKey) {
this.putQueryParameter("StorageEncryptionKey", storageEncryptionKey);
this.storageEncryptionKey = storageEncryptionKey;
return this;
}
/**
* The storage billing type, with valid values as follows:
*
* - Postpaid: Pay-as-you-go (hourly).
* - Prepaid: Pay-per-use based on space (subscription).
*
*
* example:
* Prepaid
*/
public Builder storagePayType(String storagePayType) {
this.putQueryParameter("StoragePayType", storagePayType);
this.storagePayType = storagePayType;
return this;
}
/**
* Storage space for pay-by-space (subscription) billing. Unit: GB.
*
*
* - For PolarDB MySQL Standard Edition, the storage space range is 20 to 32000.
* - When the Standard Edition storage type is ESSDAUTOPL, the storage space range is 40 to 64000, with a minimum step size of 10, meaning you can only enter values like 40, 50, 60, and so on.
*
*
*
* example:
* 50
*/
public Builder storageSpace(Long storageSpace) {
this.putQueryParameter("StorageSpace", storageSpace);
this.storageSpace = storageSpace;
return this;
}
/**
* Enterprise edition storage types include:
*
* - PSL5
* - PSL4
*
* Standard edition storage types include:
*
* - ESSDPL0
* - ESSDPL1
* - ESSDPL2
* - ESSDPL3
* - ESSDAUTOPL
*
*
* example:
* PSL4
*/
public Builder storageType(String storageType) {
this.putQueryParameter("StorageType", storageType);
this.storageType = storageType;
return this;
}
/**
* Set the upper limit for automatic storage expansion of standard edition clusters, in GB.
*
* The maximum value is 32000.
*
*
* example:
* 800
*/
public Builder storageUpperBound(Long storageUpperBound) {
this.putQueryParameter("StorageUpperBound", storageUpperBound);
this.storageUpperBound = storageUpperBound;
return this;
}
/**
* Whether the cluster has enabled strong data consistency across multiple zones. Values are as follows:
*
* ON: Indicates strong data consistency across multiple zones is enabled, applicable to the standard edition 3AZ scenario.
*
* OFF: Indicates strong data consistency across multiple zones is not enabled.
*
*
*
* example:
* ON
*/
public Builder strictConsistency(String strictConsistency) {
this.putQueryParameter("StrictConsistency", strictConsistency);
this.strictConsistency = strictConsistency;
return this;
}
/**
* Enables TDE encryption. Valid values are as follows:
*
* - true: Enabled.
* - false: Disabled (default).
*
*
*
* - This parameter takes effect only when DBType is PostgreSQL or Oracle.
* - You can call the ModifyDBClusterTDE interface to enable TDE encryption for a PolarDB MySQL cluster.
* - Once the TDE feature is enabled, it cannot be disabled.
*
*
*
* example:
* true
*/
public Builder TDEStatus(Boolean TDEStatus) {
this.putQueryParameter("TDEStatus", TDEStatus);
this.TDEStatus = TDEStatus;
return this;
}
/**
* List of tags.
*/
public Builder tag(java.util.List tag) {
this.putQueryParameter("Tag", tag);
this.tag = tag;
return this;
}
/**
* TargetMinorVersion.
*/
public Builder targetMinorVersion(String targetMinorVersion) {
this.putQueryParameter("TargetMinorVersion", targetMinorVersion);
this.targetMinorVersion = targetMinorVersion;
return this;
}
/**
* If the payment type is Prepaid, this parameter is required.
*
* - When Period is Month, UsedTime should be an integer within
[1-9]
.
* - When Period is Year, UsedTime should be an integer within
[1-3]
.
*
*
* example:
* 1
*/
public Builder usedTime(String usedTime) {
this.putQueryParameter("UsedTime", usedTime);
this.usedTime = usedTime;
return this;
}
/**
* VPC ID.
*
* example:
* vpc-**********
*/
public Builder VPCId(String VPCId) {
this.putQueryParameter("VPCId", VPCId);
this.VPCId = VPCId;
return this;
}
/**
* Virtual switch ID.
*
* If VPCId has been selected, VSwitchId is mandatory.
*
*
* example:
* vsw-**********
*/
public Builder vSwitchId(String vSwitchId) {
this.putQueryParameter("VSwitchId", vSwitchId);
this.vSwitchId = vSwitchId;
return this;
}
/**
* Availability Zone ID.
*
* You can view the available zones through the DescribeRegions interface.
*
*
* example:
* cn-hangzhou-j
*/
public Builder zoneId(String zoneId) {
this.putQueryParameter("ZoneId", zoneId);
this.zoneId = zoneId;
return this;
}
@Override
public CreateDBClusterRequest build() {
return new CreateDBClusterRequest(this);
}
}
/**
*
* {@link CreateDBClusterRequest} extends {@link TeaModel}
*
* CreateDBClusterRequest
*/
public static class Tag extends TeaModel {
@com.aliyun.core.annotation.NameInMap("Key")
private String key;
@com.aliyun.core.annotation.NameInMap("Value")
private String value;
private Tag(Builder builder) {
this.key = builder.key;
this.value = builder.value;
}
public static Builder builder() {
return new Builder();
}
public static Tag create() {
return builder().build();
}
/**
* @return key
*/
public String getKey() {
return this.key;
}
/**
* @return value
*/
public String getValue() {
return this.value;
}
public static final class Builder {
private String key;
private String value;
/**
* Tag key. If you need to add multiple tags to the target cluster at once, click Add to add a tag key.
*
* Up to 20 pairs of tags can be added each time, where Tag.N.Key
corresponds to Tag.N.Value
.
*
*
* example:
* type
*/
public Builder key(String key) {
this.key = key;
return this;
}
/**
* Tag value. If you need to add multiple tags to the target cluster at once, click Add to add tag values.
*
* Up to 20 pairs of tags can be added each time, where Tag.N.Value
corresponds to Tag.N.Key
.
*
*
* example:
* test
*/
public Builder value(String value) {
this.value = value;
return this;
}
public Tag build() {
return new Tag(this);
}
}
}
}