import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Pluggable Databases Local Clone resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/PluggableDatabasesLocalClone
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * **Deprecated.** Use [CreatePluggableDatabase](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/PluggableDatabase/CreatePluggableDatabase) for Pluggable Database LocalClone Operation.
 * Clones and starts a pluggable database (PDB) in the same database (CDB) as the source PDB. The source PDB must be in the `READ_WRITE` openMode to perform the clone operation.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testPluggableDatabasesLocalClone = new oci.database.PluggableDatabasesLocalClone("test_pluggable_databases_local_clone", {
 *     clonedPdbName: pluggableDatabasesLocalCloneClonedPdbName,
 *     pluggableDatabaseId: testPluggableDatabase.id,
 *     pdbAdminPassword: pluggableDatabasesLocalClonePdbAdminPassword,
 *     shouldPdbAdminAccountBeLocked: pluggableDatabasesLocalCloneShouldPdbAdminAccountBeLocked === "true",
 *     targetTdeWalletPassword: pluggableDatabasesLocalCloneTargetTdeWalletPassword,
 * });
 * ```
 *
 * ## Import
 *
 * Import is not supported for this resource.
 */
export declare class PluggableDatabasesLocalClone extends pulumi.CustomResource {
    /**
     * Get an existing PluggableDatabasesLocalClone 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?: PluggableDatabasesLocalCloneState, opts?: pulumi.CustomResourceOptions): PluggableDatabasesLocalClone;
    /**
     * Returns true if the given object is an instance of PluggableDatabasesLocalClone.  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 PluggableDatabasesLocalClone;
    /**
     * The name for the pluggable database (PDB). The name is unique in the context of a [container database](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/Database/). The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters. Special characters are not permitted. The pluggable database name should not be same as the container database name.
     */
    readonly clonedPdbName: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * Connection strings to connect to an Oracle Pluggable Database.
     */
    readonly connectionStrings: pulumi.Output<outputs.Database.PluggableDatabasesLocalCloneConnectionString[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CDB.
     */
    readonly containerDatabaseId: pulumi.Output<string>;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The restricted mode of the pluggable database. If a pluggable database is opened in restricted mode, the user needs both create a session and have restricted session privileges to connect to it.
     */
    readonly isRestricted: pulumi.Output<boolean>;
    /**
     * Detailed message for the lifecycle state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * The mode that pluggable database is in. Open mode can only be changed to READ_ONLY or MIGRATE directly from the backend (within the Oracle Database software).
     */
    readonly openMode: pulumi.Output<string>;
    /**
     * A strong password for PDB Admin of the newly cloned PDB. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, \#, or -.
     */
    readonly pdbAdminPassword: pulumi.Output<string>;
    /**
     * The name for the pluggable database (PDB). The name is unique in the context of a [container database](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/Database/). The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters. Special characters are not permitted. The pluggable database name should not be same as the container database name.
     */
    readonly pdbName: pulumi.Output<string>;
    /**
     * Pluggable Database Node Level Details. Example: [{"nodeName" : "node1", "openMode" : "READ_WRITE"}, {"nodeName" : "node2", "openMode" : "READ_ONLY"}]
     */
    readonly pdbNodeLevelDetails: pulumi.Output<outputs.Database.PluggableDatabasesLocalClonePdbNodeLevelDetail[]>;
    /**
     * The database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    readonly pluggableDatabaseId: pulumi.Output<string>;
    /**
     * The configuration of the Pluggable Database Management service.
     */
    readonly pluggableDatabaseManagementConfigs: pulumi.Output<outputs.Database.PluggableDatabasesLocalClonePluggableDatabaseManagementConfig[]>;
    /**
     * Pluggable Database Refreshable Clone Configuration.
     */
    readonly refreshableCloneConfigs: pulumi.Output<outputs.Database.PluggableDatabasesLocalCloneRefreshableCloneConfig[]>;
    /**
     * The locked mode of the pluggable database admin account. If false, the user needs to provide the PDB Admin Password to connect to it. If true, the pluggable database will be locked and user cannot login to it.
     */
    readonly shouldPdbAdminAccountBeLocked: pulumi.Output<boolean>;
    /**
     * The current state of the pluggable database.
     */
    readonly state: pulumi.Output<string>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    readonly systemTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The existing TDE wallet password of the target CDB.
     *
     *
     * ** 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 targetTdeWalletPassword: pulumi.Output<string>;
    /**
     * The date and time the pluggable database was created.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * Create a PluggableDatabasesLocalClone 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: PluggableDatabasesLocalCloneArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PluggableDatabasesLocalClone resources.
 */
export interface PluggableDatabasesLocalCloneState {
    /**
     * The name for the pluggable database (PDB). The name is unique in the context of a [container database](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/Database/). The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters. Special characters are not permitted. The pluggable database name should not be same as the container database name.
     */
    clonedPdbName?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * Connection strings to connect to an Oracle Pluggable Database.
     */
    connectionStrings?: pulumi.Input<pulumi.Input<inputs.Database.PluggableDatabasesLocalCloneConnectionString>[] | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CDB.
     */
    containerDatabaseId?: pulumi.Input<string | undefined>;
    /**
     * Defined tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    definedTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * Free-form tags for this resource. Each tag is a simple key-value pair with no predefined name, type, or namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).  Example: `{"Department": "Finance"}`
     */
    freeformTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The restricted mode of the pluggable database. If a pluggable database is opened in restricted mode, the user needs both create a session and have restricted session privileges to connect to it.
     */
    isRestricted?: pulumi.Input<boolean | undefined>;
    /**
     * Detailed message for the lifecycle state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * The mode that pluggable database is in. Open mode can only be changed to READ_ONLY or MIGRATE directly from the backend (within the Oracle Database software).
     */
    openMode?: pulumi.Input<string | undefined>;
    /**
     * A strong password for PDB Admin of the newly cloned PDB. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, \#, or -.
     */
    pdbAdminPassword?: pulumi.Input<string | undefined>;
    /**
     * The name for the pluggable database (PDB). The name is unique in the context of a [container database](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/Database/). The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters. Special characters are not permitted. The pluggable database name should not be same as the container database name.
     */
    pdbName?: pulumi.Input<string | undefined>;
    /**
     * Pluggable Database Node Level Details. Example: [{"nodeName" : "node1", "openMode" : "READ_WRITE"}, {"nodeName" : "node2", "openMode" : "READ_ONLY"}]
     */
    pdbNodeLevelDetails?: pulumi.Input<pulumi.Input<inputs.Database.PluggableDatabasesLocalClonePdbNodeLevelDetail>[] | undefined>;
    /**
     * The database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    pluggableDatabaseId?: pulumi.Input<string | undefined>;
    /**
     * The configuration of the Pluggable Database Management service.
     */
    pluggableDatabaseManagementConfigs?: pulumi.Input<pulumi.Input<inputs.Database.PluggableDatabasesLocalClonePluggableDatabaseManagementConfig>[] | undefined>;
    /**
     * Pluggable Database Refreshable Clone Configuration.
     */
    refreshableCloneConfigs?: pulumi.Input<pulumi.Input<inputs.Database.PluggableDatabasesLocalCloneRefreshableCloneConfig>[] | undefined>;
    /**
     * The locked mode of the pluggable database admin account. If false, the user needs to provide the PDB Admin Password to connect to it. If true, the pluggable database will be locked and user cannot login to it.
     */
    shouldPdbAdminAccountBeLocked?: pulumi.Input<boolean | undefined>;
    /**
     * The current state of the pluggable database.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * System tags for this resource. Each key is predefined and scoped to a namespace. For more information, see [Resource Tags](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/resourcetags.htm).
     */
    systemTags?: pulumi.Input<{
        [key: string]: pulumi.Input<string>;
    } | undefined>;
    /**
     * The existing TDE wallet password of the target CDB.
     *
     *
     * ** 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
     */
    targetTdeWalletPassword?: pulumi.Input<string | undefined>;
    /**
     * The date and time the pluggable database was created.
     */
    timeCreated?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a PluggableDatabasesLocalClone resource.
 */
export interface PluggableDatabasesLocalCloneArgs {
    /**
     * The name for the pluggable database (PDB). The name is unique in the context of a [container database](https://docs.cloud.oracle.com/iaas/api/#/en/database/latest/Database/). The name must begin with an alphabetic character and can contain a maximum of thirty alphanumeric characters. Special characters are not permitted. The pluggable database name should not be same as the container database name.
     */
    clonedPdbName: pulumi.Input<string>;
    /**
     * A strong password for PDB Admin of the newly cloned PDB. The password must be at least nine characters and contain at least two uppercase, two lowercase, two numbers, and two special characters. The special characters must be _, \#, or -.
     */
    pdbAdminPassword?: pulumi.Input<string | undefined>;
    /**
     * The database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    pluggableDatabaseId: pulumi.Input<string>;
    /**
     * The locked mode of the pluggable database admin account. If false, the user needs to provide the PDB Admin Password to connect to it. If true, the pluggable database will be locked and user cannot login to it.
     */
    shouldPdbAdminAccountBeLocked?: pulumi.Input<boolean | undefined>;
    /**
     * The existing TDE wallet password of the target CDB.
     *
     *
     * ** 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
     */
    targetTdeWalletPassword?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=pluggableDatabasesLocalClone.d.ts.map