import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Pluggable Database Pluggabledatabasemanagements Management resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/PluggableDatabasePluggabledatabasemanagementsManagement
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 * Enables the Database Management service for an Oracle Pluggable Database located in Oracle Cloud Infrastructure. This service allows the pluggable database to access tools including Metrics and Performance hub. Database Management is enabled at the pluggable database (PDB) level.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testPluggableDatabasePluggabledatabasemanagementsManagement = new oci.database.PluggableDatabaseManagementsManagement("test_pluggable_database_pluggabledatabasemanagements_management", {
 *     pluggableDatabaseId: testPluggableDatabase.id,
 *     enablePluggabledatabasemanagement: enablePluggabledatabasemanagement === "true",
 *     credentialDetails: {
 *         passwordSecretId: testSecret.id,
 *         userName: testUser.name,
 *     },
 *     privateEndPointId: testPrivateEndPoint.id,
 *     serviceName: testService.name,
 *     port: Number(pluggableDatabasePluggabledatabasemanagementsManagementPort),
 *     protocol: pluggableDatabasePluggabledatabasemanagementsManagementProtocol,
 *     role: pluggableDatabasePluggabledatabasemanagementsManagementRole,
 *     sslSecretId: testSecret.id,
 * });
 * ```
 */
export declare class PluggableDatabaseManagementsManagement extends pulumi.CustomResource {
    /**
     * Get an existing PluggableDatabaseManagementsManagement 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?: PluggableDatabaseManagementsManagementState, opts?: pulumi.CustomResourceOptions): PluggableDatabaseManagementsManagement;
    /**
     * Returns true if the given object is an instance of PluggableDatabaseManagementsManagement.  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 PluggableDatabaseManagementsManagement;
    /**
     * 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.PluggableDatabaseManagementsManagementConnectionString[]>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CDB.
     */
    readonly containerDatabaseId: pulumi.Output<string>;
    /**
     * Data for the credential used to connect to the database.
     */
    readonly credentialDetails: pulumi.Output<outputs.Database.PluggableDatabaseManagementsManagementCredentialDetails>;
    /**
     * 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;
    }>;
    /**
     * (Updatable) A required field when set to `true` calls enable action and when set to `false` calls disable action.
     *
     *
     * ** 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 enablePluggabledatabasemanagement: pulumi.Output<boolean>;
    /**
     * 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>;
    /**
     * 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>;
    /**
     * 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.PluggableDatabaseManagementsManagementPluggableDatabaseManagementConfig[]>;
    /**
     * The port used to connect to the pluggable database.
     */
    readonly port: pulumi.Output<number>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint.
     */
    readonly privateEndPointId: pulumi.Output<string>;
    /**
     * Protocol used by the database connection.
     */
    readonly protocol: pulumi.Output<string>;
    /**
     * The role of the user that will be connecting to the pluggable database.
     */
    readonly role: pulumi.Output<string>;
    /**
     * The name of the Oracle Database service that will be used to connect to the database.
     */
    readonly serviceName: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [secret](https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
     */
    readonly sslSecretId: pulumi.Output<string>;
    /**
     * The current state of the pluggable database.
     */
    readonly state: pulumi.Output<string>;
    /**
     * The date and time the pluggable database was created.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * Create a PluggableDatabaseManagementsManagement 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: PluggableDatabaseManagementsManagementArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering PluggableDatabaseManagementsManagement resources.
 */
export interface PluggableDatabaseManagementsManagementState {
    /**
     * 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.PluggableDatabaseManagementsManagementConnectionString>[] | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the CDB.
     */
    containerDatabaseId?: pulumi.Input<string | undefined>;
    /**
     * Data for the credential used to connect to the database.
     */
    credentialDetails?: pulumi.Input<inputs.Database.PluggableDatabaseManagementsManagementCredentialDetails | 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>;
    /**
     * (Updatable) A required field when set to `true` calls enable action and when set to `false` calls disable action.
     *
     *
     * ** 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
     */
    enablePluggabledatabasemanagement?: pulumi.Input<boolean | 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>;
    /**
     * 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>;
    /**
     * 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.PluggableDatabaseManagementsManagementPluggableDatabaseManagementConfig>[] | undefined>;
    /**
     * The port used to connect to the pluggable database.
     */
    port?: pulumi.Input<number | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint.
     */
    privateEndPointId?: pulumi.Input<string | undefined>;
    /**
     * Protocol used by the database connection.
     */
    protocol?: pulumi.Input<string | undefined>;
    /**
     * The role of the user that will be connecting to the pluggable database.
     */
    role?: pulumi.Input<string | undefined>;
    /**
     * The name of the Oracle Database service that will be used to connect to the database.
     */
    serviceName?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [secret](https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
     */
    sslSecretId?: pulumi.Input<string | undefined>;
    /**
     * The current state of the pluggable database.
     */
    state?: 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 PluggableDatabaseManagementsManagement resource.
 */
export interface PluggableDatabaseManagementsManagementArgs {
    /**
     * Data for the credential used to connect to the database.
     */
    credentialDetails: pulumi.Input<inputs.Database.PluggableDatabaseManagementsManagementCredentialDetails>;
    /**
     * (Updatable) A required field when set to `true` calls enable action and when set to `false` calls disable action.
     *
     *
     * ** 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
     */
    enablePluggabledatabasemanagement: pulumi.Input<boolean>;
    /**
     * The database [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm).
     */
    pluggableDatabaseId: pulumi.Input<string>;
    /**
     * The port used to connect to the pluggable database.
     */
    port?: pulumi.Input<number | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the private endpoint.
     */
    privateEndPointId: pulumi.Input<string>;
    /**
     * Protocol used by the database connection.
     */
    protocol?: pulumi.Input<string | undefined>;
    /**
     * The role of the user that will be connecting to the pluggable database.
     */
    role?: pulumi.Input<string | undefined>;
    /**
     * The name of the Oracle Database service that will be used to connect to the database.
     */
    serviceName: pulumi.Input<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [secret](https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htm#concepts).
     */
    sslSecretId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=pluggableDatabaseManagementsManagement.d.ts.map