Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.azure.costmanagement.ScheduledActionArgs 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.
// *** 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.costmanagement;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
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;
public final class ScheduledActionArgs extends com.pulumi.resources.ResourceArgs {
public static final ScheduledActionArgs Empty = new ScheduledActionArgs();
/**
* UTC day on which cost analysis data will be emailed. Must be between `1` and `31`. This property is applicable when `frequency` is `Monthly`.
*
*/
@Import(name="dayOfMonth")
private @Nullable Output dayOfMonth;
/**
* @return UTC day on which cost analysis data will be emailed. Must be between `1` and `31`. This property is applicable when `frequency` is `Monthly`.
*
*/
public Optional> dayOfMonth() {
return Optional.ofNullable(this.dayOfMonth);
}
/**
* Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
*
*/
@Import(name="daysOfWeeks")
private @Nullable Output> daysOfWeeks;
/**
* @return Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
*
*/
public Optional>> daysOfWeeks() {
return Optional.ofNullable(this.daysOfWeeks);
}
/**
* User visible input name of the Cost Management Scheduled Action.
*
*/
@Import(name="displayName", required=true)
private Output displayName;
/**
* @return User visible input name of the Cost Management Scheduled Action.
*
*/
public Output displayName() {
return this.displayName;
}
/**
* Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.
*
*/
@Import(name="emailAddressSender", required=true)
private Output emailAddressSender;
/**
* @return Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.
*
*/
public Output emailAddressSender() {
return this.emailAddressSender;
}
/**
* Specifies a list of email addresses that will receive the Scheduled Action.
*
*/
@Import(name="emailAddresses", required=true)
private Output> emailAddresses;
/**
* @return Specifies a list of email addresses that will receive the Scheduled Action.
*
*/
public Output> emailAddresses() {
return this.emailAddresses;
}
/**
* Subject of the email. Length is limited to 70 characters.
*
*/
@Import(name="emailSubject", required=true)
private Output emailSubject;
/**
* @return Subject of the email. Length is limited to 70 characters.
*
*/
public Output emailSubject() {
return this.emailSubject;
}
/**
* The end date and time of the Scheduled Action (UTC).
*
*/
@Import(name="endDate", required=true)
private Output endDate;
/**
* @return The end date and time of the Scheduled Action (UTC).
*
*/
public Output endDate() {
return this.endDate;
}
/**
* Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either `weeks_of_month` and `days_of_week` or `day_of_month` to be specified. Value `Weekly` requires `days_of_week` to be specified.
*
*/
@Import(name="frequency", required=true)
private Output frequency;
/**
* @return Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either `weeks_of_month` and `days_of_week` or `day_of_month` to be specified. Value `Weekly` requires `days_of_week` to be specified.
*
*/
public Output frequency() {
return this.frequency;
}
/**
* UTC time at which cost analysis data will be emailed. Must be between `0` and `23`.
*
*/
@Import(name="hourOfDay")
private @Nullable Output hourOfDay;
/**
* @return UTC time at which cost analysis data will be emailed. Must be between `0` and `23`.
*
*/
public Optional> hourOfDay() {
return Optional.ofNullable(this.hourOfDay);
}
/**
* Message to be added in the email. Length is limited to 250 characters.
*
*/
@Import(name="message")
private @Nullable Output message;
/**
* @return Message to be added in the email. Length is limited to 250 characters.
*
*/
public Optional> message() {
return Optional.ofNullable(this.message);
}
/**
* The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* The start date and time of the Scheduled Action (UTC).
*
*/
@Import(name="startDate", required=true)
private Output startDate;
/**
* @return The start date and time of the Scheduled Action (UTC).
*
*/
public Output startDate() {
return this.startDate;
}
/**
* The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.
*
*/
@Import(name="viewId", required=true)
private Output viewId;
/**
* @return The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.
*
*/
public Output viewId() {
return this.viewId;
}
/**
* Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when `frequency` is `Monthly` and used in combination with `days_of_week`. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.
*
*/
@Import(name="weeksOfMonths")
private @Nullable Output> weeksOfMonths;
/**
* @return Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when `frequency` is `Monthly` and used in combination with `days_of_week`. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.
*
*/
public Optional>> weeksOfMonths() {
return Optional.ofNullable(this.weeksOfMonths);
}
private ScheduledActionArgs() {}
private ScheduledActionArgs(ScheduledActionArgs $) {
this.dayOfMonth = $.dayOfMonth;
this.daysOfWeeks = $.daysOfWeeks;
this.displayName = $.displayName;
this.emailAddressSender = $.emailAddressSender;
this.emailAddresses = $.emailAddresses;
this.emailSubject = $.emailSubject;
this.endDate = $.endDate;
this.frequency = $.frequency;
this.hourOfDay = $.hourOfDay;
this.message = $.message;
this.name = $.name;
this.startDate = $.startDate;
this.viewId = $.viewId;
this.weeksOfMonths = $.weeksOfMonths;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ScheduledActionArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ScheduledActionArgs $;
public Builder() {
$ = new ScheduledActionArgs();
}
public Builder(ScheduledActionArgs defaults) {
$ = new ScheduledActionArgs(Objects.requireNonNull(defaults));
}
/**
* @param dayOfMonth UTC day on which cost analysis data will be emailed. Must be between `1` and `31`. This property is applicable when `frequency` is `Monthly`.
*
* @return builder
*
*/
public Builder dayOfMonth(@Nullable Output dayOfMonth) {
$.dayOfMonth = dayOfMonth;
return this;
}
/**
* @param dayOfMonth UTC day on which cost analysis data will be emailed. Must be between `1` and `31`. This property is applicable when `frequency` is `Monthly`.
*
* @return builder
*
*/
public Builder dayOfMonth(Integer dayOfMonth) {
return dayOfMonth(Output.of(dayOfMonth));
}
/**
* @param daysOfWeeks Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
*
* @return builder
*
*/
public Builder daysOfWeeks(@Nullable Output> daysOfWeeks) {
$.daysOfWeeks = daysOfWeeks;
return this;
}
/**
* @param daysOfWeeks Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
*
* @return builder
*
*/
public Builder daysOfWeeks(List daysOfWeeks) {
return daysOfWeeks(Output.of(daysOfWeeks));
}
/**
* @param daysOfWeeks Specifies a list of day names on which cost analysis data will be emailed. This property is applicable when frequency is `Weekly` or `Monthly`. Possible values are `Friday`, `Monday`, `Saturday`, `Sunday`, `Thursday`, `Tuesday` and `Wednesday`.
*
* @return builder
*
*/
public Builder daysOfWeeks(String... daysOfWeeks) {
return daysOfWeeks(List.of(daysOfWeeks));
}
/**
* @param displayName User visible input name of the Cost Management Scheduled Action.
*
* @return builder
*
*/
public Builder displayName(Output displayName) {
$.displayName = displayName;
return this;
}
/**
* @param displayName User visible input name of the Cost Management Scheduled Action.
*
* @return builder
*
*/
public Builder displayName(String displayName) {
return displayName(Output.of(displayName));
}
/**
* @param emailAddressSender Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.
*
* @return builder
*
*/
public Builder emailAddressSender(Output emailAddressSender) {
$.emailAddressSender = emailAddressSender;
return this;
}
/**
* @param emailAddressSender Email address of the point of contact that should get the unsubscribe requests of Scheduled Action notification emails.
*
* @return builder
*
*/
public Builder emailAddressSender(String emailAddressSender) {
return emailAddressSender(Output.of(emailAddressSender));
}
/**
* @param emailAddresses Specifies a list of email addresses that will receive the Scheduled Action.
*
* @return builder
*
*/
public Builder emailAddresses(Output> emailAddresses) {
$.emailAddresses = emailAddresses;
return this;
}
/**
* @param emailAddresses Specifies a list of email addresses that will receive the Scheduled Action.
*
* @return builder
*
*/
public Builder emailAddresses(List emailAddresses) {
return emailAddresses(Output.of(emailAddresses));
}
/**
* @param emailAddresses Specifies a list of email addresses that will receive the Scheduled Action.
*
* @return builder
*
*/
public Builder emailAddresses(String... emailAddresses) {
return emailAddresses(List.of(emailAddresses));
}
/**
* @param emailSubject Subject of the email. Length is limited to 70 characters.
*
* @return builder
*
*/
public Builder emailSubject(Output emailSubject) {
$.emailSubject = emailSubject;
return this;
}
/**
* @param emailSubject Subject of the email. Length is limited to 70 characters.
*
* @return builder
*
*/
public Builder emailSubject(String emailSubject) {
return emailSubject(Output.of(emailSubject));
}
/**
* @param endDate The end date and time of the Scheduled Action (UTC).
*
* @return builder
*
*/
public Builder endDate(Output endDate) {
$.endDate = endDate;
return this;
}
/**
* @param endDate The end date and time of the Scheduled Action (UTC).
*
* @return builder
*
*/
public Builder endDate(String endDate) {
return endDate(Output.of(endDate));
}
/**
* @param frequency Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either `weeks_of_month` and `days_of_week` or `day_of_month` to be specified. Value `Weekly` requires `days_of_week` to be specified.
*
* @return builder
*
*/
public Builder frequency(Output frequency) {
$.frequency = frequency;
return this;
}
/**
* @param frequency Frequency of the schedule. Possible values are `Daily`, `Monthly` and `Weekly`. Value `Monthly` requires either `weeks_of_month` and `days_of_week` or `day_of_month` to be specified. Value `Weekly` requires `days_of_week` to be specified.
*
* @return builder
*
*/
public Builder frequency(String frequency) {
return frequency(Output.of(frequency));
}
/**
* @param hourOfDay UTC time at which cost analysis data will be emailed. Must be between `0` and `23`.
*
* @return builder
*
*/
public Builder hourOfDay(@Nullable Output hourOfDay) {
$.hourOfDay = hourOfDay;
return this;
}
/**
* @param hourOfDay UTC time at which cost analysis data will be emailed. Must be between `0` and `23`.
*
* @return builder
*
*/
public Builder hourOfDay(Integer hourOfDay) {
return hourOfDay(Output.of(hourOfDay));
}
/**
* @param message Message to be added in the email. Length is limited to 250 characters.
*
* @return builder
*
*/
public Builder message(@Nullable Output message) {
$.message = message;
return this;
}
/**
* @param message Message to be added in the email. Length is limited to 250 characters.
*
* @return builder
*
*/
public Builder message(String message) {
return message(Output.of(message));
}
/**
* @param name The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name which should be used for this Azure Cost Management Scheduled Action. Changing this forces a new Azure Cost Management Scheduled Action to be created.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param startDate The start date and time of the Scheduled Action (UTC).
*
* @return builder
*
*/
public Builder startDate(Output startDate) {
$.startDate = startDate;
return this;
}
/**
* @param startDate The start date and time of the Scheduled Action (UTC).
*
* @return builder
*
*/
public Builder startDate(String startDate) {
return startDate(Output.of(startDate));
}
/**
* @param viewId The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder viewId(Output viewId) {
$.viewId = viewId;
return this;
}
/**
* @param viewId The ID of the Cost Management View that is used by the Scheduled Action. Changing this forces a new resource to be created.
*
* @return builder
*
*/
public Builder viewId(String viewId) {
return viewId(Output.of(viewId));
}
/**
* @param weeksOfMonths Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when `frequency` is `Monthly` and used in combination with `days_of_week`. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.
*
* @return builder
*
*/
public Builder weeksOfMonths(@Nullable Output> weeksOfMonths) {
$.weeksOfMonths = weeksOfMonths;
return this;
}
/**
* @param weeksOfMonths Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when `frequency` is `Monthly` and used in combination with `days_of_week`. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.
*
* @return builder
*
*/
public Builder weeksOfMonths(List weeksOfMonths) {
return weeksOfMonths(Output.of(weeksOfMonths));
}
/**
* @param weeksOfMonths Specifies a list of weeks in which cost analysis data will be emailed. This property is applicable when `frequency` is `Monthly` and used in combination with `days_of_week`. Possible values are `First`, `Fourth`, `Last`, `Second` and `Third`.
*
* @return builder
*
*/
public Builder weeksOfMonths(String... weeksOfMonths) {
return weeksOfMonths(List.of(weeksOfMonths));
}
public ScheduledActionArgs build() {
if ($.displayName == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "displayName");
}
if ($.emailAddressSender == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "emailAddressSender");
}
if ($.emailAddresses == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "emailAddresses");
}
if ($.emailSubject == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "emailSubject");
}
if ($.endDate == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "endDate");
}
if ($.frequency == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "frequency");
}
if ($.startDate == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "startDate");
}
if ($.viewId == null) {
throw new MissingRequiredPropertyException("ScheduledActionArgs", "viewId");
}
return $;
}
}
}