All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.aliyun.ros.cdk.rds.PrepayDBInstanceProps Maven / Gradle / Ivy

package com.aliyun.ros.cdk.rds;

/**
 * Properties for defining a `ALIYUN::RDS::PrepayDBInstance`.
 */
@javax.annotation.Generated(value = "jsii-pacmak/1.70.0 (build 03c2f6f)", date = "2022-11-04T06:18:43.496Z")
@software.amazon.jsii.Jsii(module = com.aliyun.ros.cdk.rds.$Module.class, fqn = "@alicloud/ros-cdk-rds.PrepayDBInstanceProps")
@software.amazon.jsii.Jsii.Proxy(PrepayDBInstanceProps.Jsii$Proxy.class)
public interface PrepayDBInstanceProps extends software.amazon.jsii.JsiiSerializable {

    /**
     * Property commodityCode: The CommodityCode of the order.
     */
    @org.jetbrains.annotations.NotNull java.lang.Object getCommodityCode();

    /**
     * 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 */ @org.jetbrains.annotations.NotNull java.lang.Object getDbInstanceClass(); /** * 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 */ @org.jetbrains.annotations.NotNull java.lang.Object getDbInstanceStorage(); /** * Property engine: Database instance engine type. *

* Support MySQL/SQLServer/PostgreSQL/PPAS/MariaDB now. */ @org.jetbrains.annotations.NotNull java.lang.Object getEngine(); /** * 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 */ @org.jetbrains.annotations.NotNull java.lang.Object getEngineVersion(); /** * 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. */ @org.jetbrains.annotations.NotNull java.lang.Object getPeriod(); /** * Property periodType: Charge period for created instances. */ @org.jetbrains.annotations.NotNull java.lang.Object getPeriodType(); /** * Property allocatePublicConnection: If true, allocate public connection automate. */ default @org.jetbrains.annotations.Nullable java.lang.Object getAllocatePublicConnection() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getArchiveBackupKeepCount() { return null; } /** * 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 */ default @org.jetbrains.annotations.Nullable java.lang.Object getArchiveBackupKeepPolicy() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getArchiveBackupRetentionPeriod() { return null; } /** * Property autoPay: Automatic Payment. *

* Default is true. */ default @org.jetbrains.annotations.Nullable java.lang.Object getAutoPay() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getAutoRenew() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackUpCategory() { return null; } /** * Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup. */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackupPolicyMode() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackupRetentionPeriod() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getCategory() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getCompressType() { return null; } /** * Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode. *

* Default is RDS system assigns. */ default @org.jetbrains.annotations.Nullable java.lang.Object getConnectionMode() { return null; } /** * 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 (-). */ default @org.jetbrains.annotations.Nullable java.lang.Object getConnectionStringPrefix() { return null; } /** * Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public. */ default @org.jetbrains.annotations.Nullable java.lang.Object getConnectionStringType() { return null; } /** * Property couponCode: The coupon code of the order. */ default @org.jetbrains.annotations.Nullable java.lang.Object getCouponCode() { return null; } /** * Property dbInstanceDescription: Description of created database instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceDescription() { return null; } /** * Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceNetType() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceStorageType() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbIsIgnoreCase() { return null; } /** * Property dbMappings: Database mappings to attach to db instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbMappings() { return null; } /** * Property dbParamGroupId: The ID of the parameter template used by the instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbParamGroupId() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbTimeZone() { return null; } /** * Property dedicatedHostGroupId: The ID of the host group to which the instance belongs if you create an instance in a host group. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDedicatedHostGroupId() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getEnableBackupLog() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getEncryptionKey() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getHighSpaceUsageProtection() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLocalLogRetentionHours() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLocalLogRetentionSpace() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLogBackupFrequency() { return null; } /** * Property logBackupLocalRetentionNumber: The number of log backup files that can be retained on the instance. *

* Default value: 60. Valid values: 6 to 100. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLogBackupLocalRetentionNumber() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getLogBackupRetentionPeriod() { return null; } /** * Property maintainTime: The period during which the maintenance performs. *

* The format is HH:mmZ-HH:mmZ. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMaintainTime() { return null; } /** * Property masterUsername: The master user name for the database instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMasterUsername() { return null; } /** * Property masterUserPassword: The master password for the database instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMasterUserPassword() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMasterUserType() { return null; } /** * Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment. */ default @org.jetbrains.annotations.Nullable java.lang.Object getMultiAz() { return null; } /** * Property port: The port of the database service. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPort() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPreferredBackupPeriod() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPreferredBackupTime() { return null; } /** * Property privateIpAddress: The private ip for created instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPrivateIpAddress() { return null; } /** * Property quantity: The number of instance to be created, default is 1, max number is 99. */ default @org.jetbrains.annotations.Nullable java.lang.Object getQuantity() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getReleasedKeepPolicy() { return null; } /** * Property resourceGroupId: Resource group id. */ default @org.jetbrains.annotations.Nullable java.lang.Object getResourceGroupId() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRoleArn() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityGroupId() { return null; } /** * Property serverlessConfig: The config of RDS serverless instance. *

* This is required when creating serverless instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getServerlessConfig() { return null; } /** * 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". */ default @org.jetbrains.annotations.Nullable java.lang.Object getSlaveZoneIds() { return null; } /** * Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. *

* Valid values:Enable | Disabled. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSqlCollectorStatus() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSslSetting() { return null; } /** * 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. */ default @org.jetbrains.annotations.Nullable java.util.Map getTags() { return null; } /** * Property targetDedicatedHostIdForLog: The ID of the host to which the instance belongs if you create a log instance in a host group. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTargetDedicatedHostIdForLog() { return null; } /** * Property targetDedicatedHostIdForMaster: The ID of the host to which the instance belongs if you create a primary instance in a host group. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTargetDedicatedHostIdForMaster() { return null; } /** * Property targetDedicatedHostIdForSlave: The ID of the host to which the instance belongs if you create a secondary instance in a host group. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTargetDedicatedHostIdForSlave() { return null; } /** * Property vpcId: The VPC id of created database instance. *

* For VPC network, the property is required. */ default @org.jetbrains.annotations.Nullable java.lang.Object getVpcId() { return null; } /** * Property vSwitchId: The vSwitch id of created instance. *

* For VPC network, the property is required. */ default @org.jetbrains.annotations.Nullable java.lang.Object getVSwitchId() { return null; } /** * Property zoneId: selected zone to create database instance. *

* You cannot set the ZoneId parameter if the MultiAZ parameter is set to true. */ default @org.jetbrains.annotations.Nullable java.lang.Object getZoneId() { return null; } /** * @return a {@link Builder} of {@link PrepayDBInstanceProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link PrepayDBInstanceProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object commodityCode; java.lang.Object dbInstanceClass; java.lang.Object dbInstanceStorage; java.lang.Object engine; java.lang.Object engineVersion; java.lang.Object period; java.lang.Object periodType; java.lang.Object allocatePublicConnection; java.lang.Object archiveBackupKeepCount; java.lang.Object archiveBackupKeepPolicy; java.lang.Object archiveBackupRetentionPeriod; java.lang.Object autoPay; java.lang.Object autoRenew; java.lang.Object backUpCategory; java.lang.Object backupPolicyMode; java.lang.Object backupRetentionPeriod; java.lang.Object category; java.lang.Object compressType; java.lang.Object connectionMode; java.lang.Object connectionStringPrefix; java.lang.Object connectionStringType; java.lang.Object couponCode; java.lang.Object dbInstanceDescription; java.lang.Object dbInstanceNetType; java.lang.Object dbInstanceStorageType; java.lang.Object dbIsIgnoreCase; java.lang.Object dbMappings; java.lang.Object dbParamGroupId; java.lang.Object dbTimeZone; java.lang.Object dedicatedHostGroupId; java.lang.Object enableBackupLog; java.lang.Object encryptionKey; java.lang.Object highSpaceUsageProtection; java.lang.Object localLogRetentionHours; java.lang.Object localLogRetentionSpace; java.lang.Object logBackupFrequency; java.lang.Object logBackupLocalRetentionNumber; java.lang.Object logBackupRetentionPeriod; java.lang.Object maintainTime; java.lang.Object masterUsername; java.lang.Object masterUserPassword; java.lang.Object masterUserType; java.lang.Object multiAz; java.lang.Object port; java.lang.Object preferredBackupPeriod; java.lang.Object preferredBackupTime; java.lang.Object privateIpAddress; java.lang.Object quantity; java.lang.Object releasedKeepPolicy; java.lang.Object resourceGroupId; java.lang.Object roleArn; java.lang.Object securityGroupId; java.lang.Object serverlessConfig; java.lang.Object slaveZoneIds; java.lang.Object sqlCollectorStatus; java.lang.Object sslSetting; java.util.Map tags; java.lang.Object targetDedicatedHostIdForLog; java.lang.Object targetDedicatedHostIdForMaster; java.lang.Object targetDedicatedHostIdForSlave; java.lang.Object vpcId; java.lang.Object vSwitchId; java.lang.Object zoneId; /** * Sets the value of {@link PrepayDBInstanceProps#getCommodityCode} * @param commodityCode Property commodityCode: The CommodityCode of the order. This parameter is required. * @return {@code this} */ public Builder commodityCode(java.lang.String commodityCode) { this.commodityCode = commodityCode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCommodityCode} * @param commodityCode Property commodityCode: The CommodityCode of the order. This parameter is required. * @return {@code this} */ public Builder commodityCode(com.aliyun.ros.cdk.core.IResolvable commodityCode) { this.commodityCode = commodityCode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceClass} * @param dbInstanceClass Property dbInstanceClass: Database instance type. This parameter is required. * Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc * @return {@code this} */ public Builder dbInstanceClass(java.lang.String dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceClass} * @param dbInstanceClass Property dbInstanceClass: Database instance type. This parameter is required. * Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc * @return {@code this} */ public Builder dbInstanceClass(com.aliyun.ros.cdk.core.IResolvable dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceStorage} * @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. This parameter is required. * 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} */ public Builder dbInstanceStorage(java.lang.Number dbInstanceStorage) { this.dbInstanceStorage = dbInstanceStorage; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceStorage} * @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. This parameter is required. * 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} */ public Builder dbInstanceStorage(com.aliyun.ros.cdk.core.IResolvable dbInstanceStorage) { this.dbInstanceStorage = dbInstanceStorage; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEngine} * @param engine Property engine: Database instance engine type. This parameter is required. * Support MySQL/SQLServer/PostgreSQL/PPAS/MariaDB now. * @return {@code this} */ public Builder engine(java.lang.String engine) { this.engine = engine; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEngine} * @param engine Property engine: Database instance engine type. This parameter is required. * Support MySQL/SQLServer/PostgreSQL/PPAS/MariaDB now. * @return {@code this} */ public Builder engine(com.aliyun.ros.cdk.core.IResolvable engine) { this.engine = engine; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEngineVersion} * @param engineVersion Property engineVersion: Database instance version of the relative engine type. This parameter is required. * 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} */ public Builder engineVersion(java.lang.String engineVersion) { this.engineVersion = engineVersion; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEngineVersion} * @param engineVersion Property engineVersion: Database instance version of the relative engine type. This parameter is required. * 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} */ public Builder engineVersion(com.aliyun.ros.cdk.core.IResolvable engineVersion) { this.engineVersion = engineVersion; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPeriod} * @param period Property period: Prepaid time period. This parameter is required. * 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} */ public Builder period(java.lang.Number period) { this.period = period; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPeriod} * @param period Property period: Prepaid time period. This parameter is required. * 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} */ public Builder period(com.aliyun.ros.cdk.core.IResolvable period) { this.period = period; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPeriodType} * @param periodType Property periodType: Charge period for created instances. This parameter is required. * @return {@code this} */ public Builder periodType(java.lang.String periodType) { this.periodType = periodType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPeriodType} * @param periodType Property periodType: Charge period for created instances. This parameter is required. * @return {@code this} */ public Builder periodType(com.aliyun.ros.cdk.core.IResolvable periodType) { this.periodType = periodType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAllocatePublicConnection} * @param allocatePublicConnection Property allocatePublicConnection: If true, allocate public connection automate. * @return {@code this} */ public Builder allocatePublicConnection(java.lang.Boolean allocatePublicConnection) { this.allocatePublicConnection = allocatePublicConnection; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAllocatePublicConnection} * @param allocatePublicConnection Property allocatePublicConnection: If true, allocate public connection automate. * @return {@code this} */ public Builder allocatePublicConnection(com.aliyun.ros.cdk.core.IResolvable allocatePublicConnection) { this.allocatePublicConnection = allocatePublicConnection; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupKeepCount} * @param archiveBackupKeepCount 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} */ public Builder archiveBackupKeepCount(java.lang.Number archiveBackupKeepCount) { this.archiveBackupKeepCount = archiveBackupKeepCount; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupKeepCount} * @param archiveBackupKeepCount 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} */ public Builder archiveBackupKeepCount(com.aliyun.ros.cdk.core.IResolvable archiveBackupKeepCount) { this.archiveBackupKeepCount = archiveBackupKeepCount; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupKeepPolicy} * @param archiveBackupKeepPolicy 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} */ public Builder archiveBackupKeepPolicy(java.lang.String archiveBackupKeepPolicy) { this.archiveBackupKeepPolicy = archiveBackupKeepPolicy; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupKeepPolicy} * @param archiveBackupKeepPolicy 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} */ public Builder archiveBackupKeepPolicy(com.aliyun.ros.cdk.core.IResolvable archiveBackupKeepPolicy) { this.archiveBackupKeepPolicy = archiveBackupKeepPolicy; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupRetentionPeriod} * @param archiveBackupRetentionPeriod 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} */ public Builder archiveBackupRetentionPeriod(java.lang.Number archiveBackupRetentionPeriod) { this.archiveBackupRetentionPeriod = archiveBackupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getArchiveBackupRetentionPeriod} * @param archiveBackupRetentionPeriod 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} */ public Builder archiveBackupRetentionPeriod(com.aliyun.ros.cdk.core.IResolvable archiveBackupRetentionPeriod) { this.archiveBackupRetentionPeriod = archiveBackupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAutoPay} * @param autoPay Property autoPay: Automatic Payment. * Default is true. * @return {@code this} */ public Builder autoPay(java.lang.Boolean autoPay) { this.autoPay = autoPay; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAutoPay} * @param autoPay Property autoPay: Automatic Payment. * Default is true. * @return {@code this} */ public Builder autoPay(com.aliyun.ros.cdk.core.IResolvable autoPay) { this.autoPay = autoPay; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAutoRenew} * @param autoRenew 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} */ public Builder autoRenew(java.lang.Boolean autoRenew) { this.autoRenew = autoRenew; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getAutoRenew} * @param autoRenew 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} */ public Builder autoRenew(com.aliyun.ros.cdk.core.IResolvable autoRenew) { this.autoRenew = autoRenew; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackUpCategory} * @param backUpCategory 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} */ public Builder backUpCategory(java.lang.String backUpCategory) { this.backUpCategory = backUpCategory; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackUpCategory} * @param backUpCategory 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} */ public Builder backUpCategory(com.aliyun.ros.cdk.core.IResolvable backUpCategory) { this.backUpCategory = backUpCategory; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackupPolicyMode} * @param backupPolicyMode Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup. * @return {@code this} */ public Builder backupPolicyMode(java.lang.String backupPolicyMode) { this.backupPolicyMode = backupPolicyMode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackupPolicyMode} * @param backupPolicyMode Property backupPolicyMode: Backup type, DataBackupPolicy: data backup LogBackupPolicy: log backup. * @return {@code this} */ public Builder backupPolicyMode(com.aliyun.ros.cdk.core.IResolvable backupPolicyMode) { this.backupPolicyMode = backupPolicyMode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackupRetentionPeriod} * @param backupRetentionPeriod 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} */ public Builder backupRetentionPeriod(java.lang.Number backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getBackupRetentionPeriod} * @param backupRetentionPeriod 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} */ public Builder backupRetentionPeriod(com.aliyun.ros.cdk.core.IResolvable backupRetentionPeriod) { this.backupRetentionPeriod = backupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCategory} * @param category 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} */ public Builder category(java.lang.String category) { this.category = category; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCategory} * @param category 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} */ public Builder category(com.aliyun.ros.cdk.core.IResolvable category) { this.category = category; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCompressType} * @param compressType 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} */ public Builder compressType(java.lang.Number compressType) { this.compressType = compressType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCompressType} * @param compressType 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} */ public Builder compressType(com.aliyun.ros.cdk.core.IResolvable compressType) { this.compressType = compressType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionMode} * @param connectionMode Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode. * Default is RDS system assigns. * @return {@code this} */ public Builder connectionMode(java.lang.String connectionMode) { this.connectionMode = connectionMode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionMode} * @param connectionMode Property connectionMode: Connection Mode for database instance,support 'Standard' and 'Safe' mode. * Default is RDS system assigns. * @return {@code this} */ public Builder connectionMode(com.aliyun.ros.cdk.core.IResolvable connectionMode) { this.connectionMode = connectionMode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionStringPrefix} * @param connectionStringPrefix 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} */ public Builder connectionStringPrefix(java.lang.String connectionStringPrefix) { this.connectionStringPrefix = connectionStringPrefix; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionStringPrefix} * @param connectionStringPrefix 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} */ public Builder connectionStringPrefix(com.aliyun.ros.cdk.core.IResolvable connectionStringPrefix) { this.connectionStringPrefix = connectionStringPrefix; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionStringType} * @param connectionStringType Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public. * @return {@code this} */ public Builder connectionStringType(java.lang.String connectionStringType) { this.connectionStringType = connectionStringType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getConnectionStringType} * @param connectionStringType Property connectionStringType: The endpoint type of the instance, allow values: Inner, Public. * @return {@code this} */ public Builder connectionStringType(com.aliyun.ros.cdk.core.IResolvable connectionStringType) { this.connectionStringType = connectionStringType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCouponCode} * @param couponCode Property couponCode: The coupon code of the order. * @return {@code this} */ public Builder couponCode(java.lang.String couponCode) { this.couponCode = couponCode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getCouponCode} * @param couponCode Property couponCode: The coupon code of the order. * @return {@code this} */ public Builder couponCode(com.aliyun.ros.cdk.core.IResolvable couponCode) { this.couponCode = couponCode; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceDescription} * @param dbInstanceDescription Property dbInstanceDescription: Description of created database instance. * @return {@code this} */ public Builder dbInstanceDescription(java.lang.String dbInstanceDescription) { this.dbInstanceDescription = dbInstanceDescription; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceDescription} * @param dbInstanceDescription Property dbInstanceDescription: Description of created database instance. * @return {@code this} */ public Builder dbInstanceDescription(com.aliyun.ros.cdk.core.IResolvable dbInstanceDescription) { this.dbInstanceDescription = dbInstanceDescription; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceNetType} * @param dbInstanceNetType Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access. * @return {@code this} */ public Builder dbInstanceNetType(java.lang.String dbInstanceNetType) { this.dbInstanceNetType = dbInstanceNetType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceNetType} * @param dbInstanceNetType Property dbInstanceNetType: Database instance net type, default is Intranet.Internet for public access, Intranet for private access. * @return {@code this} */ public Builder dbInstanceNetType(com.aliyun.ros.cdk.core.IResolvable dbInstanceNetType) { this.dbInstanceNetType = dbInstanceNetType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceStorageType} * @param dbInstanceStorageType 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} */ public Builder dbInstanceStorageType(java.lang.String dbInstanceStorageType) { this.dbInstanceStorageType = dbInstanceStorageType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbInstanceStorageType} * @param dbInstanceStorageType 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} */ public Builder dbInstanceStorageType(com.aliyun.ros.cdk.core.IResolvable dbInstanceStorageType) { this.dbInstanceStorageType = dbInstanceStorageType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbIsIgnoreCase} * @param dbIsIgnoreCase 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} */ public Builder dbIsIgnoreCase(java.lang.Number dbIsIgnoreCase) { this.dbIsIgnoreCase = dbIsIgnoreCase; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbIsIgnoreCase} * @param dbIsIgnoreCase 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} */ public Builder dbIsIgnoreCase(com.aliyun.ros.cdk.core.IResolvable dbIsIgnoreCase) { this.dbIsIgnoreCase = dbIsIgnoreCase; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbMappings} * @param dbMappings Property dbMappings: Database mappings to attach to db instance. * @return {@code this} */ public Builder dbMappings(com.aliyun.ros.cdk.core.IResolvable dbMappings) { this.dbMappings = dbMappings; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbMappings} * @param dbMappings Property dbMappings: Database mappings to attach to db instance. * @return {@code this} */ public Builder dbMappings(java.util.List dbMappings) { this.dbMappings = dbMappings; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbParamGroupId} * @param dbParamGroupId Property dbParamGroupId: The ID of the parameter template used by the instance. * @return {@code this} */ public Builder dbParamGroupId(java.lang.String dbParamGroupId) { this.dbParamGroupId = dbParamGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbParamGroupId} * @param dbParamGroupId Property dbParamGroupId: The ID of the parameter template used by the instance. * @return {@code this} */ public Builder dbParamGroupId(com.aliyun.ros.cdk.core.IResolvable dbParamGroupId) { this.dbParamGroupId = dbParamGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbTimeZone} * @param dbTimeZone 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} */ public Builder dbTimeZone(java.lang.String dbTimeZone) { this.dbTimeZone = dbTimeZone; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDbTimeZone} * @param dbTimeZone 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} */ public Builder dbTimeZone(com.aliyun.ros.cdk.core.IResolvable dbTimeZone) { this.dbTimeZone = dbTimeZone; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDedicatedHostGroupId} * @param dedicatedHostGroupId 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} */ public Builder dedicatedHostGroupId(java.lang.String dedicatedHostGroupId) { this.dedicatedHostGroupId = dedicatedHostGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getDedicatedHostGroupId} * @param dedicatedHostGroupId 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} */ public Builder dedicatedHostGroupId(com.aliyun.ros.cdk.core.IResolvable dedicatedHostGroupId) { this.dedicatedHostGroupId = dedicatedHostGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEnableBackupLog} * @param enableBackupLog 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} */ public Builder enableBackupLog(java.lang.Boolean enableBackupLog) { this.enableBackupLog = enableBackupLog; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEnableBackupLog} * @param enableBackupLog 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} */ public Builder enableBackupLog(com.aliyun.ros.cdk.core.IResolvable enableBackupLog) { this.enableBackupLog = enableBackupLog; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEncryptionKey} * @param encryptionKey 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} */ public Builder encryptionKey(java.lang.String encryptionKey) { this.encryptionKey = encryptionKey; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getEncryptionKey} * @param encryptionKey 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} */ public Builder encryptionKey(com.aliyun.ros.cdk.core.IResolvable encryptionKey) { this.encryptionKey = encryptionKey; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getHighSpaceUsageProtection} * @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. * 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} */ public Builder highSpaceUsageProtection(java.lang.String highSpaceUsageProtection) { this.highSpaceUsageProtection = highSpaceUsageProtection; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getHighSpaceUsageProtection} * @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. * 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} */ public Builder highSpaceUsageProtection(com.aliyun.ros.cdk.core.IResolvable highSpaceUsageProtection) { this.highSpaceUsageProtection = highSpaceUsageProtection; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLocalLogRetentionHours} * @param localLogRetentionHours 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} */ public Builder localLogRetentionHours(java.lang.Number localLogRetentionHours) { this.localLogRetentionHours = localLogRetentionHours; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLocalLogRetentionHours} * @param localLogRetentionHours 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} */ public Builder localLogRetentionHours(com.aliyun.ros.cdk.core.IResolvable localLogRetentionHours) { this.localLogRetentionHours = localLogRetentionHours; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLocalLogRetentionSpace} * @param localLogRetentionSpace 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} */ public Builder localLogRetentionSpace(java.lang.Number localLogRetentionSpace) { this.localLogRetentionSpace = localLogRetentionSpace; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLocalLogRetentionSpace} * @param localLogRetentionSpace 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} */ public Builder localLogRetentionSpace(com.aliyun.ros.cdk.core.IResolvable localLogRetentionSpace) { this.localLogRetentionSpace = localLogRetentionSpace; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupFrequency} * @param logBackupFrequency 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} */ public Builder logBackupFrequency(java.lang.String logBackupFrequency) { this.logBackupFrequency = logBackupFrequency; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupFrequency} * @param logBackupFrequency 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} */ public Builder logBackupFrequency(com.aliyun.ros.cdk.core.IResolvable logBackupFrequency) { this.logBackupFrequency = logBackupFrequency; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupLocalRetentionNumber} * @param logBackupLocalRetentionNumber 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} */ public Builder logBackupLocalRetentionNumber(java.lang.Number logBackupLocalRetentionNumber) { this.logBackupLocalRetentionNumber = logBackupLocalRetentionNumber; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupLocalRetentionNumber} * @param logBackupLocalRetentionNumber 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} */ public Builder logBackupLocalRetentionNumber(com.aliyun.ros.cdk.core.IResolvable logBackupLocalRetentionNumber) { this.logBackupLocalRetentionNumber = logBackupLocalRetentionNumber; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupRetentionPeriod} * @param logBackupRetentionPeriod 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} */ public Builder logBackupRetentionPeriod(java.lang.Number logBackupRetentionPeriod) { this.logBackupRetentionPeriod = logBackupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getLogBackupRetentionPeriod} * @param logBackupRetentionPeriod 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} */ public Builder logBackupRetentionPeriod(com.aliyun.ros.cdk.core.IResolvable logBackupRetentionPeriod) { this.logBackupRetentionPeriod = logBackupRetentionPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMaintainTime} * @param maintainTime Property maintainTime: The period during which the maintenance performs. * The format is HH:mmZ-HH:mmZ. * @return {@code this} */ public Builder maintainTime(java.lang.String maintainTime) { this.maintainTime = maintainTime; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMaintainTime} * @param maintainTime Property maintainTime: The period during which the maintenance performs. * The format is HH:mmZ-HH:mmZ. * @return {@code this} */ public Builder maintainTime(com.aliyun.ros.cdk.core.IResolvable maintainTime) { this.maintainTime = maintainTime; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUsername} * @param masterUsername Property masterUsername: The master user name for the database instance. * @return {@code this} */ public Builder masterUsername(java.lang.String masterUsername) { this.masterUsername = masterUsername; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUsername} * @param masterUsername Property masterUsername: The master user name for the database instance. * @return {@code this} */ public Builder masterUsername(com.aliyun.ros.cdk.core.IResolvable masterUsername) { this.masterUsername = masterUsername; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUserPassword} * @param masterUserPassword Property masterUserPassword: The master password for the database instance. * @return {@code this} */ public Builder masterUserPassword(java.lang.String masterUserPassword) { this.masterUserPassword = masterUserPassword; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUserPassword} * @param masterUserPassword Property masterUserPassword: The master password for the database instance. * @return {@code this} */ public Builder masterUserPassword(com.aliyun.ros.cdk.core.IResolvable masterUserPassword) { this.masterUserPassword = masterUserPassword; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUserType} * @param masterUserType 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} */ public Builder masterUserType(java.lang.String masterUserType) { this.masterUserType = masterUserType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMasterUserType} * @param masterUserType 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} */ public Builder masterUserType(com.aliyun.ros.cdk.core.IResolvable masterUserType) { this.masterUserType = masterUserType; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMultiAz} * @param multiAz Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment. * @return {@code this} */ public Builder multiAz(java.lang.Boolean multiAz) { this.multiAz = multiAz; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getMultiAz} * @param multiAz Property multiAz: Specifies if the database instance is a multiple Availability Zone deployment. * @return {@code this} */ public Builder multiAz(com.aliyun.ros.cdk.core.IResolvable multiAz) { this.multiAz = multiAz; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPort} * @param port Property port: The port of the database service. * @return {@code this} */ public Builder port(java.lang.Number port) { this.port = port; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPort} * @param port Property port: The port of the database service. * @return {@code this} */ public Builder port(com.aliyun.ros.cdk.core.IResolvable port) { this.port = port; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPreferredBackupPeriod} * @param preferredBackupPeriod 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} */ public Builder preferredBackupPeriod(java.util.List preferredBackupPeriod) { this.preferredBackupPeriod = preferredBackupPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPreferredBackupPeriod} * @param preferredBackupPeriod 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} */ public Builder preferredBackupPeriod(com.aliyun.ros.cdk.core.IResolvable preferredBackupPeriod) { this.preferredBackupPeriod = preferredBackupPeriod; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPreferredBackupTime} * @param preferredBackupTime 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} */ public Builder preferredBackupTime(java.lang.String preferredBackupTime) { this.preferredBackupTime = preferredBackupTime; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPreferredBackupTime} * @param preferredBackupTime 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} */ public Builder preferredBackupTime(com.aliyun.ros.cdk.core.IResolvable preferredBackupTime) { this.preferredBackupTime = preferredBackupTime; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPrivateIpAddress} * @param privateIpAddress Property privateIpAddress: The private ip for created instance. * @return {@code this} */ public Builder privateIpAddress(java.lang.String privateIpAddress) { this.privateIpAddress = privateIpAddress; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getPrivateIpAddress} * @param privateIpAddress Property privateIpAddress: The private ip for created instance. * @return {@code this} */ public Builder privateIpAddress(com.aliyun.ros.cdk.core.IResolvable privateIpAddress) { this.privateIpAddress = privateIpAddress; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getQuantity} * @param quantity Property quantity: The number of instance to be created, default is 1, max number is 99. * @return {@code this} */ public Builder quantity(java.lang.Number quantity) { this.quantity = quantity; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getQuantity} * @param quantity Property quantity: The number of instance to be created, default is 1, max number is 99. * @return {@code this} */ public Builder quantity(com.aliyun.ros.cdk.core.IResolvable quantity) { this.quantity = quantity; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getReleasedKeepPolicy} * @param releasedKeepPolicy 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} */ public Builder releasedKeepPolicy(java.lang.String releasedKeepPolicy) { this.releasedKeepPolicy = releasedKeepPolicy; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getReleasedKeepPolicy} * @param releasedKeepPolicy 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} */ public Builder releasedKeepPolicy(com.aliyun.ros.cdk.core.IResolvable releasedKeepPolicy) { this.releasedKeepPolicy = releasedKeepPolicy; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: Resource group id. * @return {@code this} */ public Builder resourceGroupId(java.lang.String resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getResourceGroupId} * @param resourceGroupId Property resourceGroupId: Resource group id. * @return {@code this} */ public Builder resourceGroupId(com.aliyun.ros.cdk.core.IResolvable resourceGroupId) { this.resourceGroupId = resourceGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getRoleArn} * @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. * You can copy the ARN from the RAM console. * @return {@code this} */ public Builder roleArn(java.lang.String roleArn) { this.roleArn = roleArn; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getRoleArn} * @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. * You can copy the ARN from the RAM console. * @return {@code this} */ public Builder roleArn(com.aliyun.ros.cdk.core.IResolvable roleArn) { this.roleArn = roleArn; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSecurityGroupId} * @param securityGroupId 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} */ public Builder securityGroupId(java.lang.String securityGroupId) { this.securityGroupId = securityGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSecurityGroupId} * @param securityGroupId 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} */ public Builder securityGroupId(com.aliyun.ros.cdk.core.IResolvable securityGroupId) { this.securityGroupId = securityGroupId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getServerlessConfig} * @param serverlessConfig Property serverlessConfig: The config of RDS serverless instance. * This is required when creating serverless instance. * @return {@code this} */ public Builder serverlessConfig(com.aliyun.ros.cdk.core.IResolvable serverlessConfig) { this.serverlessConfig = serverlessConfig; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getServerlessConfig} * @param serverlessConfig Property serverlessConfig: The config of RDS serverless instance. * This is required when creating serverless instance. * @return {@code this} */ public Builder serverlessConfig(com.aliyun.ros.cdk.rds.RosPrepayDBInstance.ServerlessConfigProperty serverlessConfig) { this.serverlessConfig = serverlessConfig; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSlaveZoneIds} * @param slaveZoneIds 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} */ public Builder slaveZoneIds(com.aliyun.ros.cdk.core.IResolvable slaveZoneIds) { this.slaveZoneIds = slaveZoneIds; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSlaveZoneIds} * @param slaveZoneIds 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} */ public Builder slaveZoneIds(java.util.List slaveZoneIds) { this.slaveZoneIds = slaveZoneIds; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSqlCollectorStatus} * @param sqlCollectorStatus Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. * Valid values:Enable | Disabled. * @return {@code this} */ public Builder sqlCollectorStatus(java.lang.String sqlCollectorStatus) { this.sqlCollectorStatus = sqlCollectorStatus; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSqlCollectorStatus} * @param sqlCollectorStatus Property sqlCollectorStatus: Specifies whether to enable or disable the SQL Explorer (SQL audit) feature. * Valid values:Enable | Disabled. * @return {@code this} */ public Builder sqlCollectorStatus(com.aliyun.ros.cdk.core.IResolvable sqlCollectorStatus) { this.sqlCollectorStatus = sqlCollectorStatus; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSslSetting} * @param sslSetting 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} */ public Builder sslSetting(java.lang.String sslSetting) { this.sslSetting = sslSetting; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getSslSetting} * @param sslSetting 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} */ public Builder sslSetting(com.aliyun.ros.cdk.core.IResolvable sslSetting) { this.sslSetting = sslSetting; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTags} * @param tags 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} */ @SuppressWarnings("unchecked") public Builder tags(java.util.Map tags) { this.tags = (java.util.Map)tags; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForLog} * @param targetDedicatedHostIdForLog 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} */ public Builder targetDedicatedHostIdForLog(java.lang.String targetDedicatedHostIdForLog) { this.targetDedicatedHostIdForLog = targetDedicatedHostIdForLog; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForLog} * @param targetDedicatedHostIdForLog 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} */ public Builder targetDedicatedHostIdForLog(com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForLog) { this.targetDedicatedHostIdForLog = targetDedicatedHostIdForLog; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForMaster} * @param targetDedicatedHostIdForMaster 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} */ public Builder targetDedicatedHostIdForMaster(java.lang.String targetDedicatedHostIdForMaster) { this.targetDedicatedHostIdForMaster = targetDedicatedHostIdForMaster; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForMaster} * @param targetDedicatedHostIdForMaster 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} */ public Builder targetDedicatedHostIdForMaster(com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForMaster) { this.targetDedicatedHostIdForMaster = targetDedicatedHostIdForMaster; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForSlave} * @param targetDedicatedHostIdForSlave 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} */ public Builder targetDedicatedHostIdForSlave(java.lang.String targetDedicatedHostIdForSlave) { this.targetDedicatedHostIdForSlave = targetDedicatedHostIdForSlave; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getTargetDedicatedHostIdForSlave} * @param targetDedicatedHostIdForSlave 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} */ public Builder targetDedicatedHostIdForSlave(com.aliyun.ros.cdk.core.IResolvable targetDedicatedHostIdForSlave) { this.targetDedicatedHostIdForSlave = targetDedicatedHostIdForSlave; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getVpcId} * @param vpcId Property vpcId: The VPC id of created database instance. * For VPC network, the property is required. * @return {@code this} */ public Builder vpcId(java.lang.String vpcId) { this.vpcId = vpcId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getVpcId} * @param vpcId Property vpcId: The VPC id of created database instance. * For VPC network, the property is required. * @return {@code this} */ public Builder vpcId(com.aliyun.ros.cdk.core.IResolvable vpcId) { this.vpcId = vpcId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getVSwitchId} * @param vSwitchId Property vSwitchId: The vSwitch id of created instance. * For VPC network, the property is required. * @return {@code this} */ public Builder vSwitchId(java.lang.String vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getVSwitchId} * @param vSwitchId Property vSwitchId: The vSwitch id of created instance. * For VPC network, the property is required. * @return {@code this} */ public Builder vSwitchId(com.aliyun.ros.cdk.core.IResolvable vSwitchId) { this.vSwitchId = vSwitchId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getZoneId} * @param zoneId 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} */ public Builder zoneId(java.lang.String zoneId) { this.zoneId = zoneId; return this; } /** * Sets the value of {@link PrepayDBInstanceProps#getZoneId} * @param zoneId 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} */ public Builder zoneId(com.aliyun.ros.cdk.core.IResolvable zoneId) { this.zoneId = zoneId; return this; } /** * Builds the configured instance. * @return a new instance of {@link PrepayDBInstanceProps} * @throws NullPointerException if any required attribute was not provided */ @Override public PrepayDBInstanceProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link PrepayDBInstanceProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements PrepayDBInstanceProps { private final java.lang.Object commodityCode; private final java.lang.Object dbInstanceClass; private final java.lang.Object dbInstanceStorage; private final java.lang.Object engine; private final java.lang.Object engineVersion; private final java.lang.Object period; private final java.lang.Object periodType; private final java.lang.Object allocatePublicConnection; private final java.lang.Object archiveBackupKeepCount; private final java.lang.Object archiveBackupKeepPolicy; private final java.lang.Object archiveBackupRetentionPeriod; private final java.lang.Object autoPay; private final java.lang.Object autoRenew; private final java.lang.Object backUpCategory; private final java.lang.Object backupPolicyMode; private final java.lang.Object backupRetentionPeriod; private final java.lang.Object category; private final java.lang.Object compressType; private final java.lang.Object connectionMode; private final java.lang.Object connectionStringPrefix; private final java.lang.Object connectionStringType; private final java.lang.Object couponCode; private final java.lang.Object dbInstanceDescription; private final java.lang.Object dbInstanceNetType; private final java.lang.Object dbInstanceStorageType; private final java.lang.Object dbIsIgnoreCase; private final java.lang.Object dbMappings; private final java.lang.Object dbParamGroupId; private final java.lang.Object dbTimeZone; private final java.lang.Object dedicatedHostGroupId; private final java.lang.Object enableBackupLog; private final java.lang.Object encryptionKey; private final java.lang.Object highSpaceUsageProtection; private final java.lang.Object localLogRetentionHours; private final java.lang.Object localLogRetentionSpace; private final java.lang.Object logBackupFrequency; private final java.lang.Object logBackupLocalRetentionNumber; private final java.lang.Object logBackupRetentionPeriod; private final java.lang.Object maintainTime; private final java.lang.Object masterUsername; private final java.lang.Object masterUserPassword; private final java.lang.Object masterUserType; private final java.lang.Object multiAz; private final java.lang.Object port; private final java.lang.Object preferredBackupPeriod; private final java.lang.Object preferredBackupTime; private final java.lang.Object privateIpAddress; private final java.lang.Object quantity; private final java.lang.Object releasedKeepPolicy; private final java.lang.Object resourceGroupId; private final java.lang.Object roleArn; private final java.lang.Object securityGroupId; private final java.lang.Object serverlessConfig; private final java.lang.Object slaveZoneIds; private final java.lang.Object sqlCollectorStatus; private final java.lang.Object sslSetting; private final java.util.Map tags; private final java.lang.Object targetDedicatedHostIdForLog; private final java.lang.Object targetDedicatedHostIdForMaster; private final java.lang.Object targetDedicatedHostIdForSlave; private final java.lang.Object vpcId; private final java.lang.Object vSwitchId; private final java.lang.Object zoneId; /** * Constructor that initializes the object based on values retrieved from the JsiiObject. * @param objRef Reference to the JSII managed object. */ protected Jsii$Proxy(final software.amazon.jsii.JsiiObjectRef objRef) { super(objRef); this.commodityCode = software.amazon.jsii.Kernel.get(this, "commodityCode", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbInstanceClass = software.amazon.jsii.Kernel.get(this, "dbInstanceClass", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbInstanceStorage = software.amazon.jsii.Kernel.get(this, "dbInstanceStorage", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.engine = software.amazon.jsii.Kernel.get(this, "engine", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.engineVersion = software.amazon.jsii.Kernel.get(this, "engineVersion", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.period = software.amazon.jsii.Kernel.get(this, "period", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.periodType = software.amazon.jsii.Kernel.get(this, "periodType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.allocatePublicConnection = software.amazon.jsii.Kernel.get(this, "allocatePublicConnection", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.archiveBackupKeepCount = software.amazon.jsii.Kernel.get(this, "archiveBackupKeepCount", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.archiveBackupKeepPolicy = software.amazon.jsii.Kernel.get(this, "archiveBackupKeepPolicy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.archiveBackupRetentionPeriod = software.amazon.jsii.Kernel.get(this, "archiveBackupRetentionPeriod", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.autoPay = software.amazon.jsii.Kernel.get(this, "autoPay", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.autoRenew = software.amazon.jsii.Kernel.get(this, "autoRenew", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.backUpCategory = software.amazon.jsii.Kernel.get(this, "backUpCategory", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.backupPolicyMode = software.amazon.jsii.Kernel.get(this, "backupPolicyMode", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.backupRetentionPeriod = software.amazon.jsii.Kernel.get(this, "backupRetentionPeriod", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.category = software.amazon.jsii.Kernel.get(this, "category", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.compressType = software.amazon.jsii.Kernel.get(this, "compressType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.connectionMode = software.amazon.jsii.Kernel.get(this, "connectionMode", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.connectionStringPrefix = software.amazon.jsii.Kernel.get(this, "connectionStringPrefix", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.connectionStringType = software.amazon.jsii.Kernel.get(this, "connectionStringType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.couponCode = software.amazon.jsii.Kernel.get(this, "couponCode", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbInstanceDescription = software.amazon.jsii.Kernel.get(this, "dbInstanceDescription", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbInstanceNetType = software.amazon.jsii.Kernel.get(this, "dbInstanceNetType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbInstanceStorageType = software.amazon.jsii.Kernel.get(this, "dbInstanceStorageType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbIsIgnoreCase = software.amazon.jsii.Kernel.get(this, "dbIsIgnoreCase", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbMappings = software.amazon.jsii.Kernel.get(this, "dbMappings", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbParamGroupId = software.amazon.jsii.Kernel.get(this, "dbParamGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbTimeZone = software.amazon.jsii.Kernel.get(this, "dbTimeZone", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dedicatedHostGroupId = software.amazon.jsii.Kernel.get(this, "dedicatedHostGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.enableBackupLog = software.amazon.jsii.Kernel.get(this, "enableBackupLog", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.encryptionKey = software.amazon.jsii.Kernel.get(this, "encryptionKey", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.highSpaceUsageProtection = software.amazon.jsii.Kernel.get(this, "highSpaceUsageProtection", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.localLogRetentionHours = software.amazon.jsii.Kernel.get(this, "localLogRetentionHours", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.localLogRetentionSpace = software.amazon.jsii.Kernel.get(this, "localLogRetentionSpace", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.logBackupFrequency = software.amazon.jsii.Kernel.get(this, "logBackupFrequency", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.logBackupLocalRetentionNumber = software.amazon.jsii.Kernel.get(this, "logBackupLocalRetentionNumber", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.logBackupRetentionPeriod = software.amazon.jsii.Kernel.get(this, "logBackupRetentionPeriod", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.maintainTime = software.amazon.jsii.Kernel.get(this, "maintainTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.masterUsername = software.amazon.jsii.Kernel.get(this, "masterUsername", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.masterUserPassword = software.amazon.jsii.Kernel.get(this, "masterUserPassword", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.masterUserType = software.amazon.jsii.Kernel.get(this, "masterUserType", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.multiAz = software.amazon.jsii.Kernel.get(this, "multiAz", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.port = software.amazon.jsii.Kernel.get(this, "port", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.preferredBackupPeriod = software.amazon.jsii.Kernel.get(this, "preferredBackupPeriod", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.preferredBackupTime = software.amazon.jsii.Kernel.get(this, "preferredBackupTime", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.privateIpAddress = software.amazon.jsii.Kernel.get(this, "privateIpAddress", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.quantity = software.amazon.jsii.Kernel.get(this, "quantity", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.releasedKeepPolicy = software.amazon.jsii.Kernel.get(this, "releasedKeepPolicy", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.resourceGroupId = software.amazon.jsii.Kernel.get(this, "resourceGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.roleArn = software.amazon.jsii.Kernel.get(this, "roleArn", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.securityGroupId = software.amazon.jsii.Kernel.get(this, "securityGroupId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.serverlessConfig = software.amazon.jsii.Kernel.get(this, "serverlessConfig", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.slaveZoneIds = software.amazon.jsii.Kernel.get(this, "slaveZoneIds", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sqlCollectorStatus = software.amazon.jsii.Kernel.get(this, "sqlCollectorStatus", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.sslSetting = software.amazon.jsii.Kernel.get(this, "sslSetting", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.tags = software.amazon.jsii.Kernel.get(this, "tags", software.amazon.jsii.NativeType.mapOf(software.amazon.jsii.NativeType.forClass(java.lang.Object.class))); this.targetDedicatedHostIdForLog = software.amazon.jsii.Kernel.get(this, "targetDedicatedHostIdForLog", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.targetDedicatedHostIdForMaster = software.amazon.jsii.Kernel.get(this, "targetDedicatedHostIdForMaster", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.targetDedicatedHostIdForSlave = software.amazon.jsii.Kernel.get(this, "targetDedicatedHostIdForSlave", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.vpcId = software.amazon.jsii.Kernel.get(this, "vpcId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.vSwitchId = software.amazon.jsii.Kernel.get(this, "vSwitchId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.zoneId = software.amazon.jsii.Kernel.get(this, "zoneId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); } /** * Constructor that initializes the object based on literal property values passed by the {@link Builder}. */ @SuppressWarnings("unchecked") protected Jsii$Proxy(final Builder builder) { super(software.amazon.jsii.JsiiObject.InitializationMode.JSII); this.commodityCode = java.util.Objects.requireNonNull(builder.commodityCode, "commodityCode is required"); this.dbInstanceClass = java.util.Objects.requireNonNull(builder.dbInstanceClass, "dbInstanceClass is required"); this.dbInstanceStorage = java.util.Objects.requireNonNull(builder.dbInstanceStorage, "dbInstanceStorage is required"); this.engine = java.util.Objects.requireNonNull(builder.engine, "engine is required"); this.engineVersion = java.util.Objects.requireNonNull(builder.engineVersion, "engineVersion is required"); this.period = java.util.Objects.requireNonNull(builder.period, "period is required"); this.periodType = java.util.Objects.requireNonNull(builder.periodType, "periodType is required"); this.allocatePublicConnection = builder.allocatePublicConnection; this.archiveBackupKeepCount = builder.archiveBackupKeepCount; this.archiveBackupKeepPolicy = builder.archiveBackupKeepPolicy; this.archiveBackupRetentionPeriod = builder.archiveBackupRetentionPeriod; this.autoPay = builder.autoPay; this.autoRenew = builder.autoRenew; this.backUpCategory = builder.backUpCategory; this.backupPolicyMode = builder.backupPolicyMode; this.backupRetentionPeriod = builder.backupRetentionPeriod; this.category = builder.category; this.compressType = builder.compressType; this.connectionMode = builder.connectionMode; this.connectionStringPrefix = builder.connectionStringPrefix; this.connectionStringType = builder.connectionStringType; this.couponCode = builder.couponCode; this.dbInstanceDescription = builder.dbInstanceDescription; this.dbInstanceNetType = builder.dbInstanceNetType; this.dbInstanceStorageType = builder.dbInstanceStorageType; this.dbIsIgnoreCase = builder.dbIsIgnoreCase; this.dbMappings = builder.dbMappings; this.dbParamGroupId = builder.dbParamGroupId; this.dbTimeZone = builder.dbTimeZone; this.dedicatedHostGroupId = builder.dedicatedHostGroupId; this.enableBackupLog = builder.enableBackupLog; this.encryptionKey = builder.encryptionKey; this.highSpaceUsageProtection = builder.highSpaceUsageProtection; this.localLogRetentionHours = builder.localLogRetentionHours; this.localLogRetentionSpace = builder.localLogRetentionSpace; this.logBackupFrequency = builder.logBackupFrequency; this.logBackupLocalRetentionNumber = builder.logBackupLocalRetentionNumber; this.logBackupRetentionPeriod = builder.logBackupRetentionPeriod; this.maintainTime = builder.maintainTime; this.masterUsername = builder.masterUsername; this.masterUserPassword = builder.masterUserPassword; this.masterUserType = builder.masterUserType; this.multiAz = builder.multiAz; this.port = builder.port; this.preferredBackupPeriod = builder.preferredBackupPeriod; this.preferredBackupTime = builder.preferredBackupTime; this.privateIpAddress = builder.privateIpAddress; this.quantity = builder.quantity; this.releasedKeepPolicy = builder.releasedKeepPolicy; this.resourceGroupId = builder.resourceGroupId; this.roleArn = builder.roleArn; this.securityGroupId = builder.securityGroupId; this.serverlessConfig = builder.serverlessConfig; this.slaveZoneIds = builder.slaveZoneIds; this.sqlCollectorStatus = builder.sqlCollectorStatus; this.sslSetting = builder.sslSetting; this.tags = (java.util.Map)builder.tags; this.targetDedicatedHostIdForLog = builder.targetDedicatedHostIdForLog; this.targetDedicatedHostIdForMaster = builder.targetDedicatedHostIdForMaster; this.targetDedicatedHostIdForSlave = builder.targetDedicatedHostIdForSlave; this.vpcId = builder.vpcId; this.vSwitchId = builder.vSwitchId; this.zoneId = builder.zoneId; } @Override public final java.lang.Object getCommodityCode() { return this.commodityCode; } @Override public final java.lang.Object getDbInstanceClass() { return this.dbInstanceClass; } @Override public final java.lang.Object getDbInstanceStorage() { return this.dbInstanceStorage; } @Override public final java.lang.Object getEngine() { return this.engine; } @Override public final java.lang.Object getEngineVersion() { return this.engineVersion; } @Override public final java.lang.Object getPeriod() { return this.period; } @Override public final java.lang.Object getPeriodType() { return this.periodType; } @Override public final java.lang.Object getAllocatePublicConnection() { return this.allocatePublicConnection; } @Override public final java.lang.Object getArchiveBackupKeepCount() { return this.archiveBackupKeepCount; } @Override public final java.lang.Object getArchiveBackupKeepPolicy() { return this.archiveBackupKeepPolicy; } @Override public final java.lang.Object getArchiveBackupRetentionPeriod() { return this.archiveBackupRetentionPeriod; } @Override public final java.lang.Object getAutoPay() { return this.autoPay; } @Override public final java.lang.Object getAutoRenew() { return this.autoRenew; } @Override public final java.lang.Object getBackUpCategory() { return this.backUpCategory; } @Override public final java.lang.Object getBackupPolicyMode() { return this.backupPolicyMode; } @Override public final java.lang.Object getBackupRetentionPeriod() { return this.backupRetentionPeriod; } @Override public final java.lang.Object getCategory() { return this.category; } @Override public final java.lang.Object getCompressType() { return this.compressType; } @Override public final java.lang.Object getConnectionMode() { return this.connectionMode; } @Override public final java.lang.Object getConnectionStringPrefix() { return this.connectionStringPrefix; } @Override public final java.lang.Object getConnectionStringType() { return this.connectionStringType; } @Override public final java.lang.Object getCouponCode() { return this.couponCode; } @Override public final java.lang.Object getDbInstanceDescription() { return this.dbInstanceDescription; } @Override public final java.lang.Object getDbInstanceNetType() { return this.dbInstanceNetType; } @Override public final java.lang.Object getDbInstanceStorageType() { return this.dbInstanceStorageType; } @Override public final java.lang.Object getDbIsIgnoreCase() { return this.dbIsIgnoreCase; } @Override public final java.lang.Object getDbMappings() { return this.dbMappings; } @Override public final java.lang.Object getDbParamGroupId() { return this.dbParamGroupId; } @Override public final java.lang.Object getDbTimeZone() { return this.dbTimeZone; } @Override public final java.lang.Object getDedicatedHostGroupId() { return this.dedicatedHostGroupId; } @Override public final java.lang.Object getEnableBackupLog() { return this.enableBackupLog; } @Override public final java.lang.Object getEncryptionKey() { return this.encryptionKey; } @Override public final java.lang.Object getHighSpaceUsageProtection() { return this.highSpaceUsageProtection; } @Override public final java.lang.Object getLocalLogRetentionHours() { return this.localLogRetentionHours; } @Override public final java.lang.Object getLocalLogRetentionSpace() { return this.localLogRetentionSpace; } @Override public final java.lang.Object getLogBackupFrequency() { return this.logBackupFrequency; } @Override public final java.lang.Object getLogBackupLocalRetentionNumber() { return this.logBackupLocalRetentionNumber; } @Override public final java.lang.Object getLogBackupRetentionPeriod() { return this.logBackupRetentionPeriod; } @Override public final java.lang.Object getMaintainTime() { return this.maintainTime; } @Override public final java.lang.Object getMasterUsername() { return this.masterUsername; } @Override public final java.lang.Object getMasterUserPassword() { return this.masterUserPassword; } @Override public final java.lang.Object getMasterUserType() { return this.masterUserType; } @Override public final java.lang.Object getMultiAz() { return this.multiAz; } @Override public final java.lang.Object getPort() { return this.port; } @Override public final java.lang.Object getPreferredBackupPeriod() { return this.preferredBackupPeriod; } @Override public final java.lang.Object getPreferredBackupTime() { return this.preferredBackupTime; } @Override public final java.lang.Object getPrivateIpAddress() { return this.privateIpAddress; } @Override public final java.lang.Object getQuantity() { return this.quantity; } @Override public final java.lang.Object getReleasedKeepPolicy() { return this.releasedKeepPolicy; } @Override public final java.lang.Object getResourceGroupId() { return this.resourceGroupId; } @Override public final java.lang.Object getRoleArn() { return this.roleArn; } @Override public final java.lang.Object getSecurityGroupId() { return this.securityGroupId; } @Override public final java.lang.Object getServerlessConfig() { return this.serverlessConfig; } @Override public final java.lang.Object getSlaveZoneIds() { return this.slaveZoneIds; } @Override public final java.lang.Object getSqlCollectorStatus() { return this.sqlCollectorStatus; } @Override public final java.lang.Object getSslSetting() { return this.sslSetting; } @Override public final java.util.Map getTags() { return this.tags; } @Override public final java.lang.Object getTargetDedicatedHostIdForLog() { return this.targetDedicatedHostIdForLog; } @Override public final java.lang.Object getTargetDedicatedHostIdForMaster() { return this.targetDedicatedHostIdForMaster; } @Override public final java.lang.Object getTargetDedicatedHostIdForSlave() { return this.targetDedicatedHostIdForSlave; } @Override public final java.lang.Object getVpcId() { return this.vpcId; } @Override public final java.lang.Object getVSwitchId() { return this.vSwitchId; } @Override public final java.lang.Object getZoneId() { return this.zoneId; } @Override @software.amazon.jsii.Internal public com.fasterxml.jackson.databind.JsonNode $jsii$toJson() { final com.fasterxml.jackson.databind.ObjectMapper om = software.amazon.jsii.JsiiObjectMapper.INSTANCE; final com.fasterxml.jackson.databind.node.ObjectNode data = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); data.set("commodityCode", om.valueToTree(this.getCommodityCode())); data.set("dbInstanceClass", om.valueToTree(this.getDbInstanceClass())); data.set("dbInstanceStorage", om.valueToTree(this.getDbInstanceStorage())); data.set("engine", om.valueToTree(this.getEngine())); data.set("engineVersion", om.valueToTree(this.getEngineVersion())); data.set("period", om.valueToTree(this.getPeriod())); data.set("periodType", om.valueToTree(this.getPeriodType())); if (this.getAllocatePublicConnection() != null) { data.set("allocatePublicConnection", om.valueToTree(this.getAllocatePublicConnection())); } if (this.getArchiveBackupKeepCount() != null) { data.set("archiveBackupKeepCount", om.valueToTree(this.getArchiveBackupKeepCount())); } if (this.getArchiveBackupKeepPolicy() != null) { data.set("archiveBackupKeepPolicy", om.valueToTree(this.getArchiveBackupKeepPolicy())); } if (this.getArchiveBackupRetentionPeriod() != null) { data.set("archiveBackupRetentionPeriod", om.valueToTree(this.getArchiveBackupRetentionPeriod())); } if (this.getAutoPay() != null) { data.set("autoPay", om.valueToTree(this.getAutoPay())); } if (this.getAutoRenew() != null) { data.set("autoRenew", om.valueToTree(this.getAutoRenew())); } if (this.getBackUpCategory() != null) { data.set("backUpCategory", om.valueToTree(this.getBackUpCategory())); } if (this.getBackupPolicyMode() != null) { data.set("backupPolicyMode", om.valueToTree(this.getBackupPolicyMode())); } if (this.getBackupRetentionPeriod() != null) { data.set("backupRetentionPeriod", om.valueToTree(this.getBackupRetentionPeriod())); } if (this.getCategory() != null) { data.set("category", om.valueToTree(this.getCategory())); } if (this.getCompressType() != null) { data.set("compressType", om.valueToTree(this.getCompressType())); } if (this.getConnectionMode() != null) { data.set("connectionMode", om.valueToTree(this.getConnectionMode())); } if (this.getConnectionStringPrefix() != null) { data.set("connectionStringPrefix", om.valueToTree(this.getConnectionStringPrefix())); } if (this.getConnectionStringType() != null) { data.set("connectionStringType", om.valueToTree(this.getConnectionStringType())); } if (this.getCouponCode() != null) { data.set("couponCode", om.valueToTree(this.getCouponCode())); } if (this.getDbInstanceDescription() != null) { data.set("dbInstanceDescription", om.valueToTree(this.getDbInstanceDescription())); } if (this.getDbInstanceNetType() != null) { data.set("dbInstanceNetType", om.valueToTree(this.getDbInstanceNetType())); } if (this.getDbInstanceStorageType() != null) { data.set("dbInstanceStorageType", om.valueToTree(this.getDbInstanceStorageType())); } if (this.getDbIsIgnoreCase() != null) { data.set("dbIsIgnoreCase", om.valueToTree(this.getDbIsIgnoreCase())); } if (this.getDbMappings() != null) { data.set("dbMappings", om.valueToTree(this.getDbMappings())); } if (this.getDbParamGroupId() != null) { data.set("dbParamGroupId", om.valueToTree(this.getDbParamGroupId())); } if (this.getDbTimeZone() != null) { data.set("dbTimeZone", om.valueToTree(this.getDbTimeZone())); } if (this.getDedicatedHostGroupId() != null) { data.set("dedicatedHostGroupId", om.valueToTree(this.getDedicatedHostGroupId())); } if (this.getEnableBackupLog() != null) { data.set("enableBackupLog", om.valueToTree(this.getEnableBackupLog())); } if (this.getEncryptionKey() != null) { data.set("encryptionKey", om.valueToTree(this.getEncryptionKey())); } if (this.getHighSpaceUsageProtection() != null) { data.set("highSpaceUsageProtection", om.valueToTree(this.getHighSpaceUsageProtection())); } if (this.getLocalLogRetentionHours() != null) { data.set("localLogRetentionHours", om.valueToTree(this.getLocalLogRetentionHours())); } if (this.getLocalLogRetentionSpace() != null) { data.set("localLogRetentionSpace", om.valueToTree(this.getLocalLogRetentionSpace())); } if (this.getLogBackupFrequency() != null) { data.set("logBackupFrequency", om.valueToTree(this.getLogBackupFrequency())); } if (this.getLogBackupLocalRetentionNumber() != null) { data.set("logBackupLocalRetentionNumber", om.valueToTree(this.getLogBackupLocalRetentionNumber())); } if (this.getLogBackupRetentionPeriod() != null) { data.set("logBackupRetentionPeriod", om.valueToTree(this.getLogBackupRetentionPeriod())); } if (this.getMaintainTime() != null) { data.set("maintainTime", om.valueToTree(this.getMaintainTime())); } if (this.getMasterUsername() != null) { data.set("masterUsername", om.valueToTree(this.getMasterUsername())); } if (this.getMasterUserPassword() != null) { data.set("masterUserPassword", om.valueToTree(this.getMasterUserPassword())); } if (this.getMasterUserType() != null) { data.set("masterUserType", om.valueToTree(this.getMasterUserType())); } if (this.getMultiAz() != null) { data.set("multiAz", om.valueToTree(this.getMultiAz())); } if (this.getPort() != null) { data.set("port", om.valueToTree(this.getPort())); } if (this.getPreferredBackupPeriod() != null) { data.set("preferredBackupPeriod", om.valueToTree(this.getPreferredBackupPeriod())); } if (this.getPreferredBackupTime() != null) { data.set("preferredBackupTime", om.valueToTree(this.getPreferredBackupTime())); } if (this.getPrivateIpAddress() != null) { data.set("privateIpAddress", om.valueToTree(this.getPrivateIpAddress())); } if (this.getQuantity() != null) { data.set("quantity", om.valueToTree(this.getQuantity())); } if (this.getReleasedKeepPolicy() != null) { data.set("releasedKeepPolicy", om.valueToTree(this.getReleasedKeepPolicy())); } if (this.getResourceGroupId() != null) { data.set("resourceGroupId", om.valueToTree(this.getResourceGroupId())); } if (this.getRoleArn() != null) { data.set("roleArn", om.valueToTree(this.getRoleArn())); } if (this.getSecurityGroupId() != null) { data.set("securityGroupId", om.valueToTree(this.getSecurityGroupId())); } if (this.getServerlessConfig() != null) { data.set("serverlessConfig", om.valueToTree(this.getServerlessConfig())); } if (this.getSlaveZoneIds() != null) { data.set("slaveZoneIds", om.valueToTree(this.getSlaveZoneIds())); } if (this.getSqlCollectorStatus() != null) { data.set("sqlCollectorStatus", om.valueToTree(this.getSqlCollectorStatus())); } if (this.getSslSetting() != null) { data.set("sslSetting", om.valueToTree(this.getSslSetting())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } if (this.getTargetDedicatedHostIdForLog() != null) { data.set("targetDedicatedHostIdForLog", om.valueToTree(this.getTargetDedicatedHostIdForLog())); } if (this.getTargetDedicatedHostIdForMaster() != null) { data.set("targetDedicatedHostIdForMaster", om.valueToTree(this.getTargetDedicatedHostIdForMaster())); } if (this.getTargetDedicatedHostIdForSlave() != null) { data.set("targetDedicatedHostIdForSlave", om.valueToTree(this.getTargetDedicatedHostIdForSlave())); } if (this.getVpcId() != null) { data.set("vpcId", om.valueToTree(this.getVpcId())); } if (this.getVSwitchId() != null) { data.set("vSwitchId", om.valueToTree(this.getVSwitchId())); } if (this.getZoneId() != null) { data.set("zoneId", om.valueToTree(this.getZoneId())); } final com.fasterxml.jackson.databind.node.ObjectNode struct = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); struct.set("fqn", om.valueToTree("@alicloud/ros-cdk-rds.PrepayDBInstanceProps")); struct.set("data", data); final com.fasterxml.jackson.databind.node.ObjectNode obj = com.fasterxml.jackson.databind.node.JsonNodeFactory.instance.objectNode(); obj.set("$jsii.struct", struct); return obj; } @Override public final boolean equals(final Object o) { if (this == o) return true; if (o == null || getClass() != o.getClass()) return false; PrepayDBInstanceProps.Jsii$Proxy that = (PrepayDBInstanceProps.Jsii$Proxy) o; if (!commodityCode.equals(that.commodityCode)) return false; if (!dbInstanceClass.equals(that.dbInstanceClass)) return false; if (!dbInstanceStorage.equals(that.dbInstanceStorage)) return false; if (!engine.equals(that.engine)) return false; if (!engineVersion.equals(that.engineVersion)) return false; if (!period.equals(that.period)) return false; if (!periodType.equals(that.periodType)) return false; if (this.allocatePublicConnection != null ? !this.allocatePublicConnection.equals(that.allocatePublicConnection) : that.allocatePublicConnection != null) return false; if (this.archiveBackupKeepCount != null ? !this.archiveBackupKeepCount.equals(that.archiveBackupKeepCount) : that.archiveBackupKeepCount != null) return false; if (this.archiveBackupKeepPolicy != null ? !this.archiveBackupKeepPolicy.equals(that.archiveBackupKeepPolicy) : that.archiveBackupKeepPolicy != null) return false; if (this.archiveBackupRetentionPeriod != null ? !this.archiveBackupRetentionPeriod.equals(that.archiveBackupRetentionPeriod) : that.archiveBackupRetentionPeriod != null) return false; if (this.autoPay != null ? !this.autoPay.equals(that.autoPay) : that.autoPay != null) return false; if (this.autoRenew != null ? !this.autoRenew.equals(that.autoRenew) : that.autoRenew != null) return false; if (this.backUpCategory != null ? !this.backUpCategory.equals(that.backUpCategory) : that.backUpCategory != null) return false; if (this.backupPolicyMode != null ? !this.backupPolicyMode.equals(that.backupPolicyMode) : that.backupPolicyMode != null) return false; if (this.backupRetentionPeriod != null ? !this.backupRetentionPeriod.equals(that.backupRetentionPeriod) : that.backupRetentionPeriod != null) return false; if (this.category != null ? !this.category.equals(that.category) : that.category != null) return false; if (this.compressType != null ? !this.compressType.equals(that.compressType) : that.compressType != null) return false; if (this.connectionMode != null ? !this.connectionMode.equals(that.connectionMode) : that.connectionMode != null) return false; if (this.connectionStringPrefix != null ? !this.connectionStringPrefix.equals(that.connectionStringPrefix) : that.connectionStringPrefix != null) return false; if (this.connectionStringType != null ? !this.connectionStringType.equals(that.connectionStringType) : that.connectionStringType != null) return false; if (this.couponCode != null ? !this.couponCode.equals(that.couponCode) : that.couponCode != null) return false; if (this.dbInstanceDescription != null ? !this.dbInstanceDescription.equals(that.dbInstanceDescription) : that.dbInstanceDescription != null) return false; if (this.dbInstanceNetType != null ? !this.dbInstanceNetType.equals(that.dbInstanceNetType) : that.dbInstanceNetType != null) return false; if (this.dbInstanceStorageType != null ? !this.dbInstanceStorageType.equals(that.dbInstanceStorageType) : that.dbInstanceStorageType != null) return false; if (this.dbIsIgnoreCase != null ? !this.dbIsIgnoreCase.equals(that.dbIsIgnoreCase) : that.dbIsIgnoreCase != null) return false; if (this.dbMappings != null ? !this.dbMappings.equals(that.dbMappings) : that.dbMappings != null) return false; if (this.dbParamGroupId != null ? !this.dbParamGroupId.equals(that.dbParamGroupId) : that.dbParamGroupId != null) return false; if (this.dbTimeZone != null ? !this.dbTimeZone.equals(that.dbTimeZone) : that.dbTimeZone != null) return false; if (this.dedicatedHostGroupId != null ? !this.dedicatedHostGroupId.equals(that.dedicatedHostGroupId) : that.dedicatedHostGroupId != null) return false; if (this.enableBackupLog != null ? !this.enableBackupLog.equals(that.enableBackupLog) : that.enableBackupLog != null) return false; if (this.encryptionKey != null ? !this.encryptionKey.equals(that.encryptionKey) : that.encryptionKey != null) return false; if (this.highSpaceUsageProtection != null ? !this.highSpaceUsageProtection.equals(that.highSpaceUsageProtection) : that.highSpaceUsageProtection != null) return false; if (this.localLogRetentionHours != null ? !this.localLogRetentionHours.equals(that.localLogRetentionHours) : that.localLogRetentionHours != null) return false; if (this.localLogRetentionSpace != null ? !this.localLogRetentionSpace.equals(that.localLogRetentionSpace) : that.localLogRetentionSpace != null) return false; if (this.logBackupFrequency != null ? !this.logBackupFrequency.equals(that.logBackupFrequency) : that.logBackupFrequency != null) return false; if (this.logBackupLocalRetentionNumber != null ? !this.logBackupLocalRetentionNumber.equals(that.logBackupLocalRetentionNumber) : that.logBackupLocalRetentionNumber != null) return false; if (this.logBackupRetentionPeriod != null ? !this.logBackupRetentionPeriod.equals(that.logBackupRetentionPeriod) : that.logBackupRetentionPeriod != null) return false; if (this.maintainTime != null ? !this.maintainTime.equals(that.maintainTime) : that.maintainTime != null) return false; if (this.masterUsername != null ? !this.masterUsername.equals(that.masterUsername) : that.masterUsername != null) return false; if (this.masterUserPassword != null ? !this.masterUserPassword.equals(that.masterUserPassword) : that.masterUserPassword != null) return false; if (this.masterUserType != null ? !this.masterUserType.equals(that.masterUserType) : that.masterUserType != null) return false; if (this.multiAz != null ? !this.multiAz.equals(that.multiAz) : that.multiAz != null) return false; if (this.port != null ? !this.port.equals(that.port) : that.port != null) return false; if (this.preferredBackupPeriod != null ? !this.preferredBackupPeriod.equals(that.preferredBackupPeriod) : that.preferredBackupPeriod != null) return false; if (this.preferredBackupTime != null ? !this.preferredBackupTime.equals(that.preferredBackupTime) : that.preferredBackupTime != null) return false; if (this.privateIpAddress != null ? !this.privateIpAddress.equals(that.privateIpAddress) : that.privateIpAddress != null) return false; if (this.quantity != null ? !this.quantity.equals(that.quantity) : that.quantity != null) return false; if (this.releasedKeepPolicy != null ? !this.releasedKeepPolicy.equals(that.releasedKeepPolicy) : that.releasedKeepPolicy != null) return false; if (this.resourceGroupId != null ? !this.resourceGroupId.equals(that.resourceGroupId) : that.resourceGroupId != null) return false; if (this.roleArn != null ? !this.roleArn.equals(that.roleArn) : that.roleArn != null) return false; if (this.securityGroupId != null ? !this.securityGroupId.equals(that.securityGroupId) : that.securityGroupId != null) return false; if (this.serverlessConfig != null ? !this.serverlessConfig.equals(that.serverlessConfig) : that.serverlessConfig != null) return false; if (this.slaveZoneIds != null ? !this.slaveZoneIds.equals(that.slaveZoneIds) : that.slaveZoneIds != null) return false; if (this.sqlCollectorStatus != null ? !this.sqlCollectorStatus.equals(that.sqlCollectorStatus) : that.sqlCollectorStatus != null) return false; if (this.sslSetting != null ? !this.sslSetting.equals(that.sslSetting) : that.sslSetting != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; if (this.targetDedicatedHostIdForLog != null ? !this.targetDedicatedHostIdForLog.equals(that.targetDedicatedHostIdForLog) : that.targetDedicatedHostIdForLog != null) return false; if (this.targetDedicatedHostIdForMaster != null ? !this.targetDedicatedHostIdForMaster.equals(that.targetDedicatedHostIdForMaster) : that.targetDedicatedHostIdForMaster != null) return false; if (this.targetDedicatedHostIdForSlave != null ? !this.targetDedicatedHostIdForSlave.equals(that.targetDedicatedHostIdForSlave) : that.targetDedicatedHostIdForSlave != null) return false; if (this.vpcId != null ? !this.vpcId.equals(that.vpcId) : that.vpcId != null) return false; if (this.vSwitchId != null ? !this.vSwitchId.equals(that.vSwitchId) : that.vSwitchId != null) return false; return this.zoneId != null ? this.zoneId.equals(that.zoneId) : that.zoneId == null; } @Override public final int hashCode() { int result = this.commodityCode.hashCode(); result = 31 * result + (this.dbInstanceClass.hashCode()); result = 31 * result + (this.dbInstanceStorage.hashCode()); result = 31 * result + (this.engine.hashCode()); result = 31 * result + (this.engineVersion.hashCode()); result = 31 * result + (this.period.hashCode()); result = 31 * result + (this.periodType.hashCode()); result = 31 * result + (this.allocatePublicConnection != null ? this.allocatePublicConnection.hashCode() : 0); result = 31 * result + (this.archiveBackupKeepCount != null ? this.archiveBackupKeepCount.hashCode() : 0); result = 31 * result + (this.archiveBackupKeepPolicy != null ? this.archiveBackupKeepPolicy.hashCode() : 0); result = 31 * result + (this.archiveBackupRetentionPeriod != null ? this.archiveBackupRetentionPeriod.hashCode() : 0); result = 31 * result + (this.autoPay != null ? this.autoPay.hashCode() : 0); result = 31 * result + (this.autoRenew != null ? this.autoRenew.hashCode() : 0); result = 31 * result + (this.backUpCategory != null ? this.backUpCategory.hashCode() : 0); result = 31 * result + (this.backupPolicyMode != null ? this.backupPolicyMode.hashCode() : 0); result = 31 * result + (this.backupRetentionPeriod != null ? this.backupRetentionPeriod.hashCode() : 0); result = 31 * result + (this.category != null ? this.category.hashCode() : 0); result = 31 * result + (this.compressType != null ? this.compressType.hashCode() : 0); result = 31 * result + (this.connectionMode != null ? this.connectionMode.hashCode() : 0); result = 31 * result + (this.connectionStringPrefix != null ? this.connectionStringPrefix.hashCode() : 0); result = 31 * result + (this.connectionStringType != null ? this.connectionStringType.hashCode() : 0); result = 31 * result + (this.couponCode != null ? this.couponCode.hashCode() : 0); result = 31 * result + (this.dbInstanceDescription != null ? this.dbInstanceDescription.hashCode() : 0); result = 31 * result + (this.dbInstanceNetType != null ? this.dbInstanceNetType.hashCode() : 0); result = 31 * result + (this.dbInstanceStorageType != null ? this.dbInstanceStorageType.hashCode() : 0); result = 31 * result + (this.dbIsIgnoreCase != null ? this.dbIsIgnoreCase.hashCode() : 0); result = 31 * result + (this.dbMappings != null ? this.dbMappings.hashCode() : 0); result = 31 * result + (this.dbParamGroupId != null ? this.dbParamGroupId.hashCode() : 0); result = 31 * result + (this.dbTimeZone != null ? this.dbTimeZone.hashCode() : 0); result = 31 * result + (this.dedicatedHostGroupId != null ? this.dedicatedHostGroupId.hashCode() : 0); result = 31 * result + (this.enableBackupLog != null ? this.enableBackupLog.hashCode() : 0); result = 31 * result + (this.encryptionKey != null ? this.encryptionKey.hashCode() : 0); result = 31 * result + (this.highSpaceUsageProtection != null ? this.highSpaceUsageProtection.hashCode() : 0); result = 31 * result + (this.localLogRetentionHours != null ? this.localLogRetentionHours.hashCode() : 0); result = 31 * result + (this.localLogRetentionSpace != null ? this.localLogRetentionSpace.hashCode() : 0); result = 31 * result + (this.logBackupFrequency != null ? this.logBackupFrequency.hashCode() : 0); result = 31 * result + (this.logBackupLocalRetentionNumber != null ? this.logBackupLocalRetentionNumber.hashCode() : 0); result = 31 * result + (this.logBackupRetentionPeriod != null ? this.logBackupRetentionPeriod.hashCode() : 0); result = 31 * result + (this.maintainTime != null ? this.maintainTime.hashCode() : 0); result = 31 * result + (this.masterUsername != null ? this.masterUsername.hashCode() : 0); result = 31 * result + (this.masterUserPassword != null ? this.masterUserPassword.hashCode() : 0); result = 31 * result + (this.masterUserType != null ? this.masterUserType.hashCode() : 0); result = 31 * result + (this.multiAz != null ? this.multiAz.hashCode() : 0); result = 31 * result + (this.port != null ? this.port.hashCode() : 0); result = 31 * result + (this.preferredBackupPeriod != null ? this.preferredBackupPeriod.hashCode() : 0); result = 31 * result + (this.preferredBackupTime != null ? this.preferredBackupTime.hashCode() : 0); result = 31 * result + (this.privateIpAddress != null ? this.privateIpAddress.hashCode() : 0); result = 31 * result + (this.quantity != null ? this.quantity.hashCode() : 0); result = 31 * result + (this.releasedKeepPolicy != null ? this.releasedKeepPolicy.hashCode() : 0); result = 31 * result + (this.resourceGroupId != null ? this.resourceGroupId.hashCode() : 0); result = 31 * result + (this.roleArn != null ? this.roleArn.hashCode() : 0); result = 31 * result + (this.securityGroupId != null ? this.securityGroupId.hashCode() : 0); result = 31 * result + (this.serverlessConfig != null ? this.serverlessConfig.hashCode() : 0); result = 31 * result + (this.slaveZoneIds != null ? this.slaveZoneIds.hashCode() : 0); result = 31 * result + (this.sqlCollectorStatus != null ? this.sqlCollectorStatus.hashCode() : 0); result = 31 * result + (this.sslSetting != null ? this.sslSetting.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.targetDedicatedHostIdForLog != null ? this.targetDedicatedHostIdForLog.hashCode() : 0); result = 31 * result + (this.targetDedicatedHostIdForMaster != null ? this.targetDedicatedHostIdForMaster.hashCode() : 0); result = 31 * result + (this.targetDedicatedHostIdForSlave != null ? this.targetDedicatedHostIdForSlave.hashCode() : 0); result = 31 * result + (this.vpcId != null ? this.vpcId.hashCode() : 0); result = 31 * result + (this.vSwitchId != null ? this.vSwitchId.hashCode() : 0); result = 31 * result + (this.zoneId != null ? this.zoneId.hashCode() : 0); return result; } } }





© 2015 - 2025 Weber Informatics LLC | Privacy Policy