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

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

There is a newer version: 6.10.0-alpha.1731737215
Show newest version
// *** 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;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy