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