import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Autonomous Database Backup resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/AutonomousDatabaseBackup
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * Creates a new Autonomous AI Database backup for the specified database based on the provided request parameters.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testAutonomousDatabaseBackup = new oci.database.AutonomousDatabaseBackup("test_autonomous_database_backup", {
 *     autonomousDatabaseId: testAutonomousDatabase.id,
 *     backupDestinationDetails: {
 *         type: autonomousDatabaseBackupBackupDestinationDetailsType,
 *         backupRetentionPolicyOnTerminate: autonomousDatabaseBackupBackupDestinationDetailsBackupRetentionPolicyOnTerminate,
 *         dbrsPolicyId: testPolicy.id,
 *         id: autonomousDatabaseBackupBackupDestinationDetailsId,
 *         internetProxy: autonomousDatabaseBackupBackupDestinationDetailsInternetProxy,
 *         isRemote: autonomousDatabaseBackupBackupDestinationDetailsIsRemote === "true",
 *         isRetentionLockEnabled: autonomousDatabaseBackupBackupDestinationDetailsIsRetentionLockEnabled === "true",
 *         remoteRegion: autonomousDatabaseBackupBackupDestinationDetailsRemoteRegion,
 *         vpcPassword: autonomousDatabaseBackupBackupDestinationDetailsVpcPassword,
 *         vpcUser: autonomousDatabaseBackupBackupDestinationDetailsVpcUser,
 *     },
 *     displayName: autonomousDatabaseBackupDisplayName,
 *     isLongTermBackup: autonomousDatabaseBackupIsLongTermBackup === "true",
 *     retentionPeriodInDays: Number(autonomousDatabaseBackupRetentionPeriodInDays),
 * });
 * ```
 *
 * ## Import
 *
 * AutonomousDatabaseBackups can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Database/autonomousDatabaseBackup:AutonomousDatabaseBackup test_autonomous_database_backup "id"
 * ```
 */
export declare class AutonomousDatabaseBackup extends pulumi.CustomResource {
    /**
     * Get an existing AutonomousDatabaseBackup 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?: AutonomousDatabaseBackupState, opts?: pulumi.CustomResourceOptions): AutonomousDatabaseBackup;
    /**
     * Returns true if the given object is an instance of AutonomousDatabaseBackup.  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 AutonomousDatabaseBackup;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous AI Database backup.
     */
    readonly autonomousDatabaseId: pulumi.Output<string>;
    /**
     * Backup destination details
     */
    readonly backupDestinationDetails: pulumi.Output<outputs.Database.AutonomousDatabaseBackupBackupDestinationDetails>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * The size of the database in terabytes at the time the backup was taken.
     */
    readonly databaseSizeInTbs: pulumi.Output<number>;
    /**
     * A valid Oracle AI Database version for Autonomous AI Database. When you specify 23ai for dbversion, the system will provision a 23ai database, but the UI will display it as 26ai. When you specify 26ai for dbversion, the system will provision and display a 26ai database as expected. For new databases, it is recommended to use either 19c or 26ai.
     */
    readonly dbVersion: pulumi.Output<string>;
    /**
     * The user-friendly name for the backup. The name does not have to be unique.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * The infrastructure type this resource belongs to.
     */
    readonly infrastructureType: pulumi.Output<string>;
    /**
     * Indicates whether the backup is user-initiated or automatic.
     */
    readonly isAutomatic: pulumi.Output<boolean>;
    /**
     * Indicates whether the backup is long-term
     */
    readonly isLongTermBackup: pulumi.Output<boolean>;
    /**
     * Indicates whether the backup can be used to restore the associated Autonomous AI Database.
     */
    readonly isRestorable: pulumi.Output<boolean>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key store of Oracle Vault.
     */
    readonly keyStoreId: pulumi.Output<string>;
    /**
     * The wallet name for Oracle Key Vault.
     */
    readonly keyStoreWalletName: pulumi.Output<string>;
    /**
     * 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>;
    /**
     * Additional information about the current lifecycle state.
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * Name of the region in which backup is taken in.
     */
    readonly region: pulumi.Output<string>;
    /**
     * (Updatable) Retention period, in days, for long-term backups
     *
     *
     * ** 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 retentionPeriodInDays: pulumi.Output<number>;
    /**
     * The backup size in terrabytes (TB).
     */
    readonly sizeInTbs: pulumi.Output<number>;
    /**
     * Source Autonomous Database details.
     */
    readonly sourceDatabaseDetails: pulumi.Output<outputs.Database.AutonomousDatabaseBackupSourceDatabaseDetail[]>;
    /**
     * The current state of the backup.
     */
    readonly state: pulumi.Output<string>;
    /**
     * Timestamp until when the backup will be available
     */
    readonly timeAvailableTill: pulumi.Output<string>;
    /**
     * The date and time the backup completed.
     */
    readonly timeEnded: pulumi.Output<string>;
    /**
     * The date and time the backup started.
     */
    readonly timeStarted: pulumi.Output<string>;
    /**
     * The type of backup.
     */
    readonly type: pulumi.Output<string>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [vault](https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htm#concepts). This parameter and `secretId` are required for Customer Managed Keys.
     */
    readonly vaultId: pulumi.Output<string>;
    /**
     * Create a AutonomousDatabaseBackup 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: AutonomousDatabaseBackupArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering AutonomousDatabaseBackup resources.
 */
export interface AutonomousDatabaseBackupState {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous AI Database backup.
     */
    autonomousDatabaseId?: pulumi.Input<string | undefined>;
    /**
     * Backup destination details
     */
    backupDestinationDetails?: pulumi.Input<inputs.Database.AutonomousDatabaseBackupBackupDestinationDetails | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * The size of the database in terabytes at the time the backup was taken.
     */
    databaseSizeInTbs?: pulumi.Input<number | undefined>;
    /**
     * A valid Oracle AI Database version for Autonomous AI Database. When you specify 23ai for dbversion, the system will provision a 23ai database, but the UI will display it as 26ai. When you specify 26ai for dbversion, the system will provision and display a 26ai database as expected. For new databases, it is recommended to use either 19c or 26ai.
     */
    dbVersion?: pulumi.Input<string | undefined>;
    /**
     * The user-friendly name for the backup. The name does not have to be unique.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * The infrastructure type this resource belongs to.
     */
    infrastructureType?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the backup is user-initiated or automatic.
     */
    isAutomatic?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the backup is long-term
     */
    isLongTermBackup?: pulumi.Input<boolean | undefined>;
    /**
     * Indicates whether the backup can be used to restore the associated Autonomous AI Database.
     */
    isRestorable?: pulumi.Input<boolean | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the key store of Oracle Vault.
     */
    keyStoreId?: pulumi.Input<string | undefined>;
    /**
     * The wallet name for Oracle Key Vault.
     */
    keyStoreWalletName?: pulumi.Input<string | 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>;
    /**
     * Additional information about the current lifecycle state.
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * Name of the region in which backup is taken in.
     */
    region?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) Retention period, in days, for long-term backups
     *
     *
     * ** 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
     */
    retentionPeriodInDays?: pulumi.Input<number | undefined>;
    /**
     * The backup size in terrabytes (TB).
     */
    sizeInTbs?: pulumi.Input<number | undefined>;
    /**
     * Source Autonomous Database details.
     */
    sourceDatabaseDetails?: pulumi.Input<pulumi.Input<inputs.Database.AutonomousDatabaseBackupSourceDatabaseDetail>[] | undefined>;
    /**
     * The current state of the backup.
     */
    state?: pulumi.Input<string | undefined>;
    /**
     * Timestamp until when the backup will be available
     */
    timeAvailableTill?: pulumi.Input<string | undefined>;
    /**
     * The date and time the backup completed.
     */
    timeEnded?: pulumi.Input<string | undefined>;
    /**
     * The date and time the backup started.
     */
    timeStarted?: pulumi.Input<string | undefined>;
    /**
     * The type of backup.
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Oracle Cloud Infrastructure [vault](https://docs.cloud.oracle.com/iaas/Content/KeyManagement/Concepts/keyoverview.htm#concepts). This parameter and `secretId` are required for Customer Managed Keys.
     */
    vaultId?: pulumi.Input<string | undefined>;
}
/**
 * The set of arguments for constructing a AutonomousDatabaseBackup resource.
 */
export interface AutonomousDatabaseBackupArgs {
    /**
     * The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the Autonomous AI Database backup.
     */
    autonomousDatabaseId: pulumi.Input<string>;
    /**
     * Backup destination details
     */
    backupDestinationDetails?: pulumi.Input<inputs.Database.AutonomousDatabaseBackupBackupDestinationDetails | undefined>;
    /**
     * The user-friendly name for the backup. The name does not have to be unique.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * Indicates whether the backup is long-term
     */
    isLongTermBackup?: pulumi.Input<boolean | undefined>;
    /**
     * (Updatable) Retention period, in days, for long-term backups
     *
     *
     * ** 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
     */
    retentionPeriodInDays?: pulumi.Input<number | undefined>;
}
//# sourceMappingURL=autonomousDatabaseBackup.d.ts.map