com.aliyun.ros.cdk.rds.PrepayDBInstance Maven / Gradle / Ivy
package com.aliyun.ros.cdk.rds;
/**
* A ROS resource type: `ALIYUN::RDS::PrepayDBInstance`.
*/
@javax.annotation.Generated(value = "jsii-pacmak/1.70.0 (build 03c2f6f)", date = "2022-11-04T06:18:43.489Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.rds.$Module.class, fqn = "@alicloud/ros-cdk-rds.PrepayDBInstance")
public class PrepayDBInstance extends com.aliyun.ros.cdk.core.Resource {
protected PrepayDBInstance(final software.amazon.jsii.JsiiObjectRef objRef) {
super(objRef);
}
protected PrepayDBInstance(final software.amazon.jsii.JsiiObject.InitializationMode initializationMode) {
super(initializationMode);
}
/**
* Create a new `ALIYUN::RDS::PrepayDBInstance`.
*
* Param scope - scope in which this resource is defined
* Param id - scoped id of the resource
* Param props - resource properties
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props This parameter is required.
* @param enableResourcePropertyConstraint
*/
public PrepayDBInstance(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.rds.PrepayDBInstanceProps props, final @org.jetbrains.annotations.Nullable java.lang.Boolean enableResourcePropertyConstraint) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required"), enableResourcePropertyConstraint });
}
/**
* Create a new `ALIYUN::RDS::PrepayDBInstance`.
*
* Param scope - scope in which this resource is defined
* Param id - scoped id of the resource
* Param props - resource properties
*
* @param scope This parameter is required.
* @param id This parameter is required.
* @param props This parameter is required.
*/
public PrepayDBInstance(final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.Construct scope, final @org.jetbrains.annotations.NotNull java.lang.String id, final @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.rds.PrepayDBInstanceProps props) {
super(software.amazon.jsii.JsiiObject.InitializationMode.JSII);
software.amazon.jsii.JsiiEngine.getInstance().createNewObject(this, new Object[] { java.util.Objects.requireNonNull(scope, "scope is required"), java.util.Objects.requireNonNull(id, "id is required"), java.util.Objects.requireNonNull(props, "props is required") });
}
/**
* Attribute DBInstanceId: The instance id of created database instance.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrDbInstanceId() {
return software.amazon.jsii.Kernel.get(this, "attrDbInstanceId", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute InnerConnectionString: DB instance connection url by Intranet.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrInnerConnectionString() {
return software.amazon.jsii.Kernel.get(this, "attrInnerConnectionString", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute InnerIPAddress: IP Address for created DB instance of Intranet.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrInnerIpAddress() {
return software.amazon.jsii.Kernel.get(this, "attrInnerIpAddress", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute InnerPort: Intranet port of created DB instance.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrInnerPort() {
return software.amazon.jsii.Kernel.get(this, "attrInnerPort", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute OrderId: The order id list of created instance.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrOrderId() {
return software.amazon.jsii.Kernel.get(this, "attrOrderId", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute PublicConnectionString: DB instance connection url by Internet.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrPublicConnectionString() {
return software.amazon.jsii.Kernel.get(this, "attrPublicConnectionString", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute PublicIPAddress: IP Address for created DB instance of Internet.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrPublicIpAddress() {
return software.amazon.jsii.Kernel.get(this, "attrPublicIpAddress", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* Attribute PublicPort: Internet port of created DB instance.
*/
public @org.jetbrains.annotations.NotNull com.aliyun.ros.cdk.core.IResolvable getAttrPublicPort() {
return software.amazon.jsii.Kernel.get(this, "attrPublicPort", software.amazon.jsii.NativeType.forClass(com.aliyun.ros.cdk.core.IResolvable.class));
}
/**
* A fluent builder for {@link com.aliyun.ros.cdk.rds.PrepayDBInstance}.
*/
public static final class Builder implements software.amazon.jsii.Builder {
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
* @param enableResourcePropertyConstraint
*/
public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
return new Builder(scope, id, enableResourcePropertyConstraint);
}
/**
* @return a new instance of {@link Builder}.
* @param scope This parameter is required.
* @param id This parameter is required.
*/
public static Builder create(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id) {
return new Builder(scope, id, null);
}
private final com.aliyun.ros.cdk.core.Construct scope;
private final java.lang.String id;
private final java.lang.Boolean enableResourcePropertyConstraint;
private final com.aliyun.ros.cdk.rds.PrepayDBInstanceProps.Builder props;
private Builder(final com.aliyun.ros.cdk.core.Construct scope, final java.lang.String id, final java.lang.Boolean enableResourcePropertyConstraint) {
this.scope = scope;
this.id = id;
this.enableResourcePropertyConstraint = enableResourcePropertyConstraint;
this.props = new com.aliyun.ros.cdk.rds.PrepayDBInstanceProps.Builder();
}
/**
* Property commodityCode: The CommodityCode of the order.
*
* @return {@code this}
* @param commodityCode Property commodityCode: The CommodityCode of the order. This parameter is required.
*/
public Builder commodityCode(final java.lang.String commodityCode) {
this.props.commodityCode(commodityCode);
return this;
}
/**
* Property commodityCode: The CommodityCode of the order.
*
* @return {@code this}
* @param commodityCode Property commodityCode: The CommodityCode of the order. This parameter is required.
*/
public Builder commodityCode(final com.aliyun.ros.cdk.core.IResolvable commodityCode) {
this.props.commodityCode(commodityCode);
return this;
}
/**
* Property dbInstanceClass: Database instance type.
*
* Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc
*
* @return {@code this}
* @param dbInstanceClass Property dbInstanceClass: Database instance type. This parameter is required.
*/
public Builder dbInstanceClass(final java.lang.String dbInstanceClass) {
this.props.dbInstanceClass(dbInstanceClass);
return this;
}
/**
* Property dbInstanceClass: Database instance type.
*
* Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc
*
* @return {@code this}
* @param dbInstanceClass Property dbInstanceClass: Database instance type. This parameter is required.
*/
public Builder dbInstanceClass(final com.aliyun.ros.cdk.core.IResolvable dbInstanceClass) {
this.props.dbInstanceClass(dbInstanceClass);
return this;
}
/**
* Property dbInstanceStorage: Database instance storage size.
*
* mysql is [5,1000]. sql server 2008r2 is [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and PPAS is [5,2000]. Increased every 5 GB, Unit in GB
*
* @return {@code this}
* @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. This parameter is required.
*/
public Builder dbInstanceStorage(final java.lang.Number dbInstanceStorage) {
this.props.dbInstanceStorage(dbInstanceStorage);
return this;
}
/**
* Property dbInstanceStorage: Database instance storage size.
*
* mysql is [5,1000]. sql server 2008r2 is [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and PPAS is [5,2000]. Increased every 5 GB, Unit in GB
*
* @return {@code this}
* @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. This parameter is required.
*/
public Builder dbInstanceStorage(final com.aliyun.ros.cdk.core.IResolvable dbInstanceStorage) {
this.props.dbInstanceStorage(dbInstanceStorage);
return this;
}
/**
* Property engine: Database instance engine type.
*
* Support MySQL/SQLServer/PostgreSQL/PPAS/MariaDB now.
*
* @return {@code this}
* @param engine Property engine: Database instance engine type. This parameter is required.
*/
public Builder engine(final java.lang.String engine) {
this.props.engine(engine);
return this;
}
/**
* Property engine: Database instance engine type.
*
* Support MySQL/SQLServer/PostgreSQL/PPAS/MariaDB now.
*
* @return {@code this}
* @param engine Property engine: Database instance engine type. This parameter is required.
*/
public Builder engine(final com.aliyun.ros.cdk.core.IResolvable engine) {
this.props.engine(engine);
return this;
}
/**
* Property engineVersion: Database instance version of the relative engine type.
*
* Support:
* Valid values when you set the Engine parameter to MySQL: 5.5, 5.6, 5.7, and 8.0
* Valid values when you set the Engine parameter to SQL Server: 2008r2, 08r2_ent_ha, 2012, 2012_ent_ha, 2012_std_ha, 2012_web, 2014_std_ha, 2016_ent_ha, 2016_std_ha, 2016_web, 2017_std_ha, 2017_ent, 2019_std_ha, and 2019_ent
* Valid values when you set the Engine parameter to PostgreSQL: 10.0, 11.0, 12.0, 13.0, and 14.0
* Valid values when you set the Engine parameter to MariaDB: 10.3
*
* @return {@code this}
* @param engineVersion Property engineVersion: Database instance version of the relative engine type. This parameter is required.
*/
public Builder engineVersion(final java.lang.String engineVersion) {
this.props.engineVersion(engineVersion);
return this;
}
/**
* Property engineVersion: Database instance version of the relative engine type.
*
* Support:
* Valid values when you set the Engine parameter to MySQL: 5.5, 5.6, 5.7, and 8.0
* Valid values when you set the Engine parameter to SQL Server: 2008r2, 08r2_ent_ha, 2012, 2012_ent_ha, 2012_std_ha, 2012_web, 2014_std_ha, 2016_ent_ha, 2016_std_ha, 2016_web, 2017_std_ha, 2017_ent, 2019_std_ha, and 2019_ent
* Valid values when you set the Engine parameter to PostgreSQL: 10.0, 11.0, 12.0, 13.0, and 14.0
* Valid values when you set the Engine parameter to MariaDB: 10.3
*
* @return {@code this}
* @param engineVersion Property engineVersion: Database instance version of the relative engine type. This parameter is required.
*/
public Builder engineVersion(final com.aliyun.ros.cdk.core.IResolvable engineVersion) {
this.props.engineVersion(engineVersion);
return this;
}
/**
* Property period: Prepaid time period.
*
* While choose by pay by month, it could be from 1 to 9. While choose pay by year, it could be from 1 to 3.
*
* @return {@code this}
* @param period Property period: Prepaid time period. This parameter is required.
*/
public Builder period(final java.lang.Number period) {
this.props.period(period);
return this;
}
/**
* Property period: Prepaid time period.
*
* While choose by pay by month, it could be from 1 to 9. While choose pay by year, it could be from 1 to 3.
*
* @return {@code this}
* @param period Property period: Prepaid time period. This parameter is required.
*/
public Builder period(final com.aliyun.ros.cdk.core.IResolvable period) {
this.props.period(period);
return this;
}
/**
* Property periodType: Charge period for created instances.
*
* @return {@code this}
* @param periodType Property periodType: Charge period for created instances. This parameter is required.
*/
public Builder periodType(final java.lang.String periodType) {
this.props.periodType(periodType);
return this;
}
/**
* Property periodType: Charge period for created instances.
*
* @return {@code this}
* @param periodType Property periodType: Charge period for created instances. This parameter is required.
*/
public Builder periodType(final com.aliyun.ros.cdk.core.IResolvable periodType) {
this.props.periodType(periodType);
return this;
}
/**
* Property allocatePublicConnection: If true, allocate public connection automate.
*
* @return {@code this}
* @param allocatePublicConnection Property allocatePublicConnection: If true, allocate public connection automate. This parameter is required.
*/
public Builder allocatePublicConnection(final java.lang.Boolean allocatePublicConnection) {
this.props.allocatePublicConnection(allocatePublicConnection);
return this;
}
/**
* Property allocatePublicConnection: If true, allocate public connection automate.
*
* @return {@code this}
* @param allocatePublicConnection Property allocatePublicConnection: If true, allocate public connection automate. This parameter is required.
*/
public Builder allocatePublicConnection(final com.aliyun.ros.cdk.core.IResolvable allocatePublicConnection) {
this.props.allocatePublicConnection(allocatePublicConnection);
return this;
}
/**
* Property archiveBackupKeepCount: The number of archived backups that can be retained.
*
* Default value: 1. Valid values:
* The value of this parameter ranges from 1 to 31 when the ArchiveBackupKeepPolicy
* parameter is set to ByMonth.
* The value of this parameter ranges from 1 to 7 when the ArchiveBackupKeepPolicy
* parameter is set to ByWeek.
* Note You do not need to specify this parameter when the ArchiveBackupKeepPolicy
* parameter is set to KeepAll.
*
* @return {@code this}
* @param archiveBackupKeepCount Property archiveBackupKeepCount: The number of archived backups that can be retained. This parameter is required.
*/
public Builder archiveBackupKeepCount(final java.lang.Number archiveBackupKeepCount) {
this.props.archiveBackupKeepCount(archiveBackupKeepCount);
return this;
}
/**
* Property archiveBackupKeepCount: The number of archived backups that can be retained.
*
* Default value: 1. Valid values:
* The value of this parameter ranges from 1 to 31 when the ArchiveBackupKeepPolicy
* parameter is set to ByMonth.
* The value of this parameter ranges from 1 to 7 when the ArchiveBackupKeepPolicy
* parameter is set to ByWeek.
* Note You do not need to specify this parameter when the ArchiveBackupKeepPolicy
* parameter is set to KeepAll.
*
* @return {@code this}
* @param archiveBackupKeepCount Property archiveBackupKeepCount: The number of archived backups that can be retained. This parameter is required.
*/
public Builder archiveBackupKeepCount(final com.aliyun.ros.cdk.core.IResolvable archiveBackupKeepCount) {
this.props.archiveBackupKeepCount(archiveBackupKeepCount);
return this;
}
/**
* Property archiveBackupKeepPolicy: The period for which to retain archived backups.
*
* The number of archived backups that can
* be retained within the specified period is determined by the ArchiveBackupKeepCount parameter.
* Default value: 0. Valid values:
* ByMonth
* ByWeek
* KeepAll
*
* @return {@code this}
* @param archiveBackupKeepPolicy Property archiveBackupKeepPolicy: The period for which to retain archived backups. This parameter is required.
*/
public Builder archiveBackupKeepPolicy(final java.lang.String archiveBackupKeepPolicy) {
this.props.archiveBackupKeepPolicy(archiveBackupKeepPolicy);
return this;
}
/**
* Property archiveBackupKeepPolicy: The period for which to retain archived backups.
*
* The number of archived backups that can
* be retained within the specified period is determined by the ArchiveBackupKeepCount parameter.
* Default value: 0. Valid values:
* ByMonth
* ByWeek
* KeepAll
*
* @return {@code this}
* @param archiveBackupKeepPolicy Property archiveBackupKeepPolicy: The period for which to retain archived backups. This parameter is required.
*/
public Builder archiveBackupKeepPolicy(final com.aliyun.ros.cdk.core.IResolvable archiveBackupKeepPolicy) {
this.props.archiveBackupKeepPolicy(archiveBackupKeepPolicy);
return this;
}
/**
* Property archiveBackupRetentionPeriod: The number of days for which to retain archived backups.
*
* The default value 0 specifies not to enable the backup archiving function. Valid values: 30 to 1095.
*
* @return {@code this}
* @param archiveBackupRetentionPeriod Property archiveBackupRetentionPeriod: The number of days for which to retain archived backups. This parameter is required.
*/
public Builder archiveBackupRetentionPeriod(final java.lang.Number archiveBackupRetentionPeriod) {
this.props.archiveBackupRetentionPeriod(archiveBackupRetentionPeriod);
return this;
}
/**
* Property archiveBackupRetentionPeriod: The number of days for which to retain archived backups.
*
* The default value 0 specifies not to enable the backup archiving function. Valid values: 30 to 1095.
*
* @return {@code this}
* @param archiveBackupRetentionPeriod Property archiveBackupRetentionPeriod: The number of days for which to retain archived backups. This parameter is required.
*/
public Builder archiveBackupRetentionPeriod(final com.aliyun.ros.cdk.core.IResolvable archiveBackupRetentionPeriod) {
this.props.archiveBackupRetentionPeriod(archiveBackupRetentionPeriod);
return this;
}
/**
* Property autoPay: Automatic Payment.
*
* Default is true.
*
* @return {@code this}
* @param autoPay Property autoPay: Automatic Payment. This parameter is required.
*/
public Builder autoPay(final java.lang.Boolean autoPay) {
this.props.autoPay(autoPay);
return this;
}
/**
* Property autoPay: Automatic Payment.
*
* Default is true.
*
* @return {@code this}
* @param autoPay Property autoPay: Automatic Payment. This parameter is required.
*/
public Builder autoPay(final com.aliyun.ros.cdk.core.IResolvable autoPay) {
this.props.autoPay(autoPay);
return this;
}
/**
* Property autoRenew: Auto renew the prepay instance.
*
* If the period type is by year, it will renew by year, else it will renew by month.
*
* @return {@code this}
* @param autoRenew Property autoRenew: Auto renew the prepay instance. This parameter is required.
*/
public Builder autoRenew(final java.lang.Boolean autoRenew) {
this.props.autoRenew(autoRenew);
return this;
}
/**
* Property autoRenew: Auto renew the prepay instance.
*
* If the period type is by year, it will renew by year, else it will renew by month.
*
* @return {@code this}
* @param autoRenew Property autoRenew: Auto renew the prepay instance. This parameter is required.
*/
public Builder autoRenew(final com.aliyun.ros.cdk.core.IResolvable autoRenew) {
this.props.autoRenew(autoRenew);
return this;
}
/**
* Property backUpCategory: Specifies whether to enable the second-level backup function.
*
* This function allows a backup
* to be completed within seconds. Valid values:
* Flash: specifies to enable the second-level backup function.
* Standard: specifies to disable the second-level backup function.
*
* @return {@code this}
* @param backUpCategory Property backUpCategory: Specifies whether to enable the second-level backup function. This parameter is required.
*/
public Builder backUpCategory(final java.lang.String backUpCategory) {
this.props.backUpCategory(backUpCategory);
return this;
}
/**
* Property backUpCategory: Specifies whether to enable the second-level backup function.
*
* This function allows a backup
* to be completed within seconds. Valid values:
* Flash: specifies to enable the second-level backup function.
* Standard: specifies to disable the second-level backup function.
*
* @return {@code this}
* @param backUpCategory Property backUpCategory: Specifies whether to enable the second-level backup function. This parameter is required.
*/
public Builder backUpCategory(final com.aliyun.ros.cdk.core.IResolvable backUpCategory) {
this.props.backUpCategory(backUpCategory);
return this;
}
/**
* Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup.
*
* @return {@code this}
* @param backupPolicyMode Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup. This parameter is required.
*/
public Builder backupPolicyMode(final java.lang.String backupPolicyMode) {
this.props.backupPolicyMode(backupPolicyMode);
return this;
}
/**
* Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup.
*
* @return {@code this}
* @param backupPolicyMode Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup. This parameter is required.
*/
public Builder backupPolicyMode(final com.aliyun.ros.cdk.core.IResolvable backupPolicyMode) {
this.props.backupPolicyMode(backupPolicyMode);
return this;
}
/**
* Property backupRetentionPeriod: The retention period of the data backup.
*
* Value range: 7 to 730. The default value is the original value. Note When the BackupPolicyMode parameter is set to LogBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param backupRetentionPeriod Property backupRetentionPeriod: The retention period of the data backup. This parameter is required.
*/
public Builder backupRetentionPeriod(final java.lang.Number backupRetentionPeriod) {
this.props.backupRetentionPeriod(backupRetentionPeriod);
return this;
}
/**
* Property backupRetentionPeriod: The retention period of the data backup.
*
* Value range: 7 to 730. The default value is the original value. Note When the BackupPolicyMode parameter is set to LogBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param backupRetentionPeriod Property backupRetentionPeriod: The retention period of the data backup. This parameter is required.
*/
public Builder backupRetentionPeriod(final com.aliyun.ros.cdk.core.IResolvable backupRetentionPeriod) {
this.props.backupRetentionPeriod(backupRetentionPeriod);
return this;
}
/**
* Property category: The edition of the instance.
*
* Valid values:
* Basic: specifies to use the Basic Edition.
* HighAvailability: specifies to use the High-availability Edition.
* AlwaysOn: specifies to use the Cluster Edition.
* Finance: specifies to use the Enterprise Edition.
*
* @return {@code this}
* @param category Property category: The edition of the instance. This parameter is required.
*/
public Builder category(final java.lang.String category) {
this.props.category(category);
return this;
}
/**
* Property category: The edition of the instance.
*
* Valid values:
* Basic: specifies to use the Basic Edition.
* HighAvailability: specifies to use the High-availability Edition.
* AlwaysOn: specifies to use the Cluster Edition.
* Finance: specifies to use the Enterprise Edition.
*
* @return {@code this}
* @param category Property category: The edition of the instance. This parameter is required.
*/
public Builder category(final com.aliyun.ros.cdk.core.IResolvable category) {
this.props.category(category);
return this;
}
/**
* Property compressType: The format used to compress backups.
*
* Valid values:
* 1: The zlib tool is used to compress backups into .tar.gz files.
* 4: The QuickLZ tool is used to compress backups into .xb.gz files.
* This compression format is supported only when the instance runs MySQL 5.6 or 5.7.
* It can be used to restore individual databases and tables.
* 8: The QuickLZ tool is used to compress backups into .xb.gz files.
* This compression format is supported only when the instance runs MySQL 8.0.
* It cannot be used to restore individual databases or tables.
*
* @return {@code this}
* @param compressType Property compressType: The format used to compress backups. This parameter is required.
*/
public Builder compressType(final java.lang.Number compressType) {
this.props.compressType(compressType);
return this;
}
/**
* Property compressType: The format used to compress backups.
*
* Valid values:
* 1: The zlib tool is used to compress backups into .tar.gz files.
* 4: The QuickLZ tool is used to compress backups into .xb.gz files.
* This compression format is supported only when the instance runs MySQL 5.6 or 5.7.
* It can be used to restore individual databases and tables.
* 8: The QuickLZ tool is used to compress backups into .xb.gz files.
* This compression format is supported only when the instance runs MySQL 8.0.
* It cannot be used to restore individual databases or tables.
*
* @return {@code this}
* @param compressType Property compressType: The format used to compress backups. This parameter is required.
*/
public Builder compressType(final com.aliyun.ros.cdk.core.IResolvable compressType) {
this.props.compressType(compressType);
return this;
}
/**
* Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode.
*
* Default is RDS system assigns.
*
* @return {@code this}
* @param connectionMode Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode. This parameter is required.
*/
public Builder connectionMode(final java.lang.String connectionMode) {
this.props.connectionMode(connectionMode);
return this;
}
/**
* Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode.
*
* Default is RDS system assigns.
*
* @return {@code this}
* @param connectionMode Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode. This parameter is required.
*/
public Builder connectionMode(final com.aliyun.ros.cdk.core.IResolvable connectionMode) {
this.props.connectionMode(connectionMode);
return this;
}
/**
* Property connectionStringPrefix: The prefix of the endpoint.
*
* Only the prefix of the CurrentConnectionString parameter value can be modified.
* The prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-).
*
* @return {@code this}
* @param connectionStringPrefix Property connectionStringPrefix: The prefix of the endpoint. This parameter is required.
*/
public Builder connectionStringPrefix(final java.lang.String connectionStringPrefix) {
this.props.connectionStringPrefix(connectionStringPrefix);
return this;
}
/**
* Property connectionStringPrefix: The prefix of the endpoint.
*
* Only the prefix of the CurrentConnectionString parameter value can be modified.
* The prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-).
*
* @return {@code this}
* @param connectionStringPrefix Property connectionStringPrefix: The prefix of the endpoint. This parameter is required.
*/
public Builder connectionStringPrefix(final com.aliyun.ros.cdk.core.IResolvable connectionStringPrefix) {
this.props.connectionStringPrefix(connectionStringPrefix);
return this;
}
/**
* Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public.
*
* @return {@code this}
* @param connectionStringType Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public. This parameter is required.
*/
public Builder connectionStringType(final java.lang.String connectionStringType) {
this.props.connectionStringType(connectionStringType);
return this;
}
/**
* Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public.
*
* @return {@code this}
* @param connectionStringType Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public. This parameter is required.
*/
public Builder connectionStringType(final com.aliyun.ros.cdk.core.IResolvable connectionStringType) {
this.props.connectionStringType(connectionStringType);
return this;
}
/**
* Property couponCode: The coupon code of the order.
*
* @return {@code this}
* @param couponCode Property couponCode: The coupon code of the order. This parameter is required.
*/
public Builder couponCode(final java.lang.String couponCode) {
this.props.couponCode(couponCode);
return this;
}
/**
* Property couponCode: The coupon code of the order.
*
* @return {@code this}
* @param couponCode Property couponCode: The coupon code of the order. This parameter is required.
*/
public Builder couponCode(final com.aliyun.ros.cdk.core.IResolvable couponCode) {
this.props.couponCode(couponCode);
return this;
}
/**
* Property dbInstanceDescription: Description of created database instance.
*
* @return {@code this}
* @param dbInstanceDescription Property dbInstanceDescription: Description of created database instance. This parameter is required.
*/
public Builder dbInstanceDescription(final java.lang.String dbInstanceDescription) {
this.props.dbInstanceDescription(dbInstanceDescription);
return this;
}
/**
* Property dbInstanceDescription: Description of created database instance.
*
* @return {@code this}
* @param dbInstanceDescription Property dbInstanceDescription: Description of created database instance. This parameter is required.
*/
public Builder dbInstanceDescription(final com.aliyun.ros.cdk.core.IResolvable dbInstanceDescription) {
this.props.dbInstanceDescription(dbInstanceDescription);
return this;
}
/**
* Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access.
*
* @return {@code this}
* @param dbInstanceNetType Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access. This parameter is required.
*/
public Builder dbInstanceNetType(final java.lang.String dbInstanceNetType) {
this.props.dbInstanceNetType(dbInstanceNetType);
return this;
}
/**
* Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access.
*
* @return {@code this}
* @param dbInstanceNetType Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access. This parameter is required.
*/
public Builder dbInstanceNetType(final com.aliyun.ros.cdk.core.IResolvable dbInstanceNetType) {
this.props.dbInstanceNetType(dbInstanceNetType);
return this;
}
/**
* Property dbInstanceStorageType: The storage type of the instance.
*
* Valid values:
* local_ssd: specifies to use local SSDs. This is the recommended storage type.
* cloud_ssd: specifies to use standard SSDs.
* cloud_essd: enhanced SSD of performance level (PL)1.
* cloud_essd2: enhanced SSD of PL2.
* cloud_essd3: enhanced SSD of PL3.
*
* @return {@code this}
* @param dbInstanceStorageType Property dbInstanceStorageType: The storage type of the instance. This parameter is required.
*/
public Builder dbInstanceStorageType(final java.lang.String dbInstanceStorageType) {
this.props.dbInstanceStorageType(dbInstanceStorageType);
return this;
}
/**
* Property dbInstanceStorageType: The storage type of the instance.
*
* Valid values:
* local_ssd: specifies to use local SSDs. This is the recommended storage type.
* cloud_ssd: specifies to use standard SSDs.
* cloud_essd: enhanced SSD of performance level (PL)1.
* cloud_essd2: enhanced SSD of PL2.
* cloud_essd3: enhanced SSD of PL3.
*
* @return {@code this}
* @param dbInstanceStorageType Property dbInstanceStorageType: The storage type of the instance. This parameter is required.
*/
public Builder dbInstanceStorageType(final com.aliyun.ros.cdk.core.IResolvable dbInstanceStorageType) {
this.props.dbInstanceStorageType(dbInstanceStorageType);
return this;
}
/**
* Property dbIsIgnoreCase: Specifies whether table names are case-sensitive.
*
* Valid values:
* 1: Table names are not case-sensitive. This is the default value.
* 0: Table names are case-sensitive.
*
* @return {@code this}
* @param dbIsIgnoreCase Property dbIsIgnoreCase: Specifies whether table names are case-sensitive. This parameter is required.
*/
public Builder dbIsIgnoreCase(final java.lang.Number dbIsIgnoreCase) {
this.props.dbIsIgnoreCase(dbIsIgnoreCase);
return this;
}
/**
* Property dbIsIgnoreCase: Specifies whether table names are case-sensitive.
*
* Valid values:
* 1: Table names are not case-sensitive. This is the default value.
* 0: Table names are case-sensitive.
*
* @return {@code this}
* @param dbIsIgnoreCase Property dbIsIgnoreCase: Specifies whether table names are case-sensitive. This parameter is required.
*/
public Builder dbIsIgnoreCase(final com.aliyun.ros.cdk.core.IResolvable dbIsIgnoreCase) {
this.props.dbIsIgnoreCase(dbIsIgnoreCase);
return this;
}
/**
* Property dbMappings: Database mappings to attach to db instance.
*
* @return {@code this}
* @param dbMappings Property dbMappings: Database mappings to attach to db instance. This parameter is required.
*/
public Builder dbMappings(final com.aliyun.ros.cdk.core.IResolvable dbMappings) {
this.props.dbMappings(dbMappings);
return this;
}
/**
* Property dbMappings: Database mappings to attach to db instance.
*
* @return {@code this}
* @param dbMappings Property dbMappings: Database mappings to attach to db instance. This parameter is required.
*/
public Builder dbMappings(final java.util.List extends java.lang.Object> dbMappings) {
this.props.dbMappings(dbMappings);
return this;
}
/**
* Property dbParamGroupId: The ID of the parameter template used by the instance.
*
* @return {@code this}
* @param dbParamGroupId Property dbParamGroupId: The ID of the parameter template used by the instance. This parameter is required.
*/
public Builder dbParamGroupId(final java.lang.String dbParamGroupId) {
this.props.dbParamGroupId(dbParamGroupId);
return this;
}
/**
* Property dbParamGroupId: The ID of the parameter template used by the instance.
*
* @return {@code this}
* @param dbParamGroupId Property dbParamGroupId: The ID of the parameter template used by the instance. This parameter is required.
*/
public Builder dbParamGroupId(final com.aliyun.ros.cdk.core.IResolvable dbParamGroupId) {
this.props.dbParamGroupId(dbParamGroupId);
return this;
}
/**
* Property dbTimeZone: The UTC time zone of the instance.
*
* Valid values: -12:00 to +12:00. The time zone must be an integer value such as +08:00. Values such as +08:30 are not allowed.
*
* @return {@code this}
* @param dbTimeZone Property dbTimeZone: The UTC time zone of the instance. This parameter is required.
*/
public Builder dbTimeZone(final java.lang.String dbTimeZone) {
this.props.dbTimeZone(dbTimeZone);
return this;
}
/**
* Property dbTimeZone: The UTC time zone of the instance.
*
* Valid values: -12:00 to +12:00. The time zone must be an integer value such as +08:00. Values such as +08:30 are not allowed.
*
* @return {@code this}
* @param dbTimeZone Property dbTimeZone: The UTC time zone of the instance. This parameter is required.
*/
public Builder dbTimeZone(final com.aliyun.ros.cdk.core.IResolvable dbTimeZone) {
this.props.dbTimeZone(dbTimeZone);
return this;
}
/**
* Property dedicatedHostGroupId: The ID of the host group to which the instance belongs if you create an instance in a host group.
*
* @return {@code this}
* @param dedicatedHostGroupId Property dedicatedHostGroupId: The ID of the host group to which the instance belongs if you create an instance in a host group. This parameter is required.
*/
public Builder dedicatedHostGroupId(final java.lang.String dedicatedHostGroupId) {
this.props.dedicatedHostGroupId(dedicatedHostGroupId);
return this;
}
/**
* Property dedicatedHostGroupId: The ID of the host group to which the instance belongs if you create an instance in a host group.
*
* @return {@code this}
* @param dedicatedHostGroupId Property dedicatedHostGroupId: The ID of the host group to which the instance belongs if you create an instance in a host group. This parameter is required.
*/
public Builder dedicatedHostGroupId(final com.aliyun.ros.cdk.core.IResolvable dedicatedHostGroupId) {
this.props.dedicatedHostGroupId(dedicatedHostGroupId);
return this;
}
/**
* Property enableBackupLog: Specifies whether to enable the log backup function.
*
* Valid values:
* True: specifies to enable the log backup function.
* False: specifies to disable the log backup function.
* Note You must specify this parameter when the BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param enableBackupLog Property enableBackupLog: Specifies whether to enable the log backup function. This parameter is required.
*/
public Builder enableBackupLog(final java.lang.Boolean enableBackupLog) {
this.props.enableBackupLog(enableBackupLog);
return this;
}
/**
* Property enableBackupLog: Specifies whether to enable the log backup function.
*
* Valid values:
* True: specifies to enable the log backup function.
* False: specifies to disable the log backup function.
* Note You must specify this parameter when the BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param enableBackupLog Property enableBackupLog: Specifies whether to enable the log backup function. This parameter is required.
*/
public Builder enableBackupLog(final com.aliyun.ros.cdk.core.IResolvable enableBackupLog) {
this.props.enableBackupLog(enableBackupLog);
return this;
}
/**
* Property encryptionKey: The ID of the encryption key that is used to encrypt data on SSDs in the region.
*
* You can view the encryption key ID in the Key Management Service (KMS) console. You can also create an encryption key.
*
* @return {@code this}
* @param encryptionKey Property encryptionKey: The ID of the encryption key that is used to encrypt data on SSDs in the region. This parameter is required.
*/
public Builder encryptionKey(final java.lang.String encryptionKey) {
this.props.encryptionKey(encryptionKey);
return this;
}
/**
* Property encryptionKey: The ID of the encryption key that is used to encrypt data on SSDs in the region.
*
* You can view the encryption key ID in the Key Management Service (KMS) console. You can also create an encryption key.
*
* @return {@code this}
* @param encryptionKey Property encryptionKey: The ID of the encryption key that is used to encrypt data on SSDs in the region. This parameter is required.
*/
public Builder encryptionKey(final com.aliyun.ros.cdk.core.IResolvable encryptionKey) {
this.props.encryptionKey(encryptionKey);
return this;
}
/**
* Property highSpaceUsageProtection: Specifies whether to forcibly delete log backup files when the space usage of the instance exceeds 80% or the remaining space is less than 5 GB.
*
* Valid values:
* Enable and Disable. You can retain the default value. Note You must specify
* this parameter when the BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param highSpaceUsageProtection Property highSpaceUsageProtection: Specifies whether to forcibly delete log backup files when the space usage of the instance exceeds 80% or the remaining space is less than 5 GB. This parameter is required.
*/
public Builder highSpaceUsageProtection(final java.lang.String highSpaceUsageProtection) {
this.props.highSpaceUsageProtection(highSpaceUsageProtection);
return this;
}
/**
* Property highSpaceUsageProtection: Specifies whether to forcibly delete log backup files when the space usage of the instance exceeds 80% or the remaining space is less than 5 GB.
*
* Valid values:
* Enable and Disable. You can retain the default value. Note You must specify
* this parameter when the BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param highSpaceUsageProtection Property highSpaceUsageProtection: Specifies whether to forcibly delete log backup files when the space usage of the instance exceeds 80% or the remaining space is less than 5 GB. This parameter is required.
*/
public Builder highSpaceUsageProtection(final com.aliyun.ros.cdk.core.IResolvable highSpaceUsageProtection) {
this.props.highSpaceUsageProtection(highSpaceUsageProtection);
return this;
}
/**
* Property localLogRetentionHours: The number of hours for which to retain log backup files on the instance.
*
* Valid values: 0 to 168. The value 0 specifies not to retain log backup files on the instance.
* You can retain the default value. Note You must specify this parameter when the BackupPolicyMode
* parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param localLogRetentionHours Property localLogRetentionHours: The number of hours for which to retain log backup files on the instance. This parameter is required.
*/
public Builder localLogRetentionHours(final java.lang.Number localLogRetentionHours) {
this.props.localLogRetentionHours(localLogRetentionHours);
return this;
}
/**
* Property localLogRetentionHours: The number of hours for which to retain log backup files on the instance.
*
* Valid values: 0 to 168. The value 0 specifies not to retain log backup files on the instance.
* You can retain the default value. Note You must specify this parameter when the BackupPolicyMode
* parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param localLogRetentionHours Property localLogRetentionHours: The number of hours for which to retain log backup files on the instance. This parameter is required.
*/
public Builder localLogRetentionHours(final com.aliyun.ros.cdk.core.IResolvable localLogRetentionHours) {
this.props.localLogRetentionHours(localLogRetentionHours);
return this;
}
/**
* Property localLogRetentionSpace: The maximum percentage of space that is allowed to store log backup files on the instance.
*
* If the space usage for log backup files exceeds this percentage, the system deletes earlier
* log backup files until the space usage falls below this percentage. Valid values:0 to 50.
* You can retain the default value. Note You must specify this parameter when the
* BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param localLogRetentionSpace Property localLogRetentionSpace: The maximum percentage of space that is allowed to store log backup files on the instance. This parameter is required.
*/
public Builder localLogRetentionSpace(final java.lang.Number localLogRetentionSpace) {
this.props.localLogRetentionSpace(localLogRetentionSpace);
return this;
}
/**
* Property localLogRetentionSpace: The maximum percentage of space that is allowed to store log backup files on the instance.
*
* If the space usage for log backup files exceeds this percentage, the system deletes earlier
* log backup files until the space usage falls below this percentage. Valid values:0 to 50.
* You can retain the default value. Note You must specify this parameter when the
* BackupPolicyMode parameter is set to LogBackupPolicy.
*
* @return {@code this}
* @param localLogRetentionSpace Property localLogRetentionSpace: The maximum percentage of space that is allowed to store log backup files on the instance. This parameter is required.
*/
public Builder localLogRetentionSpace(final com.aliyun.ros.cdk.core.IResolvable localLogRetentionSpace) {
this.props.localLogRetentionSpace(localLogRetentionSpace);
return this;
}
/**
* Property logBackupFrequency: The frequency at which to back up logs.
*
* Valid values:
* The value LogInterval specifies to back up logs every 30 minutes.
* The default value of this parameter is the same as the data backup frequency.
* Note The value LogInterval is supported only when the instance runs SQL Server.
*
* @return {@code this}
* @param logBackupFrequency Property logBackupFrequency: The frequency at which to back up logs. This parameter is required.
*/
public Builder logBackupFrequency(final java.lang.String logBackupFrequency) {
this.props.logBackupFrequency(logBackupFrequency);
return this;
}
/**
* Property logBackupFrequency: The frequency at which to back up logs.
*
* Valid values:
* The value LogInterval specifies to back up logs every 30 minutes.
* The default value of this parameter is the same as the data backup frequency.
* Note The value LogInterval is supported only when the instance runs SQL Server.
*
* @return {@code this}
* @param logBackupFrequency Property logBackupFrequency: The frequency at which to back up logs. This parameter is required.
*/
public Builder logBackupFrequency(final com.aliyun.ros.cdk.core.IResolvable logBackupFrequency) {
this.props.logBackupFrequency(logBackupFrequency);
return this;
}
/**
* Property logBackupLocalRetentionNumber: The number of log backup files that can be retained on the instance.
*
* Default value: 60. Valid values: 6 to 100.
*
* @return {@code this}
* @param logBackupLocalRetentionNumber Property logBackupLocalRetentionNumber: The number of log backup files that can be retained on the instance. This parameter is required.
*/
public Builder logBackupLocalRetentionNumber(final java.lang.Number logBackupLocalRetentionNumber) {
this.props.logBackupLocalRetentionNumber(logBackupLocalRetentionNumber);
return this;
}
/**
* Property logBackupLocalRetentionNumber: The number of log backup files that can be retained on the instance.
*
* Default value: 60. Valid values: 6 to 100.
*
* @return {@code this}
* @param logBackupLocalRetentionNumber Property logBackupLocalRetentionNumber: The number of log backup files that can be retained on the instance. This parameter is required.
*/
public Builder logBackupLocalRetentionNumber(final com.aliyun.ros.cdk.core.IResolvable logBackupLocalRetentionNumber) {
this.props.logBackupLocalRetentionNumber(logBackupLocalRetentionNumber);
return this;
}
/**
* Property logBackupRetentionPeriod: The number of days for which to retain log backup files.
*
* Valid values: 7 to 730. The log backup
* retention period cannot be longer than the data backup retention period.Note If you enable the log
* backup function, you can specify the log backup retention period. This applies only when the
* instance runs MySQL, PostgreSQL, or PPAS.
*
* @return {@code this}
* @param logBackupRetentionPeriod Property logBackupRetentionPeriod: The number of days for which to retain log backup files. This parameter is required.
*/
public Builder logBackupRetentionPeriod(final java.lang.Number logBackupRetentionPeriod) {
this.props.logBackupRetentionPeriod(logBackupRetentionPeriod);
return this;
}
/**
* Property logBackupRetentionPeriod: The number of days for which to retain log backup files.
*
* Valid values: 7 to 730. The log backup
* retention period cannot be longer than the data backup retention period.Note If you enable the log
* backup function, you can specify the log backup retention period. This applies only when the
* instance runs MySQL, PostgreSQL, or PPAS.
*
* @return {@code this}
* @param logBackupRetentionPeriod Property logBackupRetentionPeriod: The number of days for which to retain log backup files. This parameter is required.
*/
public Builder logBackupRetentionPeriod(final com.aliyun.ros.cdk.core.IResolvable logBackupRetentionPeriod) {
this.props.logBackupRetentionPeriod(logBackupRetentionPeriod);
return this;
}
/**
* Property maintainTime: The period during which the maintenance performs.
*
* The format is HH:mmZ-HH:mmZ.
*
* @return {@code this}
* @param maintainTime Property maintainTime: The period during which the maintenance performs. This parameter is required.
*/
public Builder maintainTime(final java.lang.String maintainTime) {
this.props.maintainTime(maintainTime);
return this;
}
/**
* Property maintainTime: The period during which the maintenance performs.
*
* The format is HH:mmZ-HH:mmZ.
*
* @return {@code this}
* @param maintainTime Property maintainTime: The period during which the maintenance performs. This parameter is required.
*/
public Builder maintainTime(final com.aliyun.ros.cdk.core.IResolvable maintainTime) {
this.props.maintainTime(maintainTime);
return this;
}
/**
* Property masterUsername: The master user name for the database instance.
*
* @return {@code this}
* @param masterUsername Property masterUsername: The master user name for the database instance. This parameter is required.
*/
public Builder masterUsername(final java.lang.String masterUsername) {
this.props.masterUsername(masterUsername);
return this;
}
/**
* Property masterUsername: The master user name for the database instance.
*
* @return {@code this}
* @param masterUsername Property masterUsername: The master user name for the database instance. This parameter is required.
*/
public Builder masterUsername(final com.aliyun.ros.cdk.core.IResolvable masterUsername) {
this.props.masterUsername(masterUsername);
return this;
}
/**
* Property masterUserPassword: The master password for the database instance.
*
* @return {@code this}
* @param masterUserPassword Property masterUserPassword: The master password for the database instance. This parameter is required.
*/
public Builder masterUserPassword(final java.lang.String masterUserPassword) {
this.props.masterUserPassword(masterUserPassword);
return this;
}
/**
* Property masterUserPassword: The master password for the database instance.
*
* @return {@code this}
* @param masterUserPassword Property masterUserPassword: The master password for the database instance. This parameter is required.
*/
public Builder masterUserPassword(final com.aliyun.ros.cdk.core.IResolvable masterUserPassword) {
this.props.masterUserPassword(masterUserPassword);
return this;
}
/**
* Property masterUserType: Privilege type of account.
*
* Normal: Common privilege.
* Super: High privilege.
* Sysadmin: Super privileges (SA) (only supported by SQL Server)
* The default value is Normal.
*
* @return {@code this}
* @param masterUserType Property masterUserType: Privilege type of account. This parameter is required.
*/
public Builder masterUserType(final java.lang.String masterUserType) {
this.props.masterUserType(masterUserType);
return this;
}
/**
* Property masterUserType: Privilege type of account.
*
* Normal: Common privilege.
* Super: High privilege.
* Sysadmin: Super privileges (SA) (only supported by SQL Server)
* The default value is Normal.
*
* @return {@code this}
* @param masterUserType Property masterUserType: Privilege type of account. This parameter is required.
*/
public Builder masterUserType(final com.aliyun.ros.cdk.core.IResolvable masterUserType) {
this.props.masterUserType(masterUserType);
return this;
}
/**
* Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment.
*
* @return {@code this}
* @param multiAz Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment. This parameter is required.
*/
public Builder multiAz(final java.lang.Boolean multiAz) {
this.props.multiAz(multiAz);
return this;
}
/**
* Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment.
*
* @return {@code this}
* @param multiAz Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment. This parameter is required.
*/
public Builder multiAz(final com.aliyun.ros.cdk.core.IResolvable multiAz) {
this.props.multiAz(multiAz);
return this;
}
/**
* Property port: The port of the database service.
*
* @return {@code this}
* @param port Property port: The port of the database service. This parameter is required.
*/
public Builder port(final java.lang.Number port) {
this.props.port(port);
return this;
}
/**
* Property port: The port of the database service.
*
* @return {@code this}
* @param port Property port: The port of the database service. This parameter is required.
*/
public Builder port(final com.aliyun.ros.cdk.core.IResolvable port) {
this.props.port(port);
return this;
}
/**
* Property preferredBackupPeriod: The backup period.
*
* Separate multiple values with commas (,). The default value is the original value. Valid values:Monday Tuesday Wednesday Thursday Friday Saturday Sunday Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param preferredBackupPeriod Property preferredBackupPeriod: The backup period. This parameter is required.
*/
public Builder preferredBackupPeriod(final java.util.List extends java.lang.Object> preferredBackupPeriod) {
this.props.preferredBackupPeriod(preferredBackupPeriod);
return this;
}
/**
* Property preferredBackupPeriod: The backup period.
*
* Separate multiple values with commas (,). The default value is the original value. Valid values:Monday Tuesday Wednesday Thursday Friday Saturday Sunday Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param preferredBackupPeriod Property preferredBackupPeriod: The backup period. This parameter is required.
*/
public Builder preferredBackupPeriod(final com.aliyun.ros.cdk.core.IResolvable preferredBackupPeriod) {
this.props.preferredBackupPeriod(preferredBackupPeriod);
return this;
}
/**
* Property preferredBackupTime: The time when the backup task is performed.
*
* Format: yyyy-MM-ddZ-HH:mm:ssZ.Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param preferredBackupTime Property preferredBackupTime: The time when the backup task is performed. This parameter is required.
*/
public Builder preferredBackupTime(final java.lang.String preferredBackupTime) {
this.props.preferredBackupTime(preferredBackupTime);
return this;
}
/**
* Property preferredBackupTime: The time when the backup task is performed.
*
* Format: yyyy-MM-ddZ-HH:mm:ssZ.Note When the BackupPolicyMode parameter is set to DataBackupPolicy, this parameter is required.
*
* @return {@code this}
* @param preferredBackupTime Property preferredBackupTime: The time when the backup task is performed. This parameter is required.
*/
public Builder preferredBackupTime(final com.aliyun.ros.cdk.core.IResolvable preferredBackupTime) {
this.props.preferredBackupTime(preferredBackupTime);
return this;
}
/**
* Property privateIpAddress: The private ip for created instance.
*
* @return {@code this}
* @param privateIpAddress Property privateIpAddress: The private ip for created instance. This parameter is required.
*/
public Builder privateIpAddress(final java.lang.String privateIpAddress) {
this.props.privateIpAddress(privateIpAddress);
return this;
}
/**
* Property privateIpAddress: The private ip for created instance.
*
* @return {@code this}
* @param privateIpAddress Property privateIpAddress: The private ip for created instance. This parameter is required.
*/
public Builder privateIpAddress(final com.aliyun.ros.cdk.core.IResolvable privateIpAddress) {
this.props.privateIpAddress(privateIpAddress);
return this;
}
/**
* Property quantity: The number of instance to be created, default is 1, max number is 99.
*
* @return {@code this}
* @param quantity Property quantity: The number of instance to be created, default is 1, max number is 99. This parameter is required.
*/
public Builder quantity(final java.lang.Number quantity) {
this.props.quantity(quantity);
return this;
}
/**
* Property quantity: The number of instance to be created, default is 1, max number is 99.
*
* @return {@code this}
* @param quantity Property quantity: The number of instance to be created, default is 1, max number is 99. This parameter is required.
*/
public Builder quantity(final com.aliyun.ros.cdk.core.IResolvable quantity) {
this.props.quantity(quantity);
return this;
}
/**
* Property releasedKeepPolicy: The policy used to retain archived backups if the instance is released.
*
* Default value: None.
* Valid values:
* Lastest: Only the last archived backup is retained.
* All: All of the archived backups are retained.
*
* @return {@code this}
* @param releasedKeepPolicy Property releasedKeepPolicy: The policy used to retain archived backups if the instance is released. This parameter is required.
*/
public Builder releasedKeepPolicy(final java.lang.String releasedKeepPolicy) {
this.props.releasedKeepPolicy(releasedKeepPolicy);
return this;
}
/**
* Property releasedKeepPolicy: The policy used to retain archived backups if the instance is released.
*
* Default value: None.
* Valid values:
* Lastest: Only the last archived backup is retained.
* All: All of the archived backups are retained.
*
* @return {@code this}
* @param releasedKeepPolicy Property releasedKeepPolicy: The policy used to retain archived backups if the instance is released. This parameter is required.
*/
public Builder releasedKeepPolicy(final com.aliyun.ros.cdk.core.IResolvable releasedKeepPolicy) {
this.props.releasedKeepPolicy(releasedKeepPolicy);
return this;
}
/**
* Property resourceGroupId: Resource group id.
*
* @return {@code this}
* @param resourceGroupId Property resourceGroupId: Resource group id. This parameter is required.
*/
public Builder resourceGroupId(final java.lang.String resourceGroupId) {
this.props.resourceGroupId(resourceGroupId);
return this;
}
/**
* Property resourceGroupId: Resource group id.
*
* @return {@code this}
* @param resourceGroupId Property resourceGroupId: Resource group id. This parameter is required.
*/
public Builder resourceGroupId(final com.aliyun.ros.cdk.core.IResolvable resourceGroupId) {
this.props.resourceGroupId(resourceGroupId);
return this;
}
/**
* Property roleArn: The Alibaba Cloud Resource Name (ARN) provided to the service account of the instance by your Alibaba Cloud account to connect to KMS.
*
* You can copy the ARN from the RAM console.
*
* @return {@code this}
* @param roleArn Property roleArn: The Alibaba Cloud Resource Name (ARN) provided to the service account of the instance by your Alibaba Cloud account to connect to KMS. This parameter is required.
*/
public Builder roleArn(final java.lang.String roleArn) {
this.props.roleArn(roleArn);
return this;
}
/**
* Property roleArn: The Alibaba Cloud Resource Name (ARN) provided to the service account of the instance by your Alibaba Cloud account to connect to KMS.
*
* You can copy the ARN from the RAM console.
*
* @return {@code this}
* @param roleArn Property roleArn: The Alibaba Cloud Resource Name (ARN) provided to the service account of the instance by your Alibaba Cloud account to connect to KMS. This parameter is required.
*/
public Builder roleArn(final com.aliyun.ros.cdk.core.IResolvable roleArn) {
this.props.roleArn(roleArn);
return this;
}
/**
* Property securityGroupId: The ID of the ECS security groups.
*
* Each RDS instance can be associated with up to three ECS security groups.
* You must separate them with commas (,).
* To delete an ECS Security group, leave this parameter empty.
*
* @return {@code this}
* @param securityGroupId Property securityGroupId: The ID of the ECS security groups. This parameter is required.
*/
public Builder securityGroupId(final java.lang.String securityGroupId) {
this.props.securityGroupId(securityGroupId);
return this;
}
/**
* Property securityGroupId: The ID of the ECS security groups.
*
* Each RDS instance can be associated with up to three ECS security groups.
* You must separate them with commas (,).
* To delete an ECS Security group, leave this parameter empty.
*
* @return {@code this}
* @param securityGroupId Property securityGroupId: The ID of the ECS security groups. This parameter is required.
*/
public Builder securityGroupId(final com.aliyun.ros.cdk.core.IResolvable securityGroupId) {
this.props.securityGroupId(securityGroupId);
return this;
}
/**
* Property serverlessConfig: The config of RDS serverless instance.
*
* This is required when creating serverless instance.
*
* @return {@code this}
* @param serverlessConfig Property serverlessConfig: The config of RDS serverless instance. This parameter is required.
*/
public Builder serverlessConfig(final com.aliyun.ros.cdk.core.IResolvable serverlessConfig) {
this.props.serverlessConfig(serverlessConfig);
return this;
}
/**
* Property serverlessConfig: The config of RDS serverless instance.
*
* This is required when creating serverless instance.
*
* @return {@code this}
* @param serverlessConfig Property serverlessConfig: The config of RDS serverless instance. This parameter is required.
*/
public Builder serverlessConfig(final com.aliyun.ros.cdk.rds.RosPrepayDBInstance.ServerlessConfigProperty serverlessConfig) {
this.props.serverlessConfig(serverlessConfig);
return this;
}
/**
* Property slaveZoneIds: List of slave zone ids can specify slave zone ids when creating the high-availability or enterprise edition instance.
*
* Meanwhile, VSwitchId needs to pass in the corresponding vswitch id to the slave zone by order. For example, ZoneId = "zone-a" and SlaveZoneIds = ["zone-c", "zone-b"], then the VSwitchId must be "vsw-zone-a,vsw-zone-c,vsw-zone-b".
*
* @return {@code this}
* @param slaveZoneIds Property slaveZoneIds: List of slave zone ids can specify slave zone ids when creating the high-availability or enterprise edition instance. This parameter is required.
*/
public Builder slaveZoneIds(final com.aliyun.ros.cdk.core.IResolvable slaveZoneIds) {
this.props.slaveZoneIds(slaveZoneIds);
return this;
}
/**
* Property slaveZoneIds: List of slave zone ids can specify slave zone ids when creating the high-availability or enterprise edition instance.
*
* Meanwhile, VSwitchId needs to pass in the corresponding vswitch id to the slave zone by order. For example, ZoneId = "zone-a" and SlaveZoneIds = ["zone-c", "zone-b"], then the VSwitchId must be "vsw-zone-a,vsw-zone-c,vsw-zone-b".
*
* @return {@code this}
* @param slaveZoneIds Property slaveZoneIds: List of slave zone ids can specify slave zone ids when creating the high-availability or enterprise edition instance. This parameter is required.
*/
public Builder slaveZoneIds(final java.util.List extends java.lang.Object> slaveZoneIds) {
this.props.slaveZoneIds(slaveZoneIds);
return this;
}
/**
* Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature.
*
* Valid values:Enable | Disabled.
*
* @return {@code this}
* @param sqlCollectorStatus Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. This parameter is required.
*/
public Builder sqlCollectorStatus(final java.lang.String sqlCollectorStatus) {
this.props.sqlCollectorStatus(sqlCollectorStatus);
return this;
}
/**
* Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature.
*
* Valid values:Enable | Disabled.
*
* @return {@code this}
* @param sqlCollectorStatus Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. This parameter is required.
*/
public Builder sqlCollectorStatus(final com.aliyun.ros.cdk.core.IResolvable sqlCollectorStatus) {
this.props.sqlCollectorStatus(sqlCollectorStatus);
return this;
}
/**
* Property sslSetting: Secure Sockets Layer (SSL) link setting of the instance.
*
* Valid values:
* Disabled: Disable SSL
* EnabledForPublicConnection: Public connection address will be protected by the SSL certificate. It requires AllocatePublicConnection is true.
* EnabledForInnerConnection: Private connection address will be protected by the SSL certificate.
* Default value is Disabled.
*
* @return {@code this}
* @param sslSetting Property sslSetting: Secure Sockets Layer (SSL) link setting of the instance. This parameter is required.
*/
public Builder sslSetting(final java.lang.String sslSetting) {
this.props.sslSetting(sslSetting);
return this;
}
/**
* Property sslSetting: Secure Sockets Layer (SSL) link setting of the instance.
*
* Valid values:
* Disabled: Disable SSL
* EnabledForPublicConnection: Public connection address will be protected by the SSL certificate. It requires AllocatePublicConnection is true.
* EnabledForInnerConnection: Private connection address will be protected by the SSL certificate.
* Default value is Disabled.
*
* @return {@code this}
* @param sslSetting Property sslSetting: Secure Sockets Layer (SSL) link setting of the instance. This parameter is required.
*/
public Builder sslSetting(final com.aliyun.ros.cdk.core.IResolvable sslSetting) {
this.props.sslSetting(sslSetting);
return this;
}
/**
* Property tags: The tags of an instance.
*
* You should input the information of the tag with the format of the Key-Value, such as {"key1":"value1","key2":"value2", ... "key5":"value5"}.
* At most 5 tags can be specified.
* Key
* It can be up to 64 characters in length.
* Cannot begin with aliyun.
* Cannot begin with http:// or https://.
* Cannot be a null string.
* Value
* It can be up to 128 characters in length.
* Cannot begin with aliyun.
* Cannot begin with http:// or https://.
* Can be a null string.
*
* @return {@code this}
* @param tags Property tags: The tags of an instance. This parameter is required.
*/
public Builder tags(final java.util.Map tags) {
this.props.tags(tags);
return this;
}
/**
* Property targetDedicatedHostIdForLog: The ID of the host to which the instance belongs if you create a log instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForLog Property targetDedicatedHostIdForLog: The ID of the host to which the instance belongs if you create a log instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForLog(final java.lang.String targetDedicatedHostIdForLog) {
this.props.targetDedicatedHostIdForLog(targetDedicatedHostIdForLog);
return this;
}
/**
* Property targetDedicatedHostIdForLog: The ID of the host to which the instance belongs if you create a log instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForLog Property targetDedicatedHostIdForLog: The ID of the host to which the instance belongs if you create a log instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForLog(final com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForLog) {
this.props.targetDedicatedHostIdForLog(targetDedicatedHostIdForLog);
return this;
}
/**
* Property targetDedicatedHostIdForMaster: The ID of the host to which the instance belongs if you create a primary instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForMaster Property targetDedicatedHostIdForMaster: The ID of the host to which the instance belongs if you create a primary instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForMaster(final java.lang.String targetDedicatedHostIdForMaster) {
this.props.targetDedicatedHostIdForMaster(targetDedicatedHostIdForMaster);
return this;
}
/**
* Property targetDedicatedHostIdForMaster: The ID of the host to which the instance belongs if you create a primary instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForMaster Property targetDedicatedHostIdForMaster: The ID of the host to which the instance belongs if you create a primary instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForMaster(final com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForMaster) {
this.props.targetDedicatedHostIdForMaster(targetDedicatedHostIdForMaster);
return this;
}
/**
* Property targetDedicatedHostIdForSlave: The ID of the host to which the instance belongs if you create a secondary instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForSlave Property targetDedicatedHostIdForSlave: The ID of the host to which the instance belongs if you create a secondary instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForSlave(final java.lang.String targetDedicatedHostIdForSlave) {
this.props.targetDedicatedHostIdForSlave(targetDedicatedHostIdForSlave);
return this;
}
/**
* Property targetDedicatedHostIdForSlave: The ID of the host to which the instance belongs if you create a secondary instance in a host group.
*
* @return {@code this}
* @param targetDedicatedHostIdForSlave Property targetDedicatedHostIdForSlave: The ID of the host to which the instance belongs if you create a secondary instance in a host group. This parameter is required.
*/
public Builder targetDedicatedHostIdForSlave(final com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForSlave) {
this.props.targetDedicatedHostIdForSlave(targetDedicatedHostIdForSlave);
return this;
}
/**
* Property vpcId: The VPC id of created database instance.
*
* For VPC network, the property is required.
*
* @return {@code this}
* @param vpcId Property vpcId: The VPC id of created database instance. This parameter is required.
*/
public Builder vpcId(final java.lang.String vpcId) {
this.props.vpcId(vpcId);
return this;
}
/**
* Property vpcId: The VPC id of created database instance.
*
* For VPC network, the property is required.
*
* @return {@code this}
* @param vpcId Property vpcId: The VPC id of created database instance. This parameter is required.
*/
public Builder vpcId(final com.aliyun.ros.cdk.core.IResolvable vpcId) {
this.props.vpcId(vpcId);
return this;
}
/**
* Property vSwitchId: The vSwitch id of created instance.
*
* For VPC network, the property is required.
*
* @return {@code this}
* @param vSwitchId Property vSwitchId: The vSwitch id of created instance. This parameter is required.
*/
public Builder vSwitchId(final java.lang.String vSwitchId) {
this.props.vSwitchId(vSwitchId);
return this;
}
/**
* Property vSwitchId: The vSwitch id of created instance.
*
* For VPC network, the property is required.
*
* @return {@code this}
* @param vSwitchId Property vSwitchId: The vSwitch id of created instance. This parameter is required.
*/
public Builder vSwitchId(final com.aliyun.ros.cdk.core.IResolvable vSwitchId) {
this.props.vSwitchId(vSwitchId);
return this;
}
/**
* Property zoneId: selected zone to create database instance.
*
* You cannot set the ZoneId parameter if the MultiAZ parameter is set to true.
*
* @return {@code this}
* @param zoneId Property zoneId: selected zone to create database instance. This parameter is required.
*/
public Builder zoneId(final java.lang.String zoneId) {
this.props.zoneId(zoneId);
return this;
}
/**
* Property zoneId: selected zone to create database instance.
*
* You cannot set the ZoneId parameter if the MultiAZ parameter is set to true.
*
* @return {@code this}
* @param zoneId Property zoneId: selected zone to create database instance. This parameter is required.
*/
public Builder zoneId(final com.aliyun.ros.cdk.core.IResolvable zoneId) {
this.props.zoneId(zoneId);
return this;
}
/**
* @returns a newly built instance of {@link com.aliyun.ros.cdk.rds.PrepayDBInstance}.
*/
@Override
public com.aliyun.ros.cdk.rds.PrepayDBInstance build() {
return new com.aliyun.ros.cdk.rds.PrepayDBInstance(
this.scope,
this.id,
this.props.build(),
this.enableResourcePropertyConstraint
);
}
}
}