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

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

package com.aliyun.ros.cdk.rds;

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

    /**
     * Property dbInstanceId: Instance id.
     */
    @org.jetbrains.annotations.NotNull java.lang.Object getDbInstanceId();

    /**
     * Property payType: The charge type of created instance.
     */
    @org.jetbrains.annotations.NotNull java.lang.Object getPayType();

    /**
     * Property allocatePublicConnection: If true, allocate public connection automate.
     */
    default @org.jetbrains.annotations.Nullable java.lang.Object getAllocatePublicConnection() {
        return null;
    }

    /**
     * Property backupId: The ID of the backup set that you want to use.
     * 

* You can call the DescribeBackups operation to query the most recent backup set list. * Note You must specify at least one of the BackupId and RestoreTime parameters. */ default @org.jetbrains.annotations.Nullable java.lang.Object getBackupId() { 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 backupType: The type of backup used by the new instance. *

* Valid values: *

*

    *
  • FullBackup: full backup
  • *
  • IncrementalBackup: incremental backup
  • *
*/ default @org.jetbrains.annotations.Nullable java.lang.Object getBackupType() { 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 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 dbInstanceClass: Database instance type. *

* Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceClass() { return null; } /** * Property dbInstanceDescription: Description of created database instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceDescription() { return null; } /** * 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 */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbInstanceStorage() { 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 dbMappings: Database mappings to attach to db instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbMappings() { return null; } /** * Property dbNames: The names of the databases that you want to create on the new instance. */ default @org.jetbrains.annotations.Nullable java.lang.Object getDbNames() { 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 instanceNetworkType: The network type of the new instance. *

* Valid values: *

*

    *
  • VPC
  • *
  • Classic * The default value is the network type of the original instance.
  • *
*/ default @org.jetbrains.annotations.Nullable java.lang.Object getInstanceNetworkType() { 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 period: The subscription duration. *

* Valid values: * When PeriodType is Month, it could be from 1 to 12, 24, 36, 48, 60. * When PeriodType is Year, it could be from 1 to 5. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPeriod() { return null; } /** * Property periodType: Charge period for created instances. */ default @org.jetbrains.annotations.Nullable java.lang.Object getPeriodType() { 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 restoreTable: Specifies whether to restore specific databases and tables. *

* The value 1 specifies to restore specific databases and tables. * If you do not want to restore specific databases or tables, you can choose not to specify this parameter. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRestoreTable() { return null; } /** * Property restoreTime: The point in time to which you want to restore the data of the original instance. *

* The point in time must fall within the specified log backup retention period. * The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. * The time must be in UTC. */ default @org.jetbrains.annotations.Nullable java.lang.Object getRestoreTime() { 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 securityIpList: Security ip to access the database instance, combine with comma, 0.0.0.0/0 means no limitation. */ default @org.jetbrains.annotations.Nullable java.lang.Object getSecurityIpList() { 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 tableMeta: The information about the databases and tables that you want to restore. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTableMeta() { 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 timeoutInMinutes: The timeout period for creating the clone instance resource. *

* Unit: Minute. Default: 120. */ default @org.jetbrains.annotations.Nullable java.lang.Object getTimeoutInMinutes() { 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 DBInstanceCloneProps} */ static Builder builder() { return new Builder(); } /** * A builder for {@link DBInstanceCloneProps} */ public static final class Builder implements software.amazon.jsii.Builder { java.lang.Object dbInstanceId; java.lang.Object payType; java.lang.Object allocatePublicConnection; java.lang.Object backupId; java.lang.Object backupRetentionPeriod; java.lang.Object backupType; java.lang.Object category; java.lang.Object connectionStringPrefix; java.lang.Object connectionStringType; java.lang.Object dbInstanceClass; java.lang.Object dbInstanceDescription; java.lang.Object dbInstanceStorage; java.lang.Object dbInstanceStorageType; java.lang.Object dbMappings; java.lang.Object dbNames; java.lang.Object dedicatedHostGroupId; java.lang.Object instanceNetworkType; java.lang.Object maintainTime; java.lang.Object masterUsername; java.lang.Object masterUserPassword; java.lang.Object masterUserType; java.lang.Object period; java.lang.Object periodType; java.lang.Object port; java.lang.Object preferredBackupPeriod; java.lang.Object preferredBackupTime; java.lang.Object privateIpAddress; java.lang.Object restoreTable; java.lang.Object restoreTime; java.lang.Object securityGroupId; java.lang.Object securityIpList; java.lang.Object slaveZoneIds; java.lang.Object sqlCollectorStatus; java.lang.Object sslSetting; java.lang.Object tableMeta; java.util.Map tags; java.lang.Object timeoutInMinutes; java.lang.Object vpcId; java.lang.Object vSwitchId; java.lang.Object zoneId; /** * Sets the value of {@link DBInstanceCloneProps#getDbInstanceId} * @param dbInstanceId Property dbInstanceId: Instance id. This parameter is required. * @return {@code this} */ public Builder dbInstanceId(java.lang.String dbInstanceId) { this.dbInstanceId = dbInstanceId; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getDbInstanceId} * @param dbInstanceId Property dbInstanceId: Instance id. This parameter is required. * @return {@code this} */ public Builder dbInstanceId(com.aliyun.ros.cdk.core.IResolvable dbInstanceId) { this.dbInstanceId = dbInstanceId; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getPayType} * @param payType Property payType: The charge type of created instance. This parameter is required. * @return {@code this} */ public Builder payType(java.lang.String payType) { this.payType = payType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getPayType} * @param payType Property payType: The charge type of created instance. This parameter is required. * @return {@code this} */ public Builder payType(com.aliyun.ros.cdk.core.IResolvable payType) { this.payType = payType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getBackupId} * @param backupId Property backupId: The ID of the backup set that you want to use. * You can call the DescribeBackups operation to query the most recent backup set list. * Note You must specify at least one of the BackupId and RestoreTime parameters. * @return {@code this} */ public Builder backupId(java.lang.String backupId) { this.backupId = backupId; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getBackupId} * @param backupId Property backupId: The ID of the backup set that you want to use. * You can call the DescribeBackups operation to query the most recent backup set list. * Note You must specify at least one of the BackupId and RestoreTime parameters. * @return {@code this} */ public Builder backupId(com.aliyun.ros.cdk.core.IResolvable backupId) { this.backupId = backupId; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getBackupType} * @param backupType Property backupType: The type of backup used by the new instance. * Valid values: *

*

    *
  • FullBackup: full backup
  • *
  • IncrementalBackup: incremental backup
  • *
* @return {@code this} */ public Builder backupType(java.lang.String backupType) { this.backupType = backupType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getBackupType} * @param backupType Property backupType: The type of backup used by the new instance. * Valid values: *

*

    *
  • FullBackup: full backup
  • *
  • IncrementalBackup: incremental backup
  • *
* @return {@code this} */ public Builder backupType(com.aliyun.ros.cdk.core.IResolvable backupType) { this.backupType = backupType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getDbInstanceClass} * @param dbInstanceClass Property dbInstanceClass: Database instance type. * Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc * @return {@code this} */ public Builder dbInstanceClass(java.lang.String dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getDbInstanceClass} * @param dbInstanceClass Property dbInstanceClass: Database instance type. * Refer the RDS database instance type reference, such as 'rds.mys2.large', 'rds.mss1.large', 'rds.pg.s1.small' etc * @return {@code this} */ public Builder dbInstanceClass(com.aliyun.ros.cdk.core.IResolvable dbInstanceClass) { this.dbInstanceClass = dbInstanceClass; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getDbInstanceStorage} * @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. * mysql is [5,1000]. sql server 2008r2 is [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and PPAS is [5,2000]. Increased every 5 GB, Unit in GB * @return {@code this} */ public Builder dbInstanceStorage(java.lang.Number dbInstanceStorage) { this.dbInstanceStorage = dbInstanceStorage; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getDbInstanceStorage} * @param dbInstanceStorage Property dbInstanceStorage: Database instance storage size. * mysql is [5,1000]. sql server 2008r2 is [10,1000], sql server 2012/2012_web/2016-web is [20,1000]. PostgreSQL and PPAS is [5,2000]. Increased every 5 GB, Unit in GB * @return {@code this} */ public Builder dbInstanceStorage(com.aliyun.ros.cdk.core.IResolvable dbInstanceStorage) { this.dbInstanceStorage = dbInstanceStorage; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getDbNames} * @param dbNames Property dbNames: The names of the databases that you want to create on the new instance. * @return {@code this} */ public Builder dbNames(java.lang.String dbNames) { this.dbNames = dbNames; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getDbNames} * @param dbNames Property dbNames: The names of the databases that you want to create on the new instance. * @return {@code this} */ public Builder dbNames(com.aliyun.ros.cdk.core.IResolvable dbNames) { this.dbNames = dbNames; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getInstanceNetworkType} * @param instanceNetworkType Property instanceNetworkType: The network type of the new instance. * Valid values: *

*

    *
  • VPC
  • *
  • Classic * The default value is the network type of the original instance.
  • *
* @return {@code this} */ public Builder instanceNetworkType(java.lang.String instanceNetworkType) { this.instanceNetworkType = instanceNetworkType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getInstanceNetworkType} * @param instanceNetworkType Property instanceNetworkType: The network type of the new instance. * Valid values: *

*

    *
  • VPC
  • *
  • Classic * The default value is the network type of the original instance.
  • *
* @return {@code this} */ public Builder instanceNetworkType(com.aliyun.ros.cdk.core.IResolvable instanceNetworkType) { this.instanceNetworkType = instanceNetworkType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getPeriod} * @param period Property period: The subscription duration. * Valid values: * When PeriodType is Month, it could be from 1 to 12, 24, 36, 48, 60. * When PeriodType is Year, it could be from 1 to 5. * @return {@code this} */ public Builder period(java.lang.Number period) { this.period = period; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getPeriod} * @param period Property period: The subscription duration. * Valid values: * When PeriodType is Month, it could be from 1 to 12, 24, 36, 48, 60. * When PeriodType is Year, it could be from 1 to 5. * @return {@code this} */ public Builder period(com.aliyun.ros.cdk.core.IResolvable period) { this.period = period; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getPeriodType} * @param periodType Property periodType: Charge period for created instances. * @return {@code this} */ public Builder periodType(java.lang.String periodType) { this.periodType = periodType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getPeriodType} * @param periodType Property periodType: Charge period for created instances. * @return {@code this} */ public Builder periodType(com.aliyun.ros.cdk.core.IResolvable periodType) { this.periodType = periodType; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getRestoreTable} * @param restoreTable Property restoreTable: Specifies whether to restore specific databases and tables. * The value 1 specifies to restore specific databases and tables. * If you do not want to restore specific databases or tables, you can choose not to specify this parameter. * @return {@code this} */ public Builder restoreTable(java.lang.String restoreTable) { this.restoreTable = restoreTable; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getRestoreTable} * @param restoreTable Property restoreTable: Specifies whether to restore specific databases and tables. * The value 1 specifies to restore specific databases and tables. * If you do not want to restore specific databases or tables, you can choose not to specify this parameter. * @return {@code this} */ public Builder restoreTable(com.aliyun.ros.cdk.core.IResolvable restoreTable) { this.restoreTable = restoreTable; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getRestoreTime} * @param restoreTime Property restoreTime: The point in time to which you want to restore the data of the original instance. * The point in time must fall within the specified log backup retention period. * The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. * The time must be in UTC. * @return {@code this} */ public Builder restoreTime(java.lang.String restoreTime) { this.restoreTime = restoreTime; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getRestoreTime} * @param restoreTime Property restoreTime: The point in time to which you want to restore the data of the original instance. * The point in time must fall within the specified log backup retention period. * The time follows the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. * The time must be in UTC. * @return {@code this} */ public Builder restoreTime(com.aliyun.ros.cdk.core.IResolvable restoreTime) { this.restoreTime = restoreTime; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getSecurityIpList} * @param securityIpList Property securityIpList: Security ip to access the database instance, combine with comma, 0.0.0.0/0 means no limitation. * @return {@code this} */ public Builder securityIpList(java.lang.String securityIpList) { this.securityIpList = securityIpList; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getSecurityIpList} * @param securityIpList Property securityIpList: Security ip to access the database instance, combine with comma, 0.0.0.0/0 means no limitation. * @return {@code this} */ public Builder securityIpList(com.aliyun.ros.cdk.core.IResolvable securityIpList) { this.securityIpList = securityIpList; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#getTableMeta} * @param tableMeta Property tableMeta: The information about the databases and tables that you want to restore. * @return {@code this} */ public Builder tableMeta(com.aliyun.ros.cdk.core.IResolvable tableMeta) { this.tableMeta = tableMeta; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getTableMeta} * @param tableMeta Property tableMeta: The information about the databases and tables that you want to restore. * @return {@code this} */ public Builder tableMeta(java.util.List tableMeta) { this.tableMeta = tableMeta; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#getTimeoutInMinutes} * @param timeoutInMinutes Property timeoutInMinutes: The timeout period for creating the clone instance resource. * Unit: Minute. Default: 120. * @return {@code this} */ public Builder timeoutInMinutes(java.lang.Number timeoutInMinutes) { this.timeoutInMinutes = timeoutInMinutes; return this; } /** * Sets the value of {@link DBInstanceCloneProps#getTimeoutInMinutes} * @param timeoutInMinutes Property timeoutInMinutes: The timeout period for creating the clone instance resource. * Unit: Minute. Default: 120. * @return {@code this} */ public Builder timeoutInMinutes(com.aliyun.ros.cdk.core.IResolvable timeoutInMinutes) { this.timeoutInMinutes = timeoutInMinutes; return this; } /** * Sets the value of {@link DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps#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 DBInstanceCloneProps} * @throws NullPointerException if any required attribute was not provided */ @Override public DBInstanceCloneProps build() { return new Jsii$Proxy(this); } } /** * An implementation for {@link DBInstanceCloneProps} */ @software.amazon.jsii.Internal final class Jsii$Proxy extends software.amazon.jsii.JsiiObject implements DBInstanceCloneProps { private final java.lang.Object dbInstanceId; private final java.lang.Object payType; private final java.lang.Object allocatePublicConnection; private final java.lang.Object backupId; private final java.lang.Object backupRetentionPeriod; private final java.lang.Object backupType; private final java.lang.Object category; private final java.lang.Object connectionStringPrefix; private final java.lang.Object connectionStringType; private final java.lang.Object dbInstanceClass; private final java.lang.Object dbInstanceDescription; private final java.lang.Object dbInstanceStorage; private final java.lang.Object dbInstanceStorageType; private final java.lang.Object dbMappings; private final java.lang.Object dbNames; private final java.lang.Object dedicatedHostGroupId; private final java.lang.Object instanceNetworkType; 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 period; private final java.lang.Object periodType; 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 restoreTable; private final java.lang.Object restoreTime; private final java.lang.Object securityGroupId; private final java.lang.Object securityIpList; private final java.lang.Object slaveZoneIds; private final java.lang.Object sqlCollectorStatus; private final java.lang.Object sslSetting; private final java.lang.Object tableMeta; private final java.util.Map tags; private final java.lang.Object timeoutInMinutes; 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.dbInstanceId = software.amazon.jsii.Kernel.get(this, "dbInstanceId", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.payType = software.amazon.jsii.Kernel.get(this, "payType", 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.backupId = software.amazon.jsii.Kernel.get(this, "backupId", 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.backupType = software.amazon.jsii.Kernel.get(this, "backupType", 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.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.dbInstanceClass = software.amazon.jsii.Kernel.get(this, "dbInstanceClass", 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.dbInstanceStorage = software.amazon.jsii.Kernel.get(this, "dbInstanceStorage", 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.dbMappings = software.amazon.jsii.Kernel.get(this, "dbMappings", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.dbNames = software.amazon.jsii.Kernel.get(this, "dbNames", 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.instanceNetworkType = software.amazon.jsii.Kernel.get(this, "instanceNetworkType", 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.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.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.restoreTable = software.amazon.jsii.Kernel.get(this, "restoreTable", software.amazon.jsii.NativeType.forClass(java.lang.Object.class)); this.restoreTime = software.amazon.jsii.Kernel.get(this, "restoreTime", 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.securityIpList = software.amazon.jsii.Kernel.get(this, "securityIpList", 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.tableMeta = software.amazon.jsii.Kernel.get(this, "tableMeta", 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.timeoutInMinutes = software.amazon.jsii.Kernel.get(this, "timeoutInMinutes", 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.dbInstanceId = java.util.Objects.requireNonNull(builder.dbInstanceId, "dbInstanceId is required"); this.payType = java.util.Objects.requireNonNull(builder.payType, "payType is required"); this.allocatePublicConnection = builder.allocatePublicConnection; this.backupId = builder.backupId; this.backupRetentionPeriod = builder.backupRetentionPeriod; this.backupType = builder.backupType; this.category = builder.category; this.connectionStringPrefix = builder.connectionStringPrefix; this.connectionStringType = builder.connectionStringType; this.dbInstanceClass = builder.dbInstanceClass; this.dbInstanceDescription = builder.dbInstanceDescription; this.dbInstanceStorage = builder.dbInstanceStorage; this.dbInstanceStorageType = builder.dbInstanceStorageType; this.dbMappings = builder.dbMappings; this.dbNames = builder.dbNames; this.dedicatedHostGroupId = builder.dedicatedHostGroupId; this.instanceNetworkType = builder.instanceNetworkType; this.maintainTime = builder.maintainTime; this.masterUsername = builder.masterUsername; this.masterUserPassword = builder.masterUserPassword; this.masterUserType = builder.masterUserType; this.period = builder.period; this.periodType = builder.periodType; this.port = builder.port; this.preferredBackupPeriod = builder.preferredBackupPeriod; this.preferredBackupTime = builder.preferredBackupTime; this.privateIpAddress = builder.privateIpAddress; this.restoreTable = builder.restoreTable; this.restoreTime = builder.restoreTime; this.securityGroupId = builder.securityGroupId; this.securityIpList = builder.securityIpList; this.slaveZoneIds = builder.slaveZoneIds; this.sqlCollectorStatus = builder.sqlCollectorStatus; this.sslSetting = builder.sslSetting; this.tableMeta = builder.tableMeta; this.tags = (java.util.Map)builder.tags; this.timeoutInMinutes = builder.timeoutInMinutes; this.vpcId = builder.vpcId; this.vSwitchId = builder.vSwitchId; this.zoneId = builder.zoneId; } @Override public final java.lang.Object getDbInstanceId() { return this.dbInstanceId; } @Override public final java.lang.Object getPayType() { return this.payType; } @Override public final java.lang.Object getAllocatePublicConnection() { return this.allocatePublicConnection; } @Override public final java.lang.Object getBackupId() { return this.backupId; } @Override public final java.lang.Object getBackupRetentionPeriod() { return this.backupRetentionPeriod; } @Override public final java.lang.Object getBackupType() { return this.backupType; } @Override public final java.lang.Object getCategory() { return this.category; } @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 getDbInstanceClass() { return this.dbInstanceClass; } @Override public final java.lang.Object getDbInstanceDescription() { return this.dbInstanceDescription; } @Override public final java.lang.Object getDbInstanceStorage() { return this.dbInstanceStorage; } @Override public final java.lang.Object getDbInstanceStorageType() { return this.dbInstanceStorageType; } @Override public final java.lang.Object getDbMappings() { return this.dbMappings; } @Override public final java.lang.Object getDbNames() { return this.dbNames; } @Override public final java.lang.Object getDedicatedHostGroupId() { return this.dedicatedHostGroupId; } @Override public final java.lang.Object getInstanceNetworkType() { return this.instanceNetworkType; } @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 getPeriod() { return this.period; } @Override public final java.lang.Object getPeriodType() { return this.periodType; } @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 getRestoreTable() { return this.restoreTable; } @Override public final java.lang.Object getRestoreTime() { return this.restoreTime; } @Override public final java.lang.Object getSecurityGroupId() { return this.securityGroupId; } @Override public final java.lang.Object getSecurityIpList() { return this.securityIpList; } @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.lang.Object getTableMeta() { return this.tableMeta; } @Override public final java.util.Map getTags() { return this.tags; } @Override public final java.lang.Object getTimeoutInMinutes() { return this.timeoutInMinutes; } @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("dbInstanceId", om.valueToTree(this.getDbInstanceId())); data.set("payType", om.valueToTree(this.getPayType())); if (this.getAllocatePublicConnection() != null) { data.set("allocatePublicConnection", om.valueToTree(this.getAllocatePublicConnection())); } if (this.getBackupId() != null) { data.set("backupId", om.valueToTree(this.getBackupId())); } if (this.getBackupRetentionPeriod() != null) { data.set("backupRetentionPeriod", om.valueToTree(this.getBackupRetentionPeriod())); } if (this.getBackupType() != null) { data.set("backupType", om.valueToTree(this.getBackupType())); } if (this.getCategory() != null) { data.set("category", om.valueToTree(this.getCategory())); } if (this.getConnectionStringPrefix() != null) { data.set("connectionStringPrefix", om.valueToTree(this.getConnectionStringPrefix())); } if (this.getConnectionStringType() != null) { data.set("connectionStringType", om.valueToTree(this.getConnectionStringType())); } if (this.getDbInstanceClass() != null) { data.set("dbInstanceClass", om.valueToTree(this.getDbInstanceClass())); } if (this.getDbInstanceDescription() != null) { data.set("dbInstanceDescription", om.valueToTree(this.getDbInstanceDescription())); } if (this.getDbInstanceStorage() != null) { data.set("dbInstanceStorage", om.valueToTree(this.getDbInstanceStorage())); } if (this.getDbInstanceStorageType() != null) { data.set("dbInstanceStorageType", om.valueToTree(this.getDbInstanceStorageType())); } if (this.getDbMappings() != null) { data.set("dbMappings", om.valueToTree(this.getDbMappings())); } if (this.getDbNames() != null) { data.set("dbNames", om.valueToTree(this.getDbNames())); } if (this.getDedicatedHostGroupId() != null) { data.set("dedicatedHostGroupId", om.valueToTree(this.getDedicatedHostGroupId())); } if (this.getInstanceNetworkType() != null) { data.set("instanceNetworkType", om.valueToTree(this.getInstanceNetworkType())); } 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.getPeriod() != null) { data.set("period", om.valueToTree(this.getPeriod())); } if (this.getPeriodType() != null) { data.set("periodType", om.valueToTree(this.getPeriodType())); } 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.getRestoreTable() != null) { data.set("restoreTable", om.valueToTree(this.getRestoreTable())); } if (this.getRestoreTime() != null) { data.set("restoreTime", om.valueToTree(this.getRestoreTime())); } if (this.getSecurityGroupId() != null) { data.set("securityGroupId", om.valueToTree(this.getSecurityGroupId())); } if (this.getSecurityIpList() != null) { data.set("securityIpList", om.valueToTree(this.getSecurityIpList())); } 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.getTableMeta() != null) { data.set("tableMeta", om.valueToTree(this.getTableMeta())); } if (this.getTags() != null) { data.set("tags", om.valueToTree(this.getTags())); } if (this.getTimeoutInMinutes() != null) { data.set("timeoutInMinutes", om.valueToTree(this.getTimeoutInMinutes())); } 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.DBInstanceCloneProps")); 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; DBInstanceCloneProps.Jsii$Proxy that = (DBInstanceCloneProps.Jsii$Proxy) o; if (!dbInstanceId.equals(that.dbInstanceId)) return false; if (!payType.equals(that.payType)) return false; if (this.allocatePublicConnection != null ? !this.allocatePublicConnection.equals(that.allocatePublicConnection) : that.allocatePublicConnection != null) return false; if (this.backupId != null ? !this.backupId.equals(that.backupId) : that.backupId != null) return false; if (this.backupRetentionPeriod != null ? !this.backupRetentionPeriod.equals(that.backupRetentionPeriod) : that.backupRetentionPeriod != null) return false; if (this.backupType != null ? !this.backupType.equals(that.backupType) : that.backupType != null) return false; if (this.category != null ? !this.category.equals(that.category) : that.category != 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.dbInstanceClass != null ? !this.dbInstanceClass.equals(that.dbInstanceClass) : that.dbInstanceClass != null) return false; if (this.dbInstanceDescription != null ? !this.dbInstanceDescription.equals(that.dbInstanceDescription) : that.dbInstanceDescription != null) return false; if (this.dbInstanceStorage != null ? !this.dbInstanceStorage.equals(that.dbInstanceStorage) : that.dbInstanceStorage != null) return false; if (this.dbInstanceStorageType != null ? !this.dbInstanceStorageType.equals(that.dbInstanceStorageType) : that.dbInstanceStorageType != null) return false; if (this.dbMappings != null ? !this.dbMappings.equals(that.dbMappings) : that.dbMappings != null) return false; if (this.dbNames != null ? !this.dbNames.equals(that.dbNames) : that.dbNames != null) return false; if (this.dedicatedHostGroupId != null ? !this.dedicatedHostGroupId.equals(that.dedicatedHostGroupId) : that.dedicatedHostGroupId != null) return false; if (this.instanceNetworkType != null ? !this.instanceNetworkType.equals(that.instanceNetworkType) : that.instanceNetworkType != 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.period != null ? !this.period.equals(that.period) : that.period != null) return false; if (this.periodType != null ? !this.periodType.equals(that.periodType) : that.periodType != 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.restoreTable != null ? !this.restoreTable.equals(that.restoreTable) : that.restoreTable != null) return false; if (this.restoreTime != null ? !this.restoreTime.equals(that.restoreTime) : that.restoreTime != null) return false; if (this.securityGroupId != null ? !this.securityGroupId.equals(that.securityGroupId) : that.securityGroupId != null) return false; if (this.securityIpList != null ? !this.securityIpList.equals(that.securityIpList) : that.securityIpList != 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.tableMeta != null ? !this.tableMeta.equals(that.tableMeta) : that.tableMeta != null) return false; if (this.tags != null ? !this.tags.equals(that.tags) : that.tags != null) return false; if (this.timeoutInMinutes != null ? !this.timeoutInMinutes.equals(that.timeoutInMinutes) : that.timeoutInMinutes != 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.dbInstanceId.hashCode(); result = 31 * result + (this.payType.hashCode()); result = 31 * result + (this.allocatePublicConnection != null ? this.allocatePublicConnection.hashCode() : 0); result = 31 * result + (this.backupId != null ? this.backupId.hashCode() : 0); result = 31 * result + (this.backupRetentionPeriod != null ? this.backupRetentionPeriod.hashCode() : 0); result = 31 * result + (this.backupType != null ? this.backupType.hashCode() : 0); result = 31 * result + (this.category != null ? this.category.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.dbInstanceClass != null ? this.dbInstanceClass.hashCode() : 0); result = 31 * result + (this.dbInstanceDescription != null ? this.dbInstanceDescription.hashCode() : 0); result = 31 * result + (this.dbInstanceStorage != null ? this.dbInstanceStorage.hashCode() : 0); result = 31 * result + (this.dbInstanceStorageType != null ? this.dbInstanceStorageType.hashCode() : 0); result = 31 * result + (this.dbMappings != null ? this.dbMappings.hashCode() : 0); result = 31 * result + (this.dbNames != null ? this.dbNames.hashCode() : 0); result = 31 * result + (this.dedicatedHostGroupId != null ? this.dedicatedHostGroupId.hashCode() : 0); result = 31 * result + (this.instanceNetworkType != null ? this.instanceNetworkType.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.period != null ? this.period.hashCode() : 0); result = 31 * result + (this.periodType != null ? this.periodType.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.restoreTable != null ? this.restoreTable.hashCode() : 0); result = 31 * result + (this.restoreTime != null ? this.restoreTime.hashCode() : 0); result = 31 * result + (this.securityGroupId != null ? this.securityGroupId.hashCode() : 0); result = 31 * result + (this.securityIpList != null ? this.securityIpList.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.tableMeta != null ? this.tableMeta.hashCode() : 0); result = 31 * result + (this.tags != null ? this.tags.hashCode() : 0); result = 31 * result + (this.timeoutInMinutes != null ? this.timeoutInMinutes.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