VirtualMachineScheduleArgs

data class VirtualMachineScheduleArgs(val dailyRecurrence: Output<DayDetailsArgs>? = null, val hourlyRecurrence: Output<HourDetailsArgs>? = null, val labName: Output<String>? = null, val location: Output<String>? = null, val name: Output<String>? = null, val notificationSettings: Output<NotificationSettingsArgs>? = null, val resourceGroupName: Output<String>? = null, val status: Output<Either<String, EnableStatus>>? = null, val tags: Output<Map<String, String>>? = null, val targetResourceId: Output<String>? = null, val taskType: Output<String>? = null, val timeZoneId: Output<String>? = null, val virtualMachineName: Output<String>? = null, val weeklyRecurrence: Output<WeekDetailsArgs>? = null) : ConvertibleToJava<VirtualMachineScheduleArgs>

A schedule. API Version: 2018-09-15.

Example Usage

VirtualMachineSchedules_CreateOrUpdate

using System.Collections.Generic;
using System.Linq;
using Pulumi;
using AzureNative = Pulumi.AzureNative;
return await Deployment.RunAsync(() =>
{
var virtualMachineSchedule = new AzureNative.DevTestLab.VirtualMachineSchedule("virtualMachineSchedule", new()
{
DailyRecurrence = new AzureNative.DevTestLab.Inputs.DayDetailsArgs
{
Time = "1900",
},
HourlyRecurrence = new AzureNative.DevTestLab.Inputs.HourDetailsArgs
{
Minute = 30,
},
LabName = "{labName}",
Location = "{location}",
Name = "LabVmsShutdown",
NotificationSettings = new AzureNative.DevTestLab.Inputs.NotificationSettingsArgs
{
EmailRecipient = "{email}",
NotificationLocale = "EN",
Status = "Enabled",
TimeInMinutes = 30,
WebhookUrl = "{webhookUrl}",
},
ResourceGroupName = "resourceGroupName",
Status = "Enabled",
Tags =
{
{ "tagName1", "tagValue1" },
},
TargetResourceId = "/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualMachines/{vmName}",
TaskType = "LabVmsShutdownTask",
TimeZoneId = "Pacific Standard Time",
VirtualMachineName = "{vmName}",
WeeklyRecurrence = new AzureNative.DevTestLab.Inputs.WeekDetailsArgs
{
Time = "1700",
Weekdays = new[]
{
"Friday",
"Saturday",
"Sunday",
},
},
});
});
package main
import (
devtestlab "github.com/pulumi/pulumi-azure-native-sdk/devtestlab"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
_, err := devtestlab.NewVirtualMachineSchedule(ctx, "virtualMachineSchedule", &devtestlab.VirtualMachineScheduleArgs{
DailyRecurrence: &devtestlab.DayDetailsArgs{
Time: pulumi.String("1900"),
},
HourlyRecurrence: &devtestlab.HourDetailsArgs{
Minute: pulumi.Int(30),
},
LabName: pulumi.String("{labName}"),
Location: pulumi.String("{location}"),
Name: pulumi.String("LabVmsShutdown"),
NotificationSettings: &devtestlab.NotificationSettingsArgs{
EmailRecipient: pulumi.String("{email}"),
NotificationLocale: pulumi.String("EN"),
Status: pulumi.String("Enabled"),
TimeInMinutes: pulumi.Int(30),
WebhookUrl: pulumi.String("{webhookUrl}"),
},
ResourceGroupName: pulumi.String("resourceGroupName"),
Status: pulumi.String("Enabled"),
Tags: pulumi.StringMap{
"tagName1": pulumi.String("tagValue1"),
},
TargetResourceId: pulumi.String("/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualMachines/{vmName}"),
TaskType: pulumi.String("LabVmsShutdownTask"),
TimeZoneId: pulumi.String("Pacific Standard Time"),
VirtualMachineName: pulumi.String("{vmName}"),
WeeklyRecurrence: &devtestlab.WeekDetailsArgs{
Time: pulumi.String("1700"),
Weekdays: pulumi.StringArray{
pulumi.String("Friday"),
pulumi.String("Saturday"),
pulumi.String("Sunday"),
},
},
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azurenative.devtestlab.VirtualMachineSchedule;
import com.pulumi.azurenative.devtestlab.VirtualMachineScheduleArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var virtualMachineSchedule = new VirtualMachineSchedule("virtualMachineSchedule", VirtualMachineScheduleArgs.builder()
.dailyRecurrence(Map.of("time", "1900"))
.hourlyRecurrence(Map.of("minute", 30))
.labName("{labName}")
.location("{location}")
.name("LabVmsShutdown")
.notificationSettings(Map.ofEntries(
Map.entry("emailRecipient", "{email}"),
Map.entry("notificationLocale", "EN"),
Map.entry("status", "Enabled"),
Map.entry("timeInMinutes", 30),
Map.entry("webhookUrl", "{webhookUrl}")
))
.resourceGroupName("resourceGroupName")
.status("Enabled")
.tags(Map.of("tagName1", "tagValue1"))
.targetResourceId("/subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualMachines/{vmName}")
.taskType("LabVmsShutdownTask")
.timeZoneId("Pacific Standard Time")
.virtualMachineName("{vmName}")
.weeklyRecurrence(Map.ofEntries(
Map.entry("time", "1700"),
Map.entry("weekdays",
"Friday",
"Saturday",
"Sunday")
))
.build());
}
}

Import

An existing resource can be imported using its type token, name, and identifier, e.g.

$ pulumi import azure-native:devtestlab:VirtualMachineSchedule LabVmsShutdown /subscriptions/{subscriptionId}/resourcegroups/resourceGroupName/providers/microsoft.devtestlab/labs/{labName}/virtualMachines/{vmName}/schedules/LabVmsShutdown

Constructors

Link copied to clipboard
constructor(dailyRecurrence: Output<DayDetailsArgs>? = null, hourlyRecurrence: Output<HourDetailsArgs>? = null, labName: Output<String>? = null, location: Output<String>? = null, name: Output<String>? = null, notificationSettings: Output<NotificationSettingsArgs>? = null, resourceGroupName: Output<String>? = null, status: Output<Either<String, EnableStatus>>? = null, tags: Output<Map<String, String>>? = null, targetResourceId: Output<String>? = null, taskType: Output<String>? = null, timeZoneId: Output<String>? = null, virtualMachineName: Output<String>? = null, weeklyRecurrence: Output<WeekDetailsArgs>? = null)

Properties

Link copied to clipboard
val dailyRecurrence: Output<DayDetailsArgs>? = null

If the schedule will occur once each day of the week, specify the daily recurrence.

Link copied to clipboard
val hourlyRecurrence: Output<HourDetailsArgs>? = null

If the schedule will occur multiple times a day, specify the hourly recurrence.

Link copied to clipboard
val labName: Output<String>? = null

The name of the lab.

Link copied to clipboard
val location: Output<String>? = null

The location of the resource.

Link copied to clipboard
val name: Output<String>? = null

The name of the schedule.

Link copied to clipboard

Notification settings.

Link copied to clipboard
val resourceGroupName: Output<String>? = null

The name of the resource group.

Link copied to clipboard
val status: Output<Either<String, EnableStatus>>? = null

The status of the schedule (i.e. Enabled, Disabled)

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

The tags of the resource.

Link copied to clipboard
val targetResourceId: Output<String>? = null

The resource ID to which the schedule belongs

Link copied to clipboard
val taskType: Output<String>? = null

The task type of the schedule (e.g. LabVmsShutdownTask, LabVmAutoStart).

Link copied to clipboard
val timeZoneId: Output<String>? = null

The time zone ID (e.g. Pacific Standard time).

Link copied to clipboard
val virtualMachineName: Output<String>? = null

The name of the virtual machine.

Link copied to clipboard
val weeklyRecurrence: Output<WeekDetailsArgs>? = null

If the schedule will occur only some days of the week, specify the weekly recurrence.

Functions

Link copied to clipboard
open override fun toJava(): VirtualMachineScheduleArgs