import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Distributed Autonomous Database resource in Oracle Cloud Infrastructure Distributed Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/globally-distributed-database/latest/DistributedAutonomousDatabase
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/distributed_database
 *
 * Creates a Globally distributed autonomous database.
 *
 *   Patch operation to add, remove or update shards to the Globally distributed autonomous database topology. In single patch
 * operation, multiple shards can be either added, or removed or updated. Combination of inserts, update
 * and remove in single operation is not allowed.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testDistributedAutonomousDatabase = new oci.oci.DistributedDatabaseDistributedAutonomousDatabase("test_distributed_autonomous_database", {
 *     catalogDetails: [{
 *         adminPassword: distributedAutonomousDatabaseCatalogDetailsAdminPassword,
 *         cloudAutonomousVmClusterId: testCloudAutonomousVmCluster.id,
 *         computeCount: distributedAutonomousDatabaseCatalogDetailsComputeCount,
 *         dataStorageSizeInGbs: distributedAutonomousDatabaseCatalogDetailsDataStorageSizeInGbs,
 *         isAutoScalingEnabled: distributedAutonomousDatabaseCatalogDetailsIsAutoScalingEnabled === "true",
 *         source: distributedAutonomousDatabaseCatalogDetailsSource,
 *         kmsKeyId: testKey.id,
 *         kmsKeyVersionId: testKeyVersion.id,
 *         okvEndPointGroup: distributedAutonomousDatabaseCatalogDetailsOkvEndPointGroup,
 *         okvKeyStoreId: testKeyStore.id,
 *         peerCloudAutonomousVmClusterIds: distributedAutonomousDatabaseCatalogDetailsPeerCloudAutonomousVmClusterIds,
 *         peerDetails: [{
 *             cloudAutonomousVmClusterId: testCloudAutonomousVmCluster.id,
 *             fastStartFailOverLagLimitInSeconds: Number(distributedAutonomousDatabaseCatalogDetailsPeerDetailsFastStartFailOverLagLimitInSeconds),
 *             isAutomaticFailoverEnabled: distributedAutonomousDatabaseCatalogDetailsPeerDetailsIsAutomaticFailoverEnabled === "true",
 *             protectionMode: distributedAutonomousDatabaseCatalogDetailsPeerDetailsProtectionMode,
 *             standbyMaintenanceBufferInDays: Number(distributedAutonomousDatabaseCatalogDetailsPeerDetailsStandbyMaintenanceBufferInDays),
 *         }],
 *         vaultId: testVault.id,
 *     }],
 *     characterSet: distributedAutonomousDatabaseCharacterSet,
 *     compartmentId: compartmentId,
 *     databaseVersion: distributedAutonomousDatabaseDatabaseVersion,
 *     dbDeploymentType: distributedAutonomousDatabaseDbDeploymentType,
 *     dbWorkload: distributedAutonomousDatabaseDbWorkload,
 *     displayName: distributedAutonomousDatabaseDisplayName,
 *     distributedAutonomousDatabaseId: distributedAutonomousDatabaseDistributedAutonomousDatabaseId,
 *     listenerPort: Number(distributedAutonomousDatabaseListenerPort),
 *     ncharacterSet: distributedAutonomousDatabaseNcharacterSet,
 *     onsPortLocal: Number(distributedAutonomousDatabaseOnsPortLocal),
 *     onsPortRemote: Number(distributedAutonomousDatabaseOnsPortRemote),
 *     prefix: distributedAutonomousDatabasePrefix,
 *     privateEndpointIds: distributedAutonomousDatabasePrivateEndpointIds,
 *     shardDetails: [{
 *         adminPassword: distributedAutonomousDatabaseShardDetailsAdminPassword,
 *         cloudAutonomousVmClusterId: testCloudAutonomousVmCluster.id,
 *         computeCount: distributedAutonomousDatabaseShardDetailsComputeCount,
 *         dataStorageSizeInGbs: distributedAutonomousDatabaseShardDetailsDataStorageSizeInGbs,
 *         isAutoScalingEnabled: distributedAutonomousDatabaseShardDetailsIsAutoScalingEnabled === "true",
 *         source: distributedAutonomousDatabaseShardDetailsSource,
 *         kmsKeyId: testKey.id,
 *         kmsKeyVersionId: testKeyVersion.id,
 *         okvEndPointGroup: distributedAutonomousDatabaseShardDetailsOkvEndPointGroup,
 *         okvKeyStoreId: testKeyStore.id,
 *         peerCloudAutonomousVmClusterIds: distributedAutonomousDatabaseShardDetailsPeerCloudAutonomousVmClusterIds,
 *         peerDetails: [{
 *             cloudAutonomousVmClusterId: testCloudAutonomousVmCluster.id,
 *             fastStartFailOverLagLimitInSeconds: Number(distributedAutonomousDatabaseShardDetailsPeerDetailsFastStartFailOverLagLimitInSeconds),
 *             isAutomaticFailoverEnabled: distributedAutonomousDatabaseShardDetailsPeerDetailsIsAutomaticFailoverEnabled === "true",
 *             protectionMode: distributedAutonomousDatabaseShardDetailsPeerDetailsProtectionMode,
 *             standbyMaintenanceBufferInDays: Number(distributedAutonomousDatabaseShardDetailsPeerDetailsStandbyMaintenanceBufferInDays),
 *         }],
 *         shardSpace: distributedAutonomousDatabaseShardDetailsShardSpace,
 *         vaultId: testVault.id,
 *     }],
 *     shardingMethod: distributedAutonomousDatabaseShardingMethod,
 *     chunks: Number(distributedAutonomousDatabaseChunks),
 *     dbBackupConfig: {
 *         backupDestinationDetails: [{
 *             type: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsType,
 *             dbrsPolicyId: testPolicy.id,
 *             id: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsId,
 *             internetProxy: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsInternetProxy,
 *             isRemote: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsIsRemote === "true",
 *             remoteRegion: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsRemoteRegion,
 *             vpcPassword: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsVpcPassword,
 *             vpcUser: distributedAutonomousDatabaseDbBackupConfigBackupDestinationDetailsVpcUser,
 *         }],
 *         recoveryWindowInDays: Number(distributedAutonomousDatabaseDbBackupConfigRecoveryWindowInDays),
 *     },
 *     definedTags: {
 *         "foo-namespace.bar-key": "value",
 *     },
 *     freeformTags: {
 *         "bar-key": "value",
 *     },
 *     listenerPortTls: Number(distributedAutonomousDatabaseListenerPortTls),
 *     patchOperations: [{
 *         operation: distributedAutonomousDatabasePatchOperationsOperation,
 *         selection: distributedAutonomousDatabasePatchOperationsSelection,
 *         value: distributedAutonomousDatabasePatchOperationsValue,
 *     }],
 *     replicationFactor: Number(distributedAutonomousDatabaseReplicationFactor),
 *     replicationMethod: distributedAutonomousDatabaseReplicationMethod,
 *     replicationUnit: Number(distributedAutonomousDatabaseReplicationUnit),
 * });
 * ```
 *
 * ## Import
 *
 * DistributedAutonomousDatabases can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:oci/distributedDatabaseDistributedAutonomousDatabase:DistributedDatabaseDistributedAutonomousDatabase test_distributed_autonomous_database "id"
 * ```
 */
export declare class DistributedDatabaseDistributedAutonomousDatabase extends pulumi.CustomResource {
    /**
     * Get an existing DistributedDatabaseDistributedAutonomousDatabase 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 Any extra arguments used during the lookup.
     * @param opts Optional settings to control the behavior of the CustomResource.
     */
    static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DistributedDatabaseDistributedAutonomousDatabaseState, opts?: pulumi.CustomResourceOptions): DistributedDatabaseDistributedAutonomousDatabase;
    /**
     * Returns true if the given object is an instance of DistributedDatabaseDistributedAutonomousDatabase.  This is designed to work even
     * when multiple copies of the Pulumi SDK have been loaded into the same process.
     */
    static isInstance(obj: any): obj is DistributedDatabaseDistributedAutonomousDatabase;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CA bundle to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    readonly caBundleId: pulumi.Output<string | undefined>;
    /**
     * Collection of catalog for the Globally distributed autonomous database.
     */
    readonly catalogDetails: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseCatalogDetail[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cluster certificate to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    readonly certificateId: pulumi.Output<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value.
     */
    readonly changeDbBackupConfigTrigger: pulumi.Output<number | undefined>;
    /**
     * The character set for the database.
     */
    readonly characterSet: pulumi.Output<string>;
    /**
     * Number of chunks in a shardspace. The value of chunks must be greater than 2 times the size of the largest shardgroup in any shardspace. Chunks is required to be provided for distributed autonomous databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload.
     */
    readonly chunks: pulumi.Output<number>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed autonomous database compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Gsm Wallet. Could be set to any integer value.
     */
    readonly configureGsmWalletTrigger: pulumi.Output<number | undefined>;
    /**
     * (Updatable) Indicates whether shard chunks should be re-balanced as part of Configure Sharding.
     */
    readonly configureShardingIsRebalanceRequired: pulumi.Output<boolean | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value.
     */
    readonly configureShardingTrigger: pulumi.Output<number | undefined>;
    /**
     * Details of Globally distributed autonomous database connection String.
     */
    readonly connectionStrings: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseConnectionString[]>;
    /**
     * Oracle Database version for the shards and catalog used in Globally distributed autonomous database.
     */
    readonly databaseVersion: pulumi.Output<string>;
    /**
     * Backup options for the Distributed Autonomous Database.
     */
    readonly dbBackupConfig: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseDbBackupConfig>;
    /**
     * The distributed autonomous database deployment type.
     */
    readonly dbDeploymentType: pulumi.Output<string>;
    /**
     * Possible workload types. Currently only OLTP workload type is supported.
     */
    readonly dbWorkload: pulumi.Output<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) The display name of the Globally distributed autonomous database.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value.
     */
    readonly downloadGsmCertificateSigningRequestTrigger: pulumi.Output<number | undefined>;
    readonly downloadedGsmCsrPem: pulumi.Output<string>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Gsm Certificate Signing Request. Could be set to any integer value.
     */
    readonly generateGsmCertificateSigningRequestTrigger: pulumi.Output<number | undefined>;
    readonly generateGsmCertificateSigningRequestTriggerCaBundleId: pulumi.Output<string | undefined>;
    readonly generateWalletDownloadedWalletContentLength: pulumi.Output<number>;
    readonly generateWalletDownloadedWalletEtag: pulumi.Output<string>;
    readonly generateWalletDownloadedWalletLastModified: pulumi.Output<string>;
    readonly generateWalletDownloadedWalletZipBase64: pulumi.Output<string>;
    readonly generateWalletPassword: pulumi.Output<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value.
     */
    readonly generateWalletTrigger: pulumi.Output<number | undefined>;
    /**
     * Collection of catalogs associated with the Globally distributed autonomous database.
     */
    readonly gsmDetails: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseGsmDetail[]>;
    /**
     * The Global service manager image details.
     */
    readonly latestGsmImages: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseLatestGsmImage[]>;
    /**
     * The lifecycleDetails for the Globally distributed autonomous database.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * The listener port number for the Globally distributed autonomous database. The listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    readonly listenerPort: pulumi.Output<number>;
    /**
     * The TLS listener port number for Globally distributed autonomous database. The TLS listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database. The listenerPortTls is mandatory for dedicated infrastructure based distributed autonomous databases.
     */
    readonly listenerPortTls: pulumi.Output<number>;
    /**
     * Additional metadata related to Globally distributed autonomous database resources.
     */
    readonly metadatas: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseMetadata[]>;
    /**
     * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value.
     */
    readonly moveReplicationUnitTrigger: pulumi.Output<number | undefined>;
    /**
     * The national character set for the database.
     */
    readonly ncharacterSet: pulumi.Output<string>;
    /**
     * Ons local port number for Globally distributed autonomous database. The onsPortLocal has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    readonly onsPortLocal: pulumi.Output<number>;
    /**
     * Ons remote port number for Globally distributed autonomous database. The onsPortRemote has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    readonly onsPortRemote: pulumi.Output<number>;
    /**
     * (Updatable)
     */
    readonly patchOperations: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabasePatchOperation[] | undefined>;
    /**
     * Unique name prefix for the Globally distributed autonomous databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.
     */
    readonly prefix: pulumi.Output<string>;
    /**
     * The collection of [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint associated with Globally distributed autonomous database.
     */
    readonly privateEndpointIds: pulumi.Output<string[]>;
    /**
     * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value.
     */
    readonly recreateFailedResourceTrigger: pulumi.Output<number | undefined>;
    /**
     * The Replication factor for RAFT replication based Globally distributed autonomous database. Currently supported values are 3, 5 and 7.
     */
    readonly replicationFactor: pulumi.Output<number>;
    /**
     * The Replication method for Globally distributed autonomous database. Use RAFT for Raft based replication. With RAFT replication, shards cannot have peers details set on them. In case shards need to have peers, please do not set RAFT replicationMethod. For all non RAFT replication cases (with or without peers), please set replicationMethod as DG or do not set any value for replicationMethod.
     */
    readonly replicationMethod: pulumi.Output<string>;
    /**
     * The replication unit count for RAFT based distributed autonomous database. For RAFT replication based Globally distributed autonomous database, the value should be at least twice the number of shards.
     */
    readonly replicationUnit: pulumi.Output<number>;
    /**
     * Collection of shards for the Globally distributed autonomous database.
     */
    readonly shardDetails: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseShardDetail[]>;
    /**
     * Sharding Methods for the Globally distributed autonomous database.
     */
    readonly shardingMethod: pulumi.Output<string>;
    /**
     * Increment this value to trigger StartDistributedAutonomousDatabase action.
     */
    readonly startDatabaseTrigger: pulumi.Output<number | undefined>;
    /**
     * (Updatable) The target state for the Distributed Autonomous Database. Could be set to `ACTIVE` or `INACTIVE`.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Increment this value to trigger StopDistributedAutonomousDatabase action.
     */
    readonly stopDatabaseTrigger: pulumi.Output<number | undefined>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The time the Globally distributed autonomous database was created. An RFC3339 formatted datetime string
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The time the Globally distributed autonomous database was last updated. An RFC3339 formatted datetime string
     */
    readonly timeUpdated: pulumi.Output<string>;
    readonly uploadCaSignedCertificate: pulumi.Output<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value.
     */
    readonly uploadSignedCertificateAndGenerateWalletTrigger: pulumi.Output<number | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Ca Bundle. Could be set to any integer value.
     */
    readonly validateCaBundleTrigger: pulumi.Output<number | undefined>;
    readonly validateNetworkDetails: pulumi.Output<outputs.oci.DistributedDatabaseDistributedAutonomousDatabaseValidateNetworkDetails | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Network. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    readonly validateNetworkTrigger: pulumi.Output<number | undefined>;
    /**
     * Create a DistributedDatabaseDistributedAutonomousDatabase resource with the given unique name, arguments, and options.
     *
     * @param name The _unique_ name of the resource.
     * @param args The arguments to use to populate this resource's properties.
     * @param opts A bag of options that control this resource's behavior.
     */
    constructor(name: string, args: DistributedDatabaseDistributedAutonomousDatabaseArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering DistributedDatabaseDistributedAutonomousDatabase resources.
 */
export interface DistributedDatabaseDistributedAutonomousDatabaseState {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CA bundle to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    caBundleId?: pulumi.Input<string | undefined>;
    /**
     * Collection of catalog for the Globally distributed autonomous database.
     */
    catalogDetails?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseCatalogDetail>[] | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cluster certificate to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    certificateId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value.
     */
    changeDbBackupConfigTrigger?: pulumi.Input<number | undefined>;
    /**
     * The character set for the database.
     */
    characterSet?: pulumi.Input<string | undefined>;
    /**
     * Number of chunks in a shardspace. The value of chunks must be greater than 2 times the size of the largest shardgroup in any shardspace. Chunks is required to be provided for distributed autonomous databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload.
     */
    chunks?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed autonomous database compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Gsm Wallet. Could be set to any integer value.
     */
    configureGsmWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) Indicates whether shard chunks should be re-balanced as part of Configure Sharding.
     */
    configureShardingIsRebalanceRequired?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value.
     */
    configureShardingTrigger?: pulumi.Input<number | undefined>;
    /**
     * Details of Globally distributed autonomous database connection String.
     */
    connectionStrings?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseConnectionString>[] | undefined>;
    /**
     * Oracle Database version for the shards and catalog used in Globally distributed autonomous database.
     */
    databaseVersion?: pulumi.Input<string | undefined>;
    /**
     * Backup options for the Distributed Autonomous Database.
     */
    dbBackupConfig?: pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseDbBackupConfig | undefined>;
    /**
     * The distributed autonomous database deployment type.
     */
    dbDeploymentType?: pulumi.Input<string | undefined>;
    /**
     * Possible workload types. Currently only OLTP workload type is supported.
     */
    dbWorkload?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The display name of the Globally distributed autonomous database.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value.
     */
    downloadGsmCertificateSigningRequestTrigger?: pulumi.Input<number | undefined>;
    downloadedGsmCsrPem?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Gsm Certificate Signing Request. Could be set to any integer value.
     */
    generateGsmCertificateSigningRequestTrigger?: pulumi.Input<number | undefined>;
    generateGsmCertificateSigningRequestTriggerCaBundleId?: pulumi.Input<string | undefined>;
    generateWalletDownloadedWalletContentLength?: pulumi.Input<number | undefined>;
    generateWalletDownloadedWalletEtag?: pulumi.Input<string | undefined>;
    generateWalletDownloadedWalletLastModified?: pulumi.Input<string | undefined>;
    generateWalletDownloadedWalletZipBase64?: pulumi.Input<string | undefined>;
    generateWalletPassword?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value.
     */
    generateWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * Collection of catalogs associated with the Globally distributed autonomous database.
     */
    gsmDetails?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseGsmDetail>[] | undefined>;
    /**
     * The Global service manager image details.
     */
    latestGsmImages?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseLatestGsmImage>[] | undefined>;
    /**
     * The lifecycleDetails for the Globally distributed autonomous database.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * The listener port number for the Globally distributed autonomous database. The listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    listenerPort?: pulumi.Input<number | undefined>;
    /**
     * The TLS listener port number for Globally distributed autonomous database. The TLS listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database. The listenerPortTls is mandatory for dedicated infrastructure based distributed autonomous databases.
     */
    listenerPortTls?: pulumi.Input<number | undefined>;
    /**
     * Additional metadata related to Globally distributed autonomous database resources.
     */
    metadatas?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseMetadata>[] | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value.
     */
    moveReplicationUnitTrigger?: pulumi.Input<number | undefined>;
    /**
     * The national character set for the database.
     */
    ncharacterSet?: pulumi.Input<string | undefined>;
    /**
     * Ons local port number for Globally distributed autonomous database. The onsPortLocal has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    onsPortLocal?: pulumi.Input<number | undefined>;
    /**
     * Ons remote port number for Globally distributed autonomous database. The onsPortRemote has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    onsPortRemote?: pulumi.Input<number | undefined>;
    /**
     * (Updatable)
     */
    patchOperations?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabasePatchOperation>[] | undefined>;
    /**
     * Unique name prefix for the Globally distributed autonomous databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.
     */
    prefix?: pulumi.Input<string | undefined>;
    /**
     * The collection of [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint associated with Globally distributed autonomous database.
     */
    privateEndpointIds?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value.
     */
    recreateFailedResourceTrigger?: pulumi.Input<number | undefined>;
    /**
     * The Replication factor for RAFT replication based Globally distributed autonomous database. Currently supported values are 3, 5 and 7.
     */
    replicationFactor?: pulumi.Input<number | undefined>;
    /**
     * The Replication method for Globally distributed autonomous database. Use RAFT for Raft based replication. With RAFT replication, shards cannot have peers details set on them. In case shards need to have peers, please do not set RAFT replicationMethod. For all non RAFT replication cases (with or without peers), please set replicationMethod as DG or do not set any value for replicationMethod.
     */
    replicationMethod?: pulumi.Input<string | undefined>;
    /**
     * The replication unit count for RAFT based distributed autonomous database. For RAFT replication based Globally distributed autonomous database, the value should be at least twice the number of shards.
     */
    replicationUnit?: pulumi.Input<number | undefined>;
    /**
     * Collection of shards for the Globally distributed autonomous database.
     */
    shardDetails?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseShardDetail>[] | undefined>;
    /**
     * Sharding Methods for the Globally distributed autonomous database.
     */
    shardingMethod?: pulumi.Input<string | undefined>;
    /**
     * Increment this value to trigger StartDistributedAutonomousDatabase action.
     */
    startDatabaseTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The target state for the Distributed Autonomous Database. Could be set to `ACTIVE` or `INACTIVE`.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Increment this value to trigger StopDistributedAutonomousDatabase action.
     */
    stopDatabaseTrigger?: pulumi.Input<number | undefined>;
    /**
     * Usage of system tag keys. These predefined keys are scoped to namespaces. Example: `{"orcl-cloud.free-tier-retained": "true"}`
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The time the Globally distributed autonomous database was created. An RFC3339 formatted datetime string
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The time the Globally distributed autonomous database was last updated. An RFC3339 formatted datetime string
     */
    timeUpdated?: pulumi.Input<string | undefined>;
    uploadCaSignedCertificate?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value.
     */
    uploadSignedCertificateAndGenerateWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Ca Bundle. Could be set to any integer value.
     */
    validateCaBundleTrigger?: pulumi.Input<number | undefined>;
    validateNetworkDetails?: pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseValidateNetworkDetails | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Network. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    validateNetworkTrigger?: pulumi.Input<number | undefined>;
}
/**
 * The set of arguments for constructing a DistributedDatabaseDistributedAutonomousDatabase resource.
 */
export interface DistributedDatabaseDistributedAutonomousDatabaseArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CA bundle to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    caBundleId?: pulumi.Input<string | undefined>;
    /**
     * Collection of catalog for the Globally distributed autonomous database.
     */
    catalogDetails: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseCatalogDetail>[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the cluster certificate to pass to Configure Sharding. Required when `configureShardingTrigger` is incremented.
     */
    certificateId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value.
     */
    changeDbBackupConfigTrigger?: pulumi.Input<number | undefined>;
    /**
     * The character set for the database.
     */
    characterSet: pulumi.Input<string>;
    /**
     * Number of chunks in a shardspace. The value of chunks must be greater than 2 times the size of the largest shardgroup in any shardspace. Chunks is required to be provided for distributed autonomous databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload.
     */
    chunks?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed autonomous database compartment.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Gsm Wallet. Could be set to any integer value.
     */
    configureGsmWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) Indicates whether shard chunks should be re-balanced as part of Configure Sharding.
     */
    configureShardingIsRebalanceRequired?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value.
     */
    configureShardingTrigger?: pulumi.Input<number | undefined>;
    /**
     * Oracle Database version for the shards and catalog used in Globally distributed autonomous database.
     */
    databaseVersion: pulumi.Input<string>;
    /**
     * Backup options for the Distributed Autonomous Database.
     */
    dbBackupConfig?: pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseDbBackupConfig | undefined>;
    /**
     * The distributed autonomous database deployment type.
     */
    dbDeploymentType: pulumi.Input<string>;
    /**
     * Possible workload types. Currently only OLTP workload type is supported.
     */
    dbWorkload: pulumi.Input<string>;
    /**
     * (Updatable) Defined tags for this resource. Each key is predefined and scoped to a namespace. Example: `{"foo-namespace.bar-key": "value"}`
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) The display name of the Globally distributed autonomous database.
     */
    displayName: pulumi.Input<string>;
    /**
     * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value.
     */
    downloadGsmCertificateSigningRequestTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) Simple key-value pair that is applied without any predefined name, type or scope. Exists for cross-compatibility only. Example: `{"bar-key": "value"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Gsm Certificate Signing Request. Could be set to any integer value.
     */
    generateGsmCertificateSigningRequestTrigger?: pulumi.Input<number | undefined>;
    generateGsmCertificateSigningRequestTriggerCaBundleId?: pulumi.Input<string | undefined>;
    generateWalletPassword?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value.
     */
    generateWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * The listener port number for the Globally distributed autonomous database. The listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    listenerPort: pulumi.Input<number>;
    /**
     * The TLS listener port number for Globally distributed autonomous database. The TLS listener port number has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database. The listenerPortTls is mandatory for dedicated infrastructure based distributed autonomous databases.
     */
    listenerPortTls?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value.
     */
    moveReplicationUnitTrigger?: pulumi.Input<number | undefined>;
    /**
     * The national character set for the database.
     */
    ncharacterSet: pulumi.Input<string>;
    /**
     * Ons local port number for Globally distributed autonomous database. The onsPortLocal has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    onsPortLocal: pulumi.Input<number>;
    /**
     * Ons remote port number for Globally distributed autonomous database. The onsPortRemote has to be unique for a customer tenancy across all distributed autonomous databases. Same port number should not be re-used for any other distributed autonomous database.
     */
    onsPortRemote: pulumi.Input<number>;
    /**
     * (Updatable)
     */
    patchOperations?: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabasePatchOperation>[] | undefined>;
    /**
     * Unique name prefix for the Globally distributed autonomous databases. Only alpha-numeric values are allowed. First character has to be a letter followed by any combination of letter and number.
     */
    prefix: pulumi.Input<string>;
    /**
     * The collection of [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint associated with Globally distributed autonomous database.
     */
    privateEndpointIds: pulumi.Input<pulumi.Input<string>[]>;
    /**
     * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value.
     */
    recreateFailedResourceTrigger?: pulumi.Input<number | undefined>;
    /**
     * The Replication factor for RAFT replication based Globally distributed autonomous database. Currently supported values are 3, 5 and 7.
     */
    replicationFactor?: pulumi.Input<number | undefined>;
    /**
     * The Replication method for Globally distributed autonomous database. Use RAFT for Raft based replication. With RAFT replication, shards cannot have peers details set on them. In case shards need to have peers, please do not set RAFT replicationMethod. For all non RAFT replication cases (with or without peers), please set replicationMethod as DG or do not set any value for replicationMethod.
     */
    replicationMethod?: pulumi.Input<string | undefined>;
    /**
     * The replication unit count for RAFT based distributed autonomous database. For RAFT replication based Globally distributed autonomous database, the value should be at least twice the number of shards.
     */
    replicationUnit?: pulumi.Input<number | undefined>;
    /**
     * Collection of shards for the Globally distributed autonomous database.
     */
    shardDetails: pulumi.Input<pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseShardDetail>[]>;
    /**
     * Sharding Methods for the Globally distributed autonomous database.
     */
    shardingMethod: pulumi.Input<string>;
    /**
     * Increment this value to trigger StartDistributedAutonomousDatabase action.
     */
    startDatabaseTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The target state for the Distributed Autonomous Database. Could be set to `ACTIVE` or `INACTIVE`.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Increment this value to trigger StopDistributedAutonomousDatabase action.
     */
    stopDatabaseTrigger?: pulumi.Input<number | undefined>;
    uploadCaSignedCertificate?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value.
     */
    uploadSignedCertificateAndGenerateWalletTrigger?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Ca Bundle. Could be set to any integer value.
     */
    validateCaBundleTrigger?: pulumi.Input<number | undefined>;
    validateNetworkDetails?: pulumi.Input<inputs.oci.DistributedDatabaseDistributedAutonomousDatabaseValidateNetworkDetails | undefined>;
    /**
     * (Updatable) An optional property when incremented triggers Validate Network. Could be set to any integer value.
     *
     *
     * ** IMPORTANT **
     * Any change to a property that does not support update will force the destruction and recreation of the resource with the new property values
     */
    validateNetworkTrigger?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=distributedDatabaseDistributedAutonomousDatabase.d.ts.map