import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Db Home resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/DbHome
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * Creates a new Database Home in the specified database system based on the request parameters you provide. Applies only to bare metal and Exadata systems.
 *
 * **Important:** Unless `enableDatabaseDelete` is explicitly set to true:
 * * Terraform will not delete the database within the Db Home configuration but rather remove it from the config and state file.
 * * This leads to dangling resources which are not managed via Terraform unless explicitly imported
 *
 * **Important:** When `autoBackupEnabled` is not present in the configuration or set to true, the `autoBackupWindow` and `autoFullBackupWindow` will be ignored
 *
 * ## Example Usage
 *
 * ## Import
 *
 * DbHomes can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Database/dbHome:DbHome test_db_home "id"
 * ```
 *
 * Import is only supported for source=NONE
 *
 * database.0.admin_password is not returned by the service for security reasons. Add the following to the resource:
 *
 * ```sh
 *     lifecycle {
 *         ignore_changes = ["database.0.admin_password"]
 *     }
 * ```
 *
 * The creation of an oci.Database.DbSystem requires that it be created with exactly one oci_database_db_home. Therefore the first db home will have to be a property of the db system resource and any further db homes to be added to the db system will have to be added as first class resources using "oci.Database.DbHome".
 */
export declare class DbHome extends pulumi.CustomResource {
    /**
     * Get an existing DbHome 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?: DbHomeState, opts?: pulumi.CustomResourceOptions): DbHome;
    /**
     * Returns true if the given object is an instance of DbHome.  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 DbHome;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) Details for creating a database.
     *
     * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
     */
    readonly database: pulumi.Output<outputs.Database.DbHomeDatabase>;
    /**
     * The database software image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    readonly databaseSoftwareImageId: pulumi.Output<string>;
    /**
     * The location of the Oracle Database Home.
     */
    readonly dbHomeLocation: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB system.
     */
    readonly dbSystemId: pulumi.Output<string>;
    /**
     * A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
     *
     * This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, privateEndpointLabel, nsgIds, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.
     */
    readonly dbVersion: pulumi.Output<string>;
    /**
     * (Updatable) 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;
    }>;
    /**
     * The user-provided name of the Database Home.
     */
    readonly displayName: pulumi.Output<string>;
    readonly enableDatabaseDelete: pulumi.Output<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"}`
     */
    readonly freeformTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * If true, the customer acknowledges that the specified Oracle Database software is an older release that is not currently supported by OCI.
     */
    readonly isDesupportedVersion: pulumi.Output<boolean>;
    /**
     * Indicates whether unified autiding is enabled or not. Set to True to enable unified auditing on respective DBHome.
     */
    readonly isUnifiedAuditingEnabled: pulumi.Output<boolean>;
    /**
     * The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.
     */
    readonly kmsKeyId: pulumi.Output<string>;
    /**
     * The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.
     */
    readonly kmsKeyVersionId: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last patch history. This value is updated as soon as a patch operation is started.
     */
    readonly lastPatchHistoryEntryId: pulumi.Output<string>;
    /**
     * Additional information about the current lifecycle state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * The source of database: NONE for creating a new database. DB_BACKUP for creating a new database by restoring from a database backup. VM_CLUSTER_NEW for creating a database for VM Cluster.
     */
    readonly source: pulumi.Output<string>;
    /**
     * The current state of the Database Home.
     */
    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 date and time the Database Home was created.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM cluster.
     *
     *
     * ** 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 vmClusterId: pulumi.Output<string>;
    /**
     * Create a DbHome 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?: DbHomeArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering DbHome resources.
 */
export interface DbHomeState {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Details for creating a database.
     *
     * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
     */
    database?: pulumi.Input<inputs.Database.DbHomeDatabase | undefined>;
    /**
     * The database software image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    databaseSoftwareImageId?: pulumi.Input<string | undefined>;
    /**
     * The location of the Oracle Database Home.
     */
    dbHomeLocation?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB system.
     */
    dbSystemId?: pulumi.Input<string | undefined>;
    /**
     * A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
     *
     * This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, privateEndpointLabel, nsgIds, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.
     */
    dbVersion?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) 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>;
    /**
     * The user-provided name of the Database Home.
     */
    displayName?: pulumi.Input<string | undefined>;
    enableDatabaseDelete?: 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>;
    /**
     * If true, the customer acknowledges that the specified Oracle Database software is an older release that is not currently supported by OCI.
     */
    isDesupportedVersion?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether unified autiding is enabled or not. Set to True to enable unified auditing on respective DBHome.
     */
    isUnifiedAuditingEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.
     */
    kmsKeyId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.
     */
    kmsKeyVersionId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the last patch history. This value is updated as soon as a patch operation is started.
     */
    lastPatchHistoryEntryId?: pulumi.Input<string | undefined>;
    /**
     * Additional information about the current lifecycle state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * The source of database: NONE for creating a new database. DB_BACKUP for creating a new database by restoring from a database backup. VM_CLUSTER_NEW for creating a database for VM Cluster.
     */
    source?: pulumi.Input<string | undefined>;
    /**
     * The current state of the Database Home.
     */
    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 date and time the Database Home was created.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM cluster.
     *
     *
     * ** 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
     */
    vmClusterId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a DbHome resource.
 */
export interface DbHomeArgs {
    /**
     * (Updatable) Details for creating a database.
     *
     * **Warning:** Oracle recommends that you avoid using any confidential information when you supply string values using the API.
     */
    database?: pulumi.Input<inputs.Database.DbHomeDatabase | undefined>;
    /**
     * The database software image [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm)
     */
    databaseSoftwareImageId?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the DB system.
     */
    dbSystemId?: pulumi.Input<string | undefined>;
    /**
     * A valid Oracle Database version. For a list of supported versions, use the ListDbVersions operation.
     *
     * This cannot be updated in parallel with any of the following: licenseModel, dbEdition, cpuCoreCount, computeCount, computeModel, adminPassword, whitelistedIps, isMTLSConnectionRequired, openMode, permissionLevel, dbWorkload, privateEndpointLabel, nsgIds, isRefreshable, dbName, scheduledOperations, dbToolsDetails, isLocalDataGuardEnabled, or isFreeTier.
     */
    dbVersion?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) 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>;
    /**
     * The user-provided name of the Database Home.
     */
    displayName?: pulumi.Input<string | undefined>;
    enableDatabaseDelete?: 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>;
    /**
     * If true, the customer acknowledges that the specified Oracle Database software is an older release that is not currently supported by OCI.
     */
    isDesupportedVersion?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether unified autiding is enabled or not. Set to True to enable unified auditing on respective DBHome.
     */
    isUnifiedAuditingEnabled?: pulumi.Input<boolean | undefined>;
    /**
     * The OCID of the key container that is used as the master encryption key in database transparent data encryption (TDE) operations.
     */
    kmsKeyId?: pulumi.Input<string | undefined>;
    /**
     * The OCID of the key container version that is used in database transparent data encryption (TDE) operations KMS Key can have multiple key versions. If none is specified, the current key version (latest) of the Key Id is used for the operation. Autonomous AI Database Serverless does not use key versions, hence is not applicable for Autonomous AI Database Serverless instances.
     */
    kmsKeyVersionId?: pulumi.Input<string | undefined>;
    /**
     * The source of database: NONE for creating a new database. DB_BACKUP for creating a new database by restoring from a database backup. VM_CLUSTER_NEW for creating a database for VM Cluster.
     */
    source?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the VM cluster.
     *
     *
     * ** 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
     */
    vmClusterId?: pulumi.Input<string | undefined>;
}
//# sourceMappingURL=dbHome.d.ts.map