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

com.pulumi.azure.automation.outputs.SoftwareUpdateConfigurationSchedule 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.automation.outputs;

import com.pulumi.azure.automation.outputs.SoftwareUpdateConfigurationScheduleMonthlyOccurrence;
import com.pulumi.core.annotations.CustomType;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.Boolean;
import java.lang.Double;
import java.lang.Integer;
import java.lang.String;
import java.util.List;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;

@CustomType
public final class SoftwareUpdateConfigurationSchedule {
    /**
     * @return List of days of the month that the job should execute on. Must be between `1` and `31`. `-1` for last day of the month. Only valid when frequency is `Month`.
     * 
     */
    private @Nullable List advancedMonthDays;
    /**
     * @return List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`.
     * 
     */
    private @Nullable List advancedWeekDays;
    private @Nullable String creationTime;
    /**
     * @return A description for this Schedule.
     * 
     */
    private @Nullable String description;
    /**
     * @return The end time of the schedule.
     * 
     */
    private @Nullable String expiryTime;
    private @Nullable Double expiryTimeOffsetMinutes;
    /**
     * @return The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.
     * 
     */
    private String frequency;
    /**
     * @return The number of `frequency`s between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month`.
     * 
     */
    private @Nullable Integer interval;
    /**
     * @return Whether the schedule is enabled. Defaults to `true`.
     * 
     */
    private @Nullable Boolean isEnabled;
    private @Nullable String lastModifiedTime;
    /**
     * @return List of `monthly_occurrence` blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The `monthly_occurrence` block supports fields as defined below.
     * 
     */
    private @Nullable SoftwareUpdateConfigurationScheduleMonthlyOccurrence monthlyOccurrence;
    private @Nullable String nextRun;
    private @Nullable Double nextRunOffsetMinutes;
    /**
     * @return Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.
     * 
     */
    private @Nullable String startTime;
    private @Nullable Double startTimeOffsetMinutes;
    /**
     * @return The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: <https://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows>
     * 
     */
    private @Nullable String timeZone;

    private SoftwareUpdateConfigurationSchedule() {}
    /**
     * @return List of days of the month that the job should execute on. Must be between `1` and `31`. `-1` for last day of the month. Only valid when frequency is `Month`.
     * 
     */
    public List advancedMonthDays() {
        return this.advancedMonthDays == null ? List.of() : this.advancedMonthDays;
    }
    /**
     * @return List of days of the week that the job should execute on. Only valid when frequency is `Week`. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`.
     * 
     */
    public List advancedWeekDays() {
        return this.advancedWeekDays == null ? List.of() : this.advancedWeekDays;
    }
    public Optional creationTime() {
        return Optional.ofNullable(this.creationTime);
    }
    /**
     * @return A description for this Schedule.
     * 
     */
    public Optional description() {
        return Optional.ofNullable(this.description);
    }
    /**
     * @return The end time of the schedule.
     * 
     */
    public Optional expiryTime() {
        return Optional.ofNullable(this.expiryTime);
    }
    public Optional expiryTimeOffsetMinutes() {
        return Optional.ofNullable(this.expiryTimeOffsetMinutes);
    }
    /**
     * @return The frequency of the schedule. - can be either `OneTime`, `Day`, `Hour`, `Week`, or `Month`.
     * 
     */
    public String frequency() {
        return this.frequency;
    }
    /**
     * @return The number of `frequency`s between runs. Only valid when frequency is `Day`, `Hour`, `Week`, or `Month`.
     * 
     */
    public Optional interval() {
        return Optional.ofNullable(this.interval);
    }
    /**
     * @return Whether the schedule is enabled. Defaults to `true`.
     * 
     */
    public Optional isEnabled() {
        return Optional.ofNullable(this.isEnabled);
    }
    public Optional lastModifiedTime() {
        return Optional.ofNullable(this.lastModifiedTime);
    }
    /**
     * @return List of `monthly_occurrence` blocks as defined below to specifies occurrences of days within a month. Only valid when frequency is `Month`. The `monthly_occurrence` block supports fields as defined below.
     * 
     */
    public Optional monthlyOccurrence() {
        return Optional.ofNullable(this.monthlyOccurrence);
    }
    public Optional nextRun() {
        return Optional.ofNullable(this.nextRun);
    }
    public Optional nextRunOffsetMinutes() {
        return Optional.ofNullable(this.nextRunOffsetMinutes);
    }
    /**
     * @return Start time of the schedule. Must be at least five minutes in the future. Defaults to seven minutes in the future from the time the resource is created.
     * 
     */
    public Optional startTime() {
        return Optional.ofNullable(this.startTime);
    }
    public Optional startTimeOffsetMinutes() {
        return Optional.ofNullable(this.startTimeOffsetMinutes);
    }
    /**
     * @return The timezone of the start time. Defaults to `Etc/UTC`. For possible values see: <https://docs.microsoft.com/en-us/rest/api/maps/timezone/gettimezoneenumwindows>
     * 
     */
    public Optional timeZone() {
        return Optional.ofNullable(this.timeZone);
    }

    public static Builder builder() {
        return new Builder();
    }

    public static Builder builder(SoftwareUpdateConfigurationSchedule defaults) {
        return new Builder(defaults);
    }
    @CustomType.Builder
    public static final class Builder {
        private @Nullable List advancedMonthDays;
        private @Nullable List advancedWeekDays;
        private @Nullable String creationTime;
        private @Nullable String description;
        private @Nullable String expiryTime;
        private @Nullable Double expiryTimeOffsetMinutes;
        private String frequency;
        private @Nullable Integer interval;
        private @Nullable Boolean isEnabled;
        private @Nullable String lastModifiedTime;
        private @Nullable SoftwareUpdateConfigurationScheduleMonthlyOccurrence monthlyOccurrence;
        private @Nullable String nextRun;
        private @Nullable Double nextRunOffsetMinutes;
        private @Nullable String startTime;
        private @Nullable Double startTimeOffsetMinutes;
        private @Nullable String timeZone;
        public Builder() {}
        public Builder(SoftwareUpdateConfigurationSchedule defaults) {
    	      Objects.requireNonNull(defaults);
    	      this.advancedMonthDays = defaults.advancedMonthDays;
    	      this.advancedWeekDays = defaults.advancedWeekDays;
    	      this.creationTime = defaults.creationTime;
    	      this.description = defaults.description;
    	      this.expiryTime = defaults.expiryTime;
    	      this.expiryTimeOffsetMinutes = defaults.expiryTimeOffsetMinutes;
    	      this.frequency = defaults.frequency;
    	      this.interval = defaults.interval;
    	      this.isEnabled = defaults.isEnabled;
    	      this.lastModifiedTime = defaults.lastModifiedTime;
    	      this.monthlyOccurrence = defaults.monthlyOccurrence;
    	      this.nextRun = defaults.nextRun;
    	      this.nextRunOffsetMinutes = defaults.nextRunOffsetMinutes;
    	      this.startTime = defaults.startTime;
    	      this.startTimeOffsetMinutes = defaults.startTimeOffsetMinutes;
    	      this.timeZone = defaults.timeZone;
        }

        @CustomType.Setter
        public Builder advancedMonthDays(@Nullable List advancedMonthDays) {

            this.advancedMonthDays = advancedMonthDays;
            return this;
        }
        public Builder advancedMonthDays(Integer... advancedMonthDays) {
            return advancedMonthDays(List.of(advancedMonthDays));
        }
        @CustomType.Setter
        public Builder advancedWeekDays(@Nullable List advancedWeekDays) {

            this.advancedWeekDays = advancedWeekDays;
            return this;
        }
        public Builder advancedWeekDays(String... advancedWeekDays) {
            return advancedWeekDays(List.of(advancedWeekDays));
        }
        @CustomType.Setter
        public Builder creationTime(@Nullable String creationTime) {

            this.creationTime = creationTime;
            return this;
        }
        @CustomType.Setter
        public Builder description(@Nullable String description) {

            this.description = description;
            return this;
        }
        @CustomType.Setter
        public Builder expiryTime(@Nullable String expiryTime) {

            this.expiryTime = expiryTime;
            return this;
        }
        @CustomType.Setter
        public Builder expiryTimeOffsetMinutes(@Nullable Double expiryTimeOffsetMinutes) {

            this.expiryTimeOffsetMinutes = expiryTimeOffsetMinutes;
            return this;
        }
        @CustomType.Setter
        public Builder frequency(String frequency) {
            if (frequency == null) {
              throw new MissingRequiredPropertyException("SoftwareUpdateConfigurationSchedule", "frequency");
            }
            this.frequency = frequency;
            return this;
        }
        @CustomType.Setter
        public Builder interval(@Nullable Integer interval) {

            this.interval = interval;
            return this;
        }
        @CustomType.Setter
        public Builder isEnabled(@Nullable Boolean isEnabled) {

            this.isEnabled = isEnabled;
            return this;
        }
        @CustomType.Setter
        public Builder lastModifiedTime(@Nullable String lastModifiedTime) {

            this.lastModifiedTime = lastModifiedTime;
            return this;
        }
        @CustomType.Setter
        public Builder monthlyOccurrence(@Nullable SoftwareUpdateConfigurationScheduleMonthlyOccurrence monthlyOccurrence) {

            this.monthlyOccurrence = monthlyOccurrence;
            return this;
        }
        @CustomType.Setter
        public Builder nextRun(@Nullable String nextRun) {

            this.nextRun = nextRun;
            return this;
        }
        @CustomType.Setter
        public Builder nextRunOffsetMinutes(@Nullable Double nextRunOffsetMinutes) {

            this.nextRunOffsetMinutes = nextRunOffsetMinutes;
            return this;
        }
        @CustomType.Setter
        public Builder startTime(@Nullable String startTime) {

            this.startTime = startTime;
            return this;
        }
        @CustomType.Setter
        public Builder startTimeOffsetMinutes(@Nullable Double startTimeOffsetMinutes) {

            this.startTimeOffsetMinutes = startTimeOffsetMinutes;
            return this;
        }
        @CustomType.Setter
        public Builder timeZone(@Nullable String timeZone) {

            this.timeZone = timeZone;
            return this;
        }
        public SoftwareUpdateConfigurationSchedule build() {
            final var _resultValue = new SoftwareUpdateConfigurationSchedule();
            _resultValue.advancedMonthDays = advancedMonthDays;
            _resultValue.advancedWeekDays = advancedWeekDays;
            _resultValue.creationTime = creationTime;
            _resultValue.description = description;
            _resultValue.expiryTime = expiryTime;
            _resultValue.expiryTimeOffsetMinutes = expiryTimeOffsetMinutes;
            _resultValue.frequency = frequency;
            _resultValue.interval = interval;
            _resultValue.isEnabled = isEnabled;
            _resultValue.lastModifiedTime = lastModifiedTime;
            _resultValue.monthlyOccurrence = monthlyOccurrence;
            _resultValue.nextRun = nextRun;
            _resultValue.nextRunOffsetMinutes = nextRunOffsetMinutes;
            _resultValue.startTime = startTime;
            _resultValue.startTimeOffsetMinutes = startTimeOffsetMinutes;
            _resultValue.timeZone = timeZone;
            return _resultValue;
        }
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy