All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.azure.netapp.outputs.SnapshotPolicyMonthlySchedule 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.azure.netapp.outputs;

import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Integer;
import java.util.List;
import java.util.Objects;

@CustomType
public final class SnapshotPolicyMonthlySchedule {
    /**
     * @return List of the days of the month when the snapshots will be created, valid range is from 1 to 30.
     * 
     */
    private List daysOfMonths;
    /**
     * @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 SnapshotPolicyMonthlySchedule() {}
    /**
     * @return List of the days of the month when the snapshots will be created, valid range is from 1 to 30.
     * 
     */
    public List daysOfMonths() {
        return this.daysOfMonths;
    }
    /**
     * @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(SnapshotPolicyMonthlySchedule defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private List daysOfMonths;
        private Integer hour;
        private Integer minute;
        private Integer snapshotsToKeep;
        public Builder() {}
        public Builder(SnapshotPolicyMonthlySchedule defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.daysOfMonths = defaults.daysOfMonths;
    	      this.hour = defaults.hour;
    	      this.minute = defaults.minute;
    	      this.snapshotsToKeep = defaults.snapshotsToKeep;
        }

        @CustomType.Setter
        public Builder daysOfMonths(List daysOfMonths) {
            if (daysOfMonths == null) {
              throw new MissingRequiredPropertyException("SnapshotPolicyMonthlySchedule", "daysOfMonths");
            }
            this.daysOfMonths = daysOfMonths;
            return this;
        }
        public Builder daysOfMonths(Integer... daysOfMonths) {
            return daysOfMonths(List.of(daysOfMonths));
        }
        @CustomType.Setter
        public Builder hour(Integer hour) {
            if (hour == null) {
              throw new MissingRequiredPropertyException("SnapshotPolicyMonthlySchedule", "hour");
            }
            this.hour = hour;
            return this;
        }
        @CustomType.Setter
        public Builder minute(Integer minute) {
            if (minute == null) {
              throw new MissingRequiredPropertyException("SnapshotPolicyMonthlySchedule", "minute");
            }
            this.minute = minute;
            return this;
        }
        @CustomType.Setter
        public Builder snapshotsToKeep(Integer snapshotsToKeep) {
            if (snapshotsToKeep == null) {
              throw new MissingRequiredPropertyException("SnapshotPolicyMonthlySchedule", "snapshotsToKeep");
            }
            this.snapshotsToKeep = snapshotsToKeep;
            return this;
        }
        public SnapshotPolicyMonthlySchedule build() {
            final var _resultValue = new SnapshotPolicyMonthlySchedule();
            _resultValue.daysOfMonths = daysOfMonths;
            _resultValue.hour = hour;
            _resultValue.minute = minute;
            _resultValue.snapshotsToKeep = snapshotsToKeep;
            return _resultValue;
        }
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy