"use strict";
// *** WARNING: this file was generated by pulumi-language-nodejs. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    var desc = Object.getOwnPropertyDescriptor(m, k);
    if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
      desc = { enumerable: true, get: function() { return m[k]; } };
    }
    Object.defineProperty(o, k2, desc);
}) : (function(o, m, k, k2) {
    if (k2 === undefined) k2 = k;
    o[k2] = m[k];
}));
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
    Object.defineProperty(o, "default", { enumerable: true, value: v });
}) : function(o, v) {
    o["default"] = v;
});
var __importStar = (this && this.__importStar) || function (mod) {
    if (mod && mod.__esModule) return mod;
    var result = {};
    if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
    __setModuleDefault(result, mod);
    return result;
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.DistributedDatabaseDistributedDatabase = void 0;
const pulumi = __importStar(require("@pulumi/pulumi"));
const utilities = __importStar(require("../utilities"));
/**
 * 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"
 * ```
 */
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, id, state, opts) {
        return new DistributedDatabaseDistributedDatabase(name, state, { ...opts, id: id });
    }
    /** @internal */
    static __pulumiType = 'oci:oci/distributedDatabaseDistributedDatabase: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) {
        if (obj === undefined || obj === null) {
            return false;
        }
        return obj['__pulumiType'] === DistributedDatabaseDistributedDatabase.__pulumiType;
    }
    constructor(name, argsOrState, opts) {
        let resourceInputs = {};
        opts = opts || {};
        if (opts.id) {
            const state = argsOrState;
            resourceInputs["catalogDetails"] = state?.catalogDetails;
            resourceInputs["changeDbBackupConfigTrigger"] = state?.changeDbBackupConfigTrigger;
            resourceInputs["characterSet"] = state?.characterSet;
            resourceInputs["chunks"] = state?.chunks;
            resourceInputs["compartmentId"] = state?.compartmentId;
            resourceInputs["configureShardingIsRebalanceRequired"] = state?.configureShardingIsRebalanceRequired;
            resourceInputs["configureShardingTrigger"] = state?.configureShardingTrigger;
            resourceInputs["connectionStrings"] = state?.connectionStrings;
            resourceInputs["databaseVersion"] = state?.databaseVersion;
            resourceInputs["dbBackupConfig"] = state?.dbBackupConfig;
            resourceInputs["dbDeploymentType"] = state?.dbDeploymentType;
            resourceInputs["definedTags"] = state?.definedTags;
            resourceInputs["displayName"] = state?.displayName;
            resourceInputs["downloadGsmCertificateSigningRequestTrigger"] = state?.downloadGsmCertificateSigningRequestTrigger;
            resourceInputs["freeformTags"] = state?.freeformTags;
            resourceInputs["generateGsmCertificateSigningRequestTrigger"] = state?.generateGsmCertificateSigningRequestTrigger;
            resourceInputs["generateWalletDownloadedWalletContentLength"] = state?.generateWalletDownloadedWalletContentLength;
            resourceInputs["generateWalletDownloadedWalletEtag"] = state?.generateWalletDownloadedWalletEtag;
            resourceInputs["generateWalletDownloadedWalletLastModified"] = state?.generateWalletDownloadedWalletLastModified;
            resourceInputs["generateWalletDownloadedWalletZipBase64"] = state?.generateWalletDownloadedWalletZipBase64;
            resourceInputs["generateWalletPassword"] = state?.generateWalletPassword;
            resourceInputs["generateWalletTrigger"] = state?.generateWalletTrigger;
            resourceInputs["gsmDetails"] = state?.gsmDetails;
            resourceInputs["gsmSshPublicKey"] = state?.gsmSshPublicKey;
            resourceInputs["latestGsmImageDetails"] = state?.latestGsmImageDetails;
            resourceInputs["lifecycleDetails"] = state?.lifecycleDetails;
            resourceInputs["listenerPort"] = state?.listenerPort;
            resourceInputs["listenerPortTls"] = state?.listenerPortTls;
            resourceInputs["metadatas"] = state?.metadatas;
            resourceInputs["moveReplicationUnitTrigger"] = state?.moveReplicationUnitTrigger;
            resourceInputs["ncharacterSet"] = state?.ncharacterSet;
            resourceInputs["onsPortLocal"] = state?.onsPortLocal;
            resourceInputs["onsPortRemote"] = state?.onsPortRemote;
            resourceInputs["patchOperations"] = state?.patchOperations;
            resourceInputs["prefix"] = state?.prefix;
            resourceInputs["privateEndpointIds"] = state?.privateEndpointIds;
            resourceInputs["recreateFailedResourceTrigger"] = state?.recreateFailedResourceTrigger;
            resourceInputs["replicationFactor"] = state?.replicationFactor;
            resourceInputs["replicationMethod"] = state?.replicationMethod;
            resourceInputs["replicationUnit"] = state?.replicationUnit;
            resourceInputs["scanListenerPort"] = state?.scanListenerPort;
            resourceInputs["shardDetails"] = state?.shardDetails;
            resourceInputs["shardingMethod"] = state?.shardingMethod;
            resourceInputs["startDatabaseTrigger"] = state?.startDatabaseTrigger;
            resourceInputs["state"] = state?.state;
            resourceInputs["stopDatabaseTrigger"] = state?.stopDatabaseTrigger;
            resourceInputs["systemTags"] = state?.systemTags;
            resourceInputs["timeCreated"] = state?.timeCreated;
            resourceInputs["timeUpdated"] = state?.timeUpdated;
            resourceInputs["uploadSignedCertificateAndGenerateWalletTrigger"] = state?.uploadSignedCertificateAndGenerateWalletTrigger;
            resourceInputs["validateNetworkDetails"] = state?.validateNetworkDetails;
            resourceInputs["validateNetworkTrigger"] = state?.validateNetworkTrigger;
        }
        else {
            const args = argsOrState;
            if (args?.catalogDetails === undefined && !opts.urn) {
                throw new Error("Missing required property 'catalogDetails'");
            }
            if (args?.characterSet === undefined && !opts.urn) {
                throw new Error("Missing required property 'characterSet'");
            }
            if (args?.compartmentId === undefined && !opts.urn) {
                throw new Error("Missing required property 'compartmentId'");
            }
            if (args?.databaseVersion === undefined && !opts.urn) {
                throw new Error("Missing required property 'databaseVersion'");
            }
            if (args?.dbDeploymentType === undefined && !opts.urn) {
                throw new Error("Missing required property 'dbDeploymentType'");
            }
            if (args?.displayName === undefined && !opts.urn) {
                throw new Error("Missing required property 'displayName'");
            }
            if (args?.listenerPort === undefined && !opts.urn) {
                throw new Error("Missing required property 'listenerPort'");
            }
            if (args?.ncharacterSet === undefined && !opts.urn) {
                throw new Error("Missing required property 'ncharacterSet'");
            }
            if (args?.onsPortLocal === undefined && !opts.urn) {
                throw new Error("Missing required property 'onsPortLocal'");
            }
            if (args?.onsPortRemote === undefined && !opts.urn) {
                throw new Error("Missing required property 'onsPortRemote'");
            }
            if (args?.prefix === undefined && !opts.urn) {
                throw new Error("Missing required property 'prefix'");
            }
            if (args?.privateEndpointIds === undefined && !opts.urn) {
                throw new Error("Missing required property 'privateEndpointIds'");
            }
            if (args?.shardDetails === undefined && !opts.urn) {
                throw new Error("Missing required property 'shardDetails'");
            }
            if (args?.shardingMethod === undefined && !opts.urn) {
                throw new Error("Missing required property 'shardingMethod'");
            }
            resourceInputs["catalogDetails"] = args?.catalogDetails;
            resourceInputs["changeDbBackupConfigTrigger"] = args?.changeDbBackupConfigTrigger;
            resourceInputs["characterSet"] = args?.characterSet;
            resourceInputs["chunks"] = args?.chunks;
            resourceInputs["compartmentId"] = args?.compartmentId;
            resourceInputs["configureShardingIsRebalanceRequired"] = args?.configureShardingIsRebalanceRequired;
            resourceInputs["configureShardingTrigger"] = args?.configureShardingTrigger;
            resourceInputs["databaseVersion"] = args?.databaseVersion;
            resourceInputs["dbBackupConfig"] = args?.dbBackupConfig;
            resourceInputs["dbDeploymentType"] = args?.dbDeploymentType;
            resourceInputs["definedTags"] = args?.definedTags;
            resourceInputs["displayName"] = args?.displayName;
            resourceInputs["downloadGsmCertificateSigningRequestTrigger"] = args?.downloadGsmCertificateSigningRequestTrigger;
            resourceInputs["freeformTags"] = args?.freeformTags;
            resourceInputs["generateGsmCertificateSigningRequestTrigger"] = args?.generateGsmCertificateSigningRequestTrigger;
            resourceInputs["generateWalletPassword"] = args?.generateWalletPassword ? pulumi.secret(args.generateWalletPassword) : undefined;
            resourceInputs["generateWalletTrigger"] = args?.generateWalletTrigger;
            resourceInputs["gsmSshPublicKey"] = args?.gsmSshPublicKey;
            resourceInputs["listenerPort"] = args?.listenerPort;
            resourceInputs["listenerPortTls"] = args?.listenerPortTls;
            resourceInputs["moveReplicationUnitTrigger"] = args?.moveReplicationUnitTrigger;
            resourceInputs["ncharacterSet"] = args?.ncharacterSet;
            resourceInputs["onsPortLocal"] = args?.onsPortLocal;
            resourceInputs["onsPortRemote"] = args?.onsPortRemote;
            resourceInputs["patchOperations"] = args?.patchOperations;
            resourceInputs["prefix"] = args?.prefix;
            resourceInputs["privateEndpointIds"] = args?.privateEndpointIds;
            resourceInputs["recreateFailedResourceTrigger"] = args?.recreateFailedResourceTrigger;
            resourceInputs["replicationFactor"] = args?.replicationFactor;
            resourceInputs["replicationMethod"] = args?.replicationMethod;
            resourceInputs["replicationUnit"] = args?.replicationUnit;
            resourceInputs["scanListenerPort"] = args?.scanListenerPort;
            resourceInputs["shardDetails"] = args?.shardDetails;
            resourceInputs["shardingMethod"] = args?.shardingMethod;
            resourceInputs["startDatabaseTrigger"] = args?.startDatabaseTrigger;
            resourceInputs["state"] = args?.state;
            resourceInputs["stopDatabaseTrigger"] = args?.stopDatabaseTrigger;
            resourceInputs["uploadSignedCertificateAndGenerateWalletTrigger"] = args?.uploadSignedCertificateAndGenerateWalletTrigger;
            resourceInputs["validateNetworkDetails"] = args?.validateNetworkDetails;
            resourceInputs["validateNetworkTrigger"] = args?.validateNetworkTrigger;
            resourceInputs["connectionStrings"] = undefined /*out*/;
            resourceInputs["generateWalletDownloadedWalletContentLength"] = undefined /*out*/;
            resourceInputs["generateWalletDownloadedWalletEtag"] = undefined /*out*/;
            resourceInputs["generateWalletDownloadedWalletLastModified"] = undefined /*out*/;
            resourceInputs["generateWalletDownloadedWalletZipBase64"] = undefined /*out*/;
            resourceInputs["gsmDetails"] = undefined /*out*/;
            resourceInputs["latestGsmImageDetails"] = undefined /*out*/;
            resourceInputs["lifecycleDetails"] = undefined /*out*/;
            resourceInputs["metadatas"] = undefined /*out*/;
            resourceInputs["systemTags"] = undefined /*out*/;
            resourceInputs["timeCreated"] = undefined /*out*/;
            resourceInputs["timeUpdated"] = undefined /*out*/;
        }
        opts = pulumi.mergeOptions(utilities.resourceOptsDefaults(), opts);
        const secretOpts = { additionalSecretOutputs: ["generateWalletDownloadedWalletZipBase64", "generateWalletPassword"] };
        opts = pulumi.mergeOptions(opts, secretOpts);
        super(DistributedDatabaseDistributedDatabase.__pulumiType, name, resourceInputs, opts);
    }
}
exports.DistributedDatabaseDistributedDatabase = DistributedDatabaseDistributedDatabase;
//# sourceMappingURL=distributedDatabaseDistributedDatabase.js.map