import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
 * This resource provides the Backup Destination resource in Oracle Cloud Infrastructure Database service.
 * Api doc link for the resource: https://docs.oracle.com/iaas/api/#/en/database/latest/BackupDestination
 *
 * Example terraform configs related to the resource : https://github.com/oracle/terraform-provider-oci/tree/master/examples/database
 *
 * Creates a backup destination in an Exadata Cloud@Customer system.
 *
 * ## Example Usage
 *
 * ```typescript
 * import * as pulumi from "@pulumi/pulumi";
 * import * as oci from "@pulumi/oci";
 *
 * const testBackupDestination = new oci.database.BackupDestination("test_backup_destination", {
 *     compartmentId: compartmentId,
 *     displayName: backupDestinationDisplayName,
 *     type: backupDestinationType,
 *     connectionString: backupDestinationConnectionString,
 *     definedTags: backupDestinationDefinedTags,
 *     freeformTags: {
 *         Department: "Finance",
 *     },
 *     localMountPointPath: backupDestinationLocalMountPointPath,
 *     mountTypeDetails: {
 *         mountType: backupDestinationMountTypeDetailsMountType,
 *         localMountPointPath: backupDestinationMountTypeDetailsLocalMountPointPath,
 *         nfsServers: backupDestinationMountTypeDetailsNfsServer,
 *         nfsServerExport: backupDestinationMountTypeDetailsNfsServerExport,
 *     },
 *     vpcUsers: backupDestinationVpcUsers,
 * });
 * ```
 *
 * ## Import
 *
 * BackupDestinations can be imported using the `id`, e.g.
 *
 * ```sh
 * $ pulumi import oci:Database/backupDestination:BackupDestination test_backup_destination "id"
 * ```
 */
export declare class BackupDestination extends pulumi.CustomResource {
    /**
     * Get an existing BackupDestination 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?: BackupDestinationState, opts?: pulumi.CustomResourceOptions): BackupDestination;
    /**
     * Returns true if the given object is an instance of BackupDestination.  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 BackupDestination;
    /**
     * List of databases associated with the backup destination.
     */
    readonly associatedDatabases: pulumi.Output<outputs.Database.BackupDestinationAssociatedDatabase[]>;
    /**
     * Indicates the number of long term backups of Autonomous Databases associated with this backup destination.
     */
    readonly associatedLongTermBackupCount: pulumi.Output<number>;
    /**
     * List of long term backups of Autonomous Databases associated with this backup destination.The maximum associated number of long term backup listed here would be 1024.
     */
    readonly associatedLongTermBackups: pulumi.Output<outputs.Database.BackupDestinationAssociatedLongTermBackup[]>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    readonly compartmentId: pulumi.Output<string>;
    /**
     * (Updatable) The connection string for connecting to the Recovery Appliance.
     */
    readonly connectionString: pulumi.Output<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).
     */
    readonly definedTags: pulumi.Output<{
        [key: string]: string;
    }>;
    /**
     * The user-provided name of the backup destination.
     */
    readonly displayName: pulumi.Output<string>;
    /**
     * (Updatable) 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;
    }>;
    /**
     * A descriptive text associated with the lifecycleState. Typically contains additional displayable text
     */
    readonly lifecycleDetails: pulumi.Output<string>;
    /**
     * (Updatable) **Deprecated.** The local directory path on each VM cluster node where the NFS server location is mounted. The local directory path and the NFS server location must each be the same across all of the VM cluster nodes. Ensure that the NFS mount is maintained continuously on all of the VM cluster nodes. This field is deprecated. Use the mountTypeDetails field instead to specify the mount type for NFS.
     *
     * @deprecated The 'local_mount_point_path' field has been deprecated. Please use 'local_mount_point_path under mount_type_details' instead.
     */
    readonly localMountPointPath: pulumi.Output<string>;
    /**
     * Mount type details for backup destination.
     */
    readonly mountTypeDetails: pulumi.Output<outputs.Database.BackupDestinationMountTypeDetails>;
    /**
     * NFS Mount type for backup destination.
     */
    readonly nfsMountType: pulumi.Output<string>;
    /**
     * Specifies the directory on which to mount the file system
     */
    readonly nfsServerExport: pulumi.Output<string>;
    /**
     * Host names or IP addresses for NFS Auto mount.
     */
    readonly nfsServers: pulumi.Output<string[]>;
    /**
     * The current lifecycle state of the backup destination.
     */
    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 time when the total storage size and the utilized storage size of the backup destination are updated.
     */
    readonly timeAtWhichStorageDetailsAreUpdated: pulumi.Output<string>;
    /**
     * The date and time the backup destination was created.
     */
    readonly timeCreated: pulumi.Output<string>;
    /**
     * The total storage size of the backup destination in GBs, rounded to the nearest integer.
     */
    readonly totalStorageSizeInGbs: pulumi.Output<number>;
    /**
     * Type of the backup destination.
     */
    readonly type: pulumi.Output<string>;
    /**
     * The total amount of space utilized on the backup destination (in GBs), rounded to the nearest integer.
     */
    readonly utilizedStorageSizeInGbs: pulumi.Output<number>;
    /**
     * (Updatable) The Virtual Private Catalog (VPC) users that are used to access the Recovery Appliance.
     *
     *
     * ** 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 vpcUsers: pulumi.Output<string[] | undefined>;
    /**
     * Create a BackupDestination 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: BackupDestinationArgs, opts?: pulumi.CustomResourceOptions);
}
/**
 * Input properties used for looking up and filtering BackupDestination resources.
 */
export interface BackupDestinationState {
    /**
     * List of databases associated with the backup destination.
     */
    associatedDatabases?: pulumi.Input<pulumi.Input<inputs.Database.BackupDestinationAssociatedDatabase>[] | undefined>;
    /**
     * Indicates the number of long term backups of Autonomous Databases associated with this backup destination.
     */
    associatedLongTermBackupCount?: pulumi.Input<number | undefined>;
    /**
     * List of long term backups of Autonomous Databases associated with this backup destination.The maximum associated number of long term backup listed here would be 1024.
     */
    associatedLongTermBackups?: pulumi.Input<pulumi.Input<inputs.Database.BackupDestinationAssociatedLongTermBackup>[] | undefined>;
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) The connection string for connecting to the Recovery Appliance.
     */
    connectionString?: 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 backup destination.
     */
    displayName?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) 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>;
    /**
     * A descriptive text associated with the lifecycleState. Typically contains additional displayable text
     */
    lifecycleDetails?: pulumi.Input<string | undefined>;
    /**
     * (Updatable) **Deprecated.** The local directory path on each VM cluster node where the NFS server location is mounted. The local directory path and the NFS server location must each be the same across all of the VM cluster nodes. Ensure that the NFS mount is maintained continuously on all of the VM cluster nodes. This field is deprecated. Use the mountTypeDetails field instead to specify the mount type for NFS.
     *
     * @deprecated The 'local_mount_point_path' field has been deprecated. Please use 'local_mount_point_path under mount_type_details' instead.
     */
    localMountPointPath?: pulumi.Input<string | undefined>;
    /**
     * Mount type details for backup destination.
     */
    mountTypeDetails?: pulumi.Input<inputs.Database.BackupDestinationMountTypeDetails | undefined>;
    /**
     * NFS Mount type for backup destination.
     */
    nfsMountType?: pulumi.Input<string | undefined>;
    /**
     * Specifies the directory on which to mount the file system
     */
    nfsServerExport?: pulumi.Input<string | undefined>;
    /**
     * Host names or IP addresses for NFS Auto mount.
     */
    nfsServers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
    /**
     * The current lifecycle state of the backup destination.
     */
    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 time when the total storage size and the utilized storage size of the backup destination are updated.
     */
    timeAtWhichStorageDetailsAreUpdated?: pulumi.Input<string | undefined>;
    /**
     * The date and time the backup destination was created.
     */
    timeCreated?: pulumi.Input<string | undefined>;
    /**
     * The total storage size of the backup destination in GBs, rounded to the nearest integer.
     */
    totalStorageSizeInGbs?: pulumi.Input<number | undefined>;
    /**
     * Type of the backup destination.
     */
    type?: pulumi.Input<string | undefined>;
    /**
     * The total amount of space utilized on the backup destination (in GBs), rounded to the nearest integer.
     */
    utilizedStorageSizeInGbs?: pulumi.Input<number | undefined>;
    /**
     * (Updatable) The Virtual Private Catalog (VPC) users that are used to access the Recovery Appliance.
     *
     *
     * ** 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
     */
    vpcUsers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
/**
 * The set of arguments for constructing a BackupDestination resource.
 */
export interface BackupDestinationArgs {
    /**
     * (Updatable) The [OCID](https://docs.cloud.oracle.com/iaas/Content/General/Concepts/identifiers.htm) of the compartment.
     */
    compartmentId: pulumi.Input<string>;
    /**
     * (Updatable) The connection string for connecting to the Recovery Appliance.
     */
    connectionString?: 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 backup destination.
     */
    displayName: pulumi.Input<string>;
    /**
     * (Updatable) 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>;
    /**
     * (Updatable) **Deprecated.** The local directory path on each VM cluster node where the NFS server location is mounted. The local directory path and the NFS server location must each be the same across all of the VM cluster nodes. Ensure that the NFS mount is maintained continuously on all of the VM cluster nodes. This field is deprecated. Use the mountTypeDetails field instead to specify the mount type for NFS.
     *
     * @deprecated The 'local_mount_point_path' field has been deprecated. Please use 'local_mount_point_path under mount_type_details' instead.
     */
    localMountPointPath?: pulumi.Input<string | undefined>;
    /**
     * Mount type details for backup destination.
     */
    mountTypeDetails?: pulumi.Input<inputs.Database.BackupDestinationMountTypeDetails | undefined>;
    /**
     * Type of the backup destination.
     */
    type: pulumi.Input<string>;
    /**
     * (Updatable) The Virtual Private Catalog (VPC) users that are used to access the Recovery Appliance.
     *
     *
     * ** 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
     */
    vpcUsers?: pulumi.Input<pulumi.Input<string>[] | undefined>;
}
//# sourceMappingURL=backupDestination.d.ts.map