com.pulumi.azure.netapp.outputs.SnapshotPolicyWeeklySchedule 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.netapp.outputs;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
@CustomType
public final class SnapshotPolicyWeeklySchedule {
/**
* @return List of the week days using English names when the snapshots will be created.
*
*/
private List daysOfWeeks;
/**
* @return Hour of the day that the snapshots will be created, valid range is from 0 to 23.
*
*/
private Integer hour;
/**
* @return Minute of the hour that the snapshots will be created, valid range is from 0 to 59.
*
*/
private Integer minute;
/**
* @return How many hourly snapshots to keep, valid range is from 0 to 255.
*
*/
private Integer snapshotsToKeep;
private SnapshotPolicyWeeklySchedule() {}
/**
* @return List of the week days using English names when the snapshots will be created.
*
*/
public List daysOfWeeks() {
return this.daysOfWeeks;
}
/**
* @return Hour of the day that the snapshots will be created, valid range is from 0 to 23.
*
*/
public Integer hour() {
return this.hour;
}
/**
* @return Minute of the hour that the snapshots will be created, valid range is from 0 to 59.
*
*/
public Integer minute() {
return this.minute;
}
/**
* @return How many hourly snapshots to keep, valid range is from 0 to 255.
*
*/
public Integer snapshotsToKeep() {
return this.snapshotsToKeep;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(SnapshotPolicyWeeklySchedule defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List daysOfWeeks;
private Integer hour;
private Integer minute;
private Integer snapshotsToKeep;
public Builder() {}
public Builder(SnapshotPolicyWeeklySchedule defaults) {
Objects.requireNonNull(defaults);
this.daysOfWeeks = defaults.daysOfWeeks;
this.hour = defaults.hour;
this.minute = defaults.minute;
this.snapshotsToKeep = defaults.snapshotsToKeep;
}
@CustomType.Setter
public Builder daysOfWeeks(List daysOfWeeks) {
if (daysOfWeeks == null) {
throw new MissingRequiredPropertyException("SnapshotPolicyWeeklySchedule", "daysOfWeeks");
}
this.daysOfWeeks = daysOfWeeks;
return this;
}
public Builder daysOfWeeks(String... daysOfWeeks) {
return daysOfWeeks(List.of(daysOfWeeks));
}
@CustomType.Setter
public Builder hour(Integer hour) {
if (hour == null) {
throw new MissingRequiredPropertyException("SnapshotPolicyWeeklySchedule", "hour");
}
this.hour = hour;
return this;
}
@CustomType.Setter
public Builder minute(Integer minute) {
if (minute == null) {
throw new MissingRequiredPropertyException("SnapshotPolicyWeeklySchedule", "minute");
}
this.minute = minute;
return this;
}
@CustomType.Setter
public Builder snapshotsToKeep(Integer snapshotsToKeep) {
if (snapshotsToKeep == null) {
throw new MissingRequiredPropertyException("SnapshotPolicyWeeklySchedule", "snapshotsToKeep");
}
this.snapshotsToKeep = snapshotsToKeep;
return this;
}
public SnapshotPolicyWeeklySchedule build() {
final var _resultValue = new SnapshotPolicyWeeklySchedule();
_resultValue.daysOfWeeks = daysOfWeeks;
_resultValue.hour = hour;
_resultValue.minute = minute;
_resultValue.snapshotsToKeep = snapshotsToKeep;
return _resultValue;
}
}
}