com.aliyun.dts20200101.models.CreateDtsInstanceRequest Maven / Gradle / Ivy
// This file is auto-generated, don't edit it. Thanks.
package com.aliyun.dts20200101.models;
import com.aliyun.tea.*;
public class CreateDtsInstanceRequest extends TeaModel {
/**
* Specifies whether to automatically renew the DTS instance when it expires. Valid values:
*
* * **false**: does not automatically renew the DTS instance when it expires. This is the default value.
* * **true**: automatically renews the DTS instance when it expires.
*/
@NameInMap("AutoPay")
public Boolean autoPay;
/**
* Specifies whether to automatically start the task after the DTS instance is purchased. Valid values:
*
* * **false**: does not automatically start the task after the DTS instance is purchased. This is the default value.
* * **true**: automatically starts the task after the DTS instance is purchased.
*/
@NameInMap("AutoStart")
public Boolean autoStart;
/**
* The specifications of the extract, transform, and load (ETL) instance. The unit is compute unit (CU). One CU is equal to 1 vCPU and 4 GB of memory. The value of this parameter must be an integer greater than or equal to 2.
*/
@NameInMap("ComputeUnit")
public Integer computeUnit;
/**
* The number of private custom ApsaraDB RDS instances in a PolarDB-X instance. Default value: **1**.
*
* > You must specify this parameter only if the **SourceEndpointEngineName** parameter is set to **drds**.
*/
@NameInMap("DatabaseCount")
public Integer databaseCount;
/**
* The database engine of the destination instance.
*
* * **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database
* * **PolarDB**: PolarDB for MySQL cluster
* * **polardb_o**: PolarDB for Oracle cluster
* * **polardb_pg**: PolarDB for PostgreSQL cluster
* * **Redis**: ApsaraDB for Redis instance or self-managed Redis database
* * **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance
* * **PostgreSQL**: self-managed PostgreSQL database
* * **odps**: MaxCompute project
* * **oracle**: self-managed Oracle database
* * **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database
* * **tidb**: TiDB database
* * **ADS**: AnalyticDB for MySQL V2.0 cluster
* * **ADB30**: AnalyticDB for MySQL V3.0 cluster
* * **Greenplum**: AnalyticDB for PostgreSQL instance
* * **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database
* * **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster
* * **DataHub**: DataHub project
* * **DB2**: self-managed Db2 for LUW database
* * **as400**: AS/400
* * **Tablestore**: Tablestore instance
*
* >
* * The default value is **MySQL**.
* * For more information about the supported source and destination databases, see [Overview of data synchronization scenarios](~~130744~~) and [Overview of data migration scenarios](~~26618~~).
* * You must specify one of this parameter and the **JobId** parameter.
*/
@NameInMap("DestinationEndpointEngineName")
public String destinationEndpointEngineName;
/**
* The ID of the region in which the destination instance resides. For more information, see [List of supported regions](~~141033~~).
*
* > You must specify one of this parameter and the **JobId** parameter.
*/
@NameInMap("DestinationRegion")
public String destinationRegion;
/**
* The number of DTS units (DUs) that are assigned to a DTS task that is run on a DTS dedicated cluster. Valid values: **1** to **100**.
*
* >
* * The value of this parameter must be within the range of the number of DUs available for the DTS dedicated cluster.
*/
@NameInMap("Du")
public Integer du;
/**
* The billing type for a change tracking instance. Valid values: ONLY_CONFIGURATION_FEE and CONFIGURATION_FEE_AND_DATA_FEE. ONLY_CONFIGURATION_FEE: charges only configuration fees. CONFIGURATION_FEE_AND_DATA_FEE: charges configuration fees and data traffic fees.
*/
@NameInMap("FeeType")
public String feeType;
/**
* The instance class.
*
* * DTS supports the following instance classes for a data migration instance: **xxlarge**, **xlarge**, **large**, **medium**, and **small**.
* * DTS supports the following instance classes for a data synchronization instance: **large**, **medium**, **small**, and **micro**.
*
* > For more information about the test performance of each instance class, see [Specifications of data migration instances](~~26606~~) and [Specifications of data synchronization instances](~~26605~~).
*/
@NameInMap("InstanceClass")
public String instanceClass;
/**
* The ID of the task. You can call the **ConfigureDtsJob** operation to obtain the task ID from the **DtsJobId** parameter.
*
* > If this parameter is specified, you do not need to specify the **SourceRegion**, **DestinationRegion**, **Type**, **SourceEndpointEngineName**, or **DestinationEndpointEngineName** parameter. Even if these parameters are specified, the value of the **JobId** parameter takes precedence.
*/
@NameInMap("JobId")
public String jobId;
@NameInMap("MaxDu")
public Double maxDu;
@NameInMap("MinDu")
public Double minDu;
/**
* The billing method. Valid values:
*
* * **PrePaid**: subscription
* * **PostPaid**: pay-as-you-go
*
* > This parameter must be specified.
*/
@NameInMap("PayType")
public String payType;
/**
* The unit of the subscription duration. Valid values: **Year** and **Month**.
*
* > You must specify this parameter only if the **PayType** parameter is set to **PrePaid**.
*/
@NameInMap("Period")
public String period;
/**
* The number of DTS instances that you want to purchase.
*
* > Only a single instance can be purchased each time.
*/
@NameInMap("Quantity")
public Integer quantity;
/**
* The ID of the region in which the DTS instance resides. For more information, see [List of supported regions](~~141033~~).
*/
@NameInMap("RegionId")
public String regionId;
/**
* The ID of the resource group.
*/
@NameInMap("ResourceGroupId")
public String resourceGroupId;
/**
* The database engine of the source instance.
*
* * **MySQL**: ApsaraDB RDS for MySQL instance or self-managed MySQL database
* * **PolarDB**: PolarDB for MySQL cluster
* * **polardb_o**: PolarDB for Oracle cluster
* * **polardb_pg**: PolarDB for PostgreSQL cluster
* * **Redis**: ApsaraDB for Redis instance or self-managed Redis database
* * **DRDS**: PolarDB-X 1.0 or PolarDB-X 2.0 instance
* * **PostgreSQL**: self-managed PostgreSQL database
* * **odps**: MaxCompute project
* * **oracle**: self-managed Oracle database
* * **mongodb**: ApsaraDB for MongoDB instance or self-managed MongoDB database
* * **tidb**: TiDB database
* * **ADS**: AnalyticDB for MySQL V2.0 cluster
* * **ADB30**: AnalyticDB for MySQL V3.0 cluster
* * **Greenplum**: AnalyticDB for PostgreSQL instance
* * **MSSQL**: ApsaraDB RDS for SQL Server instance or self-managed SQL Server database
* * **kafka**: Message Queue for Apache Kafka instance or self-managed Kafka cluster
* * **DataHub**: DataHub project
* * **DB2**: self-managed Db2 for LUW database
* * **as400**: AS/400
* * **Tablestore**: Tablestore instance
*
* >
* * The default value is **MySQL**.
* * For more information about the supported source and destination databases, see [Overview of data synchronization scenarios](~~130744~~) and [Overview of data migration scenarios](~~26618~~).
* * You must specify one of this parameter and the **JobId** parameter.
*/
@NameInMap("SourceEndpointEngineName")
public String sourceEndpointEngineName;
/**
* The ID of the region in which the source instance resides. For more information, see [List of supported regions](~~141033~~).
*
* > You must specify one of this parameter and the **JobId** parameter.
*/
@NameInMap("SourceRegion")
public String sourceRegion;
/**
* The synchronization topology. Valid values:
*
* * **oneway**: one-way synchronization. This is the default value.
* * **bidirectional**: two-way synchronization.
*/
@NameInMap("SyncArchitecture")
public String syncArchitecture;
/**
* The type of the DTS instance. Valid values:
*
* * **MIGRATION**: data migration instance
*
* * **SYNC**: data synchronization instance
*
* * **SUBSCRIBE**: change tracking instance
*
* > You must specify one of this parameter and the **JobId** parameter.
*/
@NameInMap("Type")
public String type;
/**
* The subscription duration.
*
* * Valid values if the **Period** parameter is set to **Month**: 1, 2, 3, 4, 5, 6, 7, 8, and 9.
*
* * Valid values if the **Period** parameter is set to **Year**: 1, 2, 3, and 5.
*
* > * You must specify this parameter only if the **PayType** parameter is set to **PrePaid**.
* * You can set the **Period** parameter to specify the unit of the subscription duration.
*/
@NameInMap("UsedTime")
public Integer usedTime;
public static CreateDtsInstanceRequest build(java.util.Map map) throws Exception {
CreateDtsInstanceRequest self = new CreateDtsInstanceRequest();
return TeaModel.build(map, self);
}
public CreateDtsInstanceRequest setAutoPay(Boolean autoPay) {
this.autoPay = autoPay;
return this;
}
public Boolean getAutoPay() {
return this.autoPay;
}
public CreateDtsInstanceRequest setAutoStart(Boolean autoStart) {
this.autoStart = autoStart;
return this;
}
public Boolean getAutoStart() {
return this.autoStart;
}
public CreateDtsInstanceRequest setComputeUnit(Integer computeUnit) {
this.computeUnit = computeUnit;
return this;
}
public Integer getComputeUnit() {
return this.computeUnit;
}
public CreateDtsInstanceRequest setDatabaseCount(Integer databaseCount) {
this.databaseCount = databaseCount;
return this;
}
public Integer getDatabaseCount() {
return this.databaseCount;
}
public CreateDtsInstanceRequest setDestinationEndpointEngineName(String destinationEndpointEngineName) {
this.destinationEndpointEngineName = destinationEndpointEngineName;
return this;
}
public String getDestinationEndpointEngineName() {
return this.destinationEndpointEngineName;
}
public CreateDtsInstanceRequest setDestinationRegion(String destinationRegion) {
this.destinationRegion = destinationRegion;
return this;
}
public String getDestinationRegion() {
return this.destinationRegion;
}
public CreateDtsInstanceRequest setDu(Integer du) {
this.du = du;
return this;
}
public Integer getDu() {
return this.du;
}
public CreateDtsInstanceRequest setFeeType(String feeType) {
this.feeType = feeType;
return this;
}
public String getFeeType() {
return this.feeType;
}
public CreateDtsInstanceRequest setInstanceClass(String instanceClass) {
this.instanceClass = instanceClass;
return this;
}
public String getInstanceClass() {
return this.instanceClass;
}
public CreateDtsInstanceRequest setJobId(String jobId) {
this.jobId = jobId;
return this;
}
public String getJobId() {
return this.jobId;
}
public CreateDtsInstanceRequest setMaxDu(Double maxDu) {
this.maxDu = maxDu;
return this;
}
public Double getMaxDu() {
return this.maxDu;
}
public CreateDtsInstanceRequest setMinDu(Double minDu) {
this.minDu = minDu;
return this;
}
public Double getMinDu() {
return this.minDu;
}
public CreateDtsInstanceRequest setPayType(String payType) {
this.payType = payType;
return this;
}
public String getPayType() {
return this.payType;
}
public CreateDtsInstanceRequest setPeriod(String period) {
this.period = period;
return this;
}
public String getPeriod() {
return this.period;
}
public CreateDtsInstanceRequest setQuantity(Integer quantity) {
this.quantity = quantity;
return this;
}
public Integer getQuantity() {
return this.quantity;
}
public CreateDtsInstanceRequest setRegionId(String regionId) {
this.regionId = regionId;
return this;
}
public String getRegionId() {
return this.regionId;
}
public CreateDtsInstanceRequest setResourceGroupId(String resourceGroupId) {
this.resourceGroupId = resourceGroupId;
return this;
}
public String getResourceGroupId() {
return this.resourceGroupId;
}
public CreateDtsInstanceRequest setSourceEndpointEngineName(String sourceEndpointEngineName) {
this.sourceEndpointEngineName = sourceEndpointEngineName;
return this;
}
public String getSourceEndpointEngineName() {
return this.sourceEndpointEngineName;
}
public CreateDtsInstanceRequest setSourceRegion(String sourceRegion) {
this.sourceRegion = sourceRegion;
return this;
}
public String getSourceRegion() {
return this.sourceRegion;
}
public CreateDtsInstanceRequest setSyncArchitecture(String syncArchitecture) {
this.syncArchitecture = syncArchitecture;
return this;
}
public String getSyncArchitecture() {
return this.syncArchitecture;
}
public CreateDtsInstanceRequest setType(String type) {
this.type = type;
return this;
}
public String getType() {
return this.type;
}
public CreateDtsInstanceRequest setUsedTime(Integer usedTime) {
this.usedTime = usedTime;
return this;
}
public Integer getUsedTime() {
return this.usedTime;
}
}