All Downloads are FREE. Search and download functionalities are using the official Maven repository.
Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.dataprotection.BackupVaultArgs Maven / Gradle / Ivy
Go to download
A Pulumi package for creating and managing Microsoft Azure cloud resources, based on the Terraform azurerm provider. We recommend using the [Azure Native provider](https://github.com/pulumi/pulumi-azure-native) to provision Azure infrastructure. Azure Native provides complete coverage of Azure resources and same-day access to new resources and resource updates.
// *** WARNING: this file was generated by pulumi-java-gen. ***
// *** Do not edit by hand unless you're certain you know what you are doing! ***
package com.pulumi.azure.dataprotection;
import com.pulumi.azure.dataprotection.inputs.BackupVaultIdentityArgs;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class BackupVaultArgs extends com.pulumi.resources.ResourceArgs {
public static final BackupVaultArgs Empty = new BackupVaultArgs();
/**
* Whether to enable cross-region restore for the Backup Vault.
*
* > **Note:** The `cross_region_restore_enabled` can only be specified when `redundancy` is specified for `GeoRedundant`. Once `cross_region_restore_enabled` is enabled, it cannot be disabled.
*
*/
@Import(name="crossRegionRestoreEnabled")
private @Nullable Output crossRegionRestoreEnabled;
/**
* @return Whether to enable cross-region restore for the Backup Vault.
*
* > **Note:** The `cross_region_restore_enabled` can only be specified when `redundancy` is specified for `GeoRedundant`. Once `cross_region_restore_enabled` is enabled, it cannot be disabled.
*
*/
public Optional> crossRegionRestoreEnabled() {
return Optional.ofNullable(this.crossRegionRestoreEnabled);
}
/**
* Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
*
* > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
*
*/
@Import(name="datastoreType", required=true)
private Output datastoreType;
/**
* @return Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
*
* > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
*
*/
public Output datastoreType() {
return this.datastoreType;
}
/**
* An `identity` block as defined below.
*
*/
@Import(name="identity")
private @Nullable Output identity;
/**
* @return An `identity` block as defined below.
*
*/
public Optional> identity() {
return Optional.ofNullable(this.identity);
}
/**
* The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
*
*/
@Import(name="redundancy", required=true)
private Output redundancy;
/**
* @return Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
*
*/
public Output redundancy() {
return this.redundancy;
}
/**
* The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
*
* > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.
*
*/
@Import(name="retentionDurationInDays")
private @Nullable Output retentionDurationInDays;
/**
* @return The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
*
* > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.
*
*/
public Optional> retentionDurationInDays() {
return Optional.ofNullable(this.retentionDurationInDays);
}
/**
* The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
*
* > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.
*
*/
@Import(name="softDelete")
private @Nullable Output softDelete;
/**
* @return The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
*
* > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.
*
*/
public Optional> softDelete() {
return Optional.ofNullable(this.softDelete);
}
/**
* A mapping of tags which should be assigned to the Backup Vault.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return A mapping of tags which should be assigned to the Backup Vault.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
private BackupVaultArgs() {}
private BackupVaultArgs(BackupVaultArgs $) {
this.crossRegionRestoreEnabled = $.crossRegionRestoreEnabled;
this.datastoreType = $.datastoreType;
this.identity = $.identity;
this.location = $.location;
this.name = $.name;
this.redundancy = $.redundancy;
this.resourceGroupName = $.resourceGroupName;
this.retentionDurationInDays = $.retentionDurationInDays;
this.softDelete = $.softDelete;
this.tags = $.tags;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(BackupVaultArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private BackupVaultArgs $;
public Builder() {
$ = new BackupVaultArgs();
}
public Builder(BackupVaultArgs defaults) {
$ = new BackupVaultArgs(Objects.requireNonNull(defaults));
}
/**
* @param crossRegionRestoreEnabled Whether to enable cross-region restore for the Backup Vault.
*
* > **Note:** The `cross_region_restore_enabled` can only be specified when `redundancy` is specified for `GeoRedundant`. Once `cross_region_restore_enabled` is enabled, it cannot be disabled.
*
* @return builder
*
*/
public Builder crossRegionRestoreEnabled(@Nullable Output crossRegionRestoreEnabled) {
$.crossRegionRestoreEnabled = crossRegionRestoreEnabled;
return this;
}
/**
* @param crossRegionRestoreEnabled Whether to enable cross-region restore for the Backup Vault.
*
* > **Note:** The `cross_region_restore_enabled` can only be specified when `redundancy` is specified for `GeoRedundant`. Once `cross_region_restore_enabled` is enabled, it cannot be disabled.
*
* @return builder
*
*/
public Builder crossRegionRestoreEnabled(Boolean crossRegionRestoreEnabled) {
return crossRegionRestoreEnabled(Output.of(crossRegionRestoreEnabled));
}
/**
* @param datastoreType Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
*
* > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
*
* @return builder
*
*/
public Builder datastoreType(Output datastoreType) {
$.datastoreType = datastoreType;
return this;
}
/**
* @param datastoreType Specifies the type of the data store. Possible values are `ArchiveStore`, `OperationalStore`, `SnapshotStore` and `VaultStore`. Changing this forces a new resource to be created.
*
* > **Note:** The `SnapshotStore` will be removed in version 4.0 as it has been replaced by `OperationalStore`.
*
* @return builder
*
*/
public Builder datastoreType(String datastoreType) {
return datastoreType(Output.of(datastoreType));
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(@Nullable Output identity) {
$.identity = identity;
return this;
}
/**
* @param identity An `identity` block as defined below.
*
* @return builder
*
*/
public Builder identity(BackupVaultIdentityArgs identity) {
return identity(Output.of(identity));
}
/**
* @param location The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The Azure Region where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param name Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name Specifies the name of the Backup Vault. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param redundancy Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder redundancy(Output redundancy) {
$.redundancy = redundancy;
return this;
}
/**
* @param redundancy Specifies the backup storage redundancy. Possible values are `GeoRedundant`, `LocallyRedundant` and `ZoneRedundant`. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder redundancy(String redundancy) {
return redundancy(Output.of(redundancy));
}
/**
* @param resourceGroupName The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the Resource Group where the Backup Vault should exist. Changing this forces a new Backup Vault to be created.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
*
* > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.
*
* @return builder
*
*/
public Builder retentionDurationInDays(@Nullable Output retentionDurationInDays) {
$.retentionDurationInDays = retentionDurationInDays;
return this;
}
/**
* @param retentionDurationInDays The soft delete retention duration for this Backup Vault. Possible values are between `14` and `180`. Defaults to `14`.
*
* > **Note:** The `retention_duration_in_days` is the number of days for which deleted data is retained before being permanently deleted. Retention period till 14 days are free of cost, however, retention beyond 14 days may incur additional charges. The `retention_duration_in_days` is required when the `soft_delete` is set to `On`.
*
* @return builder
*
*/
public Builder retentionDurationInDays(Double retentionDurationInDays) {
return retentionDurationInDays(Output.of(retentionDurationInDays));
}
/**
* @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
*
* > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.
*
* @return builder
*
*/
public Builder softDelete(@Nullable Output softDelete) {
$.softDelete = softDelete;
return this;
}
/**
* @param softDelete The state of soft delete for this Backup Vault. Possible values are `AlwaysOn`, `Off` and `On`. Defaults to `On`.
*
* > **Note:** Once the `soft_delete` is set to `AlwaysOn`, the setting cannot be changed.
*
* @return builder
*
*/
public Builder softDelete(String softDelete) {
return softDelete(Output.of(softDelete));
}
/**
* @param tags A mapping of tags which should be assigned to the Backup Vault.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags A mapping of tags which should be assigned to the Backup Vault.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
public BackupVaultArgs build() {
if ($.datastoreType == null) {
throw new MissingRequiredPropertyException("BackupVaultArgs", "datastoreType");
}
if ($.redundancy == null) {
throw new MissingRequiredPropertyException("BackupVaultArgs", "redundancy");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("BackupVaultArgs", "resourceGroupName");
}
return $;
}
}
}