devtest

package
v4.42.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Mar 15, 2022 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type GetVirtualNetworkAllowedSubnet

type GetVirtualNetworkAllowedSubnet struct {
	// Indicates if this subnet allows public IP addresses. Possible values are `Allow`, `Default` and `Deny`.
	AllowPublicIp string `pulumi:"allowPublicIp"`
	// The name of the subnet.
	LabSubnetName string `pulumi:"labSubnetName"`
	// The resource identifier for the subnet.
	ResourceId string `pulumi:"resourceId"`
}

type GetVirtualNetworkAllowedSubnetArgs

type GetVirtualNetworkAllowedSubnetArgs struct {
	// Indicates if this subnet allows public IP addresses. Possible values are `Allow`, `Default` and `Deny`.
	AllowPublicIp pulumi.StringInput `pulumi:"allowPublicIp"`
	// The name of the subnet.
	LabSubnetName pulumi.StringInput `pulumi:"labSubnetName"`
	// The resource identifier for the subnet.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
}

func (GetVirtualNetworkAllowedSubnetArgs) ElementType

func (GetVirtualNetworkAllowedSubnetArgs) ToGetVirtualNetworkAllowedSubnetOutput

func (i GetVirtualNetworkAllowedSubnetArgs) ToGetVirtualNetworkAllowedSubnetOutput() GetVirtualNetworkAllowedSubnetOutput

func (GetVirtualNetworkAllowedSubnetArgs) ToGetVirtualNetworkAllowedSubnetOutputWithContext

func (i GetVirtualNetworkAllowedSubnetArgs) ToGetVirtualNetworkAllowedSubnetOutputWithContext(ctx context.Context) GetVirtualNetworkAllowedSubnetOutput

type GetVirtualNetworkAllowedSubnetArray

type GetVirtualNetworkAllowedSubnetArray []GetVirtualNetworkAllowedSubnetInput

func (GetVirtualNetworkAllowedSubnetArray) ElementType

func (GetVirtualNetworkAllowedSubnetArray) ToGetVirtualNetworkAllowedSubnetArrayOutput

func (i GetVirtualNetworkAllowedSubnetArray) ToGetVirtualNetworkAllowedSubnetArrayOutput() GetVirtualNetworkAllowedSubnetArrayOutput

func (GetVirtualNetworkAllowedSubnetArray) ToGetVirtualNetworkAllowedSubnetArrayOutputWithContext

func (i GetVirtualNetworkAllowedSubnetArray) ToGetVirtualNetworkAllowedSubnetArrayOutputWithContext(ctx context.Context) GetVirtualNetworkAllowedSubnetArrayOutput

type GetVirtualNetworkAllowedSubnetArrayInput

type GetVirtualNetworkAllowedSubnetArrayInput interface {
	pulumi.Input

	ToGetVirtualNetworkAllowedSubnetArrayOutput() GetVirtualNetworkAllowedSubnetArrayOutput
	ToGetVirtualNetworkAllowedSubnetArrayOutputWithContext(context.Context) GetVirtualNetworkAllowedSubnetArrayOutput
}

GetVirtualNetworkAllowedSubnetArrayInput is an input type that accepts GetVirtualNetworkAllowedSubnetArray and GetVirtualNetworkAllowedSubnetArrayOutput values. You can construct a concrete instance of `GetVirtualNetworkAllowedSubnetArrayInput` via:

GetVirtualNetworkAllowedSubnetArray{ GetVirtualNetworkAllowedSubnetArgs{...} }

type GetVirtualNetworkAllowedSubnetArrayOutput

type GetVirtualNetworkAllowedSubnetArrayOutput struct{ *pulumi.OutputState }

func (GetVirtualNetworkAllowedSubnetArrayOutput) ElementType

func (GetVirtualNetworkAllowedSubnetArrayOutput) Index

func (GetVirtualNetworkAllowedSubnetArrayOutput) ToGetVirtualNetworkAllowedSubnetArrayOutput

func (o GetVirtualNetworkAllowedSubnetArrayOutput) ToGetVirtualNetworkAllowedSubnetArrayOutput() GetVirtualNetworkAllowedSubnetArrayOutput

func (GetVirtualNetworkAllowedSubnetArrayOutput) ToGetVirtualNetworkAllowedSubnetArrayOutputWithContext

func (o GetVirtualNetworkAllowedSubnetArrayOutput) ToGetVirtualNetworkAllowedSubnetArrayOutputWithContext(ctx context.Context) GetVirtualNetworkAllowedSubnetArrayOutput

type GetVirtualNetworkAllowedSubnetInput

type GetVirtualNetworkAllowedSubnetInput interface {
	pulumi.Input

	ToGetVirtualNetworkAllowedSubnetOutput() GetVirtualNetworkAllowedSubnetOutput
	ToGetVirtualNetworkAllowedSubnetOutputWithContext(context.Context) GetVirtualNetworkAllowedSubnetOutput
}

GetVirtualNetworkAllowedSubnetInput is an input type that accepts GetVirtualNetworkAllowedSubnetArgs and GetVirtualNetworkAllowedSubnetOutput values. You can construct a concrete instance of `GetVirtualNetworkAllowedSubnetInput` via:

GetVirtualNetworkAllowedSubnetArgs{...}

type GetVirtualNetworkAllowedSubnetOutput

type GetVirtualNetworkAllowedSubnetOutput struct{ *pulumi.OutputState }

func (GetVirtualNetworkAllowedSubnetOutput) AllowPublicIp

Indicates if this subnet allows public IP addresses. Possible values are `Allow`, `Default` and `Deny`.

func (GetVirtualNetworkAllowedSubnetOutput) ElementType

func (GetVirtualNetworkAllowedSubnetOutput) LabSubnetName

The name of the subnet.

func (GetVirtualNetworkAllowedSubnetOutput) ResourceId

The resource identifier for the subnet.

func (GetVirtualNetworkAllowedSubnetOutput) ToGetVirtualNetworkAllowedSubnetOutput

func (o GetVirtualNetworkAllowedSubnetOutput) ToGetVirtualNetworkAllowedSubnetOutput() GetVirtualNetworkAllowedSubnetOutput

func (GetVirtualNetworkAllowedSubnetOutput) ToGetVirtualNetworkAllowedSubnetOutputWithContext

func (o GetVirtualNetworkAllowedSubnetOutput) ToGetVirtualNetworkAllowedSubnetOutputWithContext(ctx context.Context) GetVirtualNetworkAllowedSubnetOutput

type GetVirtualNetworkSubnetOverride

type GetVirtualNetworkSubnetOverride struct {
	// The name of the subnet.
	LabSubnetName string `pulumi:"labSubnetName"`
	// The resource identifier for the subnet.
	ResourceId string `pulumi:"resourceId"`
	// Indicates if the subnet can be used for VM creation.  Possible values are `Allow`, `Default` and `Deny`.
	UseInVmCreationPermission    string `pulumi:"useInVmCreationPermission"`
	UsePublicIpAddressPermission string `pulumi:"usePublicIpAddressPermission"`
	// The virtual network pool associated with this subnet.
	VirtualNetworkPoolName string `pulumi:"virtualNetworkPoolName"`
}

type GetVirtualNetworkSubnetOverrideArgs

type GetVirtualNetworkSubnetOverrideArgs struct {
	// The name of the subnet.
	LabSubnetName pulumi.StringInput `pulumi:"labSubnetName"`
	// The resource identifier for the subnet.
	ResourceId pulumi.StringInput `pulumi:"resourceId"`
	// Indicates if the subnet can be used for VM creation.  Possible values are `Allow`, `Default` and `Deny`.
	UseInVmCreationPermission    pulumi.StringInput `pulumi:"useInVmCreationPermission"`
	UsePublicIpAddressPermission pulumi.StringInput `pulumi:"usePublicIpAddressPermission"`
	// The virtual network pool associated with this subnet.
	VirtualNetworkPoolName pulumi.StringInput `pulumi:"virtualNetworkPoolName"`
}

func (GetVirtualNetworkSubnetOverrideArgs) ElementType

func (GetVirtualNetworkSubnetOverrideArgs) ToGetVirtualNetworkSubnetOverrideOutput

func (i GetVirtualNetworkSubnetOverrideArgs) ToGetVirtualNetworkSubnetOverrideOutput() GetVirtualNetworkSubnetOverrideOutput

func (GetVirtualNetworkSubnetOverrideArgs) ToGetVirtualNetworkSubnetOverrideOutputWithContext

func (i GetVirtualNetworkSubnetOverrideArgs) ToGetVirtualNetworkSubnetOverrideOutputWithContext(ctx context.Context) GetVirtualNetworkSubnetOverrideOutput

type GetVirtualNetworkSubnetOverrideArray

type GetVirtualNetworkSubnetOverrideArray []GetVirtualNetworkSubnetOverrideInput

func (GetVirtualNetworkSubnetOverrideArray) ElementType

func (GetVirtualNetworkSubnetOverrideArray) ToGetVirtualNetworkSubnetOverrideArrayOutput

func (i GetVirtualNetworkSubnetOverrideArray) ToGetVirtualNetworkSubnetOverrideArrayOutput() GetVirtualNetworkSubnetOverrideArrayOutput

func (GetVirtualNetworkSubnetOverrideArray) ToGetVirtualNetworkSubnetOverrideArrayOutputWithContext

func (i GetVirtualNetworkSubnetOverrideArray) ToGetVirtualNetworkSubnetOverrideArrayOutputWithContext(ctx context.Context) GetVirtualNetworkSubnetOverrideArrayOutput

type GetVirtualNetworkSubnetOverrideArrayInput

type GetVirtualNetworkSubnetOverrideArrayInput interface {
	pulumi.Input

	ToGetVirtualNetworkSubnetOverrideArrayOutput() GetVirtualNetworkSubnetOverrideArrayOutput
	ToGetVirtualNetworkSubnetOverrideArrayOutputWithContext(context.Context) GetVirtualNetworkSubnetOverrideArrayOutput
}

GetVirtualNetworkSubnetOverrideArrayInput is an input type that accepts GetVirtualNetworkSubnetOverrideArray and GetVirtualNetworkSubnetOverrideArrayOutput values. You can construct a concrete instance of `GetVirtualNetworkSubnetOverrideArrayInput` via:

GetVirtualNetworkSubnetOverrideArray{ GetVirtualNetworkSubnetOverrideArgs{...} }

type GetVirtualNetworkSubnetOverrideArrayOutput

type GetVirtualNetworkSubnetOverrideArrayOutput struct{ *pulumi.OutputState }

func (GetVirtualNetworkSubnetOverrideArrayOutput) ElementType

func (GetVirtualNetworkSubnetOverrideArrayOutput) Index

func (GetVirtualNetworkSubnetOverrideArrayOutput) ToGetVirtualNetworkSubnetOverrideArrayOutput

func (o GetVirtualNetworkSubnetOverrideArrayOutput) ToGetVirtualNetworkSubnetOverrideArrayOutput() GetVirtualNetworkSubnetOverrideArrayOutput

func (GetVirtualNetworkSubnetOverrideArrayOutput) ToGetVirtualNetworkSubnetOverrideArrayOutputWithContext

func (o GetVirtualNetworkSubnetOverrideArrayOutput) ToGetVirtualNetworkSubnetOverrideArrayOutputWithContext(ctx context.Context) GetVirtualNetworkSubnetOverrideArrayOutput

type GetVirtualNetworkSubnetOverrideInput

type GetVirtualNetworkSubnetOverrideInput interface {
	pulumi.Input

	ToGetVirtualNetworkSubnetOverrideOutput() GetVirtualNetworkSubnetOverrideOutput
	ToGetVirtualNetworkSubnetOverrideOutputWithContext(context.Context) GetVirtualNetworkSubnetOverrideOutput
}

GetVirtualNetworkSubnetOverrideInput is an input type that accepts GetVirtualNetworkSubnetOverrideArgs and GetVirtualNetworkSubnetOverrideOutput values. You can construct a concrete instance of `GetVirtualNetworkSubnetOverrideInput` via:

GetVirtualNetworkSubnetOverrideArgs{...}

type GetVirtualNetworkSubnetOverrideOutput

type GetVirtualNetworkSubnetOverrideOutput struct{ *pulumi.OutputState }

func (GetVirtualNetworkSubnetOverrideOutput) ElementType

func (GetVirtualNetworkSubnetOverrideOutput) LabSubnetName

The name of the subnet.

func (GetVirtualNetworkSubnetOverrideOutput) ResourceId

The resource identifier for the subnet.

func (GetVirtualNetworkSubnetOverrideOutput) ToGetVirtualNetworkSubnetOverrideOutput

func (o GetVirtualNetworkSubnetOverrideOutput) ToGetVirtualNetworkSubnetOverrideOutput() GetVirtualNetworkSubnetOverrideOutput

func (GetVirtualNetworkSubnetOverrideOutput) ToGetVirtualNetworkSubnetOverrideOutputWithContext

func (o GetVirtualNetworkSubnetOverrideOutput) ToGetVirtualNetworkSubnetOverrideOutputWithContext(ctx context.Context) GetVirtualNetworkSubnetOverrideOutput

func (GetVirtualNetworkSubnetOverrideOutput) UseInVmCreationPermission

func (o GetVirtualNetworkSubnetOverrideOutput) UseInVmCreationPermission() pulumi.StringOutput

Indicates if the subnet can be used for VM creation. Possible values are `Allow`, `Default` and `Deny`.

func (GetVirtualNetworkSubnetOverrideOutput) UsePublicIpAddressPermission

func (o GetVirtualNetworkSubnetOverrideOutput) UsePublicIpAddressPermission() pulumi.StringOutput

func (GetVirtualNetworkSubnetOverrideOutput) VirtualNetworkPoolName

func (o GetVirtualNetworkSubnetOverrideOutput) VirtualNetworkPoolName() pulumi.StringOutput

The virtual network pool associated with this subnet.

type GlobalVMShutdownSchedule

type GlobalVMShutdownSchedule struct {
	pulumi.CustomResourceState

	// The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)
	DailyRecurrenceTime pulumi.StringOutput `pulumi:"dailyRecurrenceTime"`
	// Whether to enable the schedule. Possible values are `true` and `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrOutput `pulumi:"enabled"`
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location             pulumi.StringOutput                                `pulumi:"location"`
	NotificationSettings GlobalVMShutdownScheduleNotificationSettingsOutput `pulumi:"notificationSettings"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	Timezone pulumi.StringOutput `pulumi:"timezone"`
	// The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringOutput `pulumi:"virtualMachineId"`
}

Manages automated shutdown schedules for Azure VMs that are not within an Azure DevTest Lab. While this is part of the DevTest Labs service in Azure, this resource applies only to standard VMs, not DevTest Lab VMs. To manage automated shutdown schedules for DevTest Lab VMs, reference the `devtest.Schedule` resource

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/compute"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/network"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := network.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &network.VirtualNetworkArgs{
			AddressSpaces: pulumi.StringArray{
				pulumi.String("10.0.0.0/16"),
			},
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		exampleSubnet, err := network.NewSubnet(ctx, "exampleSubnet", &network.SubnetArgs{
			ResourceGroupName:  exampleResourceGroup.Name,
			VirtualNetworkName: exampleVirtualNetwork.Name,
			AddressPrefixes: pulumi.StringArray{
				pulumi.String("10.0.2.0/24"),
			},
		})
		if err != nil {
			return err
		}
		exampleNetworkInterface, err := network.NewNetworkInterface(ctx, "exampleNetworkInterface", &network.NetworkInterfaceArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			IpConfigurations: network.NetworkInterfaceIpConfigurationArray{
				&network.NetworkInterfaceIpConfigurationArgs{
					Name:                       pulumi.String("testconfiguration1"),
					SubnetId:                   exampleSubnet.ID(),
					PrivateIpAddressAllocation: pulumi.String("Dynamic"),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = compute.NewLinuxVirtualMachine(ctx, "exampleLinuxVirtualMachine", &compute.LinuxVirtualMachineArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			NetworkInterfaceIds: pulumi.StringArray{
				exampleNetworkInterface.ID(),
			},
			Size: pulumi.String("Standard_B2s"),
			SourceImageReference: &compute.LinuxVirtualMachineSourceImageReferenceArgs{
				Publisher: pulumi.String("Canonical"),
				Offer:     pulumi.String("UbuntuServer"),
				Sku:       pulumi.String("16.04-LTS"),
				Version:   pulumi.String("latest"),
			},
			OsDisk: &compute.LinuxVirtualMachineOsDiskArgs{
				Name:            pulumi.String(fmt.Sprintf("%v%v%v", "myosdisk-", "%", "d")),
				Caching:         pulumi.String("ReadWrite"),
				ManagedDiskType: "Standard_LRS",
			},
			AdminUsername:                 pulumi.String("testadmin"),
			AdminPassword:                 pulumi.String("Password1234!"),
			DisablePasswordAuthentication: pulumi.Bool(false),
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewGlobalVMShutdownSchedule(ctx, "exampleGlobalVMShutdownSchedule", &devtest.GlobalVMShutdownScheduleArgs{
			VirtualMachineId:    pulumi.Any(azurerm_virtual_machine.Example.Id),
			Location:            exampleResourceGroup.Location,
			Enabled:             pulumi.Bool(true),
			DailyRecurrenceTime: pulumi.String("1100"),
			Timezone:            pulumi.String("Pacific Standard Time"),
			NotificationSettings: &devtest.GlobalVMShutdownScheduleNotificationSettingsArgs{
				Enabled:       pulumi.Bool(true),
				TimeInMinutes: pulumi.Int(60),
				WebhookUrl:    pulumi.String("https://sample-webhook-url.example.com"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

An existing Dev Test Global Shutdown Schedule can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/globalVMShutdownSchedule:GlobalVMShutdownSchedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/sample-rg/providers/Microsoft.DevTestLab/schedules/shutdown-computevm-SampleVM

```

The name of the resource within the `resource id` will always follow the format `shutdown-computevm-<VM Name>` where `<VM Name>` is replaced by the name of the target Virtual Machine

func GetGlobalVMShutdownSchedule

func GetGlobalVMShutdownSchedule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GlobalVMShutdownScheduleState, opts ...pulumi.ResourceOption) (*GlobalVMShutdownSchedule, error)

GetGlobalVMShutdownSchedule gets an existing GlobalVMShutdownSchedule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewGlobalVMShutdownSchedule

func NewGlobalVMShutdownSchedule(ctx *pulumi.Context,
	name string, args *GlobalVMShutdownScheduleArgs, opts ...pulumi.ResourceOption) (*GlobalVMShutdownSchedule, error)

NewGlobalVMShutdownSchedule registers a new resource with the given unique name, arguments, and options.

func (*GlobalVMShutdownSchedule) ElementType

func (*GlobalVMShutdownSchedule) ElementType() reflect.Type

func (*GlobalVMShutdownSchedule) ToGlobalVMShutdownScheduleOutput

func (i *GlobalVMShutdownSchedule) ToGlobalVMShutdownScheduleOutput() GlobalVMShutdownScheduleOutput

func (*GlobalVMShutdownSchedule) ToGlobalVMShutdownScheduleOutputWithContext

func (i *GlobalVMShutdownSchedule) ToGlobalVMShutdownScheduleOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleOutput

type GlobalVMShutdownScheduleArgs

type GlobalVMShutdownScheduleArgs struct {
	// The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)
	DailyRecurrenceTime pulumi.StringInput
	// Whether to enable the schedule. Possible values are `true` and `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location             pulumi.StringPtrInput
	NotificationSettings GlobalVMShutdownScheduleNotificationSettingsInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	Timezone pulumi.StringInput
	// The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringInput
}

The set of arguments for constructing a GlobalVMShutdownSchedule resource.

func (GlobalVMShutdownScheduleArgs) ElementType

type GlobalVMShutdownScheduleArray

type GlobalVMShutdownScheduleArray []GlobalVMShutdownScheduleInput

func (GlobalVMShutdownScheduleArray) ElementType

func (GlobalVMShutdownScheduleArray) ToGlobalVMShutdownScheduleArrayOutput

func (i GlobalVMShutdownScheduleArray) ToGlobalVMShutdownScheduleArrayOutput() GlobalVMShutdownScheduleArrayOutput

func (GlobalVMShutdownScheduleArray) ToGlobalVMShutdownScheduleArrayOutputWithContext

func (i GlobalVMShutdownScheduleArray) ToGlobalVMShutdownScheduleArrayOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleArrayOutput

type GlobalVMShutdownScheduleArrayInput

type GlobalVMShutdownScheduleArrayInput interface {
	pulumi.Input

	ToGlobalVMShutdownScheduleArrayOutput() GlobalVMShutdownScheduleArrayOutput
	ToGlobalVMShutdownScheduleArrayOutputWithContext(context.Context) GlobalVMShutdownScheduleArrayOutput
}

GlobalVMShutdownScheduleArrayInput is an input type that accepts GlobalVMShutdownScheduleArray and GlobalVMShutdownScheduleArrayOutput values. You can construct a concrete instance of `GlobalVMShutdownScheduleArrayInput` via:

GlobalVMShutdownScheduleArray{ GlobalVMShutdownScheduleArgs{...} }

type GlobalVMShutdownScheduleArrayOutput

type GlobalVMShutdownScheduleArrayOutput struct{ *pulumi.OutputState }

func (GlobalVMShutdownScheduleArrayOutput) ElementType

func (GlobalVMShutdownScheduleArrayOutput) Index

func (GlobalVMShutdownScheduleArrayOutput) ToGlobalVMShutdownScheduleArrayOutput

func (o GlobalVMShutdownScheduleArrayOutput) ToGlobalVMShutdownScheduleArrayOutput() GlobalVMShutdownScheduleArrayOutput

func (GlobalVMShutdownScheduleArrayOutput) ToGlobalVMShutdownScheduleArrayOutputWithContext

func (o GlobalVMShutdownScheduleArrayOutput) ToGlobalVMShutdownScheduleArrayOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleArrayOutput

type GlobalVMShutdownScheduleInput

type GlobalVMShutdownScheduleInput interface {
	pulumi.Input

	ToGlobalVMShutdownScheduleOutput() GlobalVMShutdownScheduleOutput
	ToGlobalVMShutdownScheduleOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleOutput
}

type GlobalVMShutdownScheduleMap

type GlobalVMShutdownScheduleMap map[string]GlobalVMShutdownScheduleInput

func (GlobalVMShutdownScheduleMap) ElementType

func (GlobalVMShutdownScheduleMap) ToGlobalVMShutdownScheduleMapOutput

func (i GlobalVMShutdownScheduleMap) ToGlobalVMShutdownScheduleMapOutput() GlobalVMShutdownScheduleMapOutput

func (GlobalVMShutdownScheduleMap) ToGlobalVMShutdownScheduleMapOutputWithContext

func (i GlobalVMShutdownScheduleMap) ToGlobalVMShutdownScheduleMapOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleMapOutput

type GlobalVMShutdownScheduleMapInput

type GlobalVMShutdownScheduleMapInput interface {
	pulumi.Input

	ToGlobalVMShutdownScheduleMapOutput() GlobalVMShutdownScheduleMapOutput
	ToGlobalVMShutdownScheduleMapOutputWithContext(context.Context) GlobalVMShutdownScheduleMapOutput
}

GlobalVMShutdownScheduleMapInput is an input type that accepts GlobalVMShutdownScheduleMap and GlobalVMShutdownScheduleMapOutput values. You can construct a concrete instance of `GlobalVMShutdownScheduleMapInput` via:

GlobalVMShutdownScheduleMap{ "key": GlobalVMShutdownScheduleArgs{...} }

type GlobalVMShutdownScheduleMapOutput

type GlobalVMShutdownScheduleMapOutput struct{ *pulumi.OutputState }

func (GlobalVMShutdownScheduleMapOutput) ElementType

func (GlobalVMShutdownScheduleMapOutput) MapIndex

func (GlobalVMShutdownScheduleMapOutput) ToGlobalVMShutdownScheduleMapOutput

func (o GlobalVMShutdownScheduleMapOutput) ToGlobalVMShutdownScheduleMapOutput() GlobalVMShutdownScheduleMapOutput

func (GlobalVMShutdownScheduleMapOutput) ToGlobalVMShutdownScheduleMapOutputWithContext

func (o GlobalVMShutdownScheduleMapOutput) ToGlobalVMShutdownScheduleMapOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleMapOutput

type GlobalVMShutdownScheduleNotificationSettings

type GlobalVMShutdownScheduleNotificationSettings struct {
	// E-mail address to which the notification will be sent.
	Email *string `pulumi:"email"`
	// Whether to enable pre-shutdown notifications. Possible values are `true` and `false`. Defaults to `false`
	Enabled bool `pulumi:"enabled"`
	// Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to `30`.
	TimeInMinutes *int `pulumi:"timeInMinutes"`
	// The webhook URL to which the notification will be sent. Required if `enabled` is `true`. Optional otherwise.
	WebhookUrl *string `pulumi:"webhookUrl"`
}

type GlobalVMShutdownScheduleNotificationSettingsArgs

type GlobalVMShutdownScheduleNotificationSettingsArgs struct {
	// E-mail address to which the notification will be sent.
	Email pulumi.StringPtrInput `pulumi:"email"`
	// Whether to enable pre-shutdown notifications. Possible values are `true` and `false`. Defaults to `false`
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to `30`.
	TimeInMinutes pulumi.IntPtrInput `pulumi:"timeInMinutes"`
	// The webhook URL to which the notification will be sent. Required if `enabled` is `true`. Optional otherwise.
	WebhookUrl pulumi.StringPtrInput `pulumi:"webhookUrl"`
}

func (GlobalVMShutdownScheduleNotificationSettingsArgs) ElementType

func (GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsOutput

func (i GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsOutput() GlobalVMShutdownScheduleNotificationSettingsOutput

func (GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsOutputWithContext

func (i GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleNotificationSettingsOutput

func (GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (i GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput() GlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext

func (i GlobalVMShutdownScheduleNotificationSettingsArgs) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleNotificationSettingsPtrOutput

type GlobalVMShutdownScheduleNotificationSettingsInput

type GlobalVMShutdownScheduleNotificationSettingsInput interface {
	pulumi.Input

	ToGlobalVMShutdownScheduleNotificationSettingsOutput() GlobalVMShutdownScheduleNotificationSettingsOutput
	ToGlobalVMShutdownScheduleNotificationSettingsOutputWithContext(context.Context) GlobalVMShutdownScheduleNotificationSettingsOutput
}

GlobalVMShutdownScheduleNotificationSettingsInput is an input type that accepts GlobalVMShutdownScheduleNotificationSettingsArgs and GlobalVMShutdownScheduleNotificationSettingsOutput values. You can construct a concrete instance of `GlobalVMShutdownScheduleNotificationSettingsInput` via:

GlobalVMShutdownScheduleNotificationSettingsArgs{...}

type GlobalVMShutdownScheduleNotificationSettingsOutput

type GlobalVMShutdownScheduleNotificationSettingsOutput struct{ *pulumi.OutputState }

func (GlobalVMShutdownScheduleNotificationSettingsOutput) ElementType

func (GlobalVMShutdownScheduleNotificationSettingsOutput) Email added in v4.16.0

E-mail address to which the notification will be sent.

func (GlobalVMShutdownScheduleNotificationSettingsOutput) Enabled

Whether to enable pre-shutdown notifications. Possible values are `true` and `false`. Defaults to `false`

func (GlobalVMShutdownScheduleNotificationSettingsOutput) TimeInMinutes

Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to `30`.

func (GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsOutput

func (o GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsOutput() GlobalVMShutdownScheduleNotificationSettingsOutput

func (GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsOutputWithContext

func (o GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleNotificationSettingsOutput

func (GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (o GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput() GlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext

func (o GlobalVMShutdownScheduleNotificationSettingsOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (GlobalVMShutdownScheduleNotificationSettingsOutput) WebhookUrl

The webhook URL to which the notification will be sent. Required if `enabled` is `true`. Optional otherwise.

type GlobalVMShutdownScheduleNotificationSettingsPtrInput

type GlobalVMShutdownScheduleNotificationSettingsPtrInput interface {
	pulumi.Input

	ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput() GlobalVMShutdownScheduleNotificationSettingsPtrOutput
	ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext(context.Context) GlobalVMShutdownScheduleNotificationSettingsPtrOutput
}

GlobalVMShutdownScheduleNotificationSettingsPtrInput is an input type that accepts GlobalVMShutdownScheduleNotificationSettingsArgs, GlobalVMShutdownScheduleNotificationSettingsPtr and GlobalVMShutdownScheduleNotificationSettingsPtrOutput values. You can construct a concrete instance of `GlobalVMShutdownScheduleNotificationSettingsPtrInput` via:

        GlobalVMShutdownScheduleNotificationSettingsArgs{...}

or:

        nil

type GlobalVMShutdownScheduleNotificationSettingsPtrOutput

type GlobalVMShutdownScheduleNotificationSettingsPtrOutput struct{ *pulumi.OutputState }

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) Elem

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) ElementType

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) Email added in v4.16.0

E-mail address to which the notification will be sent.

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) Enabled

Whether to enable pre-shutdown notifications. Possible values are `true` and `false`. Defaults to `false`

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) TimeInMinutes

Time in minutes between 15 and 120 before a shutdown event at which a notification will be sent. Defaults to `30`.

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext

func (o GlobalVMShutdownScheduleNotificationSettingsPtrOutput) ToGlobalVMShutdownScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleNotificationSettingsPtrOutput

func (GlobalVMShutdownScheduleNotificationSettingsPtrOutput) WebhookUrl

The webhook URL to which the notification will be sent. Required if `enabled` is `true`. Optional otherwise.

type GlobalVMShutdownScheduleOutput

type GlobalVMShutdownScheduleOutput struct{ *pulumi.OutputState }

func (GlobalVMShutdownScheduleOutput) ElementType

func (GlobalVMShutdownScheduleOutput) ToGlobalVMShutdownScheduleOutput

func (o GlobalVMShutdownScheduleOutput) ToGlobalVMShutdownScheduleOutput() GlobalVMShutdownScheduleOutput

func (GlobalVMShutdownScheduleOutput) ToGlobalVMShutdownScheduleOutputWithContext

func (o GlobalVMShutdownScheduleOutput) ToGlobalVMShutdownScheduleOutputWithContext(ctx context.Context) GlobalVMShutdownScheduleOutput

type GlobalVMShutdownScheduleState

type GlobalVMShutdownScheduleState struct {
	// The time each day when the schedule takes effect. Must match the format HHmm where HH is 00-23 and mm is 00-59 (e.g. 0930, 2300, etc.)
	DailyRecurrenceTime pulumi.StringPtrInput
	// Whether to enable the schedule. Possible values are `true` and `false`. Defaults to `true`.
	Enabled pulumi.BoolPtrInput
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location             pulumi.StringPtrInput
	NotificationSettings GlobalVMShutdownScheduleNotificationSettingsPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The time zone ID (e.g. Pacific Standard time). Refer to this guide for a [full list of accepted time zone names](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	Timezone pulumi.StringPtrInput
	// The resource ID of the target ARM-based Virtual Machine. Changing this forces a new resource to be created.
	VirtualMachineId pulumi.StringPtrInput
}

func (GlobalVMShutdownScheduleState) ElementType

type Lab

type Lab struct {
	pulumi.CustomResourceState

	// The ID of the Storage Account used for Artifact Storage.
	ArtifactsStorageAccountId pulumi.StringOutput `pulumi:"artifactsStorageAccountId"`
	// The ID of the Default Premium Storage Account for this Dev Test Lab.
	DefaultPremiumStorageAccountId pulumi.StringOutput `pulumi:"defaultPremiumStorageAccountId"`
	// The ID of the Default Storage Account for this Dev Test Lab.
	DefaultStorageAccountId pulumi.StringOutput `pulumi:"defaultStorageAccountId"`
	// The ID of the Key used for this Dev Test Lab.
	KeyVaultId pulumi.StringOutput `pulumi:"keyVaultId"`
	// Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The ID of the Storage Account used for Storage of Premium Data Disk.
	PremiumDataDiskStorageAccountId pulumi.StringOutput `pulumi:"premiumDataDiskStorageAccountId"`
	// The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `Premium`. Changing this forces a new resource to be created.
	StorageType pulumi.StringPtrOutput `pulumi:"storageType"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The unique immutable identifier of the Dev Test Lab.
	UniqueIdentifier pulumi.StringOutput `pulumi:"uniqueIdentifier"`
}

Manages a Dev Test Lab.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Tags: pulumi.StringMap{
				"Sydney": pulumi.String("Australia"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Dev Test Labs can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/lab:Lab lab1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1

```

func GetLab

func GetLab(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LabState, opts ...pulumi.ResourceOption) (*Lab, error)

GetLab gets an existing Lab resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLab

func NewLab(ctx *pulumi.Context,
	name string, args *LabArgs, opts ...pulumi.ResourceOption) (*Lab, error)

NewLab registers a new resource with the given unique name, arguments, and options.

func (*Lab) ElementType

func (*Lab) ElementType() reflect.Type

func (*Lab) ToLabOutput

func (i *Lab) ToLabOutput() LabOutput

func (*Lab) ToLabOutputWithContext

func (i *Lab) ToLabOutputWithContext(ctx context.Context) LabOutput

type LabArgs

type LabArgs struct {
	// Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `Premium`. Changing this forces a new resource to be created.
	StorageType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Lab resource.

func (LabArgs) ElementType

func (LabArgs) ElementType() reflect.Type

type LabArray

type LabArray []LabInput

func (LabArray) ElementType

func (LabArray) ElementType() reflect.Type

func (LabArray) ToLabArrayOutput

func (i LabArray) ToLabArrayOutput() LabArrayOutput

func (LabArray) ToLabArrayOutputWithContext

func (i LabArray) ToLabArrayOutputWithContext(ctx context.Context) LabArrayOutput

type LabArrayInput

type LabArrayInput interface {
	pulumi.Input

	ToLabArrayOutput() LabArrayOutput
	ToLabArrayOutputWithContext(context.Context) LabArrayOutput
}

LabArrayInput is an input type that accepts LabArray and LabArrayOutput values. You can construct a concrete instance of `LabArrayInput` via:

LabArray{ LabArgs{...} }

type LabArrayOutput

type LabArrayOutput struct{ *pulumi.OutputState }

func (LabArrayOutput) ElementType

func (LabArrayOutput) ElementType() reflect.Type

func (LabArrayOutput) Index

func (LabArrayOutput) ToLabArrayOutput

func (o LabArrayOutput) ToLabArrayOutput() LabArrayOutput

func (LabArrayOutput) ToLabArrayOutputWithContext

func (o LabArrayOutput) ToLabArrayOutputWithContext(ctx context.Context) LabArrayOutput

type LabInput

type LabInput interface {
	pulumi.Input

	ToLabOutput() LabOutput
	ToLabOutputWithContext(ctx context.Context) LabOutput
}

type LabMap

type LabMap map[string]LabInput

func (LabMap) ElementType

func (LabMap) ElementType() reflect.Type

func (LabMap) ToLabMapOutput

func (i LabMap) ToLabMapOutput() LabMapOutput

func (LabMap) ToLabMapOutputWithContext

func (i LabMap) ToLabMapOutputWithContext(ctx context.Context) LabMapOutput

type LabMapInput

type LabMapInput interface {
	pulumi.Input

	ToLabMapOutput() LabMapOutput
	ToLabMapOutputWithContext(context.Context) LabMapOutput
}

LabMapInput is an input type that accepts LabMap and LabMapOutput values. You can construct a concrete instance of `LabMapInput` via:

LabMap{ "key": LabArgs{...} }

type LabMapOutput

type LabMapOutput struct{ *pulumi.OutputState }

func (LabMapOutput) ElementType

func (LabMapOutput) ElementType() reflect.Type

func (LabMapOutput) MapIndex

func (o LabMapOutput) MapIndex(k pulumi.StringInput) LabOutput

func (LabMapOutput) ToLabMapOutput

func (o LabMapOutput) ToLabMapOutput() LabMapOutput

func (LabMapOutput) ToLabMapOutputWithContext

func (o LabMapOutput) ToLabMapOutputWithContext(ctx context.Context) LabMapOutput

type LabOutput

type LabOutput struct{ *pulumi.OutputState }

func (LabOutput) ElementType

func (LabOutput) ElementType() reflect.Type

func (LabOutput) ToLabOutput

func (o LabOutput) ToLabOutput() LabOutput

func (LabOutput) ToLabOutputWithContext

func (o LabOutput) ToLabOutputWithContext(ctx context.Context) LabOutput

type LabState

type LabState struct {
	// The ID of the Storage Account used for Artifact Storage.
	ArtifactsStorageAccountId pulumi.StringPtrInput
	// The ID of the Default Premium Storage Account for this Dev Test Lab.
	DefaultPremiumStorageAccountId pulumi.StringPtrInput
	// The ID of the Default Storage Account for this Dev Test Lab.
	DefaultStorageAccountId pulumi.StringPtrInput
	// The ID of the Key used for this Dev Test Lab.
	KeyVaultId pulumi.StringPtrInput
	// Specifies the supported Azure location where the Dev Test Lab should exist. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The ID of the Storage Account used for Storage of Premium Data Disk.
	PremiumDataDiskStorageAccountId pulumi.StringPtrInput
	// The name of the resource group under which the Dev Test Lab resource has to be created. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The type of storage used by the Dev Test Lab. Possible values are `Standard` and `Premium`. Defaults to `Premium`. Changing this forces a new resource to be created.
	StorageType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The unique immutable identifier of the Dev Test Lab.
	UniqueIdentifier pulumi.StringPtrInput
}

func (LabState) ElementType

func (LabState) ElementType() reflect.Type

type LinuxVirtualMachine

type LinuxVirtualMachine struct {
	pulumi.CustomResourceState

	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrOutput `pulumi:"allowClaim"`
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrOutput `pulumi:"disallowPublicIpAddress"`
	// The FQDN of the Virtual Machine.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// A `galleryImageReference` block as defined below.
	GalleryImageReference LinuxVirtualMachineGalleryImageReferenceOutput `pulumi:"galleryImageReference"`
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules LinuxVirtualMachineInboundNatRuleArrayOutput `pulumi:"inboundNatRules"`
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringOutput `pulumi:"labName"`
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringOutput `pulumi:"labSubnetName"`
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringOutput `pulumi:"labVirtualNetworkId"`
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrOutput `pulumi:"notes"`
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringPtrOutput `pulumi:"password"`
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringOutput `pulumi:"size"`
	// The SSH Key associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	SshKey pulumi.StringPtrOutput `pulumi:"sshKey"`
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The unique immutable identifier of the Virtual Machine.
	UniqueIdentifier pulumi.StringOutput `pulumi:"uniqueIdentifier"`
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringOutput `pulumi:"username"`
}

Manages a Linux Virtual Machine within a Dev Test Lab.

## Example Usage

```go package main

import (

"io/ioutil"

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func readFileOrPanic(path string) pulumi.StringPtrInput {
	data, err := ioutil.ReadFile(path)
	if err != nil {
		panic(err.Error())
	}
	return pulumi.String(string(data))
}
func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Tags: pulumi.StringMap{
				"Sydney": pulumi.String("Australia"),
			},
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := devtest.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &devtest.VirtualNetworkArgs{
			LabName:           exampleLab.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Subnet: &devtest.VirtualNetworkSubnetArgs{
				UsePublicIpAddress:          pulumi.String("Allow"),
				UseInVirtualMachineCreation: pulumi.String("Allow"),
			},
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewLinuxVirtualMachine(ctx, "exampleLinuxVirtualMachine", &devtest.LinuxVirtualMachineArgs{
			LabName:             exampleLab.Name,
			ResourceGroupName:   exampleResourceGroup.Name,
			Location:            exampleResourceGroup.Location,
			Size:                pulumi.String("Standard_DS2"),
			Username:            pulumi.String("exampleuser99"),
			SshKey:              readFileOrPanic("~/.ssh/id_rsa.pub"),
			LabVirtualNetworkId: exampleVirtualNetwork.ID(),
			LabSubnetName: exampleVirtualNetwork.Subnet.ApplyT(func(subnet devtest.VirtualNetworkSubnet) (string, error) {
				return subnet.Name, nil
			}).(pulumi.StringOutput),
			StorageType: pulumi.String("Premium"),
			Notes:       pulumi.String("Some notes about this Virtual Machine."),
			GalleryImageReference: &devtest.LinuxVirtualMachineGalleryImageReferenceArgs{
				Offer:     pulumi.String("UbuntuServer"),
				Publisher: pulumi.String("Canonical"),
				Sku:       pulumi.String("18.04-LTS"),
				Version:   pulumi.String("latest"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Dev Test Linux Virtual Machines can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/linuxVirtualMachine:LinuxVirtualMachine machine1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualmachines/machine1

```

func GetLinuxVirtualMachine

func GetLinuxVirtualMachine(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *LinuxVirtualMachineState, opts ...pulumi.ResourceOption) (*LinuxVirtualMachine, error)

GetLinuxVirtualMachine gets an existing LinuxVirtualMachine resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewLinuxVirtualMachine

func NewLinuxVirtualMachine(ctx *pulumi.Context,
	name string, args *LinuxVirtualMachineArgs, opts ...pulumi.ResourceOption) (*LinuxVirtualMachine, error)

NewLinuxVirtualMachine registers a new resource with the given unique name, arguments, and options.

func (*LinuxVirtualMachine) ElementType

func (*LinuxVirtualMachine) ElementType() reflect.Type

func (*LinuxVirtualMachine) ToLinuxVirtualMachineOutput

func (i *LinuxVirtualMachine) ToLinuxVirtualMachineOutput() LinuxVirtualMachineOutput

func (*LinuxVirtualMachine) ToLinuxVirtualMachineOutputWithContext

func (i *LinuxVirtualMachine) ToLinuxVirtualMachineOutputWithContext(ctx context.Context) LinuxVirtualMachineOutput

type LinuxVirtualMachineArgs

type LinuxVirtualMachineArgs struct {
	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrInput
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrInput
	// A `galleryImageReference` block as defined below.
	GalleryImageReference LinuxVirtualMachineGalleryImageReferenceInput
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules LinuxVirtualMachineInboundNatRuleArrayInput
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringInput
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringInput
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringInput
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrInput
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringInput
	// The SSH Key associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	SshKey pulumi.StringPtrInput
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringInput
}

The set of arguments for constructing a LinuxVirtualMachine resource.

func (LinuxVirtualMachineArgs) ElementType

func (LinuxVirtualMachineArgs) ElementType() reflect.Type

type LinuxVirtualMachineArray

type LinuxVirtualMachineArray []LinuxVirtualMachineInput

func (LinuxVirtualMachineArray) ElementType

func (LinuxVirtualMachineArray) ElementType() reflect.Type

func (LinuxVirtualMachineArray) ToLinuxVirtualMachineArrayOutput

func (i LinuxVirtualMachineArray) ToLinuxVirtualMachineArrayOutput() LinuxVirtualMachineArrayOutput

func (LinuxVirtualMachineArray) ToLinuxVirtualMachineArrayOutputWithContext

func (i LinuxVirtualMachineArray) ToLinuxVirtualMachineArrayOutputWithContext(ctx context.Context) LinuxVirtualMachineArrayOutput

type LinuxVirtualMachineArrayInput

type LinuxVirtualMachineArrayInput interface {
	pulumi.Input

	ToLinuxVirtualMachineArrayOutput() LinuxVirtualMachineArrayOutput
	ToLinuxVirtualMachineArrayOutputWithContext(context.Context) LinuxVirtualMachineArrayOutput
}

LinuxVirtualMachineArrayInput is an input type that accepts LinuxVirtualMachineArray and LinuxVirtualMachineArrayOutput values. You can construct a concrete instance of `LinuxVirtualMachineArrayInput` via:

LinuxVirtualMachineArray{ LinuxVirtualMachineArgs{...} }

type LinuxVirtualMachineArrayOutput

type LinuxVirtualMachineArrayOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineArrayOutput) ElementType

func (LinuxVirtualMachineArrayOutput) Index

func (LinuxVirtualMachineArrayOutput) ToLinuxVirtualMachineArrayOutput

func (o LinuxVirtualMachineArrayOutput) ToLinuxVirtualMachineArrayOutput() LinuxVirtualMachineArrayOutput

func (LinuxVirtualMachineArrayOutput) ToLinuxVirtualMachineArrayOutputWithContext

func (o LinuxVirtualMachineArrayOutput) ToLinuxVirtualMachineArrayOutputWithContext(ctx context.Context) LinuxVirtualMachineArrayOutput

type LinuxVirtualMachineGalleryImageReference

type LinuxVirtualMachineGalleryImageReference struct {
	// The Offer of the Gallery Image. Changing this forces a new resource to be created.
	Offer string `pulumi:"offer"`
	// The Publisher of the Gallery Image. Changing this forces a new resource to be created.
	Publisher string `pulumi:"publisher"`
	// The SKU of the Gallery Image. Changing this forces a new resource to be created.
	Sku string `pulumi:"sku"`
	// The Version of the Gallery Image. Changing this forces a new resource to be created.
	Version string `pulumi:"version"`
}

type LinuxVirtualMachineGalleryImageReferenceArgs

type LinuxVirtualMachineGalleryImageReferenceArgs struct {
	// The Offer of the Gallery Image. Changing this forces a new resource to be created.
	Offer pulumi.StringInput `pulumi:"offer"`
	// The Publisher of the Gallery Image. Changing this forces a new resource to be created.
	Publisher pulumi.StringInput `pulumi:"publisher"`
	// The SKU of the Gallery Image. Changing this forces a new resource to be created.
	Sku pulumi.StringInput `pulumi:"sku"`
	// The Version of the Gallery Image. Changing this forces a new resource to be created.
	Version pulumi.StringInput `pulumi:"version"`
}

func (LinuxVirtualMachineGalleryImageReferenceArgs) ElementType

func (LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferenceOutput

func (i LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferenceOutput() LinuxVirtualMachineGalleryImageReferenceOutput

func (LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferenceOutputWithContext

func (i LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferenceOutputWithContext(ctx context.Context) LinuxVirtualMachineGalleryImageReferenceOutput

func (LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferencePtrOutput

func (i LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferencePtrOutput() LinuxVirtualMachineGalleryImageReferencePtrOutput

func (LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext

func (i LinuxVirtualMachineGalleryImageReferenceArgs) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) LinuxVirtualMachineGalleryImageReferencePtrOutput

type LinuxVirtualMachineGalleryImageReferenceInput

type LinuxVirtualMachineGalleryImageReferenceInput interface {
	pulumi.Input

	ToLinuxVirtualMachineGalleryImageReferenceOutput() LinuxVirtualMachineGalleryImageReferenceOutput
	ToLinuxVirtualMachineGalleryImageReferenceOutputWithContext(context.Context) LinuxVirtualMachineGalleryImageReferenceOutput
}

LinuxVirtualMachineGalleryImageReferenceInput is an input type that accepts LinuxVirtualMachineGalleryImageReferenceArgs and LinuxVirtualMachineGalleryImageReferenceOutput values. You can construct a concrete instance of `LinuxVirtualMachineGalleryImageReferenceInput` via:

LinuxVirtualMachineGalleryImageReferenceArgs{...}

type LinuxVirtualMachineGalleryImageReferenceOutput

type LinuxVirtualMachineGalleryImageReferenceOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineGalleryImageReferenceOutput) ElementType

func (LinuxVirtualMachineGalleryImageReferenceOutput) Offer

The Offer of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferenceOutput) Publisher

The Publisher of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferenceOutput) Sku

The SKU of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferenceOutput

func (o LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferenceOutput() LinuxVirtualMachineGalleryImageReferenceOutput

func (LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferenceOutputWithContext

func (o LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferenceOutputWithContext(ctx context.Context) LinuxVirtualMachineGalleryImageReferenceOutput

func (LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutput

func (o LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutput() LinuxVirtualMachineGalleryImageReferencePtrOutput

func (LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext

func (o LinuxVirtualMachineGalleryImageReferenceOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) LinuxVirtualMachineGalleryImageReferencePtrOutput

func (LinuxVirtualMachineGalleryImageReferenceOutput) Version

The Version of the Gallery Image. Changing this forces a new resource to be created.

type LinuxVirtualMachineGalleryImageReferencePtrInput

type LinuxVirtualMachineGalleryImageReferencePtrInput interface {
	pulumi.Input

	ToLinuxVirtualMachineGalleryImageReferencePtrOutput() LinuxVirtualMachineGalleryImageReferencePtrOutput
	ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext(context.Context) LinuxVirtualMachineGalleryImageReferencePtrOutput
}

LinuxVirtualMachineGalleryImageReferencePtrInput is an input type that accepts LinuxVirtualMachineGalleryImageReferenceArgs, LinuxVirtualMachineGalleryImageReferencePtr and LinuxVirtualMachineGalleryImageReferencePtrOutput values. You can construct a concrete instance of `LinuxVirtualMachineGalleryImageReferencePtrInput` via:

        LinuxVirtualMachineGalleryImageReferenceArgs{...}

or:

        nil

type LinuxVirtualMachineGalleryImageReferencePtrOutput

type LinuxVirtualMachineGalleryImageReferencePtrOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) Elem

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) ElementType

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) Offer

The Offer of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) Publisher

The Publisher of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) Sku

The SKU of the Gallery Image. Changing this forces a new resource to be created.

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutput

func (o LinuxVirtualMachineGalleryImageReferencePtrOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutput() LinuxVirtualMachineGalleryImageReferencePtrOutput

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext

func (o LinuxVirtualMachineGalleryImageReferencePtrOutput) ToLinuxVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) LinuxVirtualMachineGalleryImageReferencePtrOutput

func (LinuxVirtualMachineGalleryImageReferencePtrOutput) Version

The Version of the Gallery Image. Changing this forces a new resource to be created.

type LinuxVirtualMachineInboundNatRule

type LinuxVirtualMachineInboundNatRule struct {
	// The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
	BackendPort int `pulumi:"backendPort"`
	// The frontend port associated with this Inbound NAT Rule.
	FrontendPort *int `pulumi:"frontendPort"`
	// The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.
	Protocol string `pulumi:"protocol"`
}

type LinuxVirtualMachineInboundNatRuleArgs

type LinuxVirtualMachineInboundNatRuleArgs struct {
	// The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
	BackendPort pulumi.IntInput `pulumi:"backendPort"`
	// The frontend port associated with this Inbound NAT Rule.
	FrontendPort pulumi.IntPtrInput `pulumi:"frontendPort"`
	// The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (LinuxVirtualMachineInboundNatRuleArgs) ElementType

func (LinuxVirtualMachineInboundNatRuleArgs) ToLinuxVirtualMachineInboundNatRuleOutput

func (i LinuxVirtualMachineInboundNatRuleArgs) ToLinuxVirtualMachineInboundNatRuleOutput() LinuxVirtualMachineInboundNatRuleOutput

func (LinuxVirtualMachineInboundNatRuleArgs) ToLinuxVirtualMachineInboundNatRuleOutputWithContext

func (i LinuxVirtualMachineInboundNatRuleArgs) ToLinuxVirtualMachineInboundNatRuleOutputWithContext(ctx context.Context) LinuxVirtualMachineInboundNatRuleOutput

type LinuxVirtualMachineInboundNatRuleArray

type LinuxVirtualMachineInboundNatRuleArray []LinuxVirtualMachineInboundNatRuleInput

func (LinuxVirtualMachineInboundNatRuleArray) ElementType

func (LinuxVirtualMachineInboundNatRuleArray) ToLinuxVirtualMachineInboundNatRuleArrayOutput

func (i LinuxVirtualMachineInboundNatRuleArray) ToLinuxVirtualMachineInboundNatRuleArrayOutput() LinuxVirtualMachineInboundNatRuleArrayOutput

func (LinuxVirtualMachineInboundNatRuleArray) ToLinuxVirtualMachineInboundNatRuleArrayOutputWithContext

func (i LinuxVirtualMachineInboundNatRuleArray) ToLinuxVirtualMachineInboundNatRuleArrayOutputWithContext(ctx context.Context) LinuxVirtualMachineInboundNatRuleArrayOutput

type LinuxVirtualMachineInboundNatRuleArrayInput

type LinuxVirtualMachineInboundNatRuleArrayInput interface {
	pulumi.Input

	ToLinuxVirtualMachineInboundNatRuleArrayOutput() LinuxVirtualMachineInboundNatRuleArrayOutput
	ToLinuxVirtualMachineInboundNatRuleArrayOutputWithContext(context.Context) LinuxVirtualMachineInboundNatRuleArrayOutput
}

LinuxVirtualMachineInboundNatRuleArrayInput is an input type that accepts LinuxVirtualMachineInboundNatRuleArray and LinuxVirtualMachineInboundNatRuleArrayOutput values. You can construct a concrete instance of `LinuxVirtualMachineInboundNatRuleArrayInput` via:

LinuxVirtualMachineInboundNatRuleArray{ LinuxVirtualMachineInboundNatRuleArgs{...} }

type LinuxVirtualMachineInboundNatRuleArrayOutput

type LinuxVirtualMachineInboundNatRuleArrayOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineInboundNatRuleArrayOutput) ElementType

func (LinuxVirtualMachineInboundNatRuleArrayOutput) Index

func (LinuxVirtualMachineInboundNatRuleArrayOutput) ToLinuxVirtualMachineInboundNatRuleArrayOutput

func (o LinuxVirtualMachineInboundNatRuleArrayOutput) ToLinuxVirtualMachineInboundNatRuleArrayOutput() LinuxVirtualMachineInboundNatRuleArrayOutput

func (LinuxVirtualMachineInboundNatRuleArrayOutput) ToLinuxVirtualMachineInboundNatRuleArrayOutputWithContext

func (o LinuxVirtualMachineInboundNatRuleArrayOutput) ToLinuxVirtualMachineInboundNatRuleArrayOutputWithContext(ctx context.Context) LinuxVirtualMachineInboundNatRuleArrayOutput

type LinuxVirtualMachineInboundNatRuleInput

type LinuxVirtualMachineInboundNatRuleInput interface {
	pulumi.Input

	ToLinuxVirtualMachineInboundNatRuleOutput() LinuxVirtualMachineInboundNatRuleOutput
	ToLinuxVirtualMachineInboundNatRuleOutputWithContext(context.Context) LinuxVirtualMachineInboundNatRuleOutput
}

LinuxVirtualMachineInboundNatRuleInput is an input type that accepts LinuxVirtualMachineInboundNatRuleArgs and LinuxVirtualMachineInboundNatRuleOutput values. You can construct a concrete instance of `LinuxVirtualMachineInboundNatRuleInput` via:

LinuxVirtualMachineInboundNatRuleArgs{...}

type LinuxVirtualMachineInboundNatRuleOutput

type LinuxVirtualMachineInboundNatRuleOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineInboundNatRuleOutput) BackendPort

The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.

func (LinuxVirtualMachineInboundNatRuleOutput) ElementType

func (LinuxVirtualMachineInboundNatRuleOutput) FrontendPort

The frontend port associated with this Inbound NAT Rule.

func (LinuxVirtualMachineInboundNatRuleOutput) Protocol

The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.

func (LinuxVirtualMachineInboundNatRuleOutput) ToLinuxVirtualMachineInboundNatRuleOutput

func (o LinuxVirtualMachineInboundNatRuleOutput) ToLinuxVirtualMachineInboundNatRuleOutput() LinuxVirtualMachineInboundNatRuleOutput

func (LinuxVirtualMachineInboundNatRuleOutput) ToLinuxVirtualMachineInboundNatRuleOutputWithContext

func (o LinuxVirtualMachineInboundNatRuleOutput) ToLinuxVirtualMachineInboundNatRuleOutputWithContext(ctx context.Context) LinuxVirtualMachineInboundNatRuleOutput

type LinuxVirtualMachineInput

type LinuxVirtualMachineInput interface {
	pulumi.Input

	ToLinuxVirtualMachineOutput() LinuxVirtualMachineOutput
	ToLinuxVirtualMachineOutputWithContext(ctx context.Context) LinuxVirtualMachineOutput
}

type LinuxVirtualMachineMap

type LinuxVirtualMachineMap map[string]LinuxVirtualMachineInput

func (LinuxVirtualMachineMap) ElementType

func (LinuxVirtualMachineMap) ElementType() reflect.Type

func (LinuxVirtualMachineMap) ToLinuxVirtualMachineMapOutput

func (i LinuxVirtualMachineMap) ToLinuxVirtualMachineMapOutput() LinuxVirtualMachineMapOutput

func (LinuxVirtualMachineMap) ToLinuxVirtualMachineMapOutputWithContext

func (i LinuxVirtualMachineMap) ToLinuxVirtualMachineMapOutputWithContext(ctx context.Context) LinuxVirtualMachineMapOutput

type LinuxVirtualMachineMapInput

type LinuxVirtualMachineMapInput interface {
	pulumi.Input

	ToLinuxVirtualMachineMapOutput() LinuxVirtualMachineMapOutput
	ToLinuxVirtualMachineMapOutputWithContext(context.Context) LinuxVirtualMachineMapOutput
}

LinuxVirtualMachineMapInput is an input type that accepts LinuxVirtualMachineMap and LinuxVirtualMachineMapOutput values. You can construct a concrete instance of `LinuxVirtualMachineMapInput` via:

LinuxVirtualMachineMap{ "key": LinuxVirtualMachineArgs{...} }

type LinuxVirtualMachineMapOutput

type LinuxVirtualMachineMapOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineMapOutput) ElementType

func (LinuxVirtualMachineMapOutput) MapIndex

func (LinuxVirtualMachineMapOutput) ToLinuxVirtualMachineMapOutput

func (o LinuxVirtualMachineMapOutput) ToLinuxVirtualMachineMapOutput() LinuxVirtualMachineMapOutput

func (LinuxVirtualMachineMapOutput) ToLinuxVirtualMachineMapOutputWithContext

func (o LinuxVirtualMachineMapOutput) ToLinuxVirtualMachineMapOutputWithContext(ctx context.Context) LinuxVirtualMachineMapOutput

type LinuxVirtualMachineOutput

type LinuxVirtualMachineOutput struct{ *pulumi.OutputState }

func (LinuxVirtualMachineOutput) ElementType

func (LinuxVirtualMachineOutput) ElementType() reflect.Type

func (LinuxVirtualMachineOutput) ToLinuxVirtualMachineOutput

func (o LinuxVirtualMachineOutput) ToLinuxVirtualMachineOutput() LinuxVirtualMachineOutput

func (LinuxVirtualMachineOutput) ToLinuxVirtualMachineOutputWithContext

func (o LinuxVirtualMachineOutput) ToLinuxVirtualMachineOutputWithContext(ctx context.Context) LinuxVirtualMachineOutput

type LinuxVirtualMachineState

type LinuxVirtualMachineState struct {
	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrInput
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrInput
	// The FQDN of the Virtual Machine.
	Fqdn pulumi.StringPtrInput
	// A `galleryImageReference` block as defined below.
	GalleryImageReference LinuxVirtualMachineGalleryImageReferencePtrInput
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules LinuxVirtualMachineInboundNatRuleArrayInput
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringPtrInput
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringPtrInput
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringPtrInput
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrInput
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringPtrInput
	// The SSH Key associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	SshKey pulumi.StringPtrInput
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The unique immutable identifier of the Virtual Machine.
	UniqueIdentifier pulumi.StringPtrInput
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringPtrInput
}

func (LinuxVirtualMachineState) ElementType

func (LinuxVirtualMachineState) ElementType() reflect.Type

type LookupLabArgs

type LookupLabArgs struct {
	// The name of the Dev Test Lab.
	Name string `pulumi:"name"`
	// The Name of the Resource Group where the Dev Test Lab exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getLab.

type LookupLabOutputArgs added in v4.20.0

type LookupLabOutputArgs struct {
	// The name of the Dev Test Lab.
	Name pulumi.StringInput `pulumi:"name"`
	// The Name of the Resource Group where the Dev Test Lab exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getLab.

func (LookupLabOutputArgs) ElementType added in v4.20.0

func (LookupLabOutputArgs) ElementType() reflect.Type

type LookupLabResult

type LookupLabResult struct {
	// The ID of the Storage Account used for Artifact Storage.
	ArtifactsStorageAccountId string `pulumi:"artifactsStorageAccountId"`
	// The ID of the Default Premium Storage Account for this Dev Test Lab.
	DefaultPremiumStorageAccountId string `pulumi:"defaultPremiumStorageAccountId"`
	// The ID of the Default Storage Account for this Dev Test Lab.
	DefaultStorageAccountId string `pulumi:"defaultStorageAccountId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The ID of the Key used for this Dev Test Lab.
	KeyVaultId string `pulumi:"keyVaultId"`
	// The Azure location where the Dev Test Lab exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// The ID of the Storage Account used for Storage of Premium Data Disk.
	PremiumDataDiskStorageAccountId string `pulumi:"premiumDataDiskStorageAccountId"`
	ResourceGroupName               string `pulumi:"resourceGroupName"`
	// The type of storage used by the Dev Test Lab.
	StorageType string `pulumi:"storageType"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The unique immutable identifier of the Dev Test Lab.
	UniqueIdentifier string `pulumi:"uniqueIdentifier"`
}

A collection of values returned by getLab.

func LookupLab

func LookupLab(ctx *pulumi.Context, args *LookupLabArgs, opts ...pulumi.InvokeOption) (*LookupLabResult, error)

Use this data source to access information about an existing Dev Test Lab.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := devtest.LookupLab(ctx, &devtest.LookupLabArgs{
			Name:              "example-lab",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("uniqueIdentifier", example.UniqueIdentifier)
		return nil
	})
}

```

type LookupLabResultOutput added in v4.20.0

type LookupLabResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getLab.

func LookupLabOutput added in v4.20.0

func LookupLabOutput(ctx *pulumi.Context, args LookupLabOutputArgs, opts ...pulumi.InvokeOption) LookupLabResultOutput

func (LookupLabResultOutput) ArtifactsStorageAccountId added in v4.20.0

func (o LookupLabResultOutput) ArtifactsStorageAccountId() pulumi.StringOutput

The ID of the Storage Account used for Artifact Storage.

func (LookupLabResultOutput) DefaultPremiumStorageAccountId added in v4.20.0

func (o LookupLabResultOutput) DefaultPremiumStorageAccountId() pulumi.StringOutput

The ID of the Default Premium Storage Account for this Dev Test Lab.

func (LookupLabResultOutput) DefaultStorageAccountId added in v4.20.0

func (o LookupLabResultOutput) DefaultStorageAccountId() pulumi.StringOutput

The ID of the Default Storage Account for this Dev Test Lab.

func (LookupLabResultOutput) ElementType added in v4.20.0

func (LookupLabResultOutput) ElementType() reflect.Type

func (LookupLabResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupLabResultOutput) KeyVaultId added in v4.20.0

func (o LookupLabResultOutput) KeyVaultId() pulumi.StringOutput

The ID of the Key used for this Dev Test Lab.

func (LookupLabResultOutput) Location added in v4.20.0

The Azure location where the Dev Test Lab exists.

func (LookupLabResultOutput) Name added in v4.20.0

func (LookupLabResultOutput) PremiumDataDiskStorageAccountId added in v4.20.0

func (o LookupLabResultOutput) PremiumDataDiskStorageAccountId() pulumi.StringOutput

The ID of the Storage Account used for Storage of Premium Data Disk.

func (LookupLabResultOutput) ResourceGroupName added in v4.20.0

func (o LookupLabResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupLabResultOutput) StorageType added in v4.20.0

func (o LookupLabResultOutput) StorageType() pulumi.StringOutput

The type of storage used by the Dev Test Lab.

func (LookupLabResultOutput) Tags added in v4.20.0

A mapping of tags to assign to the resource.

func (LookupLabResultOutput) ToLookupLabResultOutput added in v4.20.0

func (o LookupLabResultOutput) ToLookupLabResultOutput() LookupLabResultOutput

func (LookupLabResultOutput) ToLookupLabResultOutputWithContext added in v4.20.0

func (o LookupLabResultOutput) ToLookupLabResultOutputWithContext(ctx context.Context) LookupLabResultOutput

func (LookupLabResultOutput) UniqueIdentifier added in v4.20.0

func (o LookupLabResultOutput) UniqueIdentifier() pulumi.StringOutput

The unique immutable identifier of the Dev Test Lab.

type LookupVirtualNetworkArgs

type LookupVirtualNetworkArgs struct {
	// Specifies the name of the Dev Test Lab.
	LabName string `pulumi:"labName"`
	// Specifies the name of the Virtual Network.
	Name string `pulumi:"name"`
	// Specifies the name of the resource group that contains the Virtual Network.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getVirtualNetwork.

type LookupVirtualNetworkOutputArgs added in v4.20.0

type LookupVirtualNetworkOutputArgs struct {
	// Specifies the name of the Dev Test Lab.
	LabName pulumi.StringInput `pulumi:"labName"`
	// Specifies the name of the Virtual Network.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the resource group that contains the Virtual Network.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getVirtualNetwork.

func (LookupVirtualNetworkOutputArgs) ElementType added in v4.20.0

type LookupVirtualNetworkResult

type LookupVirtualNetworkResult struct {
	// The list of subnets enabled for the virtual network as defined below.
	AllowedSubnets []GetVirtualNetworkAllowedSubnet `pulumi:"allowedSubnets"`
	// The provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	LabName           string `pulumi:"labName"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// The list of permission overrides for the subnets as defined below.
	SubnetOverrides []GetVirtualNetworkSubnetOverride `pulumi:"subnetOverrides"`
	// The unique immutable identifier of the virtual network.
	UniqueIdentifier string `pulumi:"uniqueIdentifier"`
}

A collection of values returned by getVirtualNetwork.

func LookupVirtualNetwork

func LookupVirtualNetwork(ctx *pulumi.Context, args *LookupVirtualNetworkArgs, opts ...pulumi.InvokeOption) (*LookupVirtualNetworkResult, error)

Use this data source to access information about an existing Dev Test Lab Virtual Network.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := devtest.LookupVirtualNetwork(ctx, &devtest.LookupVirtualNetworkArgs{
			Name:              "example-network",
			LabName:           "examplelab",
			ResourceGroupName: "example-resource",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("labSubnetName", example.AllowedSubnets[0].LabSubnetName)
		return nil
	})
}

```

type LookupVirtualNetworkResultOutput added in v4.20.0

type LookupVirtualNetworkResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getVirtualNetwork.

func LookupVirtualNetworkOutput added in v4.20.0

func (LookupVirtualNetworkResultOutput) AllowedSubnets added in v4.20.0

The list of subnets enabled for the virtual network as defined below.

func (LookupVirtualNetworkResultOutput) ElementType added in v4.20.0

func (LookupVirtualNetworkResultOutput) Id added in v4.20.0

The provider-assigned unique ID for this managed resource.

func (LookupVirtualNetworkResultOutput) LabName added in v4.20.0

func (LookupVirtualNetworkResultOutput) Name added in v4.20.0

func (LookupVirtualNetworkResultOutput) ResourceGroupName added in v4.20.0

func (LookupVirtualNetworkResultOutput) SubnetOverrides added in v4.20.0

The list of permission overrides for the subnets as defined below.

func (LookupVirtualNetworkResultOutput) ToLookupVirtualNetworkResultOutput added in v4.20.0

func (o LookupVirtualNetworkResultOutput) ToLookupVirtualNetworkResultOutput() LookupVirtualNetworkResultOutput

func (LookupVirtualNetworkResultOutput) ToLookupVirtualNetworkResultOutputWithContext added in v4.20.0

func (o LookupVirtualNetworkResultOutput) ToLookupVirtualNetworkResultOutputWithContext(ctx context.Context) LookupVirtualNetworkResultOutput

func (LookupVirtualNetworkResultOutput) UniqueIdentifier added in v4.20.0

The unique immutable identifier of the virtual network.

type Policy

type Policy struct {
	pulumi.CustomResourceState

	// A description for the Policy.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.
	EvaluatorType pulumi.StringOutput `pulumi:"evaluatorType"`
	// The Fact Data for this Policy.
	FactData pulumi.StringPtrOutput `pulumi:"factData"`
	// Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringOutput `pulumi:"labName"`
	// Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.
	PolicySetName pulumi.StringOutput `pulumi:"policySetName"`
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The Threshold for this Policy.
	Threshold pulumi.StringOutput `pulumi:"threshold"`
}

Manages a Policy within a Dev Test Policy Set.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Tags: pulumi.StringMap{
				"Sydney": pulumi.String("Australia"),
			},
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewPolicy(ctx, "examplePolicy", &devtest.PolicyArgs{
			PolicySetName:     pulumi.String("default"),
			LabName:           exampleLab.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			FactData:          pulumi.String(""),
			Threshold:         pulumi.String("999"),
			EvaluatorType:     pulumi.String("MaxValuePolicy"),
			Tags: pulumi.StringMap{
				"Acceptance": pulumi.String("Test"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Dev Test Policies can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/policy:Policy policy1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/policysets/default/policies/policy1

```

func GetPolicy

func GetPolicy(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *PolicyState, opts ...pulumi.ResourceOption) (*Policy, error)

GetPolicy gets an existing Policy resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewPolicy

func NewPolicy(ctx *pulumi.Context,
	name string, args *PolicyArgs, opts ...pulumi.ResourceOption) (*Policy, error)

NewPolicy registers a new resource with the given unique name, arguments, and options.

func (*Policy) ElementType

func (*Policy) ElementType() reflect.Type

func (*Policy) ToPolicyOutput

func (i *Policy) ToPolicyOutput() PolicyOutput

func (*Policy) ToPolicyOutputWithContext

func (i *Policy) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyArgs

type PolicyArgs struct {
	// A description for the Policy.
	Description pulumi.StringPtrInput
	// The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.
	EvaluatorType pulumi.StringInput
	// The Fact Data for this Policy.
	FactData pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringInput
	// Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.
	PolicySetName pulumi.StringInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Threshold for this Policy.
	Threshold pulumi.StringInput
}

The set of arguments for constructing a Policy resource.

func (PolicyArgs) ElementType

func (PolicyArgs) ElementType() reflect.Type

type PolicyArray

type PolicyArray []PolicyInput

func (PolicyArray) ElementType

func (PolicyArray) ElementType() reflect.Type

func (PolicyArray) ToPolicyArrayOutput

func (i PolicyArray) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArray) ToPolicyArrayOutputWithContext

func (i PolicyArray) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyArrayInput

type PolicyArrayInput interface {
	pulumi.Input

	ToPolicyArrayOutput() PolicyArrayOutput
	ToPolicyArrayOutputWithContext(context.Context) PolicyArrayOutput
}

PolicyArrayInput is an input type that accepts PolicyArray and PolicyArrayOutput values. You can construct a concrete instance of `PolicyArrayInput` via:

PolicyArray{ PolicyArgs{...} }

type PolicyArrayOutput

type PolicyArrayOutput struct{ *pulumi.OutputState }

func (PolicyArrayOutput) ElementType

func (PolicyArrayOutput) ElementType() reflect.Type

func (PolicyArrayOutput) Index

func (PolicyArrayOutput) ToPolicyArrayOutput

func (o PolicyArrayOutput) ToPolicyArrayOutput() PolicyArrayOutput

func (PolicyArrayOutput) ToPolicyArrayOutputWithContext

func (o PolicyArrayOutput) ToPolicyArrayOutputWithContext(ctx context.Context) PolicyArrayOutput

type PolicyInput

type PolicyInput interface {
	pulumi.Input

	ToPolicyOutput() PolicyOutput
	ToPolicyOutputWithContext(ctx context.Context) PolicyOutput
}

type PolicyMap

type PolicyMap map[string]PolicyInput

func (PolicyMap) ElementType

func (PolicyMap) ElementType() reflect.Type

func (PolicyMap) ToPolicyMapOutput

func (i PolicyMap) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMap) ToPolicyMapOutputWithContext

func (i PolicyMap) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyMapInput

type PolicyMapInput interface {
	pulumi.Input

	ToPolicyMapOutput() PolicyMapOutput
	ToPolicyMapOutputWithContext(context.Context) PolicyMapOutput
}

PolicyMapInput is an input type that accepts PolicyMap and PolicyMapOutput values. You can construct a concrete instance of `PolicyMapInput` via:

PolicyMap{ "key": PolicyArgs{...} }

type PolicyMapOutput

type PolicyMapOutput struct{ *pulumi.OutputState }

func (PolicyMapOutput) ElementType

func (PolicyMapOutput) ElementType() reflect.Type

func (PolicyMapOutput) MapIndex

func (PolicyMapOutput) ToPolicyMapOutput

func (o PolicyMapOutput) ToPolicyMapOutput() PolicyMapOutput

func (PolicyMapOutput) ToPolicyMapOutputWithContext

func (o PolicyMapOutput) ToPolicyMapOutputWithContext(ctx context.Context) PolicyMapOutput

type PolicyOutput

type PolicyOutput struct{ *pulumi.OutputState }

func (PolicyOutput) ElementType

func (PolicyOutput) ElementType() reflect.Type

func (PolicyOutput) ToPolicyOutput

func (o PolicyOutput) ToPolicyOutput() PolicyOutput

func (PolicyOutput) ToPolicyOutputWithContext

func (o PolicyOutput) ToPolicyOutputWithContext(ctx context.Context) PolicyOutput

type PolicyState

type PolicyState struct {
	// A description for the Policy.
	Description pulumi.StringPtrInput
	// The Evaluation Type used for this Policy. Possible values include: 'AllowedValuesPolicy', 'MaxValuePolicy'. Changing this forces a new resource to be created.
	EvaluatorType pulumi.StringPtrInput
	// The Fact Data for this Policy.
	FactData pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab in which the Policy should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringPtrInput
	// Specifies the name of the Dev Test Policy. Possible values are `GalleryImage`, `LabPremiumVmCount`, `LabTargetCost`, `LabVmCount`, `LabVmSize`, `UserOwnedLabPremiumVmCount`, `UserOwnedLabVmCount` and `UserOwnedLabVmCountInSubnet`. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Specifies the name of the Policy Set within the Dev Test Lab where this policy should be created. Changing this forces a new resource to be created.
	PolicySetName pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Threshold for this Policy.
	Threshold pulumi.StringPtrInput
}

func (PolicyState) ElementType

func (PolicyState) ElementType() reflect.Type

type Schedule

type Schedule struct {
	pulumi.CustomResourceState

	DailyRecurrence  ScheduleDailyRecurrencePtrOutput  `pulumi:"dailyRecurrence"`
	HourlyRecurrence ScheduleHourlyRecurrencePtrOutput `pulumi:"hourlyRecurrence"`
	// The name of the dev test lab. Changing this forces a new resource to be created.
	LabName pulumi.StringOutput `pulumi:"labName"`
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the dev test lab schedule. Valid value for name depends on the `taskType`. For instance for taskType `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.
	Name                 pulumi.StringOutput                `pulumi:"name"`
	NotificationSettings ScheduleNotificationSettingsOutput `pulumi:"notificationSettings"`
	// The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.
	Status pulumi.StringPtrOutput `pulumi:"status"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.
	TaskType pulumi.StringOutput `pulumi:"taskType"`
	// The time zone ID (e.g. Pacific Standard time).
	TimeZoneId       pulumi.StringOutput               `pulumi:"timeZoneId"`
	WeeklyRecurrence ScheduleWeeklyRecurrencePtrOutput `pulumi:"weeklyRecurrence"`
}

Manages automated startup and shutdown schedules for Azure Dev Test Lab.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewSchedule(ctx, "exampleSchedule", &devtest.ScheduleArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			LabName:           exampleLab.Name,
			WeeklyRecurrence: &devtest.ScheduleWeeklyRecurrenceArgs{
				Time: pulumi.String("1100"),
				WeekDays: pulumi.StringArray{
					pulumi.String("Monday"),
					pulumi.String("Tuesday"),
				},
			},
			TimeZoneId:           pulumi.String("Pacific Standard Time"),
			TaskType:             pulumi.String("LabVmsStartupTask"),
			NotificationSettings: nil,
			Tags: pulumi.StringMap{
				"environment": pulumi.String("Production"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DevTest Schedule's can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/schedule:Schedule example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.DevTestLab/labs/myDevTestLab/schedules/labvmautostart

```

func GetSchedule

func GetSchedule(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScheduleState, opts ...pulumi.ResourceOption) (*Schedule, error)

GetSchedule gets an existing Schedule resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewSchedule

func NewSchedule(ctx *pulumi.Context,
	name string, args *ScheduleArgs, opts ...pulumi.ResourceOption) (*Schedule, error)

NewSchedule registers a new resource with the given unique name, arguments, and options.

func (*Schedule) ElementType

func (*Schedule) ElementType() reflect.Type

func (*Schedule) ToScheduleOutput

func (i *Schedule) ToScheduleOutput() ScheduleOutput

func (*Schedule) ToScheduleOutputWithContext

func (i *Schedule) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleArgs

type ScheduleArgs struct {
	DailyRecurrence  ScheduleDailyRecurrencePtrInput
	HourlyRecurrence ScheduleHourlyRecurrencePtrInput
	// The name of the dev test lab. Changing this forces a new resource to be created.
	LabName pulumi.StringInput
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the dev test lab schedule. Valid value for name depends on the `taskType`. For instance for taskType `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.
	Name                 pulumi.StringPtrInput
	NotificationSettings ScheduleNotificationSettingsInput
	// The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.
	TaskType pulumi.StringInput
	// The time zone ID (e.g. Pacific Standard time).
	TimeZoneId       pulumi.StringInput
	WeeklyRecurrence ScheduleWeeklyRecurrencePtrInput
}

The set of arguments for constructing a Schedule resource.

func (ScheduleArgs) ElementType

func (ScheduleArgs) ElementType() reflect.Type

type ScheduleArray

type ScheduleArray []ScheduleInput

func (ScheduleArray) ElementType

func (ScheduleArray) ElementType() reflect.Type

func (ScheduleArray) ToScheduleArrayOutput

func (i ScheduleArray) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArray) ToScheduleArrayOutputWithContext

func (i ScheduleArray) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleArrayInput

type ScheduleArrayInput interface {
	pulumi.Input

	ToScheduleArrayOutput() ScheduleArrayOutput
	ToScheduleArrayOutputWithContext(context.Context) ScheduleArrayOutput
}

ScheduleArrayInput is an input type that accepts ScheduleArray and ScheduleArrayOutput values. You can construct a concrete instance of `ScheduleArrayInput` via:

ScheduleArray{ ScheduleArgs{...} }

type ScheduleArrayOutput

type ScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScheduleArrayOutput) ElementType

func (ScheduleArrayOutput) ElementType() reflect.Type

func (ScheduleArrayOutput) Index

func (ScheduleArrayOutput) ToScheduleArrayOutput

func (o ScheduleArrayOutput) ToScheduleArrayOutput() ScheduleArrayOutput

func (ScheduleArrayOutput) ToScheduleArrayOutputWithContext

func (o ScheduleArrayOutput) ToScheduleArrayOutputWithContext(ctx context.Context) ScheduleArrayOutput

type ScheduleDailyRecurrence

type ScheduleDailyRecurrence struct {
	// The time each day when the schedule takes effect.
	Time string `pulumi:"time"`
}

type ScheduleDailyRecurrenceArgs

type ScheduleDailyRecurrenceArgs struct {
	// The time each day when the schedule takes effect.
	Time pulumi.StringInput `pulumi:"time"`
}

func (ScheduleDailyRecurrenceArgs) ElementType

func (ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrenceOutput

func (i ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrenceOutput() ScheduleDailyRecurrenceOutput

func (ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrenceOutputWithContext

func (i ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrenceOutputWithContext(ctx context.Context) ScheduleDailyRecurrenceOutput

func (ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrencePtrOutput

func (i ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrencePtrOutput() ScheduleDailyRecurrencePtrOutput

func (ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrencePtrOutputWithContext

func (i ScheduleDailyRecurrenceArgs) ToScheduleDailyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleDailyRecurrencePtrOutput

type ScheduleDailyRecurrenceInput

type ScheduleDailyRecurrenceInput interface {
	pulumi.Input

	ToScheduleDailyRecurrenceOutput() ScheduleDailyRecurrenceOutput
	ToScheduleDailyRecurrenceOutputWithContext(context.Context) ScheduleDailyRecurrenceOutput
}

ScheduleDailyRecurrenceInput is an input type that accepts ScheduleDailyRecurrenceArgs and ScheduleDailyRecurrenceOutput values. You can construct a concrete instance of `ScheduleDailyRecurrenceInput` via:

ScheduleDailyRecurrenceArgs{...}

type ScheduleDailyRecurrenceOutput

type ScheduleDailyRecurrenceOutput struct{ *pulumi.OutputState }

func (ScheduleDailyRecurrenceOutput) ElementType

func (ScheduleDailyRecurrenceOutput) Time

The time each day when the schedule takes effect.

func (ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrenceOutput

func (o ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrenceOutput() ScheduleDailyRecurrenceOutput

func (ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrenceOutputWithContext

func (o ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrenceOutputWithContext(ctx context.Context) ScheduleDailyRecurrenceOutput

func (ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrencePtrOutput

func (o ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrencePtrOutput() ScheduleDailyRecurrencePtrOutput

func (ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrencePtrOutputWithContext

func (o ScheduleDailyRecurrenceOutput) ToScheduleDailyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleDailyRecurrencePtrOutput

type ScheduleDailyRecurrencePtrInput

type ScheduleDailyRecurrencePtrInput interface {
	pulumi.Input

	ToScheduleDailyRecurrencePtrOutput() ScheduleDailyRecurrencePtrOutput
	ToScheduleDailyRecurrencePtrOutputWithContext(context.Context) ScheduleDailyRecurrencePtrOutput
}

ScheduleDailyRecurrencePtrInput is an input type that accepts ScheduleDailyRecurrenceArgs, ScheduleDailyRecurrencePtr and ScheduleDailyRecurrencePtrOutput values. You can construct a concrete instance of `ScheduleDailyRecurrencePtrInput` via:

        ScheduleDailyRecurrenceArgs{...}

or:

        nil

type ScheduleDailyRecurrencePtrOutput

type ScheduleDailyRecurrencePtrOutput struct{ *pulumi.OutputState }

func (ScheduleDailyRecurrencePtrOutput) Elem

func (ScheduleDailyRecurrencePtrOutput) ElementType

func (ScheduleDailyRecurrencePtrOutput) Time

The time each day when the schedule takes effect.

func (ScheduleDailyRecurrencePtrOutput) ToScheduleDailyRecurrencePtrOutput

func (o ScheduleDailyRecurrencePtrOutput) ToScheduleDailyRecurrencePtrOutput() ScheduleDailyRecurrencePtrOutput

func (ScheduleDailyRecurrencePtrOutput) ToScheduleDailyRecurrencePtrOutputWithContext

func (o ScheduleDailyRecurrencePtrOutput) ToScheduleDailyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleDailyRecurrencePtrOutput

type ScheduleHourlyRecurrence

type ScheduleHourlyRecurrence struct {
	Minute int `pulumi:"minute"`
}

type ScheduleHourlyRecurrenceArgs

type ScheduleHourlyRecurrenceArgs struct {
	Minute pulumi.IntInput `pulumi:"minute"`
}

func (ScheduleHourlyRecurrenceArgs) ElementType

func (ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrenceOutput

func (i ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrenceOutput() ScheduleHourlyRecurrenceOutput

func (ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrenceOutputWithContext

func (i ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrenceOutputWithContext(ctx context.Context) ScheduleHourlyRecurrenceOutput

func (ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrencePtrOutput

func (i ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrencePtrOutput() ScheduleHourlyRecurrencePtrOutput

func (ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrencePtrOutputWithContext

func (i ScheduleHourlyRecurrenceArgs) ToScheduleHourlyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleHourlyRecurrencePtrOutput

type ScheduleHourlyRecurrenceInput

type ScheduleHourlyRecurrenceInput interface {
	pulumi.Input

	ToScheduleHourlyRecurrenceOutput() ScheduleHourlyRecurrenceOutput
	ToScheduleHourlyRecurrenceOutputWithContext(context.Context) ScheduleHourlyRecurrenceOutput
}

ScheduleHourlyRecurrenceInput is an input type that accepts ScheduleHourlyRecurrenceArgs and ScheduleHourlyRecurrenceOutput values. You can construct a concrete instance of `ScheduleHourlyRecurrenceInput` via:

ScheduleHourlyRecurrenceArgs{...}

type ScheduleHourlyRecurrenceOutput

type ScheduleHourlyRecurrenceOutput struct{ *pulumi.OutputState }

func (ScheduleHourlyRecurrenceOutput) ElementType

func (ScheduleHourlyRecurrenceOutput) Minute

func (ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrenceOutput

func (o ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrenceOutput() ScheduleHourlyRecurrenceOutput

func (ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrenceOutputWithContext

func (o ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrenceOutputWithContext(ctx context.Context) ScheduleHourlyRecurrenceOutput

func (ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrencePtrOutput

func (o ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrencePtrOutput() ScheduleHourlyRecurrencePtrOutput

func (ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrencePtrOutputWithContext

func (o ScheduleHourlyRecurrenceOutput) ToScheduleHourlyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleHourlyRecurrencePtrOutput

type ScheduleHourlyRecurrencePtrInput

type ScheduleHourlyRecurrencePtrInput interface {
	pulumi.Input

	ToScheduleHourlyRecurrencePtrOutput() ScheduleHourlyRecurrencePtrOutput
	ToScheduleHourlyRecurrencePtrOutputWithContext(context.Context) ScheduleHourlyRecurrencePtrOutput
}

ScheduleHourlyRecurrencePtrInput is an input type that accepts ScheduleHourlyRecurrenceArgs, ScheduleHourlyRecurrencePtr and ScheduleHourlyRecurrencePtrOutput values. You can construct a concrete instance of `ScheduleHourlyRecurrencePtrInput` via:

        ScheduleHourlyRecurrenceArgs{...}

or:

        nil

type ScheduleHourlyRecurrencePtrOutput

type ScheduleHourlyRecurrencePtrOutput struct{ *pulumi.OutputState }

func (ScheduleHourlyRecurrencePtrOutput) Elem

func (ScheduleHourlyRecurrencePtrOutput) ElementType

func (ScheduleHourlyRecurrencePtrOutput) Minute

func (ScheduleHourlyRecurrencePtrOutput) ToScheduleHourlyRecurrencePtrOutput

func (o ScheduleHourlyRecurrencePtrOutput) ToScheduleHourlyRecurrencePtrOutput() ScheduleHourlyRecurrencePtrOutput

func (ScheduleHourlyRecurrencePtrOutput) ToScheduleHourlyRecurrencePtrOutputWithContext

func (o ScheduleHourlyRecurrencePtrOutput) ToScheduleHourlyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleHourlyRecurrencePtrOutput

type ScheduleInput

type ScheduleInput interface {
	pulumi.Input

	ToScheduleOutput() ScheduleOutput
	ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput
}

type ScheduleMap

type ScheduleMap map[string]ScheduleInput

func (ScheduleMap) ElementType

func (ScheduleMap) ElementType() reflect.Type

func (ScheduleMap) ToScheduleMapOutput

func (i ScheduleMap) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMap) ToScheduleMapOutputWithContext

func (i ScheduleMap) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleMapInput

type ScheduleMapInput interface {
	pulumi.Input

	ToScheduleMapOutput() ScheduleMapOutput
	ToScheduleMapOutputWithContext(context.Context) ScheduleMapOutput
}

ScheduleMapInput is an input type that accepts ScheduleMap and ScheduleMapOutput values. You can construct a concrete instance of `ScheduleMapInput` via:

ScheduleMap{ "key": ScheduleArgs{...} }

type ScheduleMapOutput

type ScheduleMapOutput struct{ *pulumi.OutputState }

func (ScheduleMapOutput) ElementType

func (ScheduleMapOutput) ElementType() reflect.Type

func (ScheduleMapOutput) MapIndex

func (ScheduleMapOutput) ToScheduleMapOutput

func (o ScheduleMapOutput) ToScheduleMapOutput() ScheduleMapOutput

func (ScheduleMapOutput) ToScheduleMapOutputWithContext

func (o ScheduleMapOutput) ToScheduleMapOutputWithContext(ctx context.Context) ScheduleMapOutput

type ScheduleNotificationSettings

type ScheduleNotificationSettings struct {
	// The status of the notification. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`
	Status *string `pulumi:"status"`
	// Time in minutes before event at which notification will be sent.
	TimeInMinutes *int `pulumi:"timeInMinutes"`
	// The webhook URL to which the notification will be sent.
	WebhookUrl *string `pulumi:"webhookUrl"`
}

type ScheduleNotificationSettingsArgs

type ScheduleNotificationSettingsArgs struct {
	// The status of the notification. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`
	Status pulumi.StringPtrInput `pulumi:"status"`
	// Time in minutes before event at which notification will be sent.
	TimeInMinutes pulumi.IntPtrInput `pulumi:"timeInMinutes"`
	// The webhook URL to which the notification will be sent.
	WebhookUrl pulumi.StringPtrInput `pulumi:"webhookUrl"`
}

func (ScheduleNotificationSettingsArgs) ElementType

func (ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsOutput

func (i ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsOutput() ScheduleNotificationSettingsOutput

func (ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsOutputWithContext

func (i ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsOutputWithContext(ctx context.Context) ScheduleNotificationSettingsOutput

func (ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsPtrOutput

func (i ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsPtrOutput() ScheduleNotificationSettingsPtrOutput

func (ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsPtrOutputWithContext

func (i ScheduleNotificationSettingsArgs) ToScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) ScheduleNotificationSettingsPtrOutput

type ScheduleNotificationSettingsInput

type ScheduleNotificationSettingsInput interface {
	pulumi.Input

	ToScheduleNotificationSettingsOutput() ScheduleNotificationSettingsOutput
	ToScheduleNotificationSettingsOutputWithContext(context.Context) ScheduleNotificationSettingsOutput
}

ScheduleNotificationSettingsInput is an input type that accepts ScheduleNotificationSettingsArgs and ScheduleNotificationSettingsOutput values. You can construct a concrete instance of `ScheduleNotificationSettingsInput` via:

ScheduleNotificationSettingsArgs{...}

type ScheduleNotificationSettingsOutput

type ScheduleNotificationSettingsOutput struct{ *pulumi.OutputState }

func (ScheduleNotificationSettingsOutput) ElementType

func (ScheduleNotificationSettingsOutput) Status

The status of the notification. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`

func (ScheduleNotificationSettingsOutput) TimeInMinutes

Time in minutes before event at which notification will be sent.

func (ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsOutput

func (o ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsOutput() ScheduleNotificationSettingsOutput

func (ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsOutputWithContext

func (o ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsOutputWithContext(ctx context.Context) ScheduleNotificationSettingsOutput

func (ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsPtrOutput

func (o ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsPtrOutput() ScheduleNotificationSettingsPtrOutput

func (ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsPtrOutputWithContext

func (o ScheduleNotificationSettingsOutput) ToScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) ScheduleNotificationSettingsPtrOutput

func (ScheduleNotificationSettingsOutput) WebhookUrl

The webhook URL to which the notification will be sent.

type ScheduleNotificationSettingsPtrInput

type ScheduleNotificationSettingsPtrInput interface {
	pulumi.Input

	ToScheduleNotificationSettingsPtrOutput() ScheduleNotificationSettingsPtrOutput
	ToScheduleNotificationSettingsPtrOutputWithContext(context.Context) ScheduleNotificationSettingsPtrOutput
}

ScheduleNotificationSettingsPtrInput is an input type that accepts ScheduleNotificationSettingsArgs, ScheduleNotificationSettingsPtr and ScheduleNotificationSettingsPtrOutput values. You can construct a concrete instance of `ScheduleNotificationSettingsPtrInput` via:

        ScheduleNotificationSettingsArgs{...}

or:

        nil

type ScheduleNotificationSettingsPtrOutput

type ScheduleNotificationSettingsPtrOutput struct{ *pulumi.OutputState }

func (ScheduleNotificationSettingsPtrOutput) Elem

func (ScheduleNotificationSettingsPtrOutput) ElementType

func (ScheduleNotificationSettingsPtrOutput) Status

The status of the notification. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`

func (ScheduleNotificationSettingsPtrOutput) TimeInMinutes

Time in minutes before event at which notification will be sent.

func (ScheduleNotificationSettingsPtrOutput) ToScheduleNotificationSettingsPtrOutput

func (o ScheduleNotificationSettingsPtrOutput) ToScheduleNotificationSettingsPtrOutput() ScheduleNotificationSettingsPtrOutput

func (ScheduleNotificationSettingsPtrOutput) ToScheduleNotificationSettingsPtrOutputWithContext

func (o ScheduleNotificationSettingsPtrOutput) ToScheduleNotificationSettingsPtrOutputWithContext(ctx context.Context) ScheduleNotificationSettingsPtrOutput

func (ScheduleNotificationSettingsPtrOutput) WebhookUrl

The webhook URL to which the notification will be sent.

type ScheduleOutput

type ScheduleOutput struct{ *pulumi.OutputState }

func (ScheduleOutput) ElementType

func (ScheduleOutput) ElementType() reflect.Type

func (ScheduleOutput) ToScheduleOutput

func (o ScheduleOutput) ToScheduleOutput() ScheduleOutput

func (ScheduleOutput) ToScheduleOutputWithContext

func (o ScheduleOutput) ToScheduleOutputWithContext(ctx context.Context) ScheduleOutput

type ScheduleState

type ScheduleState struct {
	DailyRecurrence  ScheduleDailyRecurrencePtrInput
	HourlyRecurrence ScheduleHourlyRecurrencePtrInput
	// The name of the dev test lab. Changing this forces a new resource to be created.
	LabName pulumi.StringPtrInput
	// The location where the schedule is created. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the dev test lab schedule. Valid value for name depends on the `taskType`. For instance for taskType `LabVmsStartupTask` the name needs to be `LabVmAutoStart`.
	Name                 pulumi.StringPtrInput
	NotificationSettings ScheduleNotificationSettingsPtrInput
	// The name of the resource group in which to create the dev test lab schedule. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The status of this schedule. Possible values are `Enabled` and `Disabled`. Defaults to `Disabled`.
	Status pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The task type of the schedule. Possible values include `LabVmsShutdownTask` and `LabVmAutoStart`.
	TaskType pulumi.StringPtrInput
	// The time zone ID (e.g. Pacific Standard time).
	TimeZoneId       pulumi.StringPtrInput
	WeeklyRecurrence ScheduleWeeklyRecurrencePtrInput
}

func (ScheduleState) ElementType

func (ScheduleState) ElementType() reflect.Type

type ScheduleWeeklyRecurrence

type ScheduleWeeklyRecurrence struct {
	// The time when the schedule takes effect.
	Time string `pulumi:"time"`
	// A list of days that this schedule takes effect . Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
	WeekDays []string `pulumi:"weekDays"`
}

type ScheduleWeeklyRecurrenceArgs

type ScheduleWeeklyRecurrenceArgs struct {
	// The time when the schedule takes effect.
	Time pulumi.StringInput `pulumi:"time"`
	// A list of days that this schedule takes effect . Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.
	WeekDays pulumi.StringArrayInput `pulumi:"weekDays"`
}

func (ScheduleWeeklyRecurrenceArgs) ElementType

func (ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrenceOutput

func (i ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrenceOutput() ScheduleWeeklyRecurrenceOutput

func (ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrenceOutputWithContext

func (i ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrenceOutputWithContext(ctx context.Context) ScheduleWeeklyRecurrenceOutput

func (ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrencePtrOutput

func (i ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrencePtrOutput() ScheduleWeeklyRecurrencePtrOutput

func (ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrencePtrOutputWithContext

func (i ScheduleWeeklyRecurrenceArgs) ToScheduleWeeklyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleWeeklyRecurrencePtrOutput

type ScheduleWeeklyRecurrenceInput

type ScheduleWeeklyRecurrenceInput interface {
	pulumi.Input

	ToScheduleWeeklyRecurrenceOutput() ScheduleWeeklyRecurrenceOutput
	ToScheduleWeeklyRecurrenceOutputWithContext(context.Context) ScheduleWeeklyRecurrenceOutput
}

ScheduleWeeklyRecurrenceInput is an input type that accepts ScheduleWeeklyRecurrenceArgs and ScheduleWeeklyRecurrenceOutput values. You can construct a concrete instance of `ScheduleWeeklyRecurrenceInput` via:

ScheduleWeeklyRecurrenceArgs{...}

type ScheduleWeeklyRecurrenceOutput

type ScheduleWeeklyRecurrenceOutput struct{ *pulumi.OutputState }

func (ScheduleWeeklyRecurrenceOutput) ElementType

func (ScheduleWeeklyRecurrenceOutput) Time

The time when the schedule takes effect.

func (ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrenceOutput

func (o ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrenceOutput() ScheduleWeeklyRecurrenceOutput

func (ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrenceOutputWithContext

func (o ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrenceOutputWithContext(ctx context.Context) ScheduleWeeklyRecurrenceOutput

func (ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrencePtrOutput

func (o ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrencePtrOutput() ScheduleWeeklyRecurrencePtrOutput

func (ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrencePtrOutputWithContext

func (o ScheduleWeeklyRecurrenceOutput) ToScheduleWeeklyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleWeeklyRecurrencePtrOutput

func (ScheduleWeeklyRecurrenceOutput) WeekDays

A list of days that this schedule takes effect . Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.

type ScheduleWeeklyRecurrencePtrInput

type ScheduleWeeklyRecurrencePtrInput interface {
	pulumi.Input

	ToScheduleWeeklyRecurrencePtrOutput() ScheduleWeeklyRecurrencePtrOutput
	ToScheduleWeeklyRecurrencePtrOutputWithContext(context.Context) ScheduleWeeklyRecurrencePtrOutput
}

ScheduleWeeklyRecurrencePtrInput is an input type that accepts ScheduleWeeklyRecurrenceArgs, ScheduleWeeklyRecurrencePtr and ScheduleWeeklyRecurrencePtrOutput values. You can construct a concrete instance of `ScheduleWeeklyRecurrencePtrInput` via:

        ScheduleWeeklyRecurrenceArgs{...}

or:

        nil

type ScheduleWeeklyRecurrencePtrOutput

type ScheduleWeeklyRecurrencePtrOutput struct{ *pulumi.OutputState }

func (ScheduleWeeklyRecurrencePtrOutput) Elem

func (ScheduleWeeklyRecurrencePtrOutput) ElementType

func (ScheduleWeeklyRecurrencePtrOutput) Time

The time when the schedule takes effect.

func (ScheduleWeeklyRecurrencePtrOutput) ToScheduleWeeklyRecurrencePtrOutput

func (o ScheduleWeeklyRecurrencePtrOutput) ToScheduleWeeklyRecurrencePtrOutput() ScheduleWeeklyRecurrencePtrOutput

func (ScheduleWeeklyRecurrencePtrOutput) ToScheduleWeeklyRecurrencePtrOutputWithContext

func (o ScheduleWeeklyRecurrencePtrOutput) ToScheduleWeeklyRecurrencePtrOutputWithContext(ctx context.Context) ScheduleWeeklyRecurrencePtrOutput

func (ScheduleWeeklyRecurrencePtrOutput) WeekDays

A list of days that this schedule takes effect . Possible values include `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday` and `Sunday`.

type VirtualNetwork

type VirtualNetwork struct {
	pulumi.CustomResourceState

	// A description for the Virtual Network.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringOutput `pulumi:"labName"`
	// Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `subnet` block as defined below.
	Subnet VirtualNetworkSubnetOutput `pulumi:"subnet"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The unique immutable identifier of the Dev Test Virtual Network.
	UniqueIdentifier pulumi.StringOutput `pulumi:"uniqueIdentifier"`
}

Manages a Virtual Network within a DevTest Lab.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Tags: pulumi.StringMap{
				"Sydney": pulumi.String("Australia"),
			},
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &devtest.VirtualNetworkArgs{
			LabName:           exampleLab.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Subnet: &devtest.VirtualNetworkSubnetArgs{
				UsePublicIpAddress:          pulumi.String("Allow"),
				UseInVirtualMachineCreation: pulumi.String("Allow"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DevTest Virtual Networks can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/virtualNetwork:VirtualNetwork network1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualnetworks/network1

```

func GetVirtualNetwork

func GetVirtualNetwork(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *VirtualNetworkState, opts ...pulumi.ResourceOption) (*VirtualNetwork, error)

GetVirtualNetwork gets an existing VirtualNetwork resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewVirtualNetwork

func NewVirtualNetwork(ctx *pulumi.Context,
	name string, args *VirtualNetworkArgs, opts ...pulumi.ResourceOption) (*VirtualNetwork, error)

NewVirtualNetwork registers a new resource with the given unique name, arguments, and options.

func (*VirtualNetwork) ElementType

func (*VirtualNetwork) ElementType() reflect.Type

func (*VirtualNetwork) ToVirtualNetworkOutput

func (i *VirtualNetwork) ToVirtualNetworkOutput() VirtualNetworkOutput

func (*VirtualNetwork) ToVirtualNetworkOutputWithContext

func (i *VirtualNetwork) ToVirtualNetworkOutputWithContext(ctx context.Context) VirtualNetworkOutput

type VirtualNetworkArgs

type VirtualNetworkArgs struct {
	// A description for the Virtual Network.
	Description pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringInput
	// Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `subnet` block as defined below.
	Subnet VirtualNetworkSubnetPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a VirtualNetwork resource.

func (VirtualNetworkArgs) ElementType

func (VirtualNetworkArgs) ElementType() reflect.Type

type VirtualNetworkArray

type VirtualNetworkArray []VirtualNetworkInput

func (VirtualNetworkArray) ElementType

func (VirtualNetworkArray) ElementType() reflect.Type

func (VirtualNetworkArray) ToVirtualNetworkArrayOutput

func (i VirtualNetworkArray) ToVirtualNetworkArrayOutput() VirtualNetworkArrayOutput

func (VirtualNetworkArray) ToVirtualNetworkArrayOutputWithContext

func (i VirtualNetworkArray) ToVirtualNetworkArrayOutputWithContext(ctx context.Context) VirtualNetworkArrayOutput

type VirtualNetworkArrayInput

type VirtualNetworkArrayInput interface {
	pulumi.Input

	ToVirtualNetworkArrayOutput() VirtualNetworkArrayOutput
	ToVirtualNetworkArrayOutputWithContext(context.Context) VirtualNetworkArrayOutput
}

VirtualNetworkArrayInput is an input type that accepts VirtualNetworkArray and VirtualNetworkArrayOutput values. You can construct a concrete instance of `VirtualNetworkArrayInput` via:

VirtualNetworkArray{ VirtualNetworkArgs{...} }

type VirtualNetworkArrayOutput

type VirtualNetworkArrayOutput struct{ *pulumi.OutputState }

func (VirtualNetworkArrayOutput) ElementType

func (VirtualNetworkArrayOutput) ElementType() reflect.Type

func (VirtualNetworkArrayOutput) Index

func (VirtualNetworkArrayOutput) ToVirtualNetworkArrayOutput

func (o VirtualNetworkArrayOutput) ToVirtualNetworkArrayOutput() VirtualNetworkArrayOutput

func (VirtualNetworkArrayOutput) ToVirtualNetworkArrayOutputWithContext

func (o VirtualNetworkArrayOutput) ToVirtualNetworkArrayOutputWithContext(ctx context.Context) VirtualNetworkArrayOutput

type VirtualNetworkInput

type VirtualNetworkInput interface {
	pulumi.Input

	ToVirtualNetworkOutput() VirtualNetworkOutput
	ToVirtualNetworkOutputWithContext(ctx context.Context) VirtualNetworkOutput
}

type VirtualNetworkMap

type VirtualNetworkMap map[string]VirtualNetworkInput

func (VirtualNetworkMap) ElementType

func (VirtualNetworkMap) ElementType() reflect.Type

func (VirtualNetworkMap) ToVirtualNetworkMapOutput

func (i VirtualNetworkMap) ToVirtualNetworkMapOutput() VirtualNetworkMapOutput

func (VirtualNetworkMap) ToVirtualNetworkMapOutputWithContext

func (i VirtualNetworkMap) ToVirtualNetworkMapOutputWithContext(ctx context.Context) VirtualNetworkMapOutput

type VirtualNetworkMapInput

type VirtualNetworkMapInput interface {
	pulumi.Input

	ToVirtualNetworkMapOutput() VirtualNetworkMapOutput
	ToVirtualNetworkMapOutputWithContext(context.Context) VirtualNetworkMapOutput
}

VirtualNetworkMapInput is an input type that accepts VirtualNetworkMap and VirtualNetworkMapOutput values. You can construct a concrete instance of `VirtualNetworkMapInput` via:

VirtualNetworkMap{ "key": VirtualNetworkArgs{...} }

type VirtualNetworkMapOutput

type VirtualNetworkMapOutput struct{ *pulumi.OutputState }

func (VirtualNetworkMapOutput) ElementType

func (VirtualNetworkMapOutput) ElementType() reflect.Type

func (VirtualNetworkMapOutput) MapIndex

func (VirtualNetworkMapOutput) ToVirtualNetworkMapOutput

func (o VirtualNetworkMapOutput) ToVirtualNetworkMapOutput() VirtualNetworkMapOutput

func (VirtualNetworkMapOutput) ToVirtualNetworkMapOutputWithContext

func (o VirtualNetworkMapOutput) ToVirtualNetworkMapOutputWithContext(ctx context.Context) VirtualNetworkMapOutput

type VirtualNetworkOutput

type VirtualNetworkOutput struct{ *pulumi.OutputState }

func (VirtualNetworkOutput) ElementType

func (VirtualNetworkOutput) ElementType() reflect.Type

func (VirtualNetworkOutput) ToVirtualNetworkOutput

func (o VirtualNetworkOutput) ToVirtualNetworkOutput() VirtualNetworkOutput

func (VirtualNetworkOutput) ToVirtualNetworkOutputWithContext

func (o VirtualNetworkOutput) ToVirtualNetworkOutputWithContext(ctx context.Context) VirtualNetworkOutput

type VirtualNetworkState

type VirtualNetworkState struct {
	// A description for the Virtual Network.
	Description pulumi.StringPtrInput
	// Specifies the name of the Dev Test Lab in which the Virtual Network should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringPtrInput
	// Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `subnet` block as defined below.
	Subnet VirtualNetworkSubnetPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The unique immutable identifier of the Dev Test Virtual Network.
	UniqueIdentifier pulumi.StringPtrInput
}

func (VirtualNetworkState) ElementType

func (VirtualNetworkState) ElementType() reflect.Type

type VirtualNetworkSubnet

type VirtualNetworkSubnet struct {
	// Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.
	Name *string `pulumi:"name"`
	// Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`.
	UseInVirtualMachineCreation *string `pulumi:"useInVirtualMachineCreation"`
	// Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`.
	UsePublicIpAddress *string `pulumi:"usePublicIpAddress"`
}

type VirtualNetworkSubnetArgs

type VirtualNetworkSubnetArgs struct {
	// Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput `pulumi:"name"`
	// Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`.
	UseInVirtualMachineCreation pulumi.StringPtrInput `pulumi:"useInVirtualMachineCreation"`
	// Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`.
	UsePublicIpAddress pulumi.StringPtrInput `pulumi:"usePublicIpAddress"`
}

func (VirtualNetworkSubnetArgs) ElementType

func (VirtualNetworkSubnetArgs) ElementType() reflect.Type

func (VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetOutput

func (i VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetOutput() VirtualNetworkSubnetOutput

func (VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetOutputWithContext

func (i VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetOutputWithContext(ctx context.Context) VirtualNetworkSubnetOutput

func (VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetPtrOutput

func (i VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetPtrOutput() VirtualNetworkSubnetPtrOutput

func (VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetPtrOutputWithContext

func (i VirtualNetworkSubnetArgs) ToVirtualNetworkSubnetPtrOutputWithContext(ctx context.Context) VirtualNetworkSubnetPtrOutput

type VirtualNetworkSubnetInput

type VirtualNetworkSubnetInput interface {
	pulumi.Input

	ToVirtualNetworkSubnetOutput() VirtualNetworkSubnetOutput
	ToVirtualNetworkSubnetOutputWithContext(context.Context) VirtualNetworkSubnetOutput
}

VirtualNetworkSubnetInput is an input type that accepts VirtualNetworkSubnetArgs and VirtualNetworkSubnetOutput values. You can construct a concrete instance of `VirtualNetworkSubnetInput` via:

VirtualNetworkSubnetArgs{...}

type VirtualNetworkSubnetOutput

type VirtualNetworkSubnetOutput struct{ *pulumi.OutputState }

func (VirtualNetworkSubnetOutput) ElementType

func (VirtualNetworkSubnetOutput) ElementType() reflect.Type

func (VirtualNetworkSubnetOutput) Name

Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.

func (VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetOutput

func (o VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetOutput() VirtualNetworkSubnetOutput

func (VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetOutputWithContext

func (o VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetOutputWithContext(ctx context.Context) VirtualNetworkSubnetOutput

func (VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetPtrOutput

func (o VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetPtrOutput() VirtualNetworkSubnetPtrOutput

func (VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetPtrOutputWithContext

func (o VirtualNetworkSubnetOutput) ToVirtualNetworkSubnetPtrOutputWithContext(ctx context.Context) VirtualNetworkSubnetPtrOutput

func (VirtualNetworkSubnetOutput) UseInVirtualMachineCreation

func (o VirtualNetworkSubnetOutput) UseInVirtualMachineCreation() pulumi.StringPtrOutput

Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`.

func (VirtualNetworkSubnetOutput) UsePublicIpAddress

func (o VirtualNetworkSubnetOutput) UsePublicIpAddress() pulumi.StringPtrOutput

Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`.

type VirtualNetworkSubnetPtrInput

type VirtualNetworkSubnetPtrInput interface {
	pulumi.Input

	ToVirtualNetworkSubnetPtrOutput() VirtualNetworkSubnetPtrOutput
	ToVirtualNetworkSubnetPtrOutputWithContext(context.Context) VirtualNetworkSubnetPtrOutput
}

VirtualNetworkSubnetPtrInput is an input type that accepts VirtualNetworkSubnetArgs, VirtualNetworkSubnetPtr and VirtualNetworkSubnetPtrOutput values. You can construct a concrete instance of `VirtualNetworkSubnetPtrInput` via:

        VirtualNetworkSubnetArgs{...}

or:

        nil

type VirtualNetworkSubnetPtrOutput

type VirtualNetworkSubnetPtrOutput struct{ *pulumi.OutputState }

func (VirtualNetworkSubnetPtrOutput) Elem

func (VirtualNetworkSubnetPtrOutput) ElementType

func (VirtualNetworkSubnetPtrOutput) Name

Specifies the name of the Dev Test Virtual Network. Changing this forces a new resource to be created.

func (VirtualNetworkSubnetPtrOutput) ToVirtualNetworkSubnetPtrOutput

func (o VirtualNetworkSubnetPtrOutput) ToVirtualNetworkSubnetPtrOutput() VirtualNetworkSubnetPtrOutput

func (VirtualNetworkSubnetPtrOutput) ToVirtualNetworkSubnetPtrOutputWithContext

func (o VirtualNetworkSubnetPtrOutput) ToVirtualNetworkSubnetPtrOutputWithContext(ctx context.Context) VirtualNetworkSubnetPtrOutput

func (VirtualNetworkSubnetPtrOutput) UseInVirtualMachineCreation

func (o VirtualNetworkSubnetPtrOutput) UseInVirtualMachineCreation() pulumi.StringPtrOutput

Can this subnet be used for creating Virtual Machines? Possible values are `Allow`, `Default` and `Deny`.

func (VirtualNetworkSubnetPtrOutput) UsePublicIpAddress

func (o VirtualNetworkSubnetPtrOutput) UsePublicIpAddress() pulumi.StringPtrOutput

Can Virtual Machines in this Subnet use Public IP Addresses? Possible values are `Allow`, `Default` and `Deny`.

type WindowsVirtualMachine

type WindowsVirtualMachine struct {
	pulumi.CustomResourceState

	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrOutput `pulumi:"allowClaim"`
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrOutput `pulumi:"disallowPublicIpAddress"`
	// The FQDN of the Virtual Machine.
	Fqdn pulumi.StringOutput `pulumi:"fqdn"`
	// A `galleryImageReference` block as defined below.
	GalleryImageReference WindowsVirtualMachineGalleryImageReferenceOutput `pulumi:"galleryImageReference"`
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules WindowsVirtualMachineInboundNatRuleArrayOutput `pulumi:"inboundNatRules"`
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringOutput `pulumi:"labName"`
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringOutput `pulumi:"labSubnetName"`
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringOutput `pulumi:"labVirtualNetworkId"`
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrOutput `pulumi:"notes"`
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringOutput `pulumi:"password"`
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringOutput `pulumi:"size"`
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringOutput `pulumi:"storageType"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The unique immutable identifier of the Virtual Machine.
	UniqueIdentifier pulumi.StringOutput `pulumi:"uniqueIdentifier"`
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringOutput `pulumi:"username"`
}

Manages a Windows Virtual Machine within a Dev Test Lab.

## Example Usage

```go package main

import (

"fmt"

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/devtest"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleLab, err := devtest.NewLab(ctx, "exampleLab", &devtest.LabArgs{
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			Tags: pulumi.StringMap{
				"Sydney": pulumi.String("Australia"),
			},
		})
		if err != nil {
			return err
		}
		exampleVirtualNetwork, err := devtest.NewVirtualNetwork(ctx, "exampleVirtualNetwork", &devtest.VirtualNetworkArgs{
			LabName:           exampleLab.Name,
			ResourceGroupName: exampleResourceGroup.Name,
			Subnet: &devtest.VirtualNetworkSubnetArgs{
				UsePublicIpAddress:          pulumi.String("Allow"),
				UseInVirtualMachineCreation: pulumi.String("Allow"),
			},
		})
		if err != nil {
			return err
		}
		_, err = devtest.NewWindowsVirtualMachine(ctx, "exampleWindowsVirtualMachine", &devtest.WindowsVirtualMachineArgs{
			LabName:             exampleLab.Name,
			ResourceGroupName:   exampleResourceGroup.Name,
			Location:            exampleResourceGroup.Location,
			Size:                pulumi.String("Standard_DS2"),
			Username:            pulumi.String("exampleuser99"),
			Password:            pulumi.String(fmt.Sprintf("%v%v%v", "Pa", "$", "w0rd1234!")),
			LabVirtualNetworkId: exampleVirtualNetwork.ID(),
			LabSubnetName: exampleVirtualNetwork.Subnet.ApplyT(func(subnet devtest.VirtualNetworkSubnet) (string, error) {
				return subnet.Name, nil
			}).(pulumi.StringOutput),
			StorageType: pulumi.String("Premium"),
			Notes:       pulumi.String("Some notes about this Virtual Machine."),
			GalleryImageReference: &devtest.WindowsVirtualMachineGalleryImageReferenceArgs{
				Offer:     pulumi.String("WindowsServer"),
				Publisher: pulumi.String("MicrosoftWindowsServer"),
				Sku:       pulumi.String("2019-Datacenter"),
				Version:   pulumi.String("latest"),
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

DevTest Windows Virtual Machines can be imported using the `resource id`, e.g.

```sh

$ pulumi import azure:devtest/windowsVirtualMachine:WindowsVirtualMachine machine1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevTestLab/labs/lab1/virtualmachines/machine1

```

func GetWindowsVirtualMachine

func GetWindowsVirtualMachine(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WindowsVirtualMachineState, opts ...pulumi.ResourceOption) (*WindowsVirtualMachine, error)

GetWindowsVirtualMachine gets an existing WindowsVirtualMachine resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewWindowsVirtualMachine

func NewWindowsVirtualMachine(ctx *pulumi.Context,
	name string, args *WindowsVirtualMachineArgs, opts ...pulumi.ResourceOption) (*WindowsVirtualMachine, error)

NewWindowsVirtualMachine registers a new resource with the given unique name, arguments, and options.

func (*WindowsVirtualMachine) ElementType

func (*WindowsVirtualMachine) ElementType() reflect.Type

func (*WindowsVirtualMachine) ToWindowsVirtualMachineOutput

func (i *WindowsVirtualMachine) ToWindowsVirtualMachineOutput() WindowsVirtualMachineOutput

func (*WindowsVirtualMachine) ToWindowsVirtualMachineOutputWithContext

func (i *WindowsVirtualMachine) ToWindowsVirtualMachineOutputWithContext(ctx context.Context) WindowsVirtualMachineOutput

type WindowsVirtualMachineArgs

type WindowsVirtualMachineArgs struct {
	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrInput
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrInput
	// A `galleryImageReference` block as defined below.
	GalleryImageReference WindowsVirtualMachineGalleryImageReferenceInput
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules WindowsVirtualMachineInboundNatRuleArrayInput
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringInput
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringInput
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringInput
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrInput
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringInput
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringInput
}

The set of arguments for constructing a WindowsVirtualMachine resource.

func (WindowsVirtualMachineArgs) ElementType

func (WindowsVirtualMachineArgs) ElementType() reflect.Type

type WindowsVirtualMachineArray

type WindowsVirtualMachineArray []WindowsVirtualMachineInput

func (WindowsVirtualMachineArray) ElementType

func (WindowsVirtualMachineArray) ElementType() reflect.Type

func (WindowsVirtualMachineArray) ToWindowsVirtualMachineArrayOutput

func (i WindowsVirtualMachineArray) ToWindowsVirtualMachineArrayOutput() WindowsVirtualMachineArrayOutput

func (WindowsVirtualMachineArray) ToWindowsVirtualMachineArrayOutputWithContext

func (i WindowsVirtualMachineArray) ToWindowsVirtualMachineArrayOutputWithContext(ctx context.Context) WindowsVirtualMachineArrayOutput

type WindowsVirtualMachineArrayInput

type WindowsVirtualMachineArrayInput interface {
	pulumi.Input

	ToWindowsVirtualMachineArrayOutput() WindowsVirtualMachineArrayOutput
	ToWindowsVirtualMachineArrayOutputWithContext(context.Context) WindowsVirtualMachineArrayOutput
}

WindowsVirtualMachineArrayInput is an input type that accepts WindowsVirtualMachineArray and WindowsVirtualMachineArrayOutput values. You can construct a concrete instance of `WindowsVirtualMachineArrayInput` via:

WindowsVirtualMachineArray{ WindowsVirtualMachineArgs{...} }

type WindowsVirtualMachineArrayOutput

type WindowsVirtualMachineArrayOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineArrayOutput) ElementType

func (WindowsVirtualMachineArrayOutput) Index

func (WindowsVirtualMachineArrayOutput) ToWindowsVirtualMachineArrayOutput

func (o WindowsVirtualMachineArrayOutput) ToWindowsVirtualMachineArrayOutput() WindowsVirtualMachineArrayOutput

func (WindowsVirtualMachineArrayOutput) ToWindowsVirtualMachineArrayOutputWithContext

func (o WindowsVirtualMachineArrayOutput) ToWindowsVirtualMachineArrayOutputWithContext(ctx context.Context) WindowsVirtualMachineArrayOutput

type WindowsVirtualMachineGalleryImageReference

type WindowsVirtualMachineGalleryImageReference struct {
	// The Offer of the Gallery Image. Changing this forces a new resource to be created.
	Offer string `pulumi:"offer"`
	// The Publisher of the Gallery Image. Changing this forces a new resource to be created.
	Publisher string `pulumi:"publisher"`
	// The SKU of the Gallery Image. Changing this forces a new resource to be created.
	Sku string `pulumi:"sku"`
	// The Version of the Gallery Image. Changing this forces a new resource to be created.
	Version string `pulumi:"version"`
}

type WindowsVirtualMachineGalleryImageReferenceArgs

type WindowsVirtualMachineGalleryImageReferenceArgs struct {
	// The Offer of the Gallery Image. Changing this forces a new resource to be created.
	Offer pulumi.StringInput `pulumi:"offer"`
	// The Publisher of the Gallery Image. Changing this forces a new resource to be created.
	Publisher pulumi.StringInput `pulumi:"publisher"`
	// The SKU of the Gallery Image. Changing this forces a new resource to be created.
	Sku pulumi.StringInput `pulumi:"sku"`
	// The Version of the Gallery Image. Changing this forces a new resource to be created.
	Version pulumi.StringInput `pulumi:"version"`
}

func (WindowsVirtualMachineGalleryImageReferenceArgs) ElementType

func (WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferenceOutput

func (i WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferenceOutput() WindowsVirtualMachineGalleryImageReferenceOutput

func (WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferenceOutputWithContext

func (i WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferenceOutputWithContext(ctx context.Context) WindowsVirtualMachineGalleryImageReferenceOutput

func (WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferencePtrOutput

func (i WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferencePtrOutput() WindowsVirtualMachineGalleryImageReferencePtrOutput

func (WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext

func (i WindowsVirtualMachineGalleryImageReferenceArgs) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) WindowsVirtualMachineGalleryImageReferencePtrOutput

type WindowsVirtualMachineGalleryImageReferenceInput

type WindowsVirtualMachineGalleryImageReferenceInput interface {
	pulumi.Input

	ToWindowsVirtualMachineGalleryImageReferenceOutput() WindowsVirtualMachineGalleryImageReferenceOutput
	ToWindowsVirtualMachineGalleryImageReferenceOutputWithContext(context.Context) WindowsVirtualMachineGalleryImageReferenceOutput
}

WindowsVirtualMachineGalleryImageReferenceInput is an input type that accepts WindowsVirtualMachineGalleryImageReferenceArgs and WindowsVirtualMachineGalleryImageReferenceOutput values. You can construct a concrete instance of `WindowsVirtualMachineGalleryImageReferenceInput` via:

WindowsVirtualMachineGalleryImageReferenceArgs{...}

type WindowsVirtualMachineGalleryImageReferenceOutput

type WindowsVirtualMachineGalleryImageReferenceOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineGalleryImageReferenceOutput) ElementType

func (WindowsVirtualMachineGalleryImageReferenceOutput) Offer

The Offer of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferenceOutput) Publisher

The Publisher of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferenceOutput) Sku

The SKU of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferenceOutput

func (o WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferenceOutput() WindowsVirtualMachineGalleryImageReferenceOutput

func (WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferenceOutputWithContext

func (o WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferenceOutputWithContext(ctx context.Context) WindowsVirtualMachineGalleryImageReferenceOutput

func (WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutput

func (o WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutput() WindowsVirtualMachineGalleryImageReferencePtrOutput

func (WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext

func (o WindowsVirtualMachineGalleryImageReferenceOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) WindowsVirtualMachineGalleryImageReferencePtrOutput

func (WindowsVirtualMachineGalleryImageReferenceOutput) Version

The Version of the Gallery Image. Changing this forces a new resource to be created.

type WindowsVirtualMachineGalleryImageReferencePtrInput

type WindowsVirtualMachineGalleryImageReferencePtrInput interface {
	pulumi.Input

	ToWindowsVirtualMachineGalleryImageReferencePtrOutput() WindowsVirtualMachineGalleryImageReferencePtrOutput
	ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext(context.Context) WindowsVirtualMachineGalleryImageReferencePtrOutput
}

WindowsVirtualMachineGalleryImageReferencePtrInput is an input type that accepts WindowsVirtualMachineGalleryImageReferenceArgs, WindowsVirtualMachineGalleryImageReferencePtr and WindowsVirtualMachineGalleryImageReferencePtrOutput values. You can construct a concrete instance of `WindowsVirtualMachineGalleryImageReferencePtrInput` via:

        WindowsVirtualMachineGalleryImageReferenceArgs{...}

or:

        nil

type WindowsVirtualMachineGalleryImageReferencePtrOutput

type WindowsVirtualMachineGalleryImageReferencePtrOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) Elem

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) ElementType

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) Offer

The Offer of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) Publisher

The Publisher of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) Sku

The SKU of the Gallery Image. Changing this forces a new resource to be created.

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutput

func (o WindowsVirtualMachineGalleryImageReferencePtrOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutput() WindowsVirtualMachineGalleryImageReferencePtrOutput

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext

func (o WindowsVirtualMachineGalleryImageReferencePtrOutput) ToWindowsVirtualMachineGalleryImageReferencePtrOutputWithContext(ctx context.Context) WindowsVirtualMachineGalleryImageReferencePtrOutput

func (WindowsVirtualMachineGalleryImageReferencePtrOutput) Version

The Version of the Gallery Image. Changing this forces a new resource to be created.

type WindowsVirtualMachineInboundNatRule

type WindowsVirtualMachineInboundNatRule struct {
	// The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
	BackendPort int `pulumi:"backendPort"`
	// The frontend port associated with this Inbound NAT Rule.
	FrontendPort *int `pulumi:"frontendPort"`
	// The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.
	Protocol string `pulumi:"protocol"`
}

type WindowsVirtualMachineInboundNatRuleArgs

type WindowsVirtualMachineInboundNatRuleArgs struct {
	// The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.
	BackendPort pulumi.IntInput `pulumi:"backendPort"`
	// The frontend port associated with this Inbound NAT Rule.
	FrontendPort pulumi.IntPtrInput `pulumi:"frontendPort"`
	// The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.
	Protocol pulumi.StringInput `pulumi:"protocol"`
}

func (WindowsVirtualMachineInboundNatRuleArgs) ElementType

func (WindowsVirtualMachineInboundNatRuleArgs) ToWindowsVirtualMachineInboundNatRuleOutput

func (i WindowsVirtualMachineInboundNatRuleArgs) ToWindowsVirtualMachineInboundNatRuleOutput() WindowsVirtualMachineInboundNatRuleOutput

func (WindowsVirtualMachineInboundNatRuleArgs) ToWindowsVirtualMachineInboundNatRuleOutputWithContext

func (i WindowsVirtualMachineInboundNatRuleArgs) ToWindowsVirtualMachineInboundNatRuleOutputWithContext(ctx context.Context) WindowsVirtualMachineInboundNatRuleOutput

type WindowsVirtualMachineInboundNatRuleArray

type WindowsVirtualMachineInboundNatRuleArray []WindowsVirtualMachineInboundNatRuleInput

func (WindowsVirtualMachineInboundNatRuleArray) ElementType

func (WindowsVirtualMachineInboundNatRuleArray) ToWindowsVirtualMachineInboundNatRuleArrayOutput

func (i WindowsVirtualMachineInboundNatRuleArray) ToWindowsVirtualMachineInboundNatRuleArrayOutput() WindowsVirtualMachineInboundNatRuleArrayOutput

func (WindowsVirtualMachineInboundNatRuleArray) ToWindowsVirtualMachineInboundNatRuleArrayOutputWithContext

func (i WindowsVirtualMachineInboundNatRuleArray) ToWindowsVirtualMachineInboundNatRuleArrayOutputWithContext(ctx context.Context) WindowsVirtualMachineInboundNatRuleArrayOutput

type WindowsVirtualMachineInboundNatRuleArrayInput

type WindowsVirtualMachineInboundNatRuleArrayInput interface {
	pulumi.Input

	ToWindowsVirtualMachineInboundNatRuleArrayOutput() WindowsVirtualMachineInboundNatRuleArrayOutput
	ToWindowsVirtualMachineInboundNatRuleArrayOutputWithContext(context.Context) WindowsVirtualMachineInboundNatRuleArrayOutput
}

WindowsVirtualMachineInboundNatRuleArrayInput is an input type that accepts WindowsVirtualMachineInboundNatRuleArray and WindowsVirtualMachineInboundNatRuleArrayOutput values. You can construct a concrete instance of `WindowsVirtualMachineInboundNatRuleArrayInput` via:

WindowsVirtualMachineInboundNatRuleArray{ WindowsVirtualMachineInboundNatRuleArgs{...} }

type WindowsVirtualMachineInboundNatRuleArrayOutput

type WindowsVirtualMachineInboundNatRuleArrayOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineInboundNatRuleArrayOutput) ElementType

func (WindowsVirtualMachineInboundNatRuleArrayOutput) Index

func (WindowsVirtualMachineInboundNatRuleArrayOutput) ToWindowsVirtualMachineInboundNatRuleArrayOutput

func (o WindowsVirtualMachineInboundNatRuleArrayOutput) ToWindowsVirtualMachineInboundNatRuleArrayOutput() WindowsVirtualMachineInboundNatRuleArrayOutput

func (WindowsVirtualMachineInboundNatRuleArrayOutput) ToWindowsVirtualMachineInboundNatRuleArrayOutputWithContext

func (o WindowsVirtualMachineInboundNatRuleArrayOutput) ToWindowsVirtualMachineInboundNatRuleArrayOutputWithContext(ctx context.Context) WindowsVirtualMachineInboundNatRuleArrayOutput

type WindowsVirtualMachineInboundNatRuleInput

type WindowsVirtualMachineInboundNatRuleInput interface {
	pulumi.Input

	ToWindowsVirtualMachineInboundNatRuleOutput() WindowsVirtualMachineInboundNatRuleOutput
	ToWindowsVirtualMachineInboundNatRuleOutputWithContext(context.Context) WindowsVirtualMachineInboundNatRuleOutput
}

WindowsVirtualMachineInboundNatRuleInput is an input type that accepts WindowsVirtualMachineInboundNatRuleArgs and WindowsVirtualMachineInboundNatRuleOutput values. You can construct a concrete instance of `WindowsVirtualMachineInboundNatRuleInput` via:

WindowsVirtualMachineInboundNatRuleArgs{...}

type WindowsVirtualMachineInboundNatRuleOutput

type WindowsVirtualMachineInboundNatRuleOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineInboundNatRuleOutput) BackendPort

The Backend Port associated with this NAT Rule. Changing this forces a new resource to be created.

func (WindowsVirtualMachineInboundNatRuleOutput) ElementType

func (WindowsVirtualMachineInboundNatRuleOutput) FrontendPort

The frontend port associated with this Inbound NAT Rule.

func (WindowsVirtualMachineInboundNatRuleOutput) Protocol

The Protocol used for this NAT Rule. Possible values are `Tcp` and `Udp`. Changing this forces a new resource to be created.

func (WindowsVirtualMachineInboundNatRuleOutput) ToWindowsVirtualMachineInboundNatRuleOutput

func (o WindowsVirtualMachineInboundNatRuleOutput) ToWindowsVirtualMachineInboundNatRuleOutput() WindowsVirtualMachineInboundNatRuleOutput

func (WindowsVirtualMachineInboundNatRuleOutput) ToWindowsVirtualMachineInboundNatRuleOutputWithContext

func (o WindowsVirtualMachineInboundNatRuleOutput) ToWindowsVirtualMachineInboundNatRuleOutputWithContext(ctx context.Context) WindowsVirtualMachineInboundNatRuleOutput

type WindowsVirtualMachineInput

type WindowsVirtualMachineInput interface {
	pulumi.Input

	ToWindowsVirtualMachineOutput() WindowsVirtualMachineOutput
	ToWindowsVirtualMachineOutputWithContext(ctx context.Context) WindowsVirtualMachineOutput
}

type WindowsVirtualMachineMap

type WindowsVirtualMachineMap map[string]WindowsVirtualMachineInput

func (WindowsVirtualMachineMap) ElementType

func (WindowsVirtualMachineMap) ElementType() reflect.Type

func (WindowsVirtualMachineMap) ToWindowsVirtualMachineMapOutput

func (i WindowsVirtualMachineMap) ToWindowsVirtualMachineMapOutput() WindowsVirtualMachineMapOutput

func (WindowsVirtualMachineMap) ToWindowsVirtualMachineMapOutputWithContext

func (i WindowsVirtualMachineMap) ToWindowsVirtualMachineMapOutputWithContext(ctx context.Context) WindowsVirtualMachineMapOutput

type WindowsVirtualMachineMapInput

type WindowsVirtualMachineMapInput interface {
	pulumi.Input

	ToWindowsVirtualMachineMapOutput() WindowsVirtualMachineMapOutput
	ToWindowsVirtualMachineMapOutputWithContext(context.Context) WindowsVirtualMachineMapOutput
}

WindowsVirtualMachineMapInput is an input type that accepts WindowsVirtualMachineMap and WindowsVirtualMachineMapOutput values. You can construct a concrete instance of `WindowsVirtualMachineMapInput` via:

WindowsVirtualMachineMap{ "key": WindowsVirtualMachineArgs{...} }

type WindowsVirtualMachineMapOutput

type WindowsVirtualMachineMapOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineMapOutput) ElementType

func (WindowsVirtualMachineMapOutput) MapIndex

func (WindowsVirtualMachineMapOutput) ToWindowsVirtualMachineMapOutput

func (o WindowsVirtualMachineMapOutput) ToWindowsVirtualMachineMapOutput() WindowsVirtualMachineMapOutput

func (WindowsVirtualMachineMapOutput) ToWindowsVirtualMachineMapOutputWithContext

func (o WindowsVirtualMachineMapOutput) ToWindowsVirtualMachineMapOutputWithContext(ctx context.Context) WindowsVirtualMachineMapOutput

type WindowsVirtualMachineOutput

type WindowsVirtualMachineOutput struct{ *pulumi.OutputState }

func (WindowsVirtualMachineOutput) ElementType

func (WindowsVirtualMachineOutput) ToWindowsVirtualMachineOutput

func (o WindowsVirtualMachineOutput) ToWindowsVirtualMachineOutput() WindowsVirtualMachineOutput

func (WindowsVirtualMachineOutput) ToWindowsVirtualMachineOutputWithContext

func (o WindowsVirtualMachineOutput) ToWindowsVirtualMachineOutputWithContext(ctx context.Context) WindowsVirtualMachineOutput

type WindowsVirtualMachineState

type WindowsVirtualMachineState struct {
	// Can this Virtual Machine be claimed by users? Defaults to `true`.
	AllowClaim pulumi.BoolPtrInput
	// Should the Virtual Machine be created without a Public IP Address? Changing this forces a new resource to be created.
	DisallowPublicIpAddress pulumi.BoolPtrInput
	// The FQDN of the Virtual Machine.
	Fqdn pulumi.StringPtrInput
	// A `galleryImageReference` block as defined below.
	GalleryImageReference WindowsVirtualMachineGalleryImageReferencePtrInput
	// One or more `inboundNatRule` blocks as defined below. Changing this forces a new resource to be created.
	InboundNatRules WindowsVirtualMachineInboundNatRuleArrayInput
	// Specifies the name of the Dev Test Lab in which the Virtual Machine should be created. Changing this forces a new resource to be created.
	LabName pulumi.StringPtrInput
	// The name of a Subnet within the Dev Test Virtual Network where this machine should exist. Changing this forces a new resource to be created.
	LabSubnetName pulumi.StringPtrInput
	// The ID of the Dev Test Virtual Network where this Virtual Machine should be created. Changing this forces a new resource to be created.
	LabVirtualNetworkId pulumi.StringPtrInput
	// Specifies the supported Azure location where the Dev Test Lab exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the name of the Dev Test Machine. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Any notes about the Virtual Machine.
	Notes pulumi.StringPtrInput
	// The Password associated with the `username` used to login to this Virtual Machine. Changing this forces a new resource to be created.
	Password pulumi.StringPtrInput
	// The name of the resource group in which the Dev Test Lab resource exists. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// The Machine Size to use for this Virtual Machine, such as `Standard_F2`. Changing this forces a new resource to be created.
	Size pulumi.StringPtrInput
	// The type of Storage to use on this Virtual Machine. Possible values are `Standard` and `Premium`.
	StorageType pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The unique immutable identifier of the Virtual Machine.
	UniqueIdentifier pulumi.StringPtrInput
	// The Username associated with the local administrator on this Virtual Machine. Changing this forces a new resource to be created.
	Username pulumi.StringPtrInput
}

func (WindowsVirtualMachineState) ElementType

func (WindowsVirtualMachineState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL