import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Manages a Recovery Services Vault. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "tfex-recovery_vault", * location: "West Europe", * }); * const vault = new azure.recoveryservices.Vault("vault", { * name: "example-recovery-vault", * location: example.location, * resourceGroupName: example.name, * sku: "Standard", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.RecoveryServices` - 2024-04-01, 2024-01-01 * * ## Import * * Recovery Services Vaults can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:recoveryservices/vault:Vault vault1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.RecoveryServices/vaults/vault1 * ``` */ export declare class Vault extends pulumi.CustomResource { /** * Get an existing Vault 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, state?: VaultState, opts?: pulumi.CustomResourceOptions): Vault; /** * Returns true if the given object is an instance of Vault. 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 Vault; /** * Whether to enable the Classic experience for VMware replication. If set to `false` VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created. */ readonly classicVmwareReplicationEnabled: pulumi.Output; /** * Is cross region restore enabled for this Vault? Only can be `true`, when `storageModeType` is `GeoRedundant`. Defaults to `false`. * * > **Note:** Once `crossRegionRestoreEnabled` is set to `true`, changing it back to `false` forces a new Recovery Service Vault to be created. */ readonly crossRegionRestoreEnabled: pulumi.Output; /** * An `encryption` block as defined below. Required with `identity`. * * !> **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it. */ readonly encryption: pulumi.Output; /** * An `identity` block as defined below. */ readonly identity: pulumi.Output; /** * Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`. * * > **Note:** Once `immutability` is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created. */ readonly immutability: pulumi.Output; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * A `monitoring` block as defined below. */ readonly monitoring: pulumi.Output; /** * Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * Is it enabled to access the vault from public networks. Defaults to `true`. */ readonly publicNetworkAccessEnabled: pulumi.Output; /** * The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created. */ readonly resourceGroupName: pulumi.Output; /** * Sets the vault's SKU. Possible values include: `Standard`, `RS0`. */ readonly sku: pulumi.Output; /** * @deprecated `softDeleteEnabled` has been deprecated and will be removed in v5.0 of the AzureRM Provider. Soft delete is always enabled by default as part of Azure's secure by default policy (https://learn.microsoft.com/en-us/azure/backup/secure-by-default) */ readonly softDeleteEnabled: pulumi.Output; /** * The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`. */ readonly storageModeType: pulumi.Output; /** * A mapping of tags to assign to the resource. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a Vault 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: VaultArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Vault resources. */ export interface VaultState { /** * Whether to enable the Classic experience for VMware replication. If set to `false` VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created. */ classicVmwareReplicationEnabled?: pulumi.Input; /** * Is cross region restore enabled for this Vault? Only can be `true`, when `storageModeType` is `GeoRedundant`. Defaults to `false`. * * > **Note:** Once `crossRegionRestoreEnabled` is set to `true`, changing it back to `false` forces a new Recovery Service Vault to be created. */ crossRegionRestoreEnabled?: pulumi.Input; /** * An `encryption` block as defined below. Required with `identity`. * * !> **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it. */ encryption?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`. * * > **Note:** Once `immutability` is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created. */ immutability?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * A `monitoring` block as defined below. */ monitoring?: pulumi.Input; /** * Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Is it enabled to access the vault from public networks. Defaults to `true`. */ publicNetworkAccessEnabled?: pulumi.Input; /** * The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created. */ resourceGroupName?: pulumi.Input; /** * Sets the vault's SKU. Possible values include: `Standard`, `RS0`. */ sku?: pulumi.Input; /** * @deprecated `softDeleteEnabled` has been deprecated and will be removed in v5.0 of the AzureRM Provider. Soft delete is always enabled by default as part of Azure's secure by default policy (https://learn.microsoft.com/en-us/azure/backup/secure-by-default) */ softDeleteEnabled?: pulumi.Input; /** * The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`. */ storageModeType?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a Vault resource. */ export interface VaultArgs { /** * Whether to enable the Classic experience for VMware replication. If set to `false` VMware machines will be protected using the new stateless ASR replication appliance. Changing this forces a new resource to be created. */ classicVmwareReplicationEnabled?: pulumi.Input; /** * Is cross region restore enabled for this Vault? Only can be `true`, when `storageModeType` is `GeoRedundant`. Defaults to `false`. * * > **Note:** Once `crossRegionRestoreEnabled` is set to `true`, changing it back to `false` forces a new Recovery Service Vault to be created. */ crossRegionRestoreEnabled?: pulumi.Input; /** * An `encryption` block as defined below. Required with `identity`. * * !> **Note:** Once Encryption with your own key has been Enabled it's not possible to Disable it. */ encryption?: pulumi.Input; /** * An `identity` block as defined below. */ identity?: pulumi.Input; /** * Immutability Settings of vault, possible values include: `Locked`, `Unlocked` and `Disabled`. * * > **Note:** Once `immutability` is set to `Locked`, changing it to other values forces a new Recovery Services Vault to be created. */ immutability?: pulumi.Input; /** * Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * A `monitoring` block as defined below. */ monitoring?: pulumi.Input; /** * Specifies the name of the Recovery Services Vault. Recovery Service Vault name must be 2 - 50 characters long, start with a letter, contain only letters, numbers and hyphens. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * Is it enabled to access the vault from public networks. Defaults to `true`. */ publicNetworkAccessEnabled?: pulumi.Input; /** * The name of the resource group in which to create the Recovery Services Vault. Changing this forces a new resource to be created. */ resourceGroupName: pulumi.Input; /** * Sets the vault's SKU. Possible values include: `Standard`, `RS0`. */ sku: pulumi.Input; /** * @deprecated `softDeleteEnabled` has been deprecated and will be removed in v5.0 of the AzureRM Provider. Soft delete is always enabled by default as part of Azure's secure by default policy (https://learn.microsoft.com/en-us/azure/backup/secure-by-default) */ softDeleteEnabled?: pulumi.Input; /** * The storage type of the Recovery Services Vault. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Defaults to `GeoRedundant`. */ storageModeType?: pulumi.Input; /** * A mapping of tags to assign to the resource. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }