Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.alicloud.rds.kotlin.DdrInstanceArgs.kt Maven / Gradle / Ivy
Go to download
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.alicloud.rds.kotlin
import com.pulumi.alicloud.rds.DdrInstanceArgs.builder
import com.pulumi.alicloud.rds.kotlin.inputs.DdrInstanceParameterArgs
import com.pulumi.alicloud.rds.kotlin.inputs.DdrInstanceParameterArgsBuilder
import com.pulumi.alicloud.rds.kotlin.inputs.DdrInstancePgHbaConfArgs
import com.pulumi.alicloud.rds.kotlin.inputs.DdrInstancePgHbaConfArgsBuilder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.Int
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
*
* ## Import
* RDS ddr instance can be imported using the id, e.g.
* ```sh
* $ pulumi import alicloud:rds/ddrInstance:DdrInstance example rm-abc12345678
* ```
* @property acl The method that is used to verify the identities of clients. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
* @property autoRenew Whether to renewal a DB instance automatically or not. It is valid when payment_type is `Subscription`. Default to `false`.
* @property autoRenewPeriod Auto-renewal period of an instance, in the unit of the month. It is valid when payment_type is `Subscription`. Valid value:[1~12], Default to 1.
* @property autoUpgradeMinorVersion The upgrade method to use. Valid values:
* - Auto: Instances are automatically upgraded to a higher minor version.
* - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
* See more [details and limitation](https://www.alibabacloud.com/help/doc-detail/123605.htm).
* @property backupSetId The ID of the backup set that is used for the restoration. You can call the DescribeCrossRegionBackups operation to query the ID of the backup set.
* @property caType The type of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the SSLEnabled parameter to 1, the default value of this parameter is aliyun. Value range:
* - aliyun: a cloud certificate
* - custom: a custom certificate
* @property clientCaCert The public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCAEbabled parameter to 1, you must also specify this parameter.
* @property clientCaEnabled Specifies whether to enable the public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. Valid values:
* - 1: enables the public key
* - 0: disables the public key
* @property clientCertRevocationList The CRL that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCrlEnabled parameter to 1, you must also specify this parameter.
* @property clientCrlEnabled Specifies whether to enable a certificate revocation list (CRL) that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - 1: enables the CRL
* - 0: disables the CRL
* @property connectionStringPrefix The private connection string prefix. If you want to update public connection string prefix, please use resource alicloud.rds.Connection connection_prefix.
* > **NOTE:** The prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-). It cannot contain Chinese characters and special characters ~!#%^&*=+\|{};:'",<>/?
* @property dbInstanceIpArrayAttribute The attribute of the IP address whitelist. By default, this parameter is empty.
* > **NOTE:** The IP address whitelists that have the hidden attribute are not displayed in the ApsaraDB RDS console. These IP address whitelists are used to access Alibaba Cloud services, such as Data Transmission Service (DTS).
* @property dbInstanceIpArrayName The name of the IP address whitelist. Default value: Default.
* > **NOTE:** A maximum of 200 IP address whitelists can be configured for each instance.
* @property dbInstanceStorageType The storage type of the instance. Valid values:
* - local_ssd: specifies to use local SSDs. This value is recommended.
* - cloud_ssd: specifies to use standard SSDs.
* - cloud_essd: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
* > **NOTE:** You can specify the time zone when you create a primary instance. You cannot specify the time zone when you create a read-only instance. Read-only instances inherit the time zone of their primary instance. If you do not specify this parameter, the system assigns the default time zone of the region where the instance resides.
* @property deletionProtection The switch of delete protection. Valid values:
* - true: delete protect.
* - false: no delete protect.
* > **NOTE:** `deletion_protection` is valid only when attribute `payment_type` is set to `PayAsYouGo`, supported engine type: **MySQL**, **PostgreSQL**, **MariaDB**, **MSSQL**.
* @property effectiveTime The method to update the engine version and change. Default value: Immediate. Valid values:
* - Immediate: The change immediately takes effect.
* - MaintainTime: The change takes effect during the specified maintenance window. For more information, see ModifyDBInstanceMaintainTime.
* @property encryptionKey The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL and SQLServer.
* @property engine Database type. Value options: MySQL, SQLServer.
* > **NOTE:** When the 'EngineVersion' changes, it can be used as the target database version for the large version upgrade of RDS for MySQL instance.
* @property engineVersion Database version. Value options can refer to the latest docs [CreateDdrInstance](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/restore-data-to-a-new-instance-across-regions) `EngineVersion`.
* @property forceRestart Set it to true to make some parameter efficient when modifying them. Default to false.
* @property freshWhiteListReadins The read-only instances to which you want to synchronize the IP address whitelist.
* * If the instance is attached with a read-only instance, you can use this parameter to synchronize the IP address whitelist to the read-only instance. If the instance is attached with multiple read-only instances, the read-only instances must be separated by commas (,).
* * If the instance is not attached with a read-only instance, this parameter is empty.
* @property haConfig The primary/secondary switchover mode of the instance. Default value: Auto. Valid values:
* - Auto: The system automatically switches over services from the primary to secondary instances in the event of a fault.
* - Manual: You must manually switch over services from the primary to secondary instances in the event of a fault.
* > **NOTE:** If you set this parameter to Manual, you must specify the ManualHATime parameter.
* @property instanceName The name of DB instance. It a string of 2 to 256 characters.
* @property instanceStorage The storage capacity of the destination instance. Valid values: 5 to 2000. Unit: GB.
* This value must be a multiple of 5 GB. For more information, see Primary ApsaraDB RDS instance types.
* @property instanceType DB Instance type.
* > **NOTE:** When `storage_auto_scale="Enable"`, do not perform `instance_storage` check. when `storage_auto_scale="Disable"`, if the instance itself `instance_storage`has changed. You need to manually revise the `instance_storage` in the template value.
* @property maintainTime Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
* @property manualHaTime The time after when you want to enable automatic primary/secondary switchover. At most, you can set this parameter to 23:59:59 seven days later. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
* > **NOTE:** This parameter only takes effect when the HAConfig parameter is set to Manual.
* @property modifyMode The method that is used to modify the IP address whitelist. Default value: Cover. Valid values:
* - Cover: Use the value of the SecurityIps parameter to overwrite the existing entries in the IP address whitelist.
* - Append: Add the IP addresses and CIDR blocks that are specified in the SecurityIps parameter to the IP address whitelist.
* - Delete: Delete IP addresses and CIDR blocks that are specified in the SecurityIps parameter from the IP address whitelist. You must retain at least one IP address or CIDR block.
* @property monitoringPeriod The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
* @property parameters Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
* @property paymentType Valid values are `Subscription`, `PayAsYouGo`, Default to `PayAsYouGo`.
* @property period The duration that you will buy DB instance (in month). It is valid when payment_type is `Subscription`. Valid values: [1~9], 12, 24, 36.
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
* @property pgHbaConfs The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
* @property port The private port of the database service. If you want to update public port, please use resource alicloud.rds.Connection port.
* @property privateIpAddress The private IP address of the instance. The private IP address must be within the Classless Inter-Domain Routing (CIDR) block of the vSwitch that is specified by the VSwitchId parameter.
* @property releasedKeepPolicy The policy based on which ApsaraDB RDS retains archived backup files after the instance is released. Valid values:
* - None: No archived backup files are retained.
* - Lastest: Only the last archived backup file is retained.
* - All: All the archived backup files are retained.
* > **NOTE:** This parameter is supported only when the instance runs the MySQL database engine.
* @property replicationAcl The method that is used to verify the replication permission. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
* @property resourceGroupId The ID of resource group which the DB instance belongs.
* @property restoreTime The point in time to which you want to restore data. The point in time that you specify must be earlier than the current time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
* @property restoreType The method that is used to restore data. Valid values:
* - BackupSet: Data is restored from a backup set. If you use this value, you must also specify the BackupSetID parameter.
* - BackupTime: restores data to a point in time. You must also specify the RestoreTime, SourceRegion, and SourceDBInstanceName parameters.
* @property securityGroupIds ) The list IDs to join ECS Security Group. At most supports three security groups.
* @property securityIpMode Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode.
* @property securityIpType The type of IP address in the IP address whitelist.
* @property securityIps List of IP addresses allowed to access all databases of an instance. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
* @property serverCert The content of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
* @property serverKey The private key of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
* @property sourceDbInstanceName The ID of the source instance if you want to restore data to a point in time.
* @property sourceRegion The region ID of the source instance if you want to restore data to a point in time.
* @property sqlCollectorConfigValue The sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
* @property sqlCollectorStatus The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
* @property sslAction Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
* @property storageAutoScale Automatic storage space expansion switch. Valid values:
* - Enable
* - Disable
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable.
* @property storageThreshold The trigger threshold (percentage) for automatic storage space expansion. Valid values:
* - 10
* - 20
* - 30
* - 40
* - 50
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable. The value must be greater than or equal to the total size of the current storage space of the instance.
* @property storageUpperBound The upper limit of the total storage space for automatic expansion of the storage space, that is, automatic expansion will not cause the total storage space of the instance to exceed this value. Unit: GB. The value must be ≥0.
* > **NOTE:** Because of data backup and migration, change DB instance type and storage would cost 15~20 minutes. Please make full preparation before changing them.
* @property switchTime The specific point in time when you want to perform the update. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. It is valid only when `upgrade_db_instance_kernel_version = true`. The time must be in UTC.
* > **NOTE:** This parameter takes effect only when you set the UpgradeTime parameter to SpecifyTime.
* @property tags A mapping of tags to assign to the resource.
* - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
* - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
* @property targetMinorVersion The minor engine version to which you want to update the instance. If you do not specify this parameter, the instance is updated to the latest minor engine version. It is valid only when `upgrade_db_instance_kernel_version = true`. You must specify the minor engine version in one of the following formats:
* - PostgreSQL: rds_postgres_00_. Example: rds_postgres_1200_20200830.
* - MySQL: _. Examples: rds_20200229, xcluster_20200229, and xcluster80_20200229. The following RDS editions are supported:
* - rds: The instance runs RDS Basic or High-availability Edition.
* - xcluster: The instance runs MySQL 5.7 on RDS Enterprise Edition.
* - xcluster80: The instance runs MySQL 8.0 on RDS Enterprise Edition.
* - SQLServer: . Example: 15.0.4073.23.
* > **NOTE:** For more information about minor engine versions, see Release notes of minor AliPG versions, Release notes of minor AliSQL versions, and Release notes of minor engine versions of ApsaraDB RDS for SQL Server.
* @property tcpConnectionType The availability check method of the instance. Valid values:
* - **SHORT**: Alibaba Cloud uses short-lived connections to check the availability of the instance.
* - **LONG**: Alibaba Cloud uses persistent connections to check the availability of the instance.
* @property tdeStatus The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
* @property upgradeDbInstanceKernelVersion Whether to upgrade a minor version of the kernel. Valid values:
* - true: upgrade
* - false: not to upgrade
* @property upgradeTime The method to update the minor engine version. Default value: Immediate. It is valid only when `upgrade_db_instance_kernel_version = true`. Valid values:
* - Immediate: The minor engine version is immediately updated.
* - MaintainTime: The minor engine version is updated during the maintenance window. For more information about how to change the maintenance window, see ModifyDBInstanceMaintainTime.
* - SpecifyTime: The minor engine version is updated at the point in time you specify.
* @property vpcId The VPC ID of the instance.
* > **NOTE:** This parameter applies only to ApsaraDB RDS for MySQL instances. For more information about Upgrade the major engine version of an ApsaraDB RDS for MySQL instance, see [Upgrade the major engine version of an RDS instance in the ApsaraDB RDS console](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/upgrade-the-major-engine-version-of-an-apsaradb-rds-for-mysql-instance-1).
* @property vswitchId The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
* @property whitelistNetworkType The network type of the IP address whitelist. Default value: MIX. Valid values:
* - Classic: classic network in enhanced whitelist mode
* - VPC: virtual private cloud (VPC) in enhanced whitelist mode
* - MIX: standard whitelist mode
* > **NOTE:** In standard whitelist mode, IP addresses and CIDR blocks can be added only to the default IP address whitelist. In enhanced whitelist mode, IP addresses and CIDR blocks can be added to both IP address whitelists of the classic network type and those of the VPC network type.
* @property zoneId The Zone to launch the DB instance. It supports multiple zone.
* If it is a multi-zone and `vswitch_id` is specified, the vswitch must in the one of them.
* The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `alicloud.getZones`.
*/
public data class DdrInstanceArgs(
public val acl: Output? = null,
public val autoRenew: Output? = null,
public val autoRenewPeriod: Output? = null,
public val autoUpgradeMinorVersion: Output? = null,
public val backupSetId: Output? = null,
public val caType: Output? = null,
public val clientCaCert: Output? = null,
public val clientCaEnabled: Output? = null,
public val clientCertRevocationList: Output? = null,
public val clientCrlEnabled: Output? = null,
public val connectionStringPrefix: Output? = null,
public val dbInstanceIpArrayAttribute: Output? = null,
public val dbInstanceIpArrayName: Output? = null,
public val dbInstanceStorageType: Output? = null,
public val deletionProtection: Output? = null,
public val effectiveTime: Output? = null,
public val encryptionKey: Output? = null,
public val engine: Output? = null,
public val engineVersion: Output? = null,
public val forceRestart: Output? = null,
public val freshWhiteListReadins: Output? = null,
public val haConfig: Output? = null,
public val instanceName: Output? = null,
public val instanceStorage: Output? = null,
public val instanceType: Output? = null,
public val maintainTime: Output? = null,
public val manualHaTime: Output? = null,
public val modifyMode: Output? = null,
public val monitoringPeriod: Output? = null,
public val parameters: Output>? = null,
public val paymentType: Output? = null,
public val period: Output? = null,
public val pgHbaConfs: Output>? = null,
public val port: Output? = null,
public val privateIpAddress: Output? = null,
public val releasedKeepPolicy: Output? = null,
public val replicationAcl: Output? = null,
public val resourceGroupId: Output? = null,
public val restoreTime: Output? = null,
public val restoreType: Output? = null,
public val securityGroupIds: Output>? = null,
public val securityIpMode: Output? = null,
public val securityIpType: Output? = null,
public val securityIps: Output>? = null,
public val serverCert: Output? = null,
public val serverKey: Output? = null,
public val sourceDbInstanceName: Output? = null,
public val sourceRegion: Output? = null,
public val sqlCollectorConfigValue: Output? = null,
public val sqlCollectorStatus: Output? = null,
public val sslAction: Output? = null,
public val storageAutoScale: Output? = null,
public val storageThreshold: Output? = null,
public val storageUpperBound: Output? = null,
public val switchTime: Output? = null,
public val tags: Output>? = null,
public val targetMinorVersion: Output? = null,
public val tcpConnectionType: Output? = null,
public val tdeStatus: Output? = null,
public val upgradeDbInstanceKernelVersion: Output? = null,
public val upgradeTime: Output? = null,
public val vpcId: Output? = null,
public val vswitchId: Output? = null,
public val whitelistNetworkType: Output? = null,
public val zoneId: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.alicloud.rds.DdrInstanceArgs =
com.pulumi.alicloud.rds.DdrInstanceArgs.builder()
.acl(acl?.applyValue({ args0 -> args0 }))
.autoRenew(autoRenew?.applyValue({ args0 -> args0 }))
.autoRenewPeriod(autoRenewPeriod?.applyValue({ args0 -> args0 }))
.autoUpgradeMinorVersion(autoUpgradeMinorVersion?.applyValue({ args0 -> args0 }))
.backupSetId(backupSetId?.applyValue({ args0 -> args0 }))
.caType(caType?.applyValue({ args0 -> args0 }))
.clientCaCert(clientCaCert?.applyValue({ args0 -> args0 }))
.clientCaEnabled(clientCaEnabled?.applyValue({ args0 -> args0 }))
.clientCertRevocationList(clientCertRevocationList?.applyValue({ args0 -> args0 }))
.clientCrlEnabled(clientCrlEnabled?.applyValue({ args0 -> args0 }))
.connectionStringPrefix(connectionStringPrefix?.applyValue({ args0 -> args0 }))
.dbInstanceIpArrayAttribute(dbInstanceIpArrayAttribute?.applyValue({ args0 -> args0 }))
.dbInstanceIpArrayName(dbInstanceIpArrayName?.applyValue({ args0 -> args0 }))
.dbInstanceStorageType(dbInstanceStorageType?.applyValue({ args0 -> args0 }))
.deletionProtection(deletionProtection?.applyValue({ args0 -> args0 }))
.effectiveTime(effectiveTime?.applyValue({ args0 -> args0 }))
.encryptionKey(encryptionKey?.applyValue({ args0 -> args0 }))
.engine(engine?.applyValue({ args0 -> args0 }))
.engineVersion(engineVersion?.applyValue({ args0 -> args0 }))
.forceRestart(forceRestart?.applyValue({ args0 -> args0 }))
.freshWhiteListReadins(freshWhiteListReadins?.applyValue({ args0 -> args0 }))
.haConfig(haConfig?.applyValue({ args0 -> args0 }))
.instanceName(instanceName?.applyValue({ args0 -> args0 }))
.instanceStorage(instanceStorage?.applyValue({ args0 -> args0 }))
.instanceType(instanceType?.applyValue({ args0 -> args0 }))
.maintainTime(maintainTime?.applyValue({ args0 -> args0 }))
.manualHaTime(manualHaTime?.applyValue({ args0 -> args0 }))
.modifyMode(modifyMode?.applyValue({ args0 -> args0 }))
.monitoringPeriod(monitoringPeriod?.applyValue({ args0 -> args0 }))
.parameters(
parameters?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.paymentType(paymentType?.applyValue({ args0 -> args0 }))
.period(period?.applyValue({ args0 -> args0 }))
.pgHbaConfs(
pgHbaConfs?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.port(port?.applyValue({ args0 -> args0 }))
.privateIpAddress(privateIpAddress?.applyValue({ args0 -> args0 }))
.releasedKeepPolicy(releasedKeepPolicy?.applyValue({ args0 -> args0 }))
.replicationAcl(replicationAcl?.applyValue({ args0 -> args0 }))
.resourceGroupId(resourceGroupId?.applyValue({ args0 -> args0 }))
.restoreTime(restoreTime?.applyValue({ args0 -> args0 }))
.restoreType(restoreType?.applyValue({ args0 -> args0 }))
.securityGroupIds(securityGroupIds?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.securityIpMode(securityIpMode?.applyValue({ args0 -> args0 }))
.securityIpType(securityIpType?.applyValue({ args0 -> args0 }))
.securityIps(securityIps?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.serverCert(serverCert?.applyValue({ args0 -> args0 }))
.serverKey(serverKey?.applyValue({ args0 -> args0 }))
.sourceDbInstanceName(sourceDbInstanceName?.applyValue({ args0 -> args0 }))
.sourceRegion(sourceRegion?.applyValue({ args0 -> args0 }))
.sqlCollectorConfigValue(sqlCollectorConfigValue?.applyValue({ args0 -> args0 }))
.sqlCollectorStatus(sqlCollectorStatus?.applyValue({ args0 -> args0 }))
.sslAction(sslAction?.applyValue({ args0 -> args0 }))
.storageAutoScale(storageAutoScale?.applyValue({ args0 -> args0 }))
.storageThreshold(storageThreshold?.applyValue({ args0 -> args0 }))
.storageUpperBound(storageUpperBound?.applyValue({ args0 -> args0 }))
.switchTime(switchTime?.applyValue({ args0 -> args0 }))
.tags(tags?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.targetMinorVersion(targetMinorVersion?.applyValue({ args0 -> args0 }))
.tcpConnectionType(tcpConnectionType?.applyValue({ args0 -> args0 }))
.tdeStatus(tdeStatus?.applyValue({ args0 -> args0 }))
.upgradeDbInstanceKernelVersion(upgradeDbInstanceKernelVersion?.applyValue({ args0 -> args0 }))
.upgradeTime(upgradeTime?.applyValue({ args0 -> args0 }))
.vpcId(vpcId?.applyValue({ args0 -> args0 }))
.vswitchId(vswitchId?.applyValue({ args0 -> args0 }))
.whitelistNetworkType(whitelistNetworkType?.applyValue({ args0 -> args0 }))
.zoneId(zoneId?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DdrInstanceArgs].
*/
@PulumiTagMarker
public class DdrInstanceArgsBuilder internal constructor() {
private var acl: Output? = null
private var autoRenew: Output? = null
private var autoRenewPeriod: Output? = null
private var autoUpgradeMinorVersion: Output? = null
private var backupSetId: Output? = null
private var caType: Output? = null
private var clientCaCert: Output? = null
private var clientCaEnabled: Output? = null
private var clientCertRevocationList: Output? = null
private var clientCrlEnabled: Output? = null
private var connectionStringPrefix: Output? = null
private var dbInstanceIpArrayAttribute: Output? = null
private var dbInstanceIpArrayName: Output? = null
private var dbInstanceStorageType: Output? = null
private var deletionProtection: Output? = null
private var effectiveTime: Output? = null
private var encryptionKey: Output? = null
private var engine: Output? = null
private var engineVersion: Output? = null
private var forceRestart: Output? = null
private var freshWhiteListReadins: Output? = null
private var haConfig: Output? = null
private var instanceName: Output? = null
private var instanceStorage: Output? = null
private var instanceType: Output? = null
private var maintainTime: Output? = null
private var manualHaTime: Output? = null
private var modifyMode: Output? = null
private var monitoringPeriod: Output? = null
private var parameters: Output>? = null
private var paymentType: Output? = null
private var period: Output? = null
private var pgHbaConfs: Output>? = null
private var port: Output? = null
private var privateIpAddress: Output? = null
private var releasedKeepPolicy: Output? = null
private var replicationAcl: Output? = null
private var resourceGroupId: Output? = null
private var restoreTime: Output? = null
private var restoreType: Output? = null
private var securityGroupIds: Output>? = null
private var securityIpMode: Output? = null
private var securityIpType: Output? = null
private var securityIps: Output>? = null
private var serverCert: Output? = null
private var serverKey: Output? = null
private var sourceDbInstanceName: Output? = null
private var sourceRegion: Output? = null
private var sqlCollectorConfigValue: Output? = null
private var sqlCollectorStatus: Output? = null
private var sslAction: Output? = null
private var storageAutoScale: Output? = null
private var storageThreshold: Output? = null
private var storageUpperBound: Output? = null
private var switchTime: Output? = null
private var tags: Output>? = null
private var targetMinorVersion: Output? = null
private var tcpConnectionType: Output? = null
private var tdeStatus: Output? = null
private var upgradeDbInstanceKernelVersion: Output? = null
private var upgradeTime: Output? = null
private var vpcId: Output? = null
private var vswitchId: Output? = null
private var whitelistNetworkType: Output? = null
private var zoneId: Output? = null
/**
* @param value The method that is used to verify the identities of clients. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
*/
@JvmName("vgxiumbaqrgegubq")
public suspend fun acl(`value`: Output) {
this.acl = value
}
/**
* @param value Whether to renewal a DB instance automatically or not. It is valid when payment_type is `Subscription`. Default to `false`.
*/
@JvmName("bxwybxwxtwjjfecm")
public suspend fun autoRenew(`value`: Output) {
this.autoRenew = value
}
/**
* @param value Auto-renewal period of an instance, in the unit of the month. It is valid when payment_type is `Subscription`. Valid value:[1~12], Default to 1.
*/
@JvmName("ngockqcosmfqppeo")
public suspend fun autoRenewPeriod(`value`: Output) {
this.autoRenewPeriod = value
}
/**
* @param value The upgrade method to use. Valid values:
* - Auto: Instances are automatically upgraded to a higher minor version.
* - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
* See more [details and limitation](https://www.alibabacloud.com/help/doc-detail/123605.htm).
*/
@JvmName("yootuvahpxobufhg")
public suspend fun autoUpgradeMinorVersion(`value`: Output) {
this.autoUpgradeMinorVersion = value
}
/**
* @param value The ID of the backup set that is used for the restoration. You can call the DescribeCrossRegionBackups operation to query the ID of the backup set.
*/
@JvmName("dkjriwgnhdbbwbln")
public suspend fun backupSetId(`value`: Output) {
this.backupSetId = value
}
/**
* @param value The type of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the SSLEnabled parameter to 1, the default value of this parameter is aliyun. Value range:
* - aliyun: a cloud certificate
* - custom: a custom certificate
*/
@JvmName("briotggekttqdmrl")
public suspend fun caType(`value`: Output) {
this.caType = value
}
/**
* @param value The public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCAEbabled parameter to 1, you must also specify this parameter.
*/
@JvmName("qacosmrvwxhfysbp")
public suspend fun clientCaCert(`value`: Output) {
this.clientCaCert = value
}
/**
* @param value Specifies whether to enable the public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. Valid values:
* - 1: enables the public key
* - 0: disables the public key
*/
@JvmName("hfmjtiqdftlajnig")
public suspend fun clientCaEnabled(`value`: Output) {
this.clientCaEnabled = value
}
/**
* @param value The CRL that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCrlEnabled parameter to 1, you must also specify this parameter.
*/
@JvmName("nmbsehsstqegdoer")
public suspend fun clientCertRevocationList(`value`: Output) {
this.clientCertRevocationList = value
}
/**
* @param value Specifies whether to enable a certificate revocation list (CRL) that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - 1: enables the CRL
* - 0: disables the CRL
*/
@JvmName("mysabpykswyhcwlu")
public suspend fun clientCrlEnabled(`value`: Output) {
this.clientCrlEnabled = value
}
/**
* @param value The private connection string prefix. If you want to update public connection string prefix, please use resource alicloud.rds.Connection connection_prefix.
* > **NOTE:** The prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-). It cannot contain Chinese characters and special characters ~!#%^&*=+\|{};:'",<>/?
*/
@JvmName("nynuwhbriegdpmay")
public suspend fun connectionStringPrefix(`value`: Output) {
this.connectionStringPrefix = value
}
/**
* @param value The attribute of the IP address whitelist. By default, this parameter is empty.
* > **NOTE:** The IP address whitelists that have the hidden attribute are not displayed in the ApsaraDB RDS console. These IP address whitelists are used to access Alibaba Cloud services, such as Data Transmission Service (DTS).
*/
@JvmName("yngsbgevctwjrbwq")
public suspend fun dbInstanceIpArrayAttribute(`value`: Output) {
this.dbInstanceIpArrayAttribute = value
}
/**
* @param value The name of the IP address whitelist. Default value: Default.
* > **NOTE:** A maximum of 200 IP address whitelists can be configured for each instance.
*/
@JvmName("otsungpajwjknryg")
public suspend fun dbInstanceIpArrayName(`value`: Output) {
this.dbInstanceIpArrayName = value
}
/**
* @param value The storage type of the instance. Valid values:
* - local_ssd: specifies to use local SSDs. This value is recommended.
* - cloud_ssd: specifies to use standard SSDs.
* - cloud_essd: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
* > **NOTE:** You can specify the time zone when you create a primary instance. You cannot specify the time zone when you create a read-only instance. Read-only instances inherit the time zone of their primary instance. If you do not specify this parameter, the system assigns the default time zone of the region where the instance resides.
*/
@JvmName("pcdbdhaljrcxfcuw")
public suspend fun dbInstanceStorageType(`value`: Output) {
this.dbInstanceStorageType = value
}
/**
* @param value The switch of delete protection. Valid values:
* - true: delete protect.
* - false: no delete protect.
* > **NOTE:** `deletion_protection` is valid only when attribute `payment_type` is set to `PayAsYouGo`, supported engine type: **MySQL**, **PostgreSQL**, **MariaDB**, **MSSQL**.
*/
@JvmName("cshkbgweapphfxmt")
public suspend fun deletionProtection(`value`: Output) {
this.deletionProtection = value
}
/**
* @param value The method to update the engine version and change. Default value: Immediate. Valid values:
* - Immediate: The change immediately takes effect.
* - MaintainTime: The change takes effect during the specified maintenance window. For more information, see ModifyDBInstanceMaintainTime.
*/
@JvmName("pwntabpiixgdjbsv")
public suspend fun effectiveTime(`value`: Output) {
this.effectiveTime = value
}
/**
* @param value The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL and SQLServer.
*/
@JvmName("jmrxkbfenwndeijg")
public suspend fun encryptionKey(`value`: Output) {
this.encryptionKey = value
}
/**
* @param value Database type. Value options: MySQL, SQLServer.
* > **NOTE:** When the 'EngineVersion' changes, it can be used as the target database version for the large version upgrade of RDS for MySQL instance.
*/
@JvmName("oecyumdfjrnvtypq")
public suspend fun engine(`value`: Output) {
this.engine = value
}
/**
* @param value Database version. Value options can refer to the latest docs [CreateDdrInstance](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/restore-data-to-a-new-instance-across-regions) `EngineVersion`.
*/
@JvmName("gceusrlupvoxyidf")
public suspend fun engineVersion(`value`: Output) {
this.engineVersion = value
}
/**
* @param value Set it to true to make some parameter efficient when modifying them. Default to false.
*/
@JvmName("jqrljoagjmsawjgf")
public suspend fun forceRestart(`value`: Output) {
this.forceRestart = value
}
/**
* @param value The read-only instances to which you want to synchronize the IP address whitelist.
* * If the instance is attached with a read-only instance, you can use this parameter to synchronize the IP address whitelist to the read-only instance. If the instance is attached with multiple read-only instances, the read-only instances must be separated by commas (,).
* * If the instance is not attached with a read-only instance, this parameter is empty.
*/
@JvmName("wyypllinevyibgsw")
public suspend fun freshWhiteListReadins(`value`: Output) {
this.freshWhiteListReadins = value
}
/**
* @param value The primary/secondary switchover mode of the instance. Default value: Auto. Valid values:
* - Auto: The system automatically switches over services from the primary to secondary instances in the event of a fault.
* - Manual: You must manually switch over services from the primary to secondary instances in the event of a fault.
* > **NOTE:** If you set this parameter to Manual, you must specify the ManualHATime parameter.
*/
@JvmName("iqgoxnsjyivfrvwb")
public suspend fun haConfig(`value`: Output) {
this.haConfig = value
}
/**
* @param value The name of DB instance. It a string of 2 to 256 characters.
*/
@JvmName("cvbgdkuhnhubjvyp")
public suspend fun instanceName(`value`: Output) {
this.instanceName = value
}
/**
* @param value The storage capacity of the destination instance. Valid values: 5 to 2000. Unit: GB.
* This value must be a multiple of 5 GB. For more information, see Primary ApsaraDB RDS instance types.
*/
@JvmName("mnymwklwvgajpddi")
public suspend fun instanceStorage(`value`: Output) {
this.instanceStorage = value
}
/**
* @param value DB Instance type.
* > **NOTE:** When `storage_auto_scale="Enable"`, do not perform `instance_storage` check. when `storage_auto_scale="Disable"`, if the instance itself `instance_storage`has changed. You need to manually revise the `instance_storage` in the template value.
*/
@JvmName("ykakgqtubaplvocy")
public suspend fun instanceType(`value`: Output) {
this.instanceType = value
}
/**
* @param value Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
*/
@JvmName("osikdgqlrjwsfjwj")
public suspend fun maintainTime(`value`: Output) {
this.maintainTime = value
}
/**
* @param value The time after when you want to enable automatic primary/secondary switchover. At most, you can set this parameter to 23:59:59 seven days later. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
* > **NOTE:** This parameter only takes effect when the HAConfig parameter is set to Manual.
*/
@JvmName("kisyqvrvpxocpnds")
public suspend fun manualHaTime(`value`: Output) {
this.manualHaTime = value
}
/**
* @param value The method that is used to modify the IP address whitelist. Default value: Cover. Valid values:
* - Cover: Use the value of the SecurityIps parameter to overwrite the existing entries in the IP address whitelist.
* - Append: Add the IP addresses and CIDR blocks that are specified in the SecurityIps parameter to the IP address whitelist.
* - Delete: Delete IP addresses and CIDR blocks that are specified in the SecurityIps parameter from the IP address whitelist. You must retain at least one IP address or CIDR block.
*/
@JvmName("guiqbconnodcjslr")
public suspend fun modifyMode(`value`: Output) {
this.modifyMode = value
}
/**
* @param value The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
*/
@JvmName("dujjpvnmpmefgegs")
public suspend fun monitoringPeriod(`value`: Output) {
this.monitoringPeriod = value
}
/**
* @param value Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("uahypfcpqwjrvdlc")
public suspend fun parameters(`value`: Output>) {
this.parameters = value
}
@JvmName("rogvpciythmtuoso")
public suspend fun parameters(vararg values: Output) {
this.parameters = Output.all(values.asList())
}
/**
* @param values Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("ulpniunfvrtqqvcq")
public suspend fun parameters(values: List>) {
this.parameters = Output.all(values)
}
/**
* @param value Valid values are `Subscription`, `PayAsYouGo`, Default to `PayAsYouGo`.
*/
@JvmName("yaxjgtrrafockpmt")
public suspend fun paymentType(`value`: Output) {
this.paymentType = value
}
/**
* @param value The duration that you will buy DB instance (in month). It is valid when payment_type is `Subscription`. Valid values: [1~9], 12, 24, 36.
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*/
@JvmName("awfitkrxegvqxajl")
public suspend fun period(`value`: Output) {
this.period = value
}
/**
* @param value The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("ussbdldxdktmtdwq")
public suspend fun pgHbaConfs(`value`: Output>) {
this.pgHbaConfs = value
}
@JvmName("sgsaoxedhomjbyit")
public suspend fun pgHbaConfs(vararg values: Output) {
this.pgHbaConfs = Output.all(values.asList())
}
/**
* @param values The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("ypjoaxitbwmqosff")
public suspend fun pgHbaConfs(values: List>) {
this.pgHbaConfs = Output.all(values)
}
/**
* @param value The private port of the database service. If you want to update public port, please use resource alicloud.rds.Connection port.
*/
@JvmName("rkepydllciqbgfgb")
public suspend fun port(`value`: Output) {
this.port = value
}
/**
* @param value The private IP address of the instance. The private IP address must be within the Classless Inter-Domain Routing (CIDR) block of the vSwitch that is specified by the VSwitchId parameter.
*/
@JvmName("yleshlnhayjijiwa")
public suspend fun privateIpAddress(`value`: Output) {
this.privateIpAddress = value
}
/**
* @param value The policy based on which ApsaraDB RDS retains archived backup files after the instance is released. Valid values:
* - None: No archived backup files are retained.
* - Lastest: Only the last archived backup file is retained.
* - All: All the archived backup files are retained.
* > **NOTE:** This parameter is supported only when the instance runs the MySQL database engine.
*/
@JvmName("prynunwqpvdveyar")
public suspend fun releasedKeepPolicy(`value`: Output) {
this.releasedKeepPolicy = value
}
/**
* @param value The method that is used to verify the replication permission. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
*/
@JvmName("wdfrnxyebyjnapgp")
public suspend fun replicationAcl(`value`: Output) {
this.replicationAcl = value
}
/**
* @param value The ID of resource group which the DB instance belongs.
*/
@JvmName("cltgmyddmaptpmvc")
public suspend fun resourceGroupId(`value`: Output) {
this.resourceGroupId = value
}
/**
* @param value The point in time to which you want to restore data. The point in time that you specify must be earlier than the current time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
*/
@JvmName("haeitnuablpundwo")
public suspend fun restoreTime(`value`: Output) {
this.restoreTime = value
}
/**
* @param value The method that is used to restore data. Valid values:
* - BackupSet: Data is restored from a backup set. If you use this value, you must also specify the BackupSetID parameter.
* - BackupTime: restores data to a point in time. You must also specify the RestoreTime, SourceRegion, and SourceDBInstanceName parameters.
*/
@JvmName("dkrtnxhxfogjvgmb")
public suspend fun restoreType(`value`: Output) {
this.restoreType = value
}
/**
* @param value ) The list IDs to join ECS Security Group. At most supports three security groups.
*/
@JvmName("vtadcxwpquhsdlxq")
public suspend fun securityGroupIds(`value`: Output>) {
this.securityGroupIds = value
}
@JvmName("akjlllehtcblfdam")
public suspend fun securityGroupIds(vararg values: Output) {
this.securityGroupIds = Output.all(values.asList())
}
/**
* @param values ) The list IDs to join ECS Security Group. At most supports three security groups.
*/
@JvmName("fivjwthkucnsptux")
public suspend fun securityGroupIds(values: List>) {
this.securityGroupIds = Output.all(values)
}
/**
* @param value Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode.
*/
@JvmName("qqxokrgjquirifge")
public suspend fun securityIpMode(`value`: Output) {
this.securityIpMode = value
}
/**
* @param value The type of IP address in the IP address whitelist.
*/
@JvmName("jowrydhkhawtfpai")
public suspend fun securityIpType(`value`: Output) {
this.securityIpType = value
}
/**
* @param value List of IP addresses allowed to access all databases of an instance. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
*/
@JvmName("yhuoupwoudgstsmk")
public suspend fun securityIps(`value`: Output>) {
this.securityIps = value
}
@JvmName("xhgqcjccockdaofn")
public suspend fun securityIps(vararg values: Output) {
this.securityIps = Output.all(values.asList())
}
/**
* @param values List of IP addresses allowed to access all databases of an instance. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
*/
@JvmName("cepfaxrdvftbomik")
public suspend fun securityIps(values: List>) {
this.securityIps = Output.all(values)
}
/**
* @param value The content of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
*/
@JvmName("umsbkgvhcmpbrjxe")
public suspend fun serverCert(`value`: Output) {
this.serverCert = value
}
/**
* @param value The private key of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
*/
@JvmName("ptlkoryunqtepodw")
public suspend fun serverKey(`value`: Output) {
this.serverKey = value
}
/**
* @param value The ID of the source instance if you want to restore data to a point in time.
*/
@JvmName("cxmytimcbghohsfv")
public suspend fun sourceDbInstanceName(`value`: Output) {
this.sourceDbInstanceName = value
}
/**
* @param value The region ID of the source instance if you want to restore data to a point in time.
*/
@JvmName("eobknawxgsbgorkt")
public suspend fun sourceRegion(`value`: Output) {
this.sourceRegion = value
}
/**
* @param value The sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
*/
@JvmName("onulxmjkhxwgaeva")
public suspend fun sqlCollectorConfigValue(`value`: Output) {
this.sqlCollectorConfigValue = value
}
/**
* @param value The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
*/
@JvmName("vtncbhfcwjpcrhdm")
public suspend fun sqlCollectorStatus(`value`: Output) {
this.sqlCollectorStatus = value
}
/**
* @param value Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
*/
@JvmName("hjkbxrambultsexq")
public suspend fun sslAction(`value`: Output) {
this.sslAction = value
}
/**
* @param value Automatic storage space expansion switch. Valid values:
* - Enable
* - Disable
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable.
*/
@JvmName("blgqgsqpeksfalkr")
public suspend fun storageAutoScale(`value`: Output) {
this.storageAutoScale = value
}
/**
* @param value The trigger threshold (percentage) for automatic storage space expansion. Valid values:
* - 10
* - 20
* - 30
* - 40
* - 50
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable. The value must be greater than or equal to the total size of the current storage space of the instance.
*/
@JvmName("mbeecoyxmxnrjfdi")
public suspend fun storageThreshold(`value`: Output) {
this.storageThreshold = value
}
/**
* @param value The upper limit of the total storage space for automatic expansion of the storage space, that is, automatic expansion will not cause the total storage space of the instance to exceed this value. Unit: GB. The value must be ≥0.
* > **NOTE:** Because of data backup and migration, change DB instance type and storage would cost 15~20 minutes. Please make full preparation before changing them.
*/
@JvmName("joimdlwttallcsxw")
public suspend fun storageUpperBound(`value`: Output) {
this.storageUpperBound = value
}
/**
* @param value The specific point in time when you want to perform the update. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. It is valid only when `upgrade_db_instance_kernel_version = true`. The time must be in UTC.
* > **NOTE:** This parameter takes effect only when you set the UpgradeTime parameter to SpecifyTime.
*/
@JvmName("mkunxxkmvkwlyaqu")
public suspend fun switchTime(`value`: Output) {
this.switchTime = value
}
/**
* @param value A mapping of tags to assign to the resource.
* - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
* - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
*/
@JvmName("eytmxswbfyxqtivs")
public suspend fun tags(`value`: Output>) {
this.tags = value
}
/**
* @param value The minor engine version to which you want to update the instance. If you do not specify this parameter, the instance is updated to the latest minor engine version. It is valid only when `upgrade_db_instance_kernel_version = true`. You must specify the minor engine version in one of the following formats:
* - PostgreSQL: rds_postgres_00_. Example: rds_postgres_1200_20200830.
* - MySQL: _. Examples: rds_20200229, xcluster_20200229, and xcluster80_20200229. The following RDS editions are supported:
* - rds: The instance runs RDS Basic or High-availability Edition.
* - xcluster: The instance runs MySQL 5.7 on RDS Enterprise Edition.
* - xcluster80: The instance runs MySQL 8.0 on RDS Enterprise Edition.
* - SQLServer: . Example: 15.0.4073.23.
* > **NOTE:** For more information about minor engine versions, see Release notes of minor AliPG versions, Release notes of minor AliSQL versions, and Release notes of minor engine versions of ApsaraDB RDS for SQL Server.
*/
@JvmName("xmfnksefutfaqexj")
public suspend fun targetMinorVersion(`value`: Output) {
this.targetMinorVersion = value
}
/**
* @param value The availability check method of the instance. Valid values:
* - **SHORT**: Alibaba Cloud uses short-lived connections to check the availability of the instance.
* - **LONG**: Alibaba Cloud uses persistent connections to check the availability of the instance.
*/
@JvmName("teogubwseoqqmtau")
public suspend fun tcpConnectionType(`value`: Output) {
this.tcpConnectionType = value
}
/**
* @param value The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
*/
@JvmName("qbgygnbxjipkxywp")
public suspend fun tdeStatus(`value`: Output) {
this.tdeStatus = value
}
/**
* @param value Whether to upgrade a minor version of the kernel. Valid values:
* - true: upgrade
* - false: not to upgrade
*/
@JvmName("uifmgkkndivqrpke")
public suspend fun upgradeDbInstanceKernelVersion(`value`: Output) {
this.upgradeDbInstanceKernelVersion = value
}
/**
* @param value The method to update the minor engine version. Default value: Immediate. It is valid only when `upgrade_db_instance_kernel_version = true`. Valid values:
* - Immediate: The minor engine version is immediately updated.
* - MaintainTime: The minor engine version is updated during the maintenance window. For more information about how to change the maintenance window, see ModifyDBInstanceMaintainTime.
* - SpecifyTime: The minor engine version is updated at the point in time you specify.
*/
@JvmName("iwqpqnbhwfrsygcv")
public suspend fun upgradeTime(`value`: Output) {
this.upgradeTime = value
}
/**
* @param value The VPC ID of the instance.
* > **NOTE:** This parameter applies only to ApsaraDB RDS for MySQL instances. For more information about Upgrade the major engine version of an ApsaraDB RDS for MySQL instance, see [Upgrade the major engine version of an RDS instance in the ApsaraDB RDS console](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/upgrade-the-major-engine-version-of-an-apsaradb-rds-for-mysql-instance-1).
*/
@JvmName("gxlaoyntkkehhiyj")
public suspend fun vpcId(`value`: Output) {
this.vpcId = value
}
/**
* @param value The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
*/
@JvmName("ayfjnsuyjuymxuva")
public suspend fun vswitchId(`value`: Output) {
this.vswitchId = value
}
/**
* @param value The network type of the IP address whitelist. Default value: MIX. Valid values:
* - Classic: classic network in enhanced whitelist mode
* - VPC: virtual private cloud (VPC) in enhanced whitelist mode
* - MIX: standard whitelist mode
* > **NOTE:** In standard whitelist mode, IP addresses and CIDR blocks can be added only to the default IP address whitelist. In enhanced whitelist mode, IP addresses and CIDR blocks can be added to both IP address whitelists of the classic network type and those of the VPC network type.
*/
@JvmName("ifpsumxqwlfhcbof")
public suspend fun whitelistNetworkType(`value`: Output) {
this.whitelistNetworkType = value
}
/**
* @param value The Zone to launch the DB instance. It supports multiple zone.
* If it is a multi-zone and `vswitch_id` is specified, the vswitch must in the one of them.
* The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `alicloud.getZones`.
*/
@JvmName("elrrgyeivdtcgwfc")
public suspend fun zoneId(`value`: Output) {
this.zoneId = value
}
/**
* @param value The method that is used to verify the identities of clients. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
*/
@JvmName("rnetvaqdhoyhleem")
public suspend fun acl(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.acl = mapped
}
/**
* @param value Whether to renewal a DB instance automatically or not. It is valid when payment_type is `Subscription`. Default to `false`.
*/
@JvmName("waottayrgpvcjsdy")
public suspend fun autoRenew(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.autoRenew = mapped
}
/**
* @param value Auto-renewal period of an instance, in the unit of the month. It is valid when payment_type is `Subscription`. Valid value:[1~12], Default to 1.
*/
@JvmName("fehpembsigkdudnu")
public suspend fun autoRenewPeriod(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.autoRenewPeriod = mapped
}
/**
* @param value The upgrade method to use. Valid values:
* - Auto: Instances are automatically upgraded to a higher minor version.
* - Manual: Instances are forcibly upgraded to a higher minor version when the current version is unpublished.
* See more [details and limitation](https://www.alibabacloud.com/help/doc-detail/123605.htm).
*/
@JvmName("ktofkihcpfsmqxvj")
public suspend fun autoUpgradeMinorVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.autoUpgradeMinorVersion = mapped
}
/**
* @param value The ID of the backup set that is used for the restoration. You can call the DescribeCrossRegionBackups operation to query the ID of the backup set.
*/
@JvmName("nlmjdilbqeonybxj")
public suspend fun backupSetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.backupSetId = mapped
}
/**
* @param value The type of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the SSLEnabled parameter to 1, the default value of this parameter is aliyun. Value range:
* - aliyun: a cloud certificate
* - custom: a custom certificate
*/
@JvmName("frephejvosdhcpch")
public suspend fun caType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.caType = mapped
}
/**
* @param value The public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCAEbabled parameter to 1, you must also specify this parameter.
*/
@JvmName("gufbbnrbmyhnsyvj")
public suspend fun clientCaCert(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientCaCert = mapped
}
/**
* @param value Specifies whether to enable the public key of the CA that issues client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. Valid values:
* - 1: enables the public key
* - 0: disables the public key
*/
@JvmName("xavnhywhvalggfir")
public suspend fun clientCaEnabled(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientCaEnabled = mapped
}
/**
* @param value The CRL that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the ClientCrlEnabled parameter to 1, you must also specify this parameter.
*/
@JvmName("qpgvlnndytljbgrj")
public suspend fun clientCertRevocationList(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientCertRevocationList = mapped
}
/**
* @param value Specifies whether to enable a certificate revocation list (CRL) that contains revoked client certificates. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - 1: enables the CRL
* - 0: disables the CRL
*/
@JvmName("bplshsmakiuqplcd")
public suspend fun clientCrlEnabled(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.clientCrlEnabled = mapped
}
/**
* @param value The private connection string prefix. If you want to update public connection string prefix, please use resource alicloud.rds.Connection connection_prefix.
* > **NOTE:** The prefix must be 8 to 64 characters in length and can contain letters, digits, and hyphens (-). It cannot contain Chinese characters and special characters ~!#%^&*=+\|{};:'",<>/?
*/
@JvmName("irvdcsxsocalwwkj")
public suspend fun connectionStringPrefix(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.connectionStringPrefix = mapped
}
/**
* @param value The attribute of the IP address whitelist. By default, this parameter is empty.
* > **NOTE:** The IP address whitelists that have the hidden attribute are not displayed in the ApsaraDB RDS console. These IP address whitelists are used to access Alibaba Cloud services, such as Data Transmission Service (DTS).
*/
@JvmName("reiiopmykryahyje")
public suspend fun dbInstanceIpArrayAttribute(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dbInstanceIpArrayAttribute = mapped
}
/**
* @param value The name of the IP address whitelist. Default value: Default.
* > **NOTE:** A maximum of 200 IP address whitelists can be configured for each instance.
*/
@JvmName("pltfeiwgdkswxetl")
public suspend fun dbInstanceIpArrayName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dbInstanceIpArrayName = mapped
}
/**
* @param value The storage type of the instance. Valid values:
* - local_ssd: specifies to use local SSDs. This value is recommended.
* - cloud_ssd: specifies to use standard SSDs.
* - cloud_essd: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd2: specifies to use enhanced SSDs (ESSDs).
* - cloud_essd3: specifies to use enhanced SSDs (ESSDs).
* > **NOTE:** You can specify the time zone when you create a primary instance. You cannot specify the time zone when you create a read-only instance. Read-only instances inherit the time zone of their primary instance. If you do not specify this parameter, the system assigns the default time zone of the region where the instance resides.
*/
@JvmName("puwokrtatcbnysce")
public suspend fun dbInstanceStorageType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dbInstanceStorageType = mapped
}
/**
* @param value The switch of delete protection. Valid values:
* - true: delete protect.
* - false: no delete protect.
* > **NOTE:** `deletion_protection` is valid only when attribute `payment_type` is set to `PayAsYouGo`, supported engine type: **MySQL**, **PostgreSQL**, **MariaDB**, **MSSQL**.
*/
@JvmName("yodsewquxdtedvsr")
public suspend fun deletionProtection(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.deletionProtection = mapped
}
/**
* @param value The method to update the engine version and change. Default value: Immediate. Valid values:
* - Immediate: The change immediately takes effect.
* - MaintainTime: The change takes effect during the specified maintenance window. For more information, see ModifyDBInstanceMaintainTime.
*/
@JvmName("yuqvemjualbfyrfp")
public suspend fun effectiveTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.effectiveTime = mapped
}
/**
* @param value The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL and SQLServer.
*/
@JvmName("hijtgjpgnudvuqhm")
public suspend fun encryptionKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.encryptionKey = mapped
}
/**
* @param value Database type. Value options: MySQL, SQLServer.
* > **NOTE:** When the 'EngineVersion' changes, it can be used as the target database version for the large version upgrade of RDS for MySQL instance.
*/
@JvmName("efcacvqbmjedbmut")
public suspend fun engine(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.engine = mapped
}
/**
* @param value Database version. Value options can refer to the latest docs [CreateDdrInstance](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/restore-data-to-a-new-instance-across-regions) `EngineVersion`.
*/
@JvmName("tekgfmklgfmyjcdi")
public suspend fun engineVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.engineVersion = mapped
}
/**
* @param value Set it to true to make some parameter efficient when modifying them. Default to false.
*/
@JvmName("iqovhtyxkfmjsrdc")
public suspend fun forceRestart(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.forceRestart = mapped
}
/**
* @param value The read-only instances to which you want to synchronize the IP address whitelist.
* * If the instance is attached with a read-only instance, you can use this parameter to synchronize the IP address whitelist to the read-only instance. If the instance is attached with multiple read-only instances, the read-only instances must be separated by commas (,).
* * If the instance is not attached with a read-only instance, this parameter is empty.
*/
@JvmName("vwsguewujdhdrcqb")
public suspend fun freshWhiteListReadins(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.freshWhiteListReadins = mapped
}
/**
* @param value The primary/secondary switchover mode of the instance. Default value: Auto. Valid values:
* - Auto: The system automatically switches over services from the primary to secondary instances in the event of a fault.
* - Manual: You must manually switch over services from the primary to secondary instances in the event of a fault.
* > **NOTE:** If you set this parameter to Manual, you must specify the ManualHATime parameter.
*/
@JvmName("dvxfquukilbkfxno")
public suspend fun haConfig(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.haConfig = mapped
}
/**
* @param value The name of DB instance. It a string of 2 to 256 characters.
*/
@JvmName("lcyvkxpuyveemfna")
public suspend fun instanceName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceName = mapped
}
/**
* @param value The storage capacity of the destination instance. Valid values: 5 to 2000. Unit: GB.
* This value must be a multiple of 5 GB. For more information, see Primary ApsaraDB RDS instance types.
*/
@JvmName("aywvvvfbvprfqjkl")
public suspend fun instanceStorage(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceStorage = mapped
}
/**
* @param value DB Instance type.
* > **NOTE:** When `storage_auto_scale="Enable"`, do not perform `instance_storage` check. when `storage_auto_scale="Disable"`, if the instance itself `instance_storage`has changed. You need to manually revise the `instance_storage` in the template value.
*/
@JvmName("ikyhryiprtvsnqua")
public suspend fun instanceType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.instanceType = mapped
}
/**
* @param value Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
*/
@JvmName("gldnhsfndtowjxcp")
public suspend fun maintainTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.maintainTime = mapped
}
/**
* @param value The time after when you want to enable automatic primary/secondary switchover. At most, you can set this parameter to 23:59:59 seven days later. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
* > **NOTE:** This parameter only takes effect when the HAConfig parameter is set to Manual.
*/
@JvmName("rkudmpcvreyuqnlw")
public suspend fun manualHaTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.manualHaTime = mapped
}
/**
* @param value The method that is used to modify the IP address whitelist. Default value: Cover. Valid values:
* - Cover: Use the value of the SecurityIps parameter to overwrite the existing entries in the IP address whitelist.
* - Append: Add the IP addresses and CIDR blocks that are specified in the SecurityIps parameter to the IP address whitelist.
* - Delete: Delete IP addresses and CIDR blocks that are specified in the SecurityIps parameter from the IP address whitelist. You must retain at least one IP address or CIDR block.
*/
@JvmName("ixouciexplqvaipu")
public suspend fun modifyMode(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.modifyMode = mapped
}
/**
* @param value The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
*/
@JvmName("tfypfnwyemrsyhqh")
public suspend fun monitoringPeriod(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.monitoringPeriod = mapped
}
/**
* @param value Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("jqgrfxuvbetfdpcx")
public suspend fun parameters(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param argument Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("uijlxkbsccheosce")
public suspend fun parameters(argument: List Unit>) {
val toBeMapped = argument.toList().map {
DdrInstanceParameterArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.parameters = mapped
}
/**
* @param argument Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("mrmkcjpunxofwjmh")
public suspend fun parameters(vararg argument: suspend DdrInstanceParameterArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
DdrInstanceParameterArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.parameters = mapped
}
/**
* @param argument Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("qpfjvcabsgxdjelu")
public suspend fun parameters(argument: suspend DdrInstanceParameterArgsBuilder.() -> Unit) {
val toBeMapped = listOf(DdrInstanceParameterArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.parameters = mapped
}
/**
* @param values Set of parameters needs to be set after DB instance was launched. Available parameters can refer to the latest docs [View database parameter templates](https://www.alibabacloud.com/help/doc-detail/26284.htm) . See `parameters` below.
*/
@JvmName("ddjrmyxwgguvcqfk")
public suspend fun parameters(vararg values: DdrInstanceParameterArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.parameters = mapped
}
/**
* @param value Valid values are `Subscription`, `PayAsYouGo`, Default to `PayAsYouGo`.
*/
@JvmName("ndiyhmdemvmjkyyb")
public suspend fun paymentType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.paymentType = mapped
}
/**
* @param value The duration that you will buy DB instance (in month). It is valid when payment_type is `Subscription`. Valid values: [1~9], 12, 24, 36.
* > **NOTE:** The attribute `period` is only used to create Subscription instance or modify the PayAsYouGo instance to Subscription. Once effect, it will not be modified that means running `pulumi up` will not effect the resource.
*/
@JvmName("dvqxfjttthkiobss")
public suspend fun period(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.period = mapped
}
/**
* @param value The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("qqgmsfakonllonum")
public suspend fun pgHbaConfs(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.pgHbaConfs = mapped
}
/**
* @param argument The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("tpxdeqbhomwiybxm")
public suspend fun pgHbaConfs(argument: List Unit>) {
val toBeMapped = argument.toList().map {
DdrInstancePgHbaConfArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.pgHbaConfs = mapped
}
/**
* @param argument The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("avxnxaneudatiobe")
public suspend fun pgHbaConfs(vararg argument: suspend DdrInstancePgHbaConfArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
DdrInstancePgHbaConfArgsBuilder().applySuspend {
it()
}.build()
}
val mapped = of(toBeMapped)
this.pgHbaConfs = mapped
}
/**
* @param argument The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("bifokvvkttcfctes")
public suspend fun pgHbaConfs(argument: suspend DdrInstancePgHbaConfArgsBuilder.() -> Unit) {
val toBeMapped = listOf(DdrInstancePgHbaConfArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.pgHbaConfs = mapped
}
/**
* @param values The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
*/
@JvmName("gyutqxsqbxccfswf")
public suspend fun pgHbaConfs(vararg values: DdrInstancePgHbaConfArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pgHbaConfs = mapped
}
/**
* @param value The private port of the database service. If you want to update public port, please use resource alicloud.rds.Connection port.
*/
@JvmName("iystiqvdkpikmrut")
public suspend fun port(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.port = mapped
}
/**
* @param value The private IP address of the instance. The private IP address must be within the Classless Inter-Domain Routing (CIDR) block of the vSwitch that is specified by the VSwitchId parameter.
*/
@JvmName("wpjmabcisebmqeib")
public suspend fun privateIpAddress(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.privateIpAddress = mapped
}
/**
* @param value The policy based on which ApsaraDB RDS retains archived backup files after the instance is released. Valid values:
* - None: No archived backup files are retained.
* - Lastest: Only the last archived backup file is retained.
* - All: All the archived backup files are retained.
* > **NOTE:** This parameter is supported only when the instance runs the MySQL database engine.
*/
@JvmName("ikxtcauouifdffal")
public suspend fun releasedKeepPolicy(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.releasedKeepPolicy = mapped
}
/**
* @param value The method that is used to verify the replication permission. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. In addition, this parameter is available only when the public key of the CA that issues client certificates is enabled. Valid values:
* - cert
* - perfer
* - verify-ca
* - verify-full (supported only when the instance runs PostgreSQL 12 or later)
*/
@JvmName("pfsbttvnlmkotrfw")
public suspend fun replicationAcl(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.replicationAcl = mapped
}
/**
* @param value The ID of resource group which the DB instance belongs.
*/
@JvmName("mvfuivgwnmthjthh")
public suspend fun resourceGroupId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.resourceGroupId = mapped
}
/**
* @param value The point in time to which you want to restore data. The point in time that you specify must be earlier than the current time. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. The time must be in UTC.
*/
@JvmName("qemgvopowibqnlqc")
public suspend fun restoreTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.restoreTime = mapped
}
/**
* @param value The method that is used to restore data. Valid values:
* - BackupSet: Data is restored from a backup set. If you use this value, you must also specify the BackupSetID parameter.
* - BackupTime: restores data to a point in time. You must also specify the RestoreTime, SourceRegion, and SourceDBInstanceName parameters.
*/
@JvmName("rumlowsuujynufam")
public suspend fun restoreType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.restoreType = mapped
}
/**
* @param value ) The list IDs to join ECS Security Group. At most supports three security groups.
*/
@JvmName("kmbxbgqbcookotis")
public suspend fun securityGroupIds(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityGroupIds = mapped
}
/**
* @param values ) The list IDs to join ECS Security Group. At most supports three security groups.
*/
@JvmName("wmvvdlcqltsxhhoe")
public suspend fun securityGroupIds(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.securityGroupIds = mapped
}
/**
* @param value Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode.
*/
@JvmName("obtlcsqpncykikdu")
public suspend fun securityIpMode(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityIpMode = mapped
}
/**
* @param value The type of IP address in the IP address whitelist.
*/
@JvmName("yrapcnpwvjkyidwr")
public suspend fun securityIpType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityIpType = mapped
}
/**
* @param value List of IP addresses allowed to access all databases of an instance. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
*/
@JvmName("sourishtucnfhgjb")
public suspend fun securityIps(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.securityIps = mapped
}
/**
* @param values List of IP addresses allowed to access all databases of an instance. The list contains up to 1,000 IP addresses, separated by commas. Supported formats include 0.0.0.0/0, 10.23.12.24 (IP), and 10.23.12.24/24 (Classless Inter-Domain Routing (CIDR) mode. /24 represents the length of the prefix in an IP address. The range of the prefix length is [1,32]).
*/
@JvmName("geuxqwrosiaxfgaf")
public suspend fun securityIps(vararg values: String) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.securityIps = mapped
}
/**
* @param value The content of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
*/
@JvmName("bmjmmjntgrrjhhvg")
public suspend fun serverCert(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serverCert = mapped
}
/**
* @param value The private key of the server certificate. This parameter is supported only when the instance runs PostgreSQL with standard or enhanced SSDs. If you set the CAType parameter to custom, you must also specify this parameter.
*/
@JvmName("cdrkrxnqvddxkdml")
public suspend fun serverKey(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.serverKey = mapped
}
/**
* @param value The ID of the source instance if you want to restore data to a point in time.
*/
@JvmName("kmnpdqnlwessqpcw")
public suspend fun sourceDbInstanceName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceDbInstanceName = mapped
}
/**
* @param value The region ID of the source instance if you want to restore data to a point in time.
*/
@JvmName("rlvipjnywbkeavly")
public suspend fun sourceRegion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sourceRegion = mapped
}
/**
* @param value The sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
*/
@JvmName("yeppdnchaeouphtn")
public suspend fun sqlCollectorConfigValue(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sqlCollectorConfigValue = mapped
}
/**
* @param value The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
*/
@JvmName("lrjdrbbjjfbbfrow")
public suspend fun sqlCollectorStatus(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sqlCollectorStatus = mapped
}
/**
* @param value Actions performed on SSL functions, Valid values: `Open`: turn on SSL encryption; `Close`: turn off SSL encryption; `Update`: update SSL certificate. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26254.htm).
*/
@JvmName("ynibpbkvgxlxabsp")
public suspend fun sslAction(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sslAction = mapped
}
/**
* @param value Automatic storage space expansion switch. Valid values:
* - Enable
* - Disable
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable.
*/
@JvmName("tmynwjgfcbeqdghp")
public suspend fun storageAutoScale(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageAutoScale = mapped
}
/**
* @param value The trigger threshold (percentage) for automatic storage space expansion. Valid values:
* - 10
* - 20
* - 30
* - 40
* - 50
* > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable. The value must be greater than or equal to the total size of the current storage space of the instance.
*/
@JvmName("slivxpbaeuauaqat")
public suspend fun storageThreshold(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageThreshold = mapped
}
/**
* @param value The upper limit of the total storage space for automatic expansion of the storage space, that is, automatic expansion will not cause the total storage space of the instance to exceed this value. Unit: GB. The value must be ≥0.
* > **NOTE:** Because of data backup and migration, change DB instance type and storage would cost 15~20 minutes. Please make full preparation before changing them.
*/
@JvmName("lessccyotqsifmjj")
public suspend fun storageUpperBound(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.storageUpperBound = mapped
}
/**
* @param value The specific point in time when you want to perform the update. Specify the time in the ISO 8601 standard in the yyyy-MM-ddTHH:mm:ssZ format. It is valid only when `upgrade_db_instance_kernel_version = true`. The time must be in UTC.
* > **NOTE:** This parameter takes effect only when you set the UpgradeTime parameter to SpecifyTime.
*/
@JvmName("vpxpxcculhoayorl")
public suspend fun switchTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.switchTime = mapped
}
/**
* @param value A mapping of tags to assign to the resource.
* - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
* - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
*/
@JvmName("tiksliyjfsqtmpex")
public suspend fun tags(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param values A mapping of tags to assign to the resource.
* - Key: It can be up to 64 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It cannot be a null string.
* - Value: It can be up to 128 characters in length. It cannot begin with "aliyun", "acs:", "http://", or "https://". It can be a null string.
*/
@JvmName("jraocpylgbrsrmqc")
public fun tags(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.tags = mapped
}
/**
* @param value The minor engine version to which you want to update the instance. If you do not specify this parameter, the instance is updated to the latest minor engine version. It is valid only when `upgrade_db_instance_kernel_version = true`. You must specify the minor engine version in one of the following formats:
* - PostgreSQL: rds_postgres_00_. Example: rds_postgres_1200_20200830.
* - MySQL: _. Examples: rds_20200229, xcluster_20200229, and xcluster80_20200229. The following RDS editions are supported:
* - rds: The instance runs RDS Basic or High-availability Edition.
* - xcluster: The instance runs MySQL 5.7 on RDS Enterprise Edition.
* - xcluster80: The instance runs MySQL 8.0 on RDS Enterprise Edition.
* - SQLServer: . Example: 15.0.4073.23.
* > **NOTE:** For more information about minor engine versions, see Release notes of minor AliPG versions, Release notes of minor AliSQL versions, and Release notes of minor engine versions of ApsaraDB RDS for SQL Server.
*/
@JvmName("vnxpmwaeobkegrvd")
public suspend fun targetMinorVersion(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.targetMinorVersion = mapped
}
/**
* @param value The availability check method of the instance. Valid values:
* - **SHORT**: Alibaba Cloud uses short-lived connections to check the availability of the instance.
* - **LONG**: Alibaba Cloud uses persistent connections to check the availability of the instance.
*/
@JvmName("mcehsborwwxdyqdg")
public suspend fun tcpConnectionType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tcpConnectionType = mapped
}
/**
* @param value The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
*/
@JvmName("kjvfdworqoebmpto")
public suspend fun tdeStatus(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.tdeStatus = mapped
}
/**
* @param value Whether to upgrade a minor version of the kernel. Valid values:
* - true: upgrade
* - false: not to upgrade
*/
@JvmName("oxdngubpptdhfkyd")
public suspend fun upgradeDbInstanceKernelVersion(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.upgradeDbInstanceKernelVersion = mapped
}
/**
* @param value The method to update the minor engine version. Default value: Immediate. It is valid only when `upgrade_db_instance_kernel_version = true`. Valid values:
* - Immediate: The minor engine version is immediately updated.
* - MaintainTime: The minor engine version is updated during the maintenance window. For more information about how to change the maintenance window, see ModifyDBInstanceMaintainTime.
* - SpecifyTime: The minor engine version is updated at the point in time you specify.
*/
@JvmName("vexlkhmctsmyuims")
public suspend fun upgradeTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.upgradeTime = mapped
}
/**
* @param value The VPC ID of the instance.
* > **NOTE:** This parameter applies only to ApsaraDB RDS for MySQL instances. For more information about Upgrade the major engine version of an ApsaraDB RDS for MySQL instance, see [Upgrade the major engine version of an RDS instance in the ApsaraDB RDS console](https://www.alibabacloud.com/help/en/apsaradb-for-rds/latest/upgrade-the-major-engine-version-of-an-apsaradb-rds-for-mysql-instance-1).
*/
@JvmName("pskulehxlgdvpush")
public suspend fun vpcId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vpcId = mapped
}
/**
* @param value The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
*/
@JvmName("mbljujbomnmcopku")
public suspend fun vswitchId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.vswitchId = mapped
}
/**
* @param value The network type of the IP address whitelist. Default value: MIX. Valid values:
* - Classic: classic network in enhanced whitelist mode
* - VPC: virtual private cloud (VPC) in enhanced whitelist mode
* - MIX: standard whitelist mode
* > **NOTE:** In standard whitelist mode, IP addresses and CIDR blocks can be added only to the default IP address whitelist. In enhanced whitelist mode, IP addresses and CIDR blocks can be added to both IP address whitelists of the classic network type and those of the VPC network type.
*/
@JvmName("iskepkqrbmduqsvt")
public suspend fun whitelistNetworkType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.whitelistNetworkType = mapped
}
/**
* @param value The Zone to launch the DB instance. It supports multiple zone.
* If it is a multi-zone and `vswitch_id` is specified, the vswitch must in the one of them.
* The multiple zone ID can be retrieved by setting `multi` to "true" in the data source `alicloud.getZones`.
*/
@JvmName("oubpcjdhgbsdpqvo")
public suspend fun zoneId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.zoneId = mapped
}
internal fun build(): DdrInstanceArgs = DdrInstanceArgs(
acl = acl,
autoRenew = autoRenew,
autoRenewPeriod = autoRenewPeriod,
autoUpgradeMinorVersion = autoUpgradeMinorVersion,
backupSetId = backupSetId,
caType = caType,
clientCaCert = clientCaCert,
clientCaEnabled = clientCaEnabled,
clientCertRevocationList = clientCertRevocationList,
clientCrlEnabled = clientCrlEnabled,
connectionStringPrefix = connectionStringPrefix,
dbInstanceIpArrayAttribute = dbInstanceIpArrayAttribute,
dbInstanceIpArrayName = dbInstanceIpArrayName,
dbInstanceStorageType = dbInstanceStorageType,
deletionProtection = deletionProtection,
effectiveTime = effectiveTime,
encryptionKey = encryptionKey,
engine = engine,
engineVersion = engineVersion,
forceRestart = forceRestart,
freshWhiteListReadins = freshWhiteListReadins,
haConfig = haConfig,
instanceName = instanceName,
instanceStorage = instanceStorage,
instanceType = instanceType,
maintainTime = maintainTime,
manualHaTime = manualHaTime,
modifyMode = modifyMode,
monitoringPeriod = monitoringPeriod,
parameters = parameters,
paymentType = paymentType,
period = period,
pgHbaConfs = pgHbaConfs,
port = port,
privateIpAddress = privateIpAddress,
releasedKeepPolicy = releasedKeepPolicy,
replicationAcl = replicationAcl,
resourceGroupId = resourceGroupId,
restoreTime = restoreTime,
restoreType = restoreType,
securityGroupIds = securityGroupIds,
securityIpMode = securityIpMode,
securityIpType = securityIpType,
securityIps = securityIps,
serverCert = serverCert,
serverKey = serverKey,
sourceDbInstanceName = sourceDbInstanceName,
sourceRegion = sourceRegion,
sqlCollectorConfigValue = sqlCollectorConfigValue,
sqlCollectorStatus = sqlCollectorStatus,
sslAction = sslAction,
storageAutoScale = storageAutoScale,
storageThreshold = storageThreshold,
storageUpperBound = storageUpperBound,
switchTime = switchTime,
tags = tags,
targetMinorVersion = targetMinorVersion,
tcpConnectionType = tcpConnectionType,
tdeStatus = tdeStatus,
upgradeDbInstanceKernelVersion = upgradeDbInstanceKernelVersion,
upgradeTime = upgradeTime,
vpcId = vpcId,
vswitchId = vswitchId,
whitelistNetworkType = whitelistNetworkType,
zoneId = zoneId,
)
}