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

com.pulumi.alicloud.rds.DdrInstance Maven / Gradle / Ivy

There is a newer version: 3.63.0-alpha.1727424957
Show newest version
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***

package com.pulumi.alicloud.rds;

import com.pulumi.alicloud.Utilities;
import com.pulumi.alicloud.rds.DdrInstanceArgs;
import com.pulumi.alicloud.rds.inputs.DdrInstanceState;
import com.pulumi.alicloud.rds.outputs.DdrInstanceParameter;
import com.pulumi.alicloud.rds.outputs.DdrInstancePgHbaConf;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Export;
import com.pulumi.core.annotations.ResourceType;
import com.pulumi.core.internal.Codegen;
import java.lang.Boolean;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Map;
import java.util.Optional;
import javax.annotation.Nullable;

/**
 * ## Import
 * 
 * RDS ddr instance can be imported using the id, e.g.
 * 
 * ```sh
 * $ pulumi import alicloud:rds/ddrInstance:DdrInstance example rm-abc12345678
 * ```
 * 
 */
@ResourceType(type="alicloud:rds/ddrInstance:DdrInstance")
public class DdrInstance extends com.pulumi.resources.CustomResource {
    /**
     * 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)
     * 
     */
    @Export(name="acl", refs={String.class}, tree="[0]")
    private Output acl;

    /**
     * @return 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)
     * 
     */
    public Output acl() {
        return this.acl;
    }
    /**
     * Whether to renewal a DB instance automatically or not. It is valid when payment_type is `Subscription`. Default to `false`.
     * 
     */
    @Export(name="autoRenew", refs={Boolean.class}, tree="[0]")
    private Output autoRenew;

    /**
     * @return Whether to renewal a DB instance automatically or not. It is valid when payment_type is `Subscription`. Default to `false`.
     * 
     */
    public Output autoRenew() {
        return this.autoRenew;
    }
    /**
     * 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.
     * 
     */
    @Export(name="autoRenewPeriod", refs={Integer.class}, tree="[0]")
    private Output autoRenewPeriod;

    /**
     * @return 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.
     * 
     */
    public Output autoRenewPeriod() {
        return this.autoRenewPeriod;
    }
    /**
     * 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).
     * 
     */
    @Export(name="autoUpgradeMinorVersion", refs={String.class}, tree="[0]")
    private Output autoUpgradeMinorVersion;

    /**
     * @return 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).
     * 
     */
    public Output autoUpgradeMinorVersion() {
        return this.autoUpgradeMinorVersion;
    }
    /**
     * 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.
     * 
     */
    @Export(name="backupSetId", refs={String.class}, tree="[0]")
    private Output backupSetId;

    /**
     * @return 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.
     * 
     */
    public Output> backupSetId() {
        return Codegen.optional(this.backupSetId);
    }
    /**
     * 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
     * 
     */
    @Export(name="caType", refs={String.class}, tree="[0]")
    private Output caType;

    /**
     * @return 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
     * 
     */
    public Output caType() {
        return this.caType;
    }
    /**
     * The RDS edition of the instance.
     * 
     */
    @Export(name="category", refs={String.class}, tree="[0]")
    private Output category;

    /**
     * @return The RDS edition of the instance.
     * 
     */
    public Output category() {
        return this.category;
    }
    /**
     * 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.
     * 
     */
    @Export(name="clientCaCert", refs={String.class}, tree="[0]")
    private Output clientCaCert;

    /**
     * @return 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.
     * 
     */
    public Output> clientCaCert() {
        return Codegen.optional(this.clientCaCert);
    }
    /**
     * 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
     * 
     */
    @Export(name="clientCaEnabled", refs={Integer.class}, tree="[0]")
    private Output clientCaEnabled;

    /**
     * @return 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
     * 
     */
    public Output> clientCaEnabled() {
        return Codegen.optional(this.clientCaEnabled);
    }
    /**
     * 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.
     * 
     */
    @Export(name="clientCertRevocationList", refs={String.class}, tree="[0]")
    private Output clientCertRevocationList;

    /**
     * @return 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.
     * 
     */
    public Output> clientCertRevocationList() {
        return Codegen.optional(this.clientCertRevocationList);
    }
    /**
     * 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
     * 
     */
    @Export(name="clientCrlEnabled", refs={Integer.class}, tree="[0]")
    private Output clientCrlEnabled;

    /**
     * @return 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
     * 
     */
    public Output> clientCrlEnabled() {
        return Codegen.optional(this.clientCrlEnabled);
    }
    /**
     * RDS database connection string.
     * 
     */
    @Export(name="connectionString", refs={String.class}, tree="[0]")
    private Output connectionString;

    /**
     * @return RDS database connection string.
     * 
     */
    public Output connectionString() {
        return this.connectionString;
    }
    /**
     * 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 ~!#%^&*=+\|{};:'",<>/?
     * 
     */
    @Export(name="connectionStringPrefix", refs={String.class}, tree="[0]")
    private Output connectionStringPrefix;

    /**
     * @return 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 ~!#%^&*=+\|{};:'",<>/?
     * 
     */
    public Output connectionStringPrefix() {
        return this.connectionStringPrefix;
    }
    /**
     * 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).
     * 
     */
    @Export(name="dbInstanceIpArrayAttribute", refs={String.class}, tree="[0]")
    private Output dbInstanceIpArrayAttribute;

    /**
     * @return 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).
     * 
     */
    public Output> dbInstanceIpArrayAttribute() {
        return Codegen.optional(this.dbInstanceIpArrayAttribute);
    }
    /**
     * The name of the IP address whitelist. Default value: Default.
     * 
     * > **NOTE:** A maximum of 200 IP address whitelists can be configured for each instance.
     * 
     */
    @Export(name="dbInstanceIpArrayName", refs={String.class}, tree="[0]")
    private Output dbInstanceIpArrayName;

    /**
     * @return The name of the IP address whitelist. Default value: Default.
     * 
     * > **NOTE:** A maximum of 200 IP address whitelists can be configured for each instance.
     * 
     */
    public Output> dbInstanceIpArrayName() {
        return Codegen.optional(this.dbInstanceIpArrayName);
    }
    /**
     * 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.
     * 
     */
    @Export(name="dbInstanceStorageType", refs={String.class}, tree="[0]")
    private Output dbInstanceStorageType;

    /**
     * @return 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.
     * 
     */
    public Output dbInstanceStorageType() {
        return this.dbInstanceStorageType;
    }
    /**
     * 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**.
     * 
     */
    @Export(name="deletionProtection", refs={Boolean.class}, tree="[0]")
    private Output deletionProtection;

    /**
     * @return 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**.
     * 
     */
    public Output deletionProtection() {
        return this.deletionProtection;
    }
    /**
     * 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.
     * 
     */
    @Export(name="effectiveTime", refs={String.class}, tree="[0]")
    private Output effectiveTime;

    /**
     * @return 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.
     * 
     */
    public Output> effectiveTime() {
        return Codegen.optional(this.effectiveTime);
    }
    /**
     * The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL and SQLServer.
     * 
     */
    @Export(name="encryptionKey", refs={String.class}, tree="[0]")
    private Output encryptionKey;

    /**
     * @return The key id of the KMS. Used for encrypting a disk if not null. Only for PostgreSQL, MySQL and SQLServer.
     * 
     */
    public Output> encryptionKey() {
        return Codegen.optional(this.encryptionKey);
    }
    /**
     * 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.
     * 
     */
    @Export(name="engine", refs={String.class}, tree="[0]")
    private Output engine;

    /**
     * @return 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.
     * 
     */
    public Output engine() {
        return this.engine;
    }
    /**
     * 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`.
     * 
     */
    @Export(name="engineVersion", refs={String.class}, tree="[0]")
    private Output engineVersion;

    /**
     * @return 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`.
     * 
     */
    public Output engineVersion() {
        return this.engineVersion;
    }
    /**
     * Set it to true to make some parameter efficient when modifying them. Default to false.
     * 
     */
    @Export(name="forceRestart", refs={Boolean.class}, tree="[0]")
    private Output forceRestart;

    /**
     * @return Set it to true to make some parameter efficient when modifying them. Default to false.
     * 
     */
    public Output forceRestart() {
        return this.forceRestart;
    }
    /**
     * 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.
     * 
     */
    @Export(name="freshWhiteListReadins", refs={String.class}, tree="[0]")
    private Output freshWhiteListReadins;

    /**
     * @return 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.
     * 
     */
    public Output> freshWhiteListReadins() {
        return Codegen.optional(this.freshWhiteListReadins);
    }
    /**
     * 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.
     * 
     */
    @Export(name="haConfig", refs={String.class}, tree="[0]")
    private Output haConfig;

    /**
     * @return 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.
     * 
     */
    public Output haConfig() {
        return this.haConfig;
    }
    /**
     * The name of DB instance. It a string of 2 to 256 characters.
     * 
     */
    @Export(name="instanceName", refs={String.class}, tree="[0]")
    private Output instanceName;

    /**
     * @return The name of DB instance. It a string of 2 to 256 characters.
     * 
     */
    public Output> instanceName() {
        return Codegen.optional(this.instanceName);
    }
    /**
     * 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.
     * 
     */
    @Export(name="instanceStorage", refs={Integer.class}, tree="[0]")
    private Output instanceStorage;

    /**
     * @return 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.
     * 
     */
    public Output instanceStorage() {
        return this.instanceStorage;
    }
    /**
     * 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.
     * 
     */
    @Export(name="instanceType", refs={String.class}, tree="[0]")
    private Output instanceType;

    /**
     * @return 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.
     * 
     */
    public Output instanceType() {
        return this.instanceType;
    }
    /**
     * Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
     * 
     */
    @Export(name="maintainTime", refs={String.class}, tree="[0]")
    private Output maintainTime;

    /**
     * @return Maintainable time period format of the instance: HH:MMZ-HH:MMZ (UTC time)
     * 
     */
    public Output maintainTime() {
        return this.maintainTime;
    }
    /**
     * 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.
     * 
     */
    @Export(name="manualHaTime", refs={String.class}, tree="[0]")
    private Output manualHaTime;

    /**
     * @return 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.
     * 
     */
    public Output> manualHaTime() {
        return Codegen.optional(this.manualHaTime);
    }
    /**
     * 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.
     * 
     */
    @Export(name="modifyMode", refs={String.class}, tree="[0]")
    private Output modifyMode;

    /**
     * @return 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.
     * 
     */
    public Output> modifyMode() {
        return Codegen.optional(this.modifyMode);
    }
    /**
     * The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
     * 
     */
    @Export(name="monitoringPeriod", refs={Integer.class}, tree="[0]")
    private Output monitoringPeriod;

    /**
     * @return The monitoring frequency in seconds. Valid values are 5, 60, 300. Defaults to 300.
     * 
     */
    public Output monitoringPeriod() {
        return this.monitoringPeriod;
    }
    /**
     * 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.
     * 
     */
    @Export(name="parameters", refs={List.class,DdrInstanceParameter.class}, tree="[0,1]")
    private Output> parameters;

    /**
     * @return 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.
     * 
     */
    public Output> parameters() {
        return this.parameters;
    }
    /**
     * Valid values are `Subscription`, `PayAsYouGo`, Default to `PayAsYouGo`.
     * 
     */
    @Export(name="paymentType", refs={String.class}, tree="[0]")
    private Output paymentType;

    /**
     * @return Valid values are `Subscription`, `PayAsYouGo`, Default to `PayAsYouGo`.
     * 
     */
    public Output paymentType() {
        return this.paymentType;
    }
    /**
     * 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.
     * 
     */
    @Export(name="period", refs={Integer.class}, tree="[0]")
    private Output period;

    /**
     * @return 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.
     * 
     */
    public Output> period() {
        return Codegen.optional(this.period);
    }
    /**
     * The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
     * 
     */
    @Export(name="pgHbaConfs", refs={List.class,DdrInstancePgHbaConf.class}, tree="[0,1]")
    private Output> pgHbaConfs;

    /**
     * @return The configuration of [AD domain](https://www.alibabacloud.com/help/en/doc-detail/349288.htm) . See `pg_hba_conf` below.
     * 
     */
    public Output> pgHbaConfs() {
        return this.pgHbaConfs;
    }
    /**
     * The private port of the database service. If you want to update public port, please use resource alicloud.rds.Connection port.
     * 
     */
    @Export(name="port", refs={String.class}, tree="[0]")
    private Output port;

    /**
     * @return The private port of the database service. If you want to update public port, please use resource alicloud.rds.Connection port.
     * 
     */
    public Output port() {
        return this.port;
    }
    /**
     * 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.
     * 
     */
    @Export(name="privateIpAddress", refs={String.class}, tree="[0]")
    private Output privateIpAddress;

    /**
     * @return 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.
     * 
     */
    public Output privateIpAddress() {
        return this.privateIpAddress;
    }
    /**
     * 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.
     * 
     */
    @Export(name="releasedKeepPolicy", refs={String.class}, tree="[0]")
    private Output releasedKeepPolicy;

    /**
     * @return 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.
     * 
     */
    public Output> releasedKeepPolicy() {
        return Codegen.optional(this.releasedKeepPolicy);
    }
    /**
     * 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)
     * 
     */
    @Export(name="replicationAcl", refs={String.class}, tree="[0]")
    private Output replicationAcl;

    /**
     * @return 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)
     * 
     */
    public Output replicationAcl() {
        return this.replicationAcl;
    }
    /**
     * The ID of resource group which the DB instance belongs.
     * 
     */
    @Export(name="resourceGroupId", refs={String.class}, tree="[0]")
    private Output resourceGroupId;

    /**
     * @return The ID of resource group which the DB instance belongs.
     * 
     */
    public Output resourceGroupId() {
        return this.resourceGroupId;
    }
    /**
     * 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.
     * 
     */
    @Export(name="restoreTime", refs={String.class}, tree="[0]")
    private Output restoreTime;

    /**
     * @return 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.
     * 
     */
    public Output> restoreTime() {
        return Codegen.optional(this.restoreTime);
    }
    /**
     * 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.
     * 
     */
    @Export(name="restoreType", refs={String.class}, tree="[0]")
    private Output restoreType;

    /**
     * @return 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.
     * 
     */
    public Output restoreType() {
        return this.restoreType;
    }
    /**
     * ) The list IDs to join ECS Security Group. At most supports three security groups.
     * 
     */
    @Export(name="securityGroupIds", refs={List.class,String.class}, tree="[0,1]")
    private Output> securityGroupIds;

    /**
     * @return ) The list IDs to join ECS Security Group. At most supports three security groups.
     * 
     */
    public Output> securityGroupIds() {
        return this.securityGroupIds;
    }
    /**
     * Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode.
     * 
     */
    @Export(name="securityIpMode", refs={String.class}, tree="[0]")
    private Output securityIpMode;

    /**
     * @return Valid values are `normal`, `safety`, Default to `normal`. support `safety` switch to high security access mode.
     * 
     */
    public Output securityIpMode() {
        return this.securityIpMode;
    }
    /**
     * The type of IP address in the IP address whitelist.
     * 
     */
    @Export(name="securityIpType", refs={String.class}, tree="[0]")
    private Output securityIpType;

    /**
     * @return The type of IP address in the IP address whitelist.
     * 
     */
    public Output> securityIpType() {
        return Codegen.optional(this.securityIpType);
    }
    /**
     * 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]).
     * 
     */
    @Export(name="securityIps", refs={List.class,String.class}, tree="[0,1]")
    private Output> securityIps;

    /**
     * @return 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]).
     * 
     */
    public Output> securityIps() {
        return this.securityIps;
    }
    /**
     * 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.
     * 
     */
    @Export(name="serverCert", refs={String.class}, tree="[0]")
    private Output serverCert;

    /**
     * @return 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.
     * 
     */
    public Output serverCert() {
        return this.serverCert;
    }
    /**
     * 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.
     * 
     */
    @Export(name="serverKey", refs={String.class}, tree="[0]")
    private Output serverKey;

    /**
     * @return 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.
     * 
     */
    public Output serverKey() {
        return this.serverKey;
    }
    /**
     * The ID of the source instance if you want to restore data to a point in time.
     * 
     */
    @Export(name="sourceDbInstanceName", refs={String.class}, tree="[0]")
    private Output sourceDbInstanceName;

    /**
     * @return The ID of the source instance if you want to restore data to a point in time.
     * 
     */
    public Output> sourceDbInstanceName() {
        return Codegen.optional(this.sourceDbInstanceName);
    }
    /**
     * The region ID of the source instance if you want to restore data to a point in time.
     * 
     */
    @Export(name="sourceRegion", refs={String.class}, tree="[0]")
    private Output sourceRegion;

    /**
     * @return The region ID of the source instance if you want to restore data to a point in time.
     * 
     */
    public Output> sourceRegion() {
        return Codegen.optional(this.sourceRegion);
    }
    /**
     * The sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
     * 
     */
    @Export(name="sqlCollectorConfigValue", refs={Integer.class}, tree="[0]")
    private Output sqlCollectorConfigValue;

    /**
     * @return The sql collector keep time of the instance. Valid values are `30`, `180`, `365`, `1095`, `1825`, Default to `30`.
     * 
     */
    public Output sqlCollectorConfigValue() {
        return this.sqlCollectorConfigValue;
    }
    /**
     * The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
     * 
     */
    @Export(name="sqlCollectorStatus", refs={String.class}, tree="[0]")
    private Output sqlCollectorStatus;

    /**
     * @return The sql collector status of the instance. Valid values are `Enabled`, `Disabled`, Default to `Disabled`.
     * 
     */
    public Output sqlCollectorStatus() {
        return this.sqlCollectorStatus;
    }
    /**
     * 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).
     * 
     */
    @Export(name="sslAction", refs={String.class}, tree="[0]")
    private Output sslAction;

    /**
     * @return 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).
     * 
     */
    public Output sslAction() {
        return this.sslAction;
    }
    /**
     * Status of the SSL feature. `Yes`: SSL is turned on; `No`: SSL is turned off.
     * 
     */
    @Export(name="sslStatus", refs={String.class}, tree="[0]")
    private Output sslStatus;

    /**
     * @return Status of the SSL feature. `Yes`: SSL is turned on; `No`: SSL is turned off.
     * 
     */
    public Output sslStatus() {
        return this.sslStatus;
    }
    /**
     * Automatic storage space expansion switch. Valid values:
     * - Enable
     * - Disable
     * 
     * > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable.
     * 
     */
    @Export(name="storageAutoScale", refs={String.class}, tree="[0]")
    private Output storageAutoScale;

    /**
     * @return Automatic storage space expansion switch. Valid values:
     * - Enable
     * - Disable
     * 
     * > **NOTE:** This parameter only takes effect when the StorageAutoScale parameter is set to Enable.
     * 
     */
    public Output> storageAutoScale() {
        return Codegen.optional(this.storageAutoScale);
    }
    /**
     * 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.
     * 
     */
    @Export(name="storageThreshold", refs={Integer.class}, tree="[0]")
    private Output storageThreshold;

    /**
     * @return 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.
     * 
     */
    public Output> storageThreshold() {
        return Codegen.optional(this.storageThreshold);
    }
    /**
     * 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.
     * 
     */
    @Export(name="storageUpperBound", refs={Integer.class}, tree="[0]")
    private Output storageUpperBound;

    /**
     * @return 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.
     * 
     */
    public Output> storageUpperBound() {
        return Codegen.optional(this.storageUpperBound);
    }
    /**
     * 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.
     * 
     */
    @Export(name="switchTime", refs={String.class}, tree="[0]")
    private Output switchTime;

    /**
     * @return 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.
     * 
     */
    public Output> switchTime() {
        return Codegen.optional(this.switchTime);
    }
    /**
     * 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.
     * 
     */
    @Export(name="tags", refs={Map.class,String.class}, tree="[0,1,1]")
    private Output> tags;

    /**
     * @return 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.
     * 
     */
    public Output>> tags() {
        return Codegen.optional(this.tags);
    }
    /**
     * 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_<Major engine version>00_<Minor engine version>. Example: rds_postgres_1200_20200830.
     * - MySQL: <RDS edition>_<Minor engine version>. 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: <Minor engine version>. 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.
     * 
     */
    @Export(name="targetMinorVersion", refs={String.class}, tree="[0]")
    private Output targetMinorVersion;

    /**
     * @return 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_<Major engine version>00_<Minor engine version>. Example: rds_postgres_1200_20200830.
     * - MySQL: <RDS edition>_<Minor engine version>. 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: <Minor engine version>. 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.
     * 
     */
    public Output targetMinorVersion() {
        return this.targetMinorVersion;
    }
    /**
     * 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.
     * 
     */
    @Export(name="tcpConnectionType", refs={String.class}, tree="[0]")
    private Output tcpConnectionType;

    /**
     * @return 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.
     * 
     */
    public Output tcpConnectionType() {
        return this.tcpConnectionType;
    }
    /**
     * The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
     * 
     */
    @Export(name="tdeStatus", refs={String.class}, tree="[0]")
    private Output tdeStatus;

    /**
     * @return The TDE(Transparent Data Encryption) status. See more [engine and engineVersion limitation](https://www.alibabacloud.com/help/zh/doc-detail/26256.htm).
     * 
     */
    public Output> tdeStatus() {
        return Codegen.optional(this.tdeStatus);
    }
    /**
     * Whether to upgrade a minor version of the kernel. Valid values:
     * - true: upgrade
     * - false: not to upgrade
     * 
     */
    @Export(name="upgradeDbInstanceKernelVersion", refs={Boolean.class}, tree="[0]")
    private Output upgradeDbInstanceKernelVersion;

    /**
     * @return Whether to upgrade a minor version of the kernel. Valid values:
     * - true: upgrade
     * - false: not to upgrade
     * 
     */
    public Output> upgradeDbInstanceKernelVersion() {
        return Codegen.optional(this.upgradeDbInstanceKernelVersion);
    }
    /**
     * 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.
     * 
     */
    @Export(name="upgradeTime", refs={String.class}, tree="[0]")
    private Output upgradeTime;

    /**
     * @return 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.
     * 
     */
    public Output> upgradeTime() {
        return Codegen.optional(this.upgradeTime);
    }
    /**
     * 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).
     * 
     */
    @Export(name="vpcId", refs={String.class}, tree="[0]")
    private Output vpcId;

    /**
     * @return 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).
     * 
     */
    public Output vpcId() {
        return this.vpcId;
    }
    /**
     * The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
     * 
     */
    @Export(name="vswitchId", refs={String.class}, tree="[0]")
    private Output vswitchId;

    /**
     * @return The virtual switch ID to launch DB instances in one VPC. If there are multiple vswitches, separate them with commas.
     * 
     */
    public Output> vswitchId() {
        return Codegen.optional(this.vswitchId);
    }
    /**
     * 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.
     * 
     */
    @Export(name="whitelistNetworkType", refs={String.class}, tree="[0]")
    private Output whitelistNetworkType;

    /**
     * @return 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.
     * 
     */
    public Output> whitelistNetworkType() {
        return Codegen.optional(this.whitelistNetworkType);
    }
    /**
     * 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`.
     * 
     */
    @Export(name="zoneId", refs={String.class}, tree="[0]")
    private Output zoneId;

    /**
     * @return 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 Output zoneId() {
        return this.zoneId;
    }
    /**
     * The region ID of the secondary instance if you create a secondary instance.
     * 
     */
    @Export(name="zoneIdSlaveA", refs={String.class}, tree="[0]")
    private Output zoneIdSlaveA;

    /**
     * @return The region ID of the secondary instance if you create a secondary instance.
     * 
     */
    public Output zoneIdSlaveA() {
        return this.zoneIdSlaveA;
    }
    /**
     * The region ID of the log instance if you create a log instance.
     * 
     */
    @Export(name="zoneIdSlaveB", refs={String.class}, tree="[0]")
    private Output zoneIdSlaveB;

    /**
     * @return The region ID of the log instance if you create a log instance.
     * 
     */
    public Output zoneIdSlaveB() {
        return this.zoneIdSlaveB;
    }

    /**
     *
     * @param name The _unique_ name of the resulting resource.
     */
    public DdrInstance(java.lang.String name) {
        this(name, DdrInstanceArgs.Empty);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     */
    public DdrInstance(java.lang.String name, DdrInstanceArgs args) {
        this(name, args, null);
    }
    /**
     *
     * @param name The _unique_ name of the resulting resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param options A bag of options that control this resource's behavior.
     */
    public DdrInstance(java.lang.String name, DdrInstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("alicloud:rds/ddrInstance:DdrInstance", name, makeArgs(args, options), makeResourceOptions(options, Codegen.empty()), false);
    }

    private DdrInstance(java.lang.String name, Output id, @Nullable DdrInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        super("alicloud:rds/ddrInstance:DdrInstance", name, state, makeResourceOptions(options, id), false);
    }

    private static DdrInstanceArgs makeArgs(DdrInstanceArgs args, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        if (options != null && options.getUrn().isPresent()) {
            return null;
        }
        return args == null ? DdrInstanceArgs.Empty : args;
    }

    private static com.pulumi.resources.CustomResourceOptions makeResourceOptions(@Nullable com.pulumi.resources.CustomResourceOptions options, @Nullable Output id) {
        var defaultOptions = com.pulumi.resources.CustomResourceOptions.builder()
            .version(Utilities.getVersion())
            .build();
        return com.pulumi.resources.CustomResourceOptions.merge(defaultOptions, options, id);
    }

    /**
     * Get an existing Host resource's state with the given name, ID, and optional extra
     * properties used to qualify the lookup.
     *
     * @param name The _unique_ name of the resulting resource.
     * @param id The _unique_ provider ID of the resource to lookup.
     * @param state
     * @param options Optional settings to control the behavior of the CustomResource.
     */
    public static DdrInstance get(java.lang.String name, Output id, @Nullable DdrInstanceState state, @Nullable com.pulumi.resources.CustomResourceOptions options) {
        return new DdrInstance(name, id, state, options);
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy