import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * This resource provides the Distributed 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/DistributedDatabase * * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/distributed_database * * Creates a Globally distributed database. * * Patch operation to add, remove or update shards to the Globally distributed 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. * For an EXADB_XS based distributed database, removing a shard with the parameter mustDeleteInfra set to true * will also delete the associated VmCluster and DbStorageVault. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as oci from "@pulumi/oci"; * * const testDistributedDatabase = new oci.oci.DistributedDatabaseDistributedDatabase("test_distributed_database", { * catalogDetails: [{ * adminPassword: distributedDatabaseCatalogDetailsAdminPassword, * source: distributedDatabaseCatalogDetailsSource, * availabilityDomain: distributedDatabaseCatalogDetailsAvailabilityDomain, * dbStorageVaultDetails: { * additionalFlashCacheInPercent: Number(distributedDatabaseCatalogDetailsDbStorageVaultDetailsAdditionalFlashCacheInPercent), * highCapacityDatabaseStorage: Number(distributedDatabaseCatalogDetailsDbStorageVaultDetailsHighCapacityDatabaseStorage), * }, * kmsKeyId: testKey.id, * kmsKeyVersionId: testKeyVersion.id, * peerDetails: [{ * availabilityDomain: distributedDatabaseCatalogDetailsPeerDetailsAvailabilityDomain, * dbStorageVaultDetails: { * additionalFlashCacheInPercent: Number(distributedDatabaseCatalogDetailsPeerDetailsDbStorageVaultDetailsAdditionalFlashCacheInPercent), * highCapacityDatabaseStorage: Number(distributedDatabaseCatalogDetailsPeerDetailsDbStorageVaultDetailsHighCapacityDatabaseStorage), * }, * protectionMode: distributedDatabaseCatalogDetailsPeerDetailsProtectionMode, * transportType: distributedDatabaseCatalogDetailsPeerDetailsTransportType, * vmClusterDetails: { * backupNetworkNsgIds: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsBackupNetworkNsgIds, * backupSubnetId: testSubnet.id, * domain: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsDomain, * enabledEcpuCount: Number(distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsEnabledEcpuCount), * isDiagnosticsEventsEnabled: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsIsDiagnosticsEventsEnabled === "true", * isHealthMonitoringEnabled: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsIsHealthMonitoringEnabled === "true", * isIncidentLogsEnabled: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsIsIncidentLogsEnabled === "true", * licenseModel: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsLicenseModel, * nsgIds: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsNsgIds, * privateZoneId: testZone.id, * sshPublicKeys: distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsSshPublicKeys, * subnetId: testSubnet.id, * totalEcpuCount: Number(distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsTotalEcpuCount), * vmFileSystemStorageSize: Number(distributedDatabaseCatalogDetailsPeerDetailsVmClusterDetailsVmFileSystemStorageSize), * }, * vmClusterId: testVmCluster.id, * }], * peerVmClusterIds: distributedDatabaseCatalogDetailsPeerVmClusterIds, * shardSpace: distributedDatabaseCatalogDetailsShardSpace, * vaultId: testVault.id, * vmClusterDetails: { * backupNetworkNsgIds: distributedDatabaseCatalogDetailsVmClusterDetailsBackupNetworkNsgIds, * backupSubnetId: testSubnet.id, * domain: distributedDatabaseCatalogDetailsVmClusterDetailsDomain, * enabledEcpuCount: Number(distributedDatabaseCatalogDetailsVmClusterDetailsEnabledEcpuCount), * isDiagnosticsEventsEnabled: distributedDatabaseCatalogDetailsVmClusterDetailsIsDiagnosticsEventsEnabled === "true", * isHealthMonitoringEnabled: distributedDatabaseCatalogDetailsVmClusterDetailsIsHealthMonitoringEnabled === "true", * isIncidentLogsEnabled: distributedDatabaseCatalogDetailsVmClusterDetailsIsIncidentLogsEnabled === "true", * licenseModel: distributedDatabaseCatalogDetailsVmClusterDetailsLicenseModel, * nsgIds: distributedDatabaseCatalogDetailsVmClusterDetailsNsgIds, * privateZoneId: testZone.id, * sshPublicKeys: distributedDatabaseCatalogDetailsVmClusterDetailsSshPublicKeys, * subnetId: testSubnet.id, * totalEcpuCount: Number(distributedDatabaseCatalogDetailsVmClusterDetailsTotalEcpuCount), * vmFileSystemStorageSize: Number(distributedDatabaseCatalogDetailsVmClusterDetailsVmFileSystemStorageSize), * }, * vmClusterId: testVmCluster.id, * }], * characterSet: distributedDatabaseCharacterSet, * compartmentId: compartmentId, * databaseVersion: distributedDatabaseDatabaseVersion, * dbDeploymentType: distributedDatabaseDbDeploymentType, * displayName: distributedDatabaseDisplayName, * distributedDatabaseId: distributedDatabaseDistributedDatabaseId, * listenerPort: Number(distributedDatabaseListenerPort), * ncharacterSet: distributedDatabaseNcharacterSet, * onsPortLocal: Number(distributedDatabaseOnsPortLocal), * onsPortRemote: Number(distributedDatabaseOnsPortRemote), * prefix: distributedDatabasePrefix, * privateEndpointIds: distributedDatabasePrivateEndpointIds, * shardDetails: [{ * adminPassword: distributedDatabaseShardDetailsAdminPassword, * source: distributedDatabaseShardDetailsSource, * availabilityDomain: distributedDatabaseShardDetailsAvailabilityDomain, * dbStorageVaultDetails: { * additionalFlashCacheInPercent: Number(distributedDatabaseShardDetailsDbStorageVaultDetailsAdditionalFlashCacheInPercent), * highCapacityDatabaseStorage: Number(distributedDatabaseShardDetailsDbStorageVaultDetailsHighCapacityDatabaseStorage), * }, * kmsKeyId: testKey.id, * kmsKeyVersionId: testKeyVersion.id, * peerDetails: [{ * availabilityDomain: distributedDatabaseShardDetailsPeerDetailsAvailabilityDomain, * dbStorageVaultDetails: { * additionalFlashCacheInPercent: Number(distributedDatabaseShardDetailsPeerDetailsDbStorageVaultDetailsAdditionalFlashCacheInPercent), * highCapacityDatabaseStorage: Number(distributedDatabaseShardDetailsPeerDetailsDbStorageVaultDetailsHighCapacityDatabaseStorage), * }, * protectionMode: distributedDatabaseShardDetailsPeerDetailsProtectionMode, * transportType: distributedDatabaseShardDetailsPeerDetailsTransportType, * vmClusterDetails: { * backupNetworkNsgIds: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsBackupNetworkNsgIds, * backupSubnetId: testSubnet.id, * domain: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsDomain, * enabledEcpuCount: Number(distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsEnabledEcpuCount), * isDiagnosticsEventsEnabled: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsIsDiagnosticsEventsEnabled === "true", * isHealthMonitoringEnabled: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsIsHealthMonitoringEnabled === "true", * isIncidentLogsEnabled: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsIsIncidentLogsEnabled === "true", * licenseModel: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsLicenseModel, * nsgIds: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsNsgIds, * privateZoneId: testZone.id, * sshPublicKeys: distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsSshPublicKeys, * subnetId: testSubnet.id, * totalEcpuCount: Number(distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsTotalEcpuCount), * vmFileSystemStorageSize: Number(distributedDatabaseShardDetailsPeerDetailsVmClusterDetailsVmFileSystemStorageSize), * }, * vmClusterId: testVmCluster.id, * }], * peerVmClusterIds: distributedDatabaseShardDetailsPeerVmClusterIds, * shardSpace: distributedDatabaseShardDetailsShardSpace, * vaultId: testVault.id, * vmClusterDetails: { * backupNetworkNsgIds: distributedDatabaseShardDetailsVmClusterDetailsBackupNetworkNsgIds, * backupSubnetId: testSubnet.id, * domain: distributedDatabaseShardDetailsVmClusterDetailsDomain, * enabledEcpuCount: Number(distributedDatabaseShardDetailsVmClusterDetailsEnabledEcpuCount), * isDiagnosticsEventsEnabled: distributedDatabaseShardDetailsVmClusterDetailsIsDiagnosticsEventsEnabled === "true", * isHealthMonitoringEnabled: distributedDatabaseShardDetailsVmClusterDetailsIsHealthMonitoringEnabled === "true", * isIncidentLogsEnabled: distributedDatabaseShardDetailsVmClusterDetailsIsIncidentLogsEnabled === "true", * licenseModel: distributedDatabaseShardDetailsVmClusterDetailsLicenseModel, * nsgIds: distributedDatabaseShardDetailsVmClusterDetailsNsgIds, * privateZoneId: testZone.id, * sshPublicKeys: distributedDatabaseShardDetailsVmClusterDetailsSshPublicKeys, * subnetId: testSubnet.id, * totalEcpuCount: Number(distributedDatabaseShardDetailsVmClusterDetailsTotalEcpuCount), * vmFileSystemStorageSize: Number(distributedDatabaseShardDetailsVmClusterDetailsVmFileSystemStorageSize), * }, * vmClusterId: testVmCluster.id, * }], * shardingMethod: distributedDatabaseShardingMethod, * chunks: Number(distributedDatabaseChunks), * dbBackupConfig: { * autoBackupWindow: distributedDatabaseDbBackupConfigAutoBackupWindow, * autoFullBackupDay: distributedDatabaseDbBackupConfigAutoFullBackupDay, * autoFullBackupWindow: distributedDatabaseDbBackupConfigAutoFullBackupWindow, * backupDeletionPolicy: distributedDatabaseDbBackupConfigBackupDeletionPolicy, * backupDestinationDetails: [{ * type: distributedDatabaseDbBackupConfigBackupDestinationDetailsType, * dbrsPolicyId: testPolicy.id, * id: distributedDatabaseDbBackupConfigBackupDestinationDetailsId, * internetProxy: distributedDatabaseDbBackupConfigBackupDestinationDetailsInternetProxy, * isRemote: distributedDatabaseDbBackupConfigBackupDestinationDetailsIsRemote === "true", * isZeroDataLossEnabled: distributedDatabaseDbBackupConfigBackupDestinationDetailsIsZeroDataLossEnabled === "true", * remoteRegion: distributedDatabaseDbBackupConfigBackupDestinationDetailsRemoteRegion, * vpcPassword: distributedDatabaseDbBackupConfigBackupDestinationDetailsVpcPassword, * vpcUser: distributedDatabaseDbBackupConfigBackupDestinationDetailsVpcUser, * }], * canRunImmediateFullBackup: distributedDatabaseDbBackupConfigCanRunImmediateFullBackup === "true", * isAutoBackupEnabled: distributedDatabaseDbBackupConfigIsAutoBackupEnabled === "true", * isRemoteBackupEnabled: distributedDatabaseDbBackupConfigIsRemoteBackupEnabled === "true", * recoveryWindowInDays: Number(distributedDatabaseDbBackupConfigRecoveryWindowInDays), * remoteRegion: distributedDatabaseDbBackupConfigRemoteRegion, * }, * definedTags: { * "foo-namespace.bar-key": "value", * }, * freeformTags: { * "bar-key": "value", * }, * gsmSshPublicKey: distributedDatabaseGsmSshPublicKey, * listenerPortTls: Number(distributedDatabaseListenerPortTls), * patchOperations: [{ * operation: distributedDatabasePatchOperationsOperation, * selection: distributedDatabasePatchOperationsSelection, * value: distributedDatabasePatchOperationsValue, * }], * replicationFactor: Number(distributedDatabaseReplicationFactor), * replicationMethod: distributedDatabaseReplicationMethod, * replicationUnit: Number(distributedDatabaseReplicationUnit), * scanListenerPort: Number(distributedDatabaseScanListenerPort), * }); * ``` * * ## Import * * DistributedDatabases can be imported using the `id`, e.g. * * ```sh * $ pulumi import oci:oci/distributedDatabaseDistributedDatabase:DistributedDatabaseDistributedDatabase test_distributed_database "id" * ``` */ export declare class DistributedDatabaseDistributedDatabase extends pulumi.CustomResource { /** * Get an existing DistributedDatabaseDistributedDatabase 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, state?: DistributedDatabaseDistributedDatabaseState, opts?: pulumi.CustomResourceOptions): DistributedDatabaseDistributedDatabase; /** * Returns true if the given object is an instance of DistributedDatabaseDistributedDatabase. 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 DistributedDatabaseDistributedDatabase; /** * Collection of catalog for the Globally distributed database. */ readonly catalogDetails: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value. */ readonly changeDbBackupConfigTrigger: pulumi.Output; /** * The character set for the database. */ readonly characterSet: pulumi.Output; /** * 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 databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload. */ readonly chunks: pulumi.Output; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed database compartment. */ readonly compartmentId: pulumi.Output; readonly configureShardingIsRebalanceRequired: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value. */ readonly configureShardingTrigger: pulumi.Output; /** * Details of Globally distributed database connection String. */ readonly connectionStrings: pulumi.Output; /** * Oracle Database version for the shards and catalog used in Globally distributed database. */ readonly databaseVersion: pulumi.Output; /** * Backup Options To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see [Getting Started with Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm). */ readonly dbBackupConfig: pulumi.Output; /** * The distributed database deployment type. */ readonly dbDeploymentType: pulumi.Output; /** * (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 database. */ readonly displayName: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ readonly downloadGsmCertificateSigningRequestTrigger: pulumi.Output; readonly effectiveReplicationUnit: pulumi.Output; /** * (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. * * @deprecated This trigger/action API is deprecated. */ readonly generateGsmCertificateSigningRequestTrigger: pulumi.Output; readonly generateWalletDownloadedWalletContentLength: pulumi.Output; readonly generateWalletDownloadedWalletEtag: pulumi.Output; readonly generateWalletDownloadedWalletLastModified: pulumi.Output; readonly generateWalletDownloadedWalletZipBase64: pulumi.Output; readonly generateWalletPassword: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value. */ readonly generateWalletTrigger: pulumi.Output; /** * Collection of catalogs associated with the Globally distributed database. */ readonly gsmDetails: pulumi.Output; /** * The SSH public key for Global service manager instances. */ readonly gsmSshPublicKey: pulumi.Output; /** * The Global service manager image details */ readonly latestGsmImageDetails: pulumi.Output; /** * The lifecycleDetails for the Globally distributed database. */ readonly lifecycleDetails: pulumi.Output; /** * The listener port number for the Globally distributed database. The listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ readonly listenerPort: pulumi.Output; /** * The TLS listener port number for the Globally distributed database. The TLS listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. For BASE_DB and EXADB_XS based distributed databases, tls is not supported hence the listenerPortTls is not needed to be provided in create payload. */ readonly listenerPortTls: pulumi.Output; /** * Additional metadata related to Globally distributed database resources. */ readonly metadatas: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value. */ readonly moveReplicationUnitTrigger: pulumi.Output; /** * The national character set for the database. */ readonly ncharacterSet: pulumi.Output; /** * The ons local port number for the Globally distributed database. The onsPortLocal has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ readonly onsPortLocal: pulumi.Output; /** * The ons remote port number for the Globally distributed database. The onsPortRemote has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ readonly onsPortRemote: pulumi.Output; /** * (Updatable) */ readonly patchOperations: pulumi.Output; /** * Unique name prefix for the Globally distributed 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; /** * 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; /** * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value. */ readonly recreateFailedResourceTrigger: pulumi.Output; /** * The Replication factor for RAFT replication based Globally distributed database. Currently supported values are 3, 5 and 7. */ readonly replicationFactor: pulumi.Output; /** * The Replication method for Globally distributed 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; /** * The replication unit count for RAFT based distributed database. For RAFT replication based Globally distributed database, the value should be at least twice the number of shards. */ readonly replicationUnit: pulumi.Output; /** * The TCP Single Client Access Name (SCAN) port for clusters created for Globally distributed database. The scanListenerPort number should only be provided if shard and catalog have source type NEW_VAULT_AND_CLUSTER. If shard and catalog have source type NEW_VAULT_AND_CLUSTER and scanListenerPort is not provided then the scanListenerPort will default to value 1521. */ readonly scanListenerPort: pulumi.Output; /** * Collection of shards for the Globally distributed database. */ readonly shardDetails: pulumi.Output; /** * Sharding Methods for the Globally distributed database. */ readonly shardingMethod: pulumi.Output; /** * Increment this value to trigger StartDistributedDatabase action. */ readonly startDatabaseTrigger: pulumi.Output; /** * (Updatable) The target state for the Distributed Database. Could be set to `ACTIVE` or `INACTIVE`. */ readonly state: pulumi.Output; /** * Increment this value to trigger StopDistributedDatabase action. */ readonly stopDatabaseTrigger: pulumi.Output; /** * 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 database was created. An RFC3339 formatted datetime string */ readonly timeCreated: pulumi.Output; /** * The time the Globally distributed database was last updated. An RFC3339 formatted datetime string */ readonly timeUpdated: pulumi.Output; /** * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ readonly uploadSignedCertificateAndGenerateWalletTrigger: pulumi.Output; readonly validateNetworkDetails: pulumi.Output; /** * (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; /** * Create a DistributedDatabaseDistributedDatabase 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: DistributedDatabaseDistributedDatabaseArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DistributedDatabaseDistributedDatabase resources. */ export interface DistributedDatabaseDistributedDatabaseState { /** * Collection of catalog for the Globally distributed database. */ catalogDetails?: pulumi.Input[] | undefined>; /** * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value. */ changeDbBackupConfigTrigger?: pulumi.Input; /** * The character set for the database. */ characterSet?: pulumi.Input; /** * 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 databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload. */ chunks?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed database compartment. */ compartmentId?: pulumi.Input; configureShardingIsRebalanceRequired?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value. */ configureShardingTrigger?: pulumi.Input; /** * Details of Globally distributed database connection String. */ connectionStrings?: pulumi.Input[] | undefined>; /** * Oracle Database version for the shards and catalog used in Globally distributed database. */ databaseVersion?: pulumi.Input; /** * Backup Options To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see [Getting Started with Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm). */ dbBackupConfig?: pulumi.Input; /** * The distributed database deployment type. */ dbDeploymentType?: pulumi.Input; /** * (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; } | undefined>; /** * (Updatable) The display name of the Globally distributed database. */ displayName?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ downloadGsmCertificateSigningRequestTrigger?: pulumi.Input; effectiveReplicationUnit?: pulumi.Input; /** * (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; } | undefined>; /** * (Updatable) An optional property when incremented triggers Generate Gsm Certificate Signing Request. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ generateGsmCertificateSigningRequestTrigger?: pulumi.Input; generateWalletDownloadedWalletContentLength?: pulumi.Input; generateWalletDownloadedWalletEtag?: pulumi.Input; generateWalletDownloadedWalletLastModified?: pulumi.Input; generateWalletDownloadedWalletZipBase64?: pulumi.Input; generateWalletPassword?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value. */ generateWalletTrigger?: pulumi.Input; /** * Collection of catalogs associated with the Globally distributed database. */ gsmDetails?: pulumi.Input[] | undefined>; /** * The SSH public key for Global service manager instances. */ gsmSshPublicKey?: pulumi.Input; /** * The Global service manager image details */ latestGsmImageDetails?: pulumi.Input[] | undefined>; /** * The lifecycleDetails for the Globally distributed database. */ lifecycleDetails?: pulumi.Input; /** * The listener port number for the Globally distributed database. The listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ listenerPort?: pulumi.Input; /** * The TLS listener port number for the Globally distributed database. The TLS listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. For BASE_DB and EXADB_XS based distributed databases, tls is not supported hence the listenerPortTls is not needed to be provided in create payload. */ listenerPortTls?: pulumi.Input; /** * Additional metadata related to Globally distributed database resources. */ metadatas?: pulumi.Input[] | undefined>; /** * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value. */ moveReplicationUnitTrigger?: pulumi.Input; /** * The national character set for the database. */ ncharacterSet?: pulumi.Input; /** * The ons local port number for the Globally distributed database. The onsPortLocal has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ onsPortLocal?: pulumi.Input; /** * The ons remote port number for the Globally distributed database. The onsPortRemote has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ onsPortRemote?: pulumi.Input; /** * (Updatable) */ patchOperations?: pulumi.Input[] | undefined>; /** * Unique name prefix for the Globally distributed 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; /** * 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[] | undefined>; /** * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value. */ recreateFailedResourceTrigger?: pulumi.Input; /** * The Replication factor for RAFT replication based Globally distributed database. Currently supported values are 3, 5 and 7. */ replicationFactor?: pulumi.Input; /** * The Replication method for Globally distributed 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; /** * The replication unit count for RAFT based distributed database. For RAFT replication based Globally distributed database, the value should be at least twice the number of shards. */ replicationUnit?: pulumi.Input; /** * The TCP Single Client Access Name (SCAN) port for clusters created for Globally distributed database. The scanListenerPort number should only be provided if shard and catalog have source type NEW_VAULT_AND_CLUSTER. If shard and catalog have source type NEW_VAULT_AND_CLUSTER and scanListenerPort is not provided then the scanListenerPort will default to value 1521. */ scanListenerPort?: pulumi.Input; /** * Collection of shards for the Globally distributed database. */ shardDetails?: pulumi.Input[] | undefined>; /** * Sharding Methods for the Globally distributed database. */ shardingMethod?: pulumi.Input; /** * Increment this value to trigger StartDistributedDatabase action. */ startDatabaseTrigger?: pulumi.Input; /** * (Updatable) The target state for the Distributed Database. Could be set to `ACTIVE` or `INACTIVE`. */ state?: pulumi.Input; /** * Increment this value to trigger StopDistributedDatabase action. */ stopDatabaseTrigger?: pulumi.Input; /** * 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; } | undefined>; /** * The time the Globally distributed database was created. An RFC3339 formatted datetime string */ timeCreated?: pulumi.Input; /** * The time the Globally distributed database was last updated. An RFC3339 formatted datetime string */ timeUpdated?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ uploadSignedCertificateAndGenerateWalletTrigger?: pulumi.Input; validateNetworkDetails?: pulumi.Input; /** * (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; } /** * The set of arguments for constructing a DistributedDatabaseDistributedDatabase resource. */ export interface DistributedDatabaseDistributedDatabaseArgs { /** * Collection of catalog for the Globally distributed database. */ catalogDetails: pulumi.Input[]>; /** * (Updatable) An optional property when incremented triggers Change Db Backup Config. Could be set to any integer value. */ changeDbBackupConfigTrigger?: pulumi.Input; /** * The character set for the database. */ characterSet: pulumi.Input; /** * 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 databases being created with SYSTEM shardingMethod. For USER shardingMethod, chunks should not be set in create payload. */ chunks?: pulumi.Input; /** * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Globally distributed database compartment. */ compartmentId: pulumi.Input; configureShardingIsRebalanceRequired?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Configure Sharding. Could be set to any integer value. */ configureShardingTrigger?: pulumi.Input; /** * Oracle Database version for the shards and catalog used in Globally distributed database. */ databaseVersion: pulumi.Input; /** * Backup Options To use any of the API operations, you must be authorized in an IAM policy. If you're not authorized, talk to an administrator. If you're an administrator who needs to write policies to give users access, see [Getting Started with Policies](https://docs.cloud.oracle.com/iaas/Content/Identity/Concepts/policygetstarted.htm). */ dbBackupConfig?: pulumi.Input; /** * The distributed database deployment type. */ dbDeploymentType: pulumi.Input; /** * (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; } | undefined>; /** * (Updatable) The display name of the Globally distributed database. */ displayName: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Download Gsm Certificate Signing Request. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ downloadGsmCertificateSigningRequestTrigger?: pulumi.Input; /** * (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; } | undefined>; /** * (Updatable) An optional property when incremented triggers Generate Gsm Certificate Signing Request. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ generateGsmCertificateSigningRequestTrigger?: pulumi.Input; generateWalletPassword?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Generate Wallet. Could be set to any integer value. */ generateWalletTrigger?: pulumi.Input; /** * The SSH public key for Global service manager instances. */ gsmSshPublicKey?: pulumi.Input; /** * The listener port number for the Globally distributed database. The listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ listenerPort: pulumi.Input; /** * The TLS listener port number for the Globally distributed database. The TLS listener port number has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. For BASE_DB and EXADB_XS based distributed databases, tls is not supported hence the listenerPortTls is not needed to be provided in create payload. */ listenerPortTls?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Move Replication Unit. Could be set to any integer value. */ moveReplicationUnitTrigger?: pulumi.Input; /** * The national character set for the database. */ ncharacterSet: pulumi.Input; /** * The ons local port number for the Globally distributed database. The onsPortLocal has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ onsPortLocal: pulumi.Input; /** * The ons remote port number for the Globally distributed database. The onsPortRemote has to be unique for a customer tenancy across all distributed databases. Same port number should not be re-used for any other distributed database. */ onsPortRemote: pulumi.Input; /** * (Updatable) */ patchOperations?: pulumi.Input[] | undefined>; /** * Unique name prefix for the Globally distributed 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; /** * 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[]>; /** * (Updatable) An optional property when incremented triggers Recreate Failed Resource. Could be set to any integer value. */ recreateFailedResourceTrigger?: pulumi.Input; /** * The Replication factor for RAFT replication based Globally distributed database. Currently supported values are 3, 5 and 7. */ replicationFactor?: pulumi.Input; /** * The Replication method for Globally distributed 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; /** * The replication unit count for RAFT based distributed database. For RAFT replication based Globally distributed database, the value should be at least twice the number of shards. */ replicationUnit?: pulumi.Input; /** * The TCP Single Client Access Name (SCAN) port for clusters created for Globally distributed database. The scanListenerPort number should only be provided if shard and catalog have source type NEW_VAULT_AND_CLUSTER. If shard and catalog have source type NEW_VAULT_AND_CLUSTER and scanListenerPort is not provided then the scanListenerPort will default to value 1521. */ scanListenerPort?: pulumi.Input; /** * Collection of shards for the Globally distributed database. */ shardDetails?: pulumi.Input[] | undefined>; /** * Sharding Methods for the Globally distributed database. */ shardingMethod: pulumi.Input; /** * Increment this value to trigger StartDistributedDatabase action. */ startDatabaseTrigger?: pulumi.Input; /** * (Updatable) The target state for the Distributed Database. Could be set to `ACTIVE` or `INACTIVE`. */ state?: pulumi.Input; /** * Increment this value to trigger StopDistributedDatabase action. */ stopDatabaseTrigger?: pulumi.Input; /** * (Updatable) An optional property when incremented triggers Upload Signed Certificate And Generate Wallet. Could be set to any integer value. * * @deprecated This trigger/action API is deprecated. */ uploadSignedCertificateAndGenerateWalletTrigger?: pulumi.Input; validateNetworkDetails?: pulumi.Input; /** * (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; } //# sourceMappingURL=distributedDatabaseDistributedDatabase.d.ts.map