com.pulumi.mongodbatlas.outputs.CloudBackupSchedulePolicyItemYearly Maven / Gradle / Ivy
// *** 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.mongodbatlas.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class CloudBackupSchedulePolicyItemYearly {
/**
* @return Desired frequency of the new backup policy item specified by `frequency_type` (yearly in this case). The supported values for yearly policies are
*
*/
private Integer frequencyInterval;
/**
* @return Frequency associated with the backup policy item. For yearly policies, the frequency type is defined as `yearly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type.
*
*/
private @Nullable String frequencyType;
/**
* @return Unique identifier of the backup policy item.
*
*/
private @Nullable String id;
/**
* @return Scope of the backup policy item: `days`, `weeks`, `months`, or `years`.
*
*/
private String retentionUnit;
/**
* @return Value to associate with `retention_unit`. Yearly policy must have retention of at least 1 year.
*
*/
private Integer retentionValue;
private CloudBackupSchedulePolicyItemYearly() {}
/**
* @return Desired frequency of the new backup policy item specified by `frequency_type` (yearly in this case). The supported values for yearly policies are
*
*/
public Integer frequencyInterval() {
return this.frequencyInterval;
}
/**
* @return Frequency associated with the backup policy item. For yearly policies, the frequency type is defined as `yearly`. Note that this is a read-only value and not required in plan files - its value is implied from the policy resource type.
*
*/
public Optional frequencyType() {
return Optional.ofNullable(this.frequencyType);
}
/**
* @return Unique identifier of the backup policy item.
*
*/
public Optional id() {
return Optional.ofNullable(this.id);
}
/**
* @return Scope of the backup policy item: `days`, `weeks`, `months`, or `years`.
*
*/
public String retentionUnit() {
return this.retentionUnit;
}
/**
* @return Value to associate with `retention_unit`. Yearly policy must have retention of at least 1 year.
*
*/
public Integer retentionValue() {
return this.retentionValue;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(CloudBackupSchedulePolicyItemYearly defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private Integer frequencyInterval;
private @Nullable String frequencyType;
private @Nullable String id;
private String retentionUnit;
private Integer retentionValue;
public Builder() {}
public Builder(CloudBackupSchedulePolicyItemYearly defaults) {
Objects.requireNonNull(defaults);
this.frequencyInterval = defaults.frequencyInterval;
this.frequencyType = defaults.frequencyType;
this.id = defaults.id;
this.retentionUnit = defaults.retentionUnit;
this.retentionValue = defaults.retentionValue;
}
@CustomType.Setter
public Builder frequencyInterval(Integer frequencyInterval) {
if (frequencyInterval == null) {
throw new MissingRequiredPropertyException("CloudBackupSchedulePolicyItemYearly", "frequencyInterval");
}
this.frequencyInterval = frequencyInterval;
return this;
}
@CustomType.Setter
public Builder frequencyType(@Nullable String frequencyType) {
this.frequencyType = frequencyType;
return this;
}
@CustomType.Setter
public Builder id(@Nullable String id) {
this.id = id;
return this;
}
@CustomType.Setter
public Builder retentionUnit(String retentionUnit) {
if (retentionUnit == null) {
throw new MissingRequiredPropertyException("CloudBackupSchedulePolicyItemYearly", "retentionUnit");
}
this.retentionUnit = retentionUnit;
return this;
}
@CustomType.Setter
public Builder retentionValue(Integer retentionValue) {
if (retentionValue == null) {
throw new MissingRequiredPropertyException("CloudBackupSchedulePolicyItemYearly", "retentionValue");
}
this.retentionValue = retentionValue;
return this;
}
public CloudBackupSchedulePolicyItemYearly build() {
final var _resultValue = new CloudBackupSchedulePolicyItemYearly();
_resultValue.frequencyInterval = frequencyInterval;
_resultValue.frequencyType = frequencyType;
_resultValue.id = id;
_resultValue.retentionUnit = retentionUnit;
_resultValue.retentionValue = retentionValue;
return _resultValue;
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy