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.azurenative.devtestlab.ScheduleArgs Maven / Gradle / Ivy
Go to download
A native Pulumi package for creating and managing Azure resources.
// *** 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.azurenative.devtestlab;
import com.pulumi.azurenative.devtestlab.enums.EnableStatus;
import com.pulumi.azurenative.devtestlab.inputs.DayDetailsArgs;
import com.pulumi.azurenative.devtestlab.inputs.HourDetailsArgs;
import com.pulumi.azurenative.devtestlab.inputs.NotificationSettingsArgs;
import com.pulumi.azurenative.devtestlab.inputs.WeekDetailsArgs;
import com.pulumi.core.Either;
import com.pulumi.core.Output;
import com.pulumi.core.annotations.Import;
import com.pulumi.core.internal.Codegen;
import com.pulumi.exceptions.MissingRequiredPropertyException;
import java.lang.String;
import java.util.Map;
import java.util.Objects;
import java.util.Optional;
import javax.annotation.Nullable;
public final class ScheduleArgs extends com.pulumi.resources.ResourceArgs {
public static final ScheduleArgs Empty = new ScheduleArgs();
/**
* If the schedule will occur once each day of the week, specify the daily recurrence.
*
*/
@Import(name="dailyRecurrence")
private @Nullable Output dailyRecurrence;
/**
* @return If the schedule will occur once each day of the week, specify the daily recurrence.
*
*/
public Optional> dailyRecurrence() {
return Optional.ofNullable(this.dailyRecurrence);
}
/**
* If the schedule will occur multiple times a day, specify the hourly recurrence.
*
*/
@Import(name="hourlyRecurrence")
private @Nullable Output hourlyRecurrence;
/**
* @return If the schedule will occur multiple times a day, specify the hourly recurrence.
*
*/
public Optional> hourlyRecurrence() {
return Optional.ofNullable(this.hourlyRecurrence);
}
/**
* The name of the lab.
*
*/
@Import(name="labName", required=true)
private Output labName;
/**
* @return The name of the lab.
*
*/
public Output labName() {
return this.labName;
}
/**
* The location of the resource.
*
*/
@Import(name="location")
private @Nullable Output location;
/**
* @return The location of the resource.
*
*/
public Optional> location() {
return Optional.ofNullable(this.location);
}
/**
* The name of the schedule.
*
*/
@Import(name="name")
private @Nullable Output name;
/**
* @return The name of the schedule.
*
*/
public Optional> name() {
return Optional.ofNullable(this.name);
}
/**
* Notification settings.
*
*/
@Import(name="notificationSettings")
private @Nullable Output notificationSettings;
/**
* @return Notification settings.
*
*/
public Optional> notificationSettings() {
return Optional.ofNullable(this.notificationSettings);
}
/**
* The name of the resource group.
*
*/
@Import(name="resourceGroupName", required=true)
private Output resourceGroupName;
/**
* @return The name of the resource group.
*
*/
public Output resourceGroupName() {
return this.resourceGroupName;
}
/**
* The status of the schedule (i.e. Enabled, Disabled)
*
*/
@Import(name="status")
private @Nullable Output> status;
/**
* @return The status of the schedule (i.e. Enabled, Disabled)
*
*/
public Optional>> status() {
return Optional.ofNullable(this.status);
}
/**
* The tags of the resource.
*
*/
@Import(name="tags")
private @Nullable Output> tags;
/**
* @return The tags of the resource.
*
*/
public Optional>> tags() {
return Optional.ofNullable(this.tags);
}
/**
* The resource ID to which the schedule belongs
*
*/
@Import(name="targetResourceId")
private @Nullable Output targetResourceId;
/**
* @return The resource ID to which the schedule belongs
*
*/
public Optional> targetResourceId() {
return Optional.ofNullable(this.targetResourceId);
}
/**
* The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
*
*/
@Import(name="taskType")
private @Nullable Output taskType;
/**
* @return The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
*
*/
public Optional> taskType() {
return Optional.ofNullable(this.taskType);
}
/**
* The time zone ID (e.g. China Standard Time, Greenland Standard Time, Pacific Standard time, etc.). The possible values for this property can be found in `IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds` (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md)
*
*/
@Import(name="timeZoneId")
private @Nullable Output timeZoneId;
/**
* @return The time zone ID (e.g. China Standard Time, Greenland Standard Time, Pacific Standard time, etc.). The possible values for this property can be found in `IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds` (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md)
*
*/
public Optional> timeZoneId() {
return Optional.ofNullable(this.timeZoneId);
}
/**
* If the schedule will occur only some days of the week, specify the weekly recurrence.
*
*/
@Import(name="weeklyRecurrence")
private @Nullable Output weeklyRecurrence;
/**
* @return If the schedule will occur only some days of the week, specify the weekly recurrence.
*
*/
public Optional> weeklyRecurrence() {
return Optional.ofNullable(this.weeklyRecurrence);
}
private ScheduleArgs() {}
private ScheduleArgs(ScheduleArgs $) {
this.dailyRecurrence = $.dailyRecurrence;
this.hourlyRecurrence = $.hourlyRecurrence;
this.labName = $.labName;
this.location = $.location;
this.name = $.name;
this.notificationSettings = $.notificationSettings;
this.resourceGroupName = $.resourceGroupName;
this.status = $.status;
this.tags = $.tags;
this.targetResourceId = $.targetResourceId;
this.taskType = $.taskType;
this.timeZoneId = $.timeZoneId;
this.weeklyRecurrence = $.weeklyRecurrence;
}
public static Builder builder() {
return new Builder();
}
public static Builder builder(ScheduleArgs defaults) {
return new Builder(defaults);
}
public static final class Builder {
private ScheduleArgs $;
public Builder() {
$ = new ScheduleArgs();
}
public Builder(ScheduleArgs defaults) {
$ = new ScheduleArgs(Objects.requireNonNull(defaults));
}
/**
* @param dailyRecurrence If the schedule will occur once each day of the week, specify the daily recurrence.
*
* @return builder
*
*/
public Builder dailyRecurrence(@Nullable Output dailyRecurrence) {
$.dailyRecurrence = dailyRecurrence;
return this;
}
/**
* @param dailyRecurrence If the schedule will occur once each day of the week, specify the daily recurrence.
*
* @return builder
*
*/
public Builder dailyRecurrence(DayDetailsArgs dailyRecurrence) {
return dailyRecurrence(Output.of(dailyRecurrence));
}
/**
* @param hourlyRecurrence If the schedule will occur multiple times a day, specify the hourly recurrence.
*
* @return builder
*
*/
public Builder hourlyRecurrence(@Nullable Output hourlyRecurrence) {
$.hourlyRecurrence = hourlyRecurrence;
return this;
}
/**
* @param hourlyRecurrence If the schedule will occur multiple times a day, specify the hourly recurrence.
*
* @return builder
*
*/
public Builder hourlyRecurrence(HourDetailsArgs hourlyRecurrence) {
return hourlyRecurrence(Output.of(hourlyRecurrence));
}
/**
* @param labName The name of the lab.
*
* @return builder
*
*/
public Builder labName(Output labName) {
$.labName = labName;
return this;
}
/**
* @param labName The name of the lab.
*
* @return builder
*
*/
public Builder labName(String labName) {
return labName(Output.of(labName));
}
/**
* @param location The location of the resource.
*
* @return builder
*
*/
public Builder location(@Nullable Output location) {
$.location = location;
return this;
}
/**
* @param location The location of the resource.
*
* @return builder
*
*/
public Builder location(String location) {
return location(Output.of(location));
}
/**
* @param name The name of the schedule.
*
* @return builder
*
*/
public Builder name(@Nullable Output name) {
$.name = name;
return this;
}
/**
* @param name The name of the schedule.
*
* @return builder
*
*/
public Builder name(String name) {
return name(Output.of(name));
}
/**
* @param notificationSettings Notification settings.
*
* @return builder
*
*/
public Builder notificationSettings(@Nullable Output notificationSettings) {
$.notificationSettings = notificationSettings;
return this;
}
/**
* @param notificationSettings Notification settings.
*
* @return builder
*
*/
public Builder notificationSettings(NotificationSettingsArgs notificationSettings) {
return notificationSettings(Output.of(notificationSettings));
}
/**
* @param resourceGroupName The name of the resource group.
*
* @return builder
*
*/
public Builder resourceGroupName(Output resourceGroupName) {
$.resourceGroupName = resourceGroupName;
return this;
}
/**
* @param resourceGroupName The name of the resource group.
*
* @return builder
*
*/
public Builder resourceGroupName(String resourceGroupName) {
return resourceGroupName(Output.of(resourceGroupName));
}
/**
* @param status The status of the schedule (i.e. Enabled, Disabled)
*
* @return builder
*
*/
public Builder status(@Nullable Output> status) {
$.status = status;
return this;
}
/**
* @param status The status of the schedule (i.e. Enabled, Disabled)
*
* @return builder
*
*/
public Builder status(Either status) {
return status(Output.of(status));
}
/**
* @param status The status of the schedule (i.e. Enabled, Disabled)
*
* @return builder
*
*/
public Builder status(String status) {
return status(Either.ofLeft(status));
}
/**
* @param status The status of the schedule (i.e. Enabled, Disabled)
*
* @return builder
*
*/
public Builder status(EnableStatus status) {
return status(Either.ofRight(status));
}
/**
* @param tags The tags of the resource.
*
* @return builder
*
*/
public Builder tags(@Nullable Output> tags) {
$.tags = tags;
return this;
}
/**
* @param tags The tags of the resource.
*
* @return builder
*
*/
public Builder tags(Map tags) {
return tags(Output.of(tags));
}
/**
* @param targetResourceId The resource ID to which the schedule belongs
*
* @return builder
*
*/
public Builder targetResourceId(@Nullable Output targetResourceId) {
$.targetResourceId = targetResourceId;
return this;
}
/**
* @param targetResourceId The resource ID to which the schedule belongs
*
* @return builder
*
*/
public Builder targetResourceId(String targetResourceId) {
return targetResourceId(Output.of(targetResourceId));
}
/**
* @param taskType The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
*
* @return builder
*
*/
public Builder taskType(@Nullable Output taskType) {
$.taskType = taskType;
return this;
}
/**
* @param taskType The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).
*
* @return builder
*
*/
public Builder taskType(String taskType) {
return taskType(Output.of(taskType));
}
/**
* @param timeZoneId The time zone ID (e.g. China Standard Time, Greenland Standard Time, Pacific Standard time, etc.). The possible values for this property can be found in `IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds` (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md)
*
* @return builder
*
*/
public Builder timeZoneId(@Nullable Output timeZoneId) {
$.timeZoneId = timeZoneId;
return this;
}
/**
* @param timeZoneId The time zone ID (e.g. China Standard Time, Greenland Standard Time, Pacific Standard time, etc.). The possible values for this property can be found in `IReadOnlyCollection<string> TimeZoneConverter.TZConvert.KnownWindowsTimeZoneIds` (https://github.com/mattjohnsonpint/TimeZoneConverter/blob/main/README.md)
*
* @return builder
*
*/
public Builder timeZoneId(String timeZoneId) {
return timeZoneId(Output.of(timeZoneId));
}
/**
* @param weeklyRecurrence If the schedule will occur only some days of the week, specify the weekly recurrence.
*
* @return builder
*
*/
public Builder weeklyRecurrence(@Nullable Output weeklyRecurrence) {
$.weeklyRecurrence = weeklyRecurrence;
return this;
}
/**
* @param weeklyRecurrence If the schedule will occur only some days of the week, specify the weekly recurrence.
*
* @return builder
*
*/
public Builder weeklyRecurrence(WeekDetailsArgs weeklyRecurrence) {
return weeklyRecurrence(Output.of(weeklyRecurrence));
}
public ScheduleArgs build() {
if ($.labName == null) {
throw new MissingRequiredPropertyException("ScheduleArgs", "labName");
}
if ($.resourceGroupName == null) {
throw new MissingRequiredPropertyException("ScheduleArgs", "resourceGroupName");
}
$.status = Codegen.stringProp("status").left(EnableStatus.class).output().arg($.status).def("Disabled").getNullable();
return $;
}
}
}