com.pulumi.azure.monitoring.outputs.AutoscaleSettingProfileRecurrence 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.monitoring.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;
import java.util.Optional;
import javax.annotation.Nullable;
@CustomType
public final class AutoscaleSettingProfileRecurrence {
/**
* @return A list of days that this profile takes effect on. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
*
*/
private List days;
/**
* @return A list containing a single item, which specifies the Hour interval at which this recurrence should be triggered (in 24-hour time). Possible values are from `0` to `23`.
*
*/
private Integer hours;
/**
* @return A list containing a single item which specifies the Minute interval at which this recurrence should be triggered.
*
*/
private Integer minutes;
/**
* @return The Time Zone used for the `hours` field. A list of [possible values can be found here](https://msdn.microsoft.com/en-us/library/azure/dn931928.aspx). Defaults to `UTC`.
*
*/
private @Nullable String timezone;
private AutoscaleSettingProfileRecurrence() {}
/**
* @return A list of days that this profile takes effect on. Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
*
*/
public List days() {
return this.days;
}
/**
* @return A list containing a single item, which specifies the Hour interval at which this recurrence should be triggered (in 24-hour time). Possible values are from `0` to `23`.
*
*/
public Integer hours() {
return this.hours;
}
/**
* @return A list containing a single item which specifies the Minute interval at which this recurrence should be triggered.
*
*/
public Integer minutes() {
return this.minutes;
}
/**
* @return The Time Zone used for the `hours` field. A list of [possible values can be found here](https://msdn.microsoft.com/en-us/library/azure/dn931928.aspx). Defaults to `UTC`.
*
*/
public Optional timezone() {
return Optional.ofNullable(this.timezone);
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(AutoscaleSettingProfileRecurrence defaults) {
return new Builder(defaults);
}
@CustomType.Builder
public static final class Builder {
private List days;
private Integer hours;
private Integer minutes;
private @Nullable String timezone;
public Builder() {}
public Builder(AutoscaleSettingProfileRecurrence defaults) {
Objects.requireNonNull(defaults);
this.days = defaults.days;
this.hours = defaults.hours;
this.minutes = defaults.minutes;
this.timezone = defaults.timezone;
}
@CustomType.Setter
public Builder days(List days) {
if (days == null) {
throw new MissingRequiredPropertyException("AutoscaleSettingProfileRecurrence", "days");
}
this.days = days;
return this;
}
public Builder days(String... days) {
return days(List.of(days));
}
@CustomType.Setter
public Builder hours(Integer hours) {
if (hours == null) {
throw new MissingRequiredPropertyException("AutoscaleSettingProfileRecurrence", "hours");
}
this.hours = hours;
return this;
}
@CustomType.Setter
public Builder minutes(Integer minutes) {
if (minutes == null) {
throw new MissingRequiredPropertyException("AutoscaleSettingProfileRecurrence", "minutes");
}
this.minutes = minutes;
return this;
}
@CustomType.Setter
public Builder timezone(@Nullable String timezone) {
this.timezone = timezone;
return this;
}
public AutoscaleSettingProfileRecurrence build() {
final var _resultValue = new AutoscaleSettingProfileRecurrence();
_resultValue.days = days;
_resultValue.hours = hours;
_resultValue.minutes = minutes;
_resultValue.timezone = timezone;
return _resultValue;
}
}
}