com.pulumi.azure.mssql.outputs.ManagedDatabaseLongTermRetentionPolicy Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of azure Show documentation
Show all versions of azure Show documentation
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.mssql.outputs;
import com.pulumi.core.annotations.CustomType;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class ManagedDatabaseLongTermRetentionPolicy {
/**
* @return The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.
*
*/
private @Nullable String monthlyRetention;
/**
* @return The week of year to take the yearly backup. Value has to be between `1` and `52`.
*
*/
private @Nullable Integer weekOfYear;
/**
* @return The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.
*
*/
private @Nullable String weeklyRetention;
/**
* @return The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.
*
*/
private @Nullable String yearlyRetention;
private ManagedDatabaseLongTermRetentionPolicy() {}
/**
* @return The monthly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 120 months. e.g. `P1Y`, `P1M`, `P4W` or `P30D`.
*
*/
public Optional monthlyRetention() {
return Optional.ofNullable(this.monthlyRetention);
}
/**
* @return The week of year to take the yearly backup. Value has to be between `1` and `52`.
*
*/
public Optional weekOfYear() {
return Optional.ofNullable(this.weekOfYear);
}
/**
* @return The weekly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 520 weeks. e.g. `P1Y`, `P1M`, `P1W` or `P7D`.
*
*/
public Optional weeklyRetention() {
return Optional.ofNullable(this.weeklyRetention);
}
/**
* @return The yearly retention policy for an LTR backup in an ISO 8601 format. Valid value is between 1 to 10 years. e.g. `P1Y`, `P12M`, `P52W` or `P365D`.
*
*/
public Optional yearlyRetention() {
return Optional.ofNullable(this.yearlyRetention);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ManagedDatabaseLongTermRetentionPolicy defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private @Nullable String monthlyRetention;
private @Nullable Integer weekOfYear;
private @Nullable String weeklyRetention;
private @Nullable String yearlyRetention;
public Builder() {}
public Builder(ManagedDatabaseLongTermRetentionPolicy defaults) {
Objects.requireNonNull(defaults);
this.monthlyRetention = defaults.monthlyRetention;
this.weekOfYear = defaults.weekOfYear;
this.weeklyRetention = defaults.weeklyRetention;
this.yearlyRetention = defaults.yearlyRetention;
}
@CustomType.Setter
public Builder monthlyRetention(@Nullable String monthlyRetention) {
this.monthlyRetention = monthlyRetention;
return this;
}
@CustomType.Setter
public Builder weekOfYear(@Nullable Integer weekOfYear) {
this.weekOfYear = weekOfYear;
return this;
}
@CustomType.Setter
public Builder weeklyRetention(@Nullable String weeklyRetention) {
this.weeklyRetention = weeklyRetention;
return this;
}
@CustomType.Setter
public Builder yearlyRetention(@Nullable String yearlyRetention) {
this.yearlyRetention = yearlyRetention;
return this;
}
public ManagedDatabaseLongTermRetentionPolicy build() {
final var _resultValue = new ManagedDatabaseLongTermRetentionPolicy();
_resultValue.monthlyRetention = monthlyRetention;
_resultValue.weekOfYear = weekOfYear;
_resultValue.weeklyRetention = weeklyRetention;
_resultValue.yearlyRetention = yearlyRetention;
return _resultValue;
}
}
}