desktopvirtualization

package
v6.17.0 Latest Latest
Warning

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

Go to latest
Published: Jan 28, 2025 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 Application

type Application struct {
	pulumi.CustomResourceState

	// Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringOutput `pulumi:"applicationGroupId"`
	// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.
	CommandLineArgumentPolicy pulumi.StringOutput `pulumi:"commandLineArgumentPolicy"`
	// Command Line Arguments for Virtual Desktop Application.
	CommandLineArguments pulumi.StringPtrOutput `pulumi:"commandLineArguments"`
	// Option to set a description for the Virtual Desktop Application.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Option to set a friendly name for the Virtual Desktop Application.
	FriendlyName pulumi.StringOutput `pulumi:"friendlyName"`
	// The index of the icon you wish to use.
	IconIndex pulumi.IntPtrOutput `pulumi:"iconIndex"`
	// Specifies the path for an icon which will be used for this Virtual Desktop Application.
	IconPath pulumi.StringOutput `pulumi:"iconPath"`
	// The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The file path location of the app on the Virtual Desktop OS.
	Path pulumi.StringOutput `pulumi:"path"`
	// Specifies whether to show the RemoteApp program in the RD Web Access server.
	ShowInPortal pulumi.BoolPtrOutput `pulumi:"showInPortal"`
}

Manages a Virtual Desktop Application.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example-virtualdesktop"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			Name:              pulumi.String("pooledbreadthfirst"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("Pooled"),
			LoadBalancerType:  pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewHostPool(ctx, "personalautomatic", &desktopvirtualization.HostPoolArgs{
			Name:                          pulumi.String("personalautomatic"),
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Type:                          pulumi.String("Personal"),
			PersonalDesktopAssignmentType: pulumi.String("Automatic"),
			LoadBalancerType:              pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		remoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
			Name:              pulumi.String("acctag"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("RemoteApp"),
			HostPoolId:        pooledbreadthfirst.ID(),
			FriendlyName:      pulumi.String("TestAppGroup"),
			Description:       pulumi.String("Acceptance Test: An application group"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewApplication(ctx, "chrome", &desktopvirtualization.ApplicationArgs{
			Name:                      pulumi.String("googlechrome"),
			ApplicationGroupId:        remoteapp.ID(),
			FriendlyName:              pulumi.String("Google Chrome"),
			Description:               pulumi.String("Chromium based web browser"),
			Path:                      pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
			CommandLineArgumentPolicy: pulumi.String("DoNotAllow"),
			CommandLineArguments:      pulumi.String("--incognito"),
			ShowInPortal:              pulumi.Bool(false),
			IconPath:                  pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
			IconIndex:                 pulumi.Int(0),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Virtual Desktop Application can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup/applications/myapplication ```

func GetApplication

func GetApplication(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error)

GetApplication gets an existing Application 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 NewApplication

func NewApplication(ctx *pulumi.Context,
	name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error)

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

func (*Application) ElementType

func (*Application) ElementType() reflect.Type

func (*Application) ToApplicationOutput

func (i *Application) ToApplicationOutput() ApplicationOutput

func (*Application) ToApplicationOutputWithContext

func (i *Application) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

type ApplicationArgs

type ApplicationArgs struct {
	// Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringInput
	// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.
	CommandLineArgumentPolicy pulumi.StringInput
	// Command Line Arguments for Virtual Desktop Application.
	CommandLineArguments pulumi.StringPtrInput
	// Option to set a description for the Virtual Desktop Application.
	Description pulumi.StringPtrInput
	// Option to set a friendly name for the Virtual Desktop Application.
	FriendlyName pulumi.StringPtrInput
	// The index of the icon you wish to use.
	IconIndex pulumi.IntPtrInput
	// Specifies the path for an icon which will be used for this Virtual Desktop Application.
	IconPath pulumi.StringPtrInput
	// The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The file path location of the app on the Virtual Desktop OS.
	Path pulumi.StringInput
	// Specifies whether to show the RemoteApp program in the RD Web Access server.
	ShowInPortal pulumi.BoolPtrInput
}

The set of arguments for constructing a Application resource.

func (ApplicationArgs) ElementType

func (ApplicationArgs) ElementType() reflect.Type

type ApplicationArray

type ApplicationArray []ApplicationInput

func (ApplicationArray) ElementType

func (ApplicationArray) ElementType() reflect.Type

func (ApplicationArray) ToApplicationArrayOutput

func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArray) ToApplicationArrayOutputWithContext

func (i ApplicationArray) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationArrayInput

type ApplicationArrayInput interface {
	pulumi.Input

	ToApplicationArrayOutput() ApplicationArrayOutput
	ToApplicationArrayOutputWithContext(context.Context) ApplicationArrayOutput
}

ApplicationArrayInput is an input type that accepts ApplicationArray and ApplicationArrayOutput values. You can construct a concrete instance of `ApplicationArrayInput` via:

ApplicationArray{ ApplicationArgs{...} }

type ApplicationArrayOutput

type ApplicationArrayOutput struct{ *pulumi.OutputState }

func (ApplicationArrayOutput) ElementType

func (ApplicationArrayOutput) ElementType() reflect.Type

func (ApplicationArrayOutput) Index

func (ApplicationArrayOutput) ToApplicationArrayOutput

func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArrayOutput) ToApplicationArrayOutputWithContext

func (o ApplicationArrayOutput) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationGroup

type ApplicationGroup struct {
	pulumi.CustomResourceState

	// Option to set the display name for the default sessionDesktop desktop when `type` is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.
	DefaultDesktopDisplayName pulumi.StringPtrOutput `pulumi:"defaultDesktopDisplayName"`
	// Option to set a description for the Virtual Desktop Application Group.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Option to set a friendly name for the Virtual Desktop Application Group.
	FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"`
	// Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	HostPoolId pulumi.StringOutput `pulumi:"hostPoolId"`
	// The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the resource group in which to create the Virtual Desktop Application Group. 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"`
	// Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a Virtual Desktop Application Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example-virtualdesktop"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			Name:              pulumi.String("pooledbreadthfirst"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("Pooled"),
			LoadBalancerType:  pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		personalautomatic, err := desktopvirtualization.NewHostPool(ctx, "personalautomatic", &desktopvirtualization.HostPoolArgs{
			Name:                          pulumi.String("personalautomatic"),
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Type:                          pulumi.String("Personal"),
			PersonalDesktopAssignmentType: pulumi.String("Automatic"),
			LoadBalancerType:              pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
			Name:              pulumi.String("acctag"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("RemoteApp"),
			HostPoolId:        pooledbreadthfirst.ID(),
			FriendlyName:      pulumi.String("TestAppGroup"),
			Description:       pulumi.String("Acceptance Test: An application group"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewApplicationGroup(ctx, "desktopapp", &desktopvirtualization.ApplicationGroupArgs{
			Name:              pulumi.String("appgroupdesktop"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("Desktop"),
			HostPoolId:        personalautomatic.ID(),
			FriendlyName:      pulumi.String("TestAppGroup"),
			Description:       pulumi.String("Acceptance Test: An application group"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Virtual Desktop Application Groups can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/applicationGroup:ApplicationGroup example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup ```

func GetApplicationGroup

func GetApplicationGroup(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationGroupState, opts ...pulumi.ResourceOption) (*ApplicationGroup, error)

GetApplicationGroup gets an existing ApplicationGroup 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 NewApplicationGroup

func NewApplicationGroup(ctx *pulumi.Context,
	name string, args *ApplicationGroupArgs, opts ...pulumi.ResourceOption) (*ApplicationGroup, error)

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

func (*ApplicationGroup) ElementType

func (*ApplicationGroup) ElementType() reflect.Type

func (*ApplicationGroup) ToApplicationGroupOutput

func (i *ApplicationGroup) ToApplicationGroupOutput() ApplicationGroupOutput

func (*ApplicationGroup) ToApplicationGroupOutputWithContext

func (i *ApplicationGroup) ToApplicationGroupOutputWithContext(ctx context.Context) ApplicationGroupOutput

type ApplicationGroupArgs

type ApplicationGroupArgs struct {
	// Option to set the display name for the default sessionDesktop desktop when `type` is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.
	DefaultDesktopDisplayName pulumi.StringPtrInput
	// Option to set a description for the Virtual Desktop Application Group.
	Description pulumi.StringPtrInput
	// Option to set a friendly name for the Virtual Desktop Application Group.
	FriendlyName pulumi.StringPtrInput
	// Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	HostPoolId pulumi.StringInput
	// The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.
	Type pulumi.StringInput
}

The set of arguments for constructing a ApplicationGroup resource.

func (ApplicationGroupArgs) ElementType

func (ApplicationGroupArgs) ElementType() reflect.Type

type ApplicationGroupArray

type ApplicationGroupArray []ApplicationGroupInput

func (ApplicationGroupArray) ElementType

func (ApplicationGroupArray) ElementType() reflect.Type

func (ApplicationGroupArray) ToApplicationGroupArrayOutput

func (i ApplicationGroupArray) ToApplicationGroupArrayOutput() ApplicationGroupArrayOutput

func (ApplicationGroupArray) ToApplicationGroupArrayOutputWithContext

func (i ApplicationGroupArray) ToApplicationGroupArrayOutputWithContext(ctx context.Context) ApplicationGroupArrayOutput

type ApplicationGroupArrayInput

type ApplicationGroupArrayInput interface {
	pulumi.Input

	ToApplicationGroupArrayOutput() ApplicationGroupArrayOutput
	ToApplicationGroupArrayOutputWithContext(context.Context) ApplicationGroupArrayOutput
}

ApplicationGroupArrayInput is an input type that accepts ApplicationGroupArray and ApplicationGroupArrayOutput values. You can construct a concrete instance of `ApplicationGroupArrayInput` via:

ApplicationGroupArray{ ApplicationGroupArgs{...} }

type ApplicationGroupArrayOutput

type ApplicationGroupArrayOutput struct{ *pulumi.OutputState }

func (ApplicationGroupArrayOutput) ElementType

func (ApplicationGroupArrayOutput) Index

func (ApplicationGroupArrayOutput) ToApplicationGroupArrayOutput

func (o ApplicationGroupArrayOutput) ToApplicationGroupArrayOutput() ApplicationGroupArrayOutput

func (ApplicationGroupArrayOutput) ToApplicationGroupArrayOutputWithContext

func (o ApplicationGroupArrayOutput) ToApplicationGroupArrayOutputWithContext(ctx context.Context) ApplicationGroupArrayOutput

type ApplicationGroupInput

type ApplicationGroupInput interface {
	pulumi.Input

	ToApplicationGroupOutput() ApplicationGroupOutput
	ToApplicationGroupOutputWithContext(ctx context.Context) ApplicationGroupOutput
}

type ApplicationGroupMap

type ApplicationGroupMap map[string]ApplicationGroupInput

func (ApplicationGroupMap) ElementType

func (ApplicationGroupMap) ElementType() reflect.Type

func (ApplicationGroupMap) ToApplicationGroupMapOutput

func (i ApplicationGroupMap) ToApplicationGroupMapOutput() ApplicationGroupMapOutput

func (ApplicationGroupMap) ToApplicationGroupMapOutputWithContext

func (i ApplicationGroupMap) ToApplicationGroupMapOutputWithContext(ctx context.Context) ApplicationGroupMapOutput

type ApplicationGroupMapInput

type ApplicationGroupMapInput interface {
	pulumi.Input

	ToApplicationGroupMapOutput() ApplicationGroupMapOutput
	ToApplicationGroupMapOutputWithContext(context.Context) ApplicationGroupMapOutput
}

ApplicationGroupMapInput is an input type that accepts ApplicationGroupMap and ApplicationGroupMapOutput values. You can construct a concrete instance of `ApplicationGroupMapInput` via:

ApplicationGroupMap{ "key": ApplicationGroupArgs{...} }

type ApplicationGroupMapOutput

type ApplicationGroupMapOutput struct{ *pulumi.OutputState }

func (ApplicationGroupMapOutput) ElementType

func (ApplicationGroupMapOutput) ElementType() reflect.Type

func (ApplicationGroupMapOutput) MapIndex

func (ApplicationGroupMapOutput) ToApplicationGroupMapOutput

func (o ApplicationGroupMapOutput) ToApplicationGroupMapOutput() ApplicationGroupMapOutput

func (ApplicationGroupMapOutput) ToApplicationGroupMapOutputWithContext

func (o ApplicationGroupMapOutput) ToApplicationGroupMapOutputWithContext(ctx context.Context) ApplicationGroupMapOutput

type ApplicationGroupOutput

type ApplicationGroupOutput struct{ *pulumi.OutputState }

func (ApplicationGroupOutput) DefaultDesktopDisplayName

func (o ApplicationGroupOutput) DefaultDesktopDisplayName() pulumi.StringPtrOutput

Option to set the display name for the default sessionDesktop desktop when `type` is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.

func (ApplicationGroupOutput) Description

Option to set a description for the Virtual Desktop Application Group.

func (ApplicationGroupOutput) ElementType

func (ApplicationGroupOutput) ElementType() reflect.Type

func (ApplicationGroupOutput) FriendlyName

Option to set a friendly name for the Virtual Desktop Application Group.

func (ApplicationGroupOutput) HostPoolId

Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.

func (ApplicationGroupOutput) Location

The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.

func (ApplicationGroupOutput) Name

The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.

func (ApplicationGroupOutput) ResourceGroupName

func (o ApplicationGroupOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.

func (ApplicationGroupOutput) Tags

A mapping of tags to assign to the resource.

func (ApplicationGroupOutput) ToApplicationGroupOutput

func (o ApplicationGroupOutput) ToApplicationGroupOutput() ApplicationGroupOutput

func (ApplicationGroupOutput) ToApplicationGroupOutputWithContext

func (o ApplicationGroupOutput) ToApplicationGroupOutputWithContext(ctx context.Context) ApplicationGroupOutput

func (ApplicationGroupOutput) Type

Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.

type ApplicationGroupState

type ApplicationGroupState struct {
	// Option to set the display name for the default sessionDesktop desktop when `type` is set to `Desktop`. A value here is mandatory for connections to the desktop using the Windows 365 portal. Without it the connection will hang at 'Loading Client'.
	DefaultDesktopDisplayName pulumi.StringPtrInput
	// Option to set a description for the Virtual Desktop Application Group.
	Description pulumi.StringPtrInput
	// Option to set a friendly name for the Virtual Desktop Application Group.
	FriendlyName pulumi.StringPtrInput
	// Resource ID for a Virtual Desktop Host Pool to associate with the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	HostPoolId pulumi.StringPtrInput
	// The location/region where the Virtual Desktop Application Group is located. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Virtual Desktop Application Group. Changing the name forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name of the resource group in which to create the Virtual Desktop Application Group. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// Type of Virtual Desktop Application Group. Valid options are `RemoteApp` or `Desktop` application groups. Changing this forces a new resource to be created.
	Type pulumi.StringPtrInput
}

func (ApplicationGroupState) ElementType

func (ApplicationGroupState) ElementType() reflect.Type

type ApplicationInput

type ApplicationInput interface {
	pulumi.Input

	ToApplicationOutput() ApplicationOutput
	ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput
}

type ApplicationMap

type ApplicationMap map[string]ApplicationInput

func (ApplicationMap) ElementType

func (ApplicationMap) ElementType() reflect.Type

func (ApplicationMap) ToApplicationMapOutput

func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMap) ToApplicationMapOutputWithContext

func (i ApplicationMap) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationMapInput

type ApplicationMapInput interface {
	pulumi.Input

	ToApplicationMapOutput() ApplicationMapOutput
	ToApplicationMapOutputWithContext(context.Context) ApplicationMapOutput
}

ApplicationMapInput is an input type that accepts ApplicationMap and ApplicationMapOutput values. You can construct a concrete instance of `ApplicationMapInput` via:

ApplicationMap{ "key": ApplicationArgs{...} }

type ApplicationMapOutput

type ApplicationMapOutput struct{ *pulumi.OutputState }

func (ApplicationMapOutput) ElementType

func (ApplicationMapOutput) ElementType() reflect.Type

func (ApplicationMapOutput) MapIndex

func (ApplicationMapOutput) ToApplicationMapOutput

func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMapOutput) ToApplicationMapOutputWithContext

func (o ApplicationMapOutput) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationOutput

type ApplicationOutput struct{ *pulumi.OutputState }

func (ApplicationOutput) ApplicationGroupId

func (o ApplicationOutput) ApplicationGroupId() pulumi.StringOutput

Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.

func (ApplicationOutput) CommandLineArgumentPolicy

func (o ApplicationOutput) CommandLineArgumentPolicy() pulumi.StringOutput

Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.

func (ApplicationOutput) CommandLineArguments

func (o ApplicationOutput) CommandLineArguments() pulumi.StringPtrOutput

Command Line Arguments for Virtual Desktop Application.

func (ApplicationOutput) Description

func (o ApplicationOutput) Description() pulumi.StringPtrOutput

Option to set a description for the Virtual Desktop Application.

func (ApplicationOutput) ElementType

func (ApplicationOutput) ElementType() reflect.Type

func (ApplicationOutput) FriendlyName

func (o ApplicationOutput) FriendlyName() pulumi.StringOutput

Option to set a friendly name for the Virtual Desktop Application.

func (ApplicationOutput) IconIndex

func (o ApplicationOutput) IconIndex() pulumi.IntPtrOutput

The index of the icon you wish to use.

func (ApplicationOutput) IconPath

func (o ApplicationOutput) IconPath() pulumi.StringOutput

Specifies the path for an icon which will be used for this Virtual Desktop Application.

func (ApplicationOutput) Name

The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.

func (ApplicationOutput) Path

The file path location of the app on the Virtual Desktop OS.

func (ApplicationOutput) ShowInPortal

func (o ApplicationOutput) ShowInPortal() pulumi.BoolPtrOutput

Specifies whether to show the RemoteApp program in the RD Web Access server.

func (ApplicationOutput) ToApplicationOutput

func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput

func (ApplicationOutput) ToApplicationOutputWithContext

func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

type ApplicationState

type ApplicationState struct {
	// Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringPtrInput
	// Specifies whether this published application can be launched with command line arguments provided by the client, command line arguments specified at publish time, or no command line arguments at all. Possible values include: `DoNotAllow`, `Allow`, `Require`.
	CommandLineArgumentPolicy pulumi.StringPtrInput
	// Command Line Arguments for Virtual Desktop Application.
	CommandLineArguments pulumi.StringPtrInput
	// Option to set a description for the Virtual Desktop Application.
	Description pulumi.StringPtrInput
	// Option to set a friendly name for the Virtual Desktop Application.
	FriendlyName pulumi.StringPtrInput
	// The index of the icon you wish to use.
	IconIndex pulumi.IntPtrInput
	// Specifies the path for an icon which will be used for this Virtual Desktop Application.
	IconPath pulumi.StringPtrInput
	// The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The file path location of the app on the Virtual Desktop OS.
	Path pulumi.StringPtrInput
	// Specifies whether to show the RemoteApp program in the RD Web Access server.
	ShowInPortal pulumi.BoolPtrInput
}

func (ApplicationState) ElementType

func (ApplicationState) ElementType() reflect.Type

type GetHostPoolRegistrationInfo

type GetHostPoolRegistrationInfo struct {
	pulumi.CustomResourceState

	// A valid `RFC3339Time` for the expiration of the token..
	ExpirationDate pulumi.StringOutput `pulumi:"expirationDate"`
	// The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single virtualDesktopHostPoolRegistrationInfo resource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.
	HostpoolId pulumi.StringOutput `pulumi:"hostpoolId"`
	// The registration token generated by the Virtual Desktop Host Pool for registration of session hosts.
	Token pulumi.StringOutput `pulumi:"token"`
}

Manages the Registration Info for a Virtual Desktop Host Pool.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-hostpool"),
			Location: pulumi.String("westeurope"),
		})
		if err != nil {
			return err
		}
		exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
			Name:                pulumi.String("example-HP"),
			Location:            example.Location,
			ResourceGroupName:   example.Name,
			Type:                pulumi.String("Pooled"),
			ValidateEnvironment: pulumi.Bool(true),
			LoadBalancerType:    pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewgetHostPoolRegistrationInfo(ctx, "example", &desktopvirtualization.getHostPoolRegistrationInfoArgs{
			HostpoolId:     exampleHostPool.ID(),
			ExpirationDate: pulumi.String("2022-01-01T23:40:52Z"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

AVD Registration Infos can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/getHostPoolRegistrationInfo:getHostPoolRegistrationInfo example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/hostPools/pool1/registrationInfo/default ```

func GetGetHostPoolRegistrationInfo

func GetGetHostPoolRegistrationInfo(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *GetHostPoolRegistrationInfoState, opts ...pulumi.ResourceOption) (*GetHostPoolRegistrationInfo, error)

GetGetHostPoolRegistrationInfo gets an existing GetHostPoolRegistrationInfo 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 NewGetHostPoolRegistrationInfo

func NewGetHostPoolRegistrationInfo(ctx *pulumi.Context,
	name string, args *GetHostPoolRegistrationInfoArgs, opts ...pulumi.ResourceOption) (*GetHostPoolRegistrationInfo, error)

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

func (*GetHostPoolRegistrationInfo) ElementType

func (*GetHostPoolRegistrationInfo) ElementType() reflect.Type

func (*GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutput

func (i *GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutput() GetHostPoolRegistrationInfoOutput

func (*GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutputWithContext

func (i *GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoOutput

type GetHostPoolRegistrationInfoArgs

type GetHostPoolRegistrationInfoArgs struct {
	// A valid `RFC3339Time` for the expiration of the token..
	ExpirationDate pulumi.StringInput
	// The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single virtualDesktopHostPoolRegistrationInfo resource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.
	HostpoolId pulumi.StringInput
}

The set of arguments for constructing a GetHostPoolRegistrationInfo resource.

func (GetHostPoolRegistrationInfoArgs) ElementType

type GetHostPoolRegistrationInfoArray

type GetHostPoolRegistrationInfoArray []GetHostPoolRegistrationInfoInput

func (GetHostPoolRegistrationInfoArray) ElementType

func (GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutput

func (i GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutput() GetHostPoolRegistrationInfoArrayOutput

func (GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutputWithContext

func (i GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoArrayOutput

type GetHostPoolRegistrationInfoArrayInput

type GetHostPoolRegistrationInfoArrayInput interface {
	pulumi.Input

	ToGetHostPoolRegistrationInfoArrayOutput() GetHostPoolRegistrationInfoArrayOutput
	ToGetHostPoolRegistrationInfoArrayOutputWithContext(context.Context) GetHostPoolRegistrationInfoArrayOutput
}

GetHostPoolRegistrationInfoArrayInput is an input type that accepts GetHostPoolRegistrationInfoArray and GetHostPoolRegistrationInfoArrayOutput values. You can construct a concrete instance of `GetHostPoolRegistrationInfoArrayInput` via:

GetHostPoolRegistrationInfoArray{ GetHostPoolRegistrationInfoArgs{...} }

type GetHostPoolRegistrationInfoArrayOutput

type GetHostPoolRegistrationInfoArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoArrayOutput) ElementType

func (GetHostPoolRegistrationInfoArrayOutput) Index

func (GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutput

func (o GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutput() GetHostPoolRegistrationInfoArrayOutput

func (GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutputWithContext

func (o GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoArrayOutput

type GetHostPoolRegistrationInfoInput

type GetHostPoolRegistrationInfoInput interface {
	pulumi.Input

	ToGetHostPoolRegistrationInfoOutput() GetHostPoolRegistrationInfoOutput
	ToGetHostPoolRegistrationInfoOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoOutput
}

type GetHostPoolRegistrationInfoMap

type GetHostPoolRegistrationInfoMap map[string]GetHostPoolRegistrationInfoInput

func (GetHostPoolRegistrationInfoMap) ElementType

func (GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutput

func (i GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutput() GetHostPoolRegistrationInfoMapOutput

func (GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutputWithContext

func (i GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoMapOutput

type GetHostPoolRegistrationInfoMapInput

type GetHostPoolRegistrationInfoMapInput interface {
	pulumi.Input

	ToGetHostPoolRegistrationInfoMapOutput() GetHostPoolRegistrationInfoMapOutput
	ToGetHostPoolRegistrationInfoMapOutputWithContext(context.Context) GetHostPoolRegistrationInfoMapOutput
}

GetHostPoolRegistrationInfoMapInput is an input type that accepts GetHostPoolRegistrationInfoMap and GetHostPoolRegistrationInfoMapOutput values. You can construct a concrete instance of `GetHostPoolRegistrationInfoMapInput` via:

GetHostPoolRegistrationInfoMap{ "key": GetHostPoolRegistrationInfoArgs{...} }

type GetHostPoolRegistrationInfoMapOutput

type GetHostPoolRegistrationInfoMapOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoMapOutput) ElementType

func (GetHostPoolRegistrationInfoMapOutput) MapIndex

func (GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutput

func (o GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutput() GetHostPoolRegistrationInfoMapOutput

func (GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutputWithContext

func (o GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoMapOutput

type GetHostPoolRegistrationInfoOutput

type GetHostPoolRegistrationInfoOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoOutput) ElementType

func (GetHostPoolRegistrationInfoOutput) ExpirationDate

A valid `RFC3339Time` for the expiration of the token..

func (GetHostPoolRegistrationInfoOutput) HostpoolId

The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single virtualDesktopHostPoolRegistrationInfo resource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.

func (GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutput

func (o GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutput() GetHostPoolRegistrationInfoOutput

func (GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutputWithContext

func (o GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutputWithContext(ctx context.Context) GetHostPoolRegistrationInfoOutput

func (GetHostPoolRegistrationInfoOutput) Token

The registration token generated by the Virtual Desktop Host Pool for registration of session hosts.

type GetHostPoolRegistrationInfoState

type GetHostPoolRegistrationInfoState struct {
	// A valid `RFC3339Time` for the expiration of the token..
	ExpirationDate pulumi.StringPtrInput
	// The ID of the Virtual Desktop Host Pool to link the Registration Info to. Changing this forces a new Registration Info resource to be created. Only a single virtualDesktopHostPoolRegistrationInfo resource should be associated with a given hostpool. Assigning multiple resources will produce inconsistent results.
	HostpoolId pulumi.StringPtrInput
	// The registration token generated by the Virtual Desktop Host Pool for registration of session hosts.
	Token pulumi.StringPtrInput
}

func (GetHostPoolRegistrationInfoState) ElementType

type GetHostPoolScheduledAgentUpdate

type GetHostPoolScheduledAgentUpdate struct {
	// Are scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) enabled on session hosts.
	Enabled bool `pulumi:"enabled"`
	// A `schedule` block as defined below.
	Schedules []GetHostPoolScheduledAgentUpdateSchedule `pulumi:"schedules"`
	// The time zone in which the agent update schedule will apply.
	Timezone string `pulumi:"timezone"`
	// Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host.
	UseSessionHostTimezone bool `pulumi:"useSessionHostTimezone"`
}

type GetHostPoolScheduledAgentUpdateArgs

type GetHostPoolScheduledAgentUpdateArgs struct {
	// Are scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) enabled on session hosts.
	Enabled pulumi.BoolInput `pulumi:"enabled"`
	// A `schedule` block as defined below.
	Schedules GetHostPoolScheduledAgentUpdateScheduleArrayInput `pulumi:"schedules"`
	// The time zone in which the agent update schedule will apply.
	Timezone pulumi.StringInput `pulumi:"timezone"`
	// Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host.
	UseSessionHostTimezone pulumi.BoolInput `pulumi:"useSessionHostTimezone"`
}

func (GetHostPoolScheduledAgentUpdateArgs) ElementType

func (GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutput

func (i GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutput() GetHostPoolScheduledAgentUpdateOutput

func (GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutputWithContext

func (i GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateOutput

type GetHostPoolScheduledAgentUpdateArray

type GetHostPoolScheduledAgentUpdateArray []GetHostPoolScheduledAgentUpdateInput

func (GetHostPoolScheduledAgentUpdateArray) ElementType

func (GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutput

func (i GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutput() GetHostPoolScheduledAgentUpdateArrayOutput

func (GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext

func (i GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateArrayOutput

type GetHostPoolScheduledAgentUpdateArrayInput

type GetHostPoolScheduledAgentUpdateArrayInput interface {
	pulumi.Input

	ToGetHostPoolScheduledAgentUpdateArrayOutput() GetHostPoolScheduledAgentUpdateArrayOutput
	ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext(context.Context) GetHostPoolScheduledAgentUpdateArrayOutput
}

GetHostPoolScheduledAgentUpdateArrayInput is an input type that accepts GetHostPoolScheduledAgentUpdateArray and GetHostPoolScheduledAgentUpdateArrayOutput values. You can construct a concrete instance of `GetHostPoolScheduledAgentUpdateArrayInput` via:

GetHostPoolScheduledAgentUpdateArray{ GetHostPoolScheduledAgentUpdateArgs{...} }

type GetHostPoolScheduledAgentUpdateArrayOutput

type GetHostPoolScheduledAgentUpdateArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateArrayOutput) ElementType

func (GetHostPoolScheduledAgentUpdateArrayOutput) Index

func (GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutput

func (o GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutput() GetHostPoolScheduledAgentUpdateArrayOutput

func (GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext

func (o GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateArrayOutput

type GetHostPoolScheduledAgentUpdateInput

type GetHostPoolScheduledAgentUpdateInput interface {
	pulumi.Input

	ToGetHostPoolScheduledAgentUpdateOutput() GetHostPoolScheduledAgentUpdateOutput
	ToGetHostPoolScheduledAgentUpdateOutputWithContext(context.Context) GetHostPoolScheduledAgentUpdateOutput
}

GetHostPoolScheduledAgentUpdateInput is an input type that accepts GetHostPoolScheduledAgentUpdateArgs and GetHostPoolScheduledAgentUpdateOutput values. You can construct a concrete instance of `GetHostPoolScheduledAgentUpdateInput` via:

GetHostPoolScheduledAgentUpdateArgs{...}

type GetHostPoolScheduledAgentUpdateOutput

type GetHostPoolScheduledAgentUpdateOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateOutput) ElementType

func (GetHostPoolScheduledAgentUpdateOutput) Enabled

Are scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) enabled on session hosts.

func (GetHostPoolScheduledAgentUpdateOutput) Schedules

A `schedule` block as defined below.

func (GetHostPoolScheduledAgentUpdateOutput) Timezone

The time zone in which the agent update schedule will apply.

func (GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutput

func (o GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutput() GetHostPoolScheduledAgentUpdateOutput

func (GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutputWithContext

func (o GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateOutput

func (GetHostPoolScheduledAgentUpdateOutput) UseSessionHostTimezone

func (o GetHostPoolScheduledAgentUpdateOutput) UseSessionHostTimezone() pulumi.BoolOutput

Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host.

type GetHostPoolScheduledAgentUpdateSchedule

type GetHostPoolScheduledAgentUpdateSchedule struct {
	// The day of the week on which agent updates should be performed.
	DayOfWeek string `pulumi:"dayOfWeek"`
	// The hour of day the update window should start.
	HourOfDay int `pulumi:"hourOfDay"`
}

type GetHostPoolScheduledAgentUpdateScheduleArgs

type GetHostPoolScheduledAgentUpdateScheduleArgs struct {
	// The day of the week on which agent updates should be performed.
	DayOfWeek pulumi.StringInput `pulumi:"dayOfWeek"`
	// The hour of day the update window should start.
	HourOfDay pulumi.IntInput `pulumi:"hourOfDay"`
}

func (GetHostPoolScheduledAgentUpdateScheduleArgs) ElementType

func (GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutput

func (i GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutput() GetHostPoolScheduledAgentUpdateScheduleOutput

func (GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext

func (i GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateScheduleOutput

type GetHostPoolScheduledAgentUpdateScheduleArray

type GetHostPoolScheduledAgentUpdateScheduleArray []GetHostPoolScheduledAgentUpdateScheduleInput

func (GetHostPoolScheduledAgentUpdateScheduleArray) ElementType

func (GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (i GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput() GetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext

func (i GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateScheduleArrayOutput

type GetHostPoolScheduledAgentUpdateScheduleArrayInput

type GetHostPoolScheduledAgentUpdateScheduleArrayInput interface {
	pulumi.Input

	ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput() GetHostPoolScheduledAgentUpdateScheduleArrayOutput
	ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext(context.Context) GetHostPoolScheduledAgentUpdateScheduleArrayOutput
}

GetHostPoolScheduledAgentUpdateScheduleArrayInput is an input type that accepts GetHostPoolScheduledAgentUpdateScheduleArray and GetHostPoolScheduledAgentUpdateScheduleArrayOutput values. You can construct a concrete instance of `GetHostPoolScheduledAgentUpdateScheduleArrayInput` via:

GetHostPoolScheduledAgentUpdateScheduleArray{ GetHostPoolScheduledAgentUpdateScheduleArgs{...} }

type GetHostPoolScheduledAgentUpdateScheduleArrayOutput

type GetHostPoolScheduledAgentUpdateScheduleArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ElementType

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) Index

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (o GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput() GetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext

func (o GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateScheduleArrayOutput

type GetHostPoolScheduledAgentUpdateScheduleInput

type GetHostPoolScheduledAgentUpdateScheduleInput interface {
	pulumi.Input

	ToGetHostPoolScheduledAgentUpdateScheduleOutput() GetHostPoolScheduledAgentUpdateScheduleOutput
	ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext(context.Context) GetHostPoolScheduledAgentUpdateScheduleOutput
}

GetHostPoolScheduledAgentUpdateScheduleInput is an input type that accepts GetHostPoolScheduledAgentUpdateScheduleArgs and GetHostPoolScheduledAgentUpdateScheduleOutput values. You can construct a concrete instance of `GetHostPoolScheduledAgentUpdateScheduleInput` via:

GetHostPoolScheduledAgentUpdateScheduleArgs{...}

type GetHostPoolScheduledAgentUpdateScheduleOutput

type GetHostPoolScheduledAgentUpdateScheduleOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateScheduleOutput) DayOfWeek

The day of the week on which agent updates should be performed.

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ElementType

func (GetHostPoolScheduledAgentUpdateScheduleOutput) HourOfDay

The hour of day the update window should start.

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutput

func (o GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutput() GetHostPoolScheduledAgentUpdateScheduleOutput

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext

func (o GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext(ctx context.Context) GetHostPoolScheduledAgentUpdateScheduleOutput

type HostPool

type HostPool struct {
	pulumi.CustomResourceState

	// A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).
	CustomRdpProperties pulumi.StringPtrOutput `pulumi:"customRdpProperties"`
	// A description for the Virtual Desktop Host Pool.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A friendly name for the Virtual Desktop Host Pool.
	FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"`
	// `BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.
	// `DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.
	// `Persistent` should be used if the host pool type is `Personal`
	LoadBalancerType pulumi.StringOutput `pulumi:"loadBalancerType"`
	// The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
	// Should only be set if the `type` of your Virtual Desktop Host Pool is `Pooled`.
	MaximumSessionsAllowed pulumi.IntPtrOutput `pulumi:"maximumSessionsAllowed"`
	// The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// `Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `personalDesktopAssignmentType` is required if the `type` of your Virtual Desktop Host Pool is `Personal`
	PersonalDesktopAssignmentType pulumi.StringPtrOutput `pulumi:"personalDesktopAssignmentType"`
	// Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.
	PreferredAppGroupType pulumi.StringPtrOutput `pulumi:"preferredAppGroupType"`
	// Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.
	PublicNetworkAccess pulumi.StringPtrOutput `pulumi:"publicNetworkAccess"`
	// The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A `scheduledAgentUpdates` block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.
	ScheduledAgentUpdates HostPoolScheduledAgentUpdatesPtrOutput `pulumi:"scheduledAgentUpdates"`
	// Enables or disables the Start VM on Connection Feature. Defaults to `false`.
	StartVmOnConnect pulumi.BoolPtrOutput `pulumi:"startVmOnConnect"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.
	Type pulumi.StringOutput `pulumi:"type"`
	// Allows you to test service changes before they are deployed to production. Defaults to `false`.
	ValidateEnvironment pulumi.BoolPtrOutput `pulumi:"validateEnvironment"`
	// A VM template for session hosts configuration within hostpool. This is a JSON string.
	VmTemplate pulumi.StringPtrOutput `pulumi:"vmTemplate"`
}

Manages a Virtual Desktop Host Pool.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
			Location:               example.Location,
			ResourceGroupName:      example.Name,
			Name:                   pulumi.String("pooleddepthfirst"),
			FriendlyName:           pulumi.String("pooleddepthfirst"),
			ValidateEnvironment:    pulumi.Bool(true),
			StartVmOnConnect:       pulumi.Bool(true),
			CustomRdpProperties:    pulumi.String("audiocapturemode:i:1;audiomode:i:0;"),
			Description:            pulumi.String("Acceptance Test: A pooled host pool - pooleddepthfirst"),
			Type:                   pulumi.String("Pooled"),
			MaximumSessionsAllowed: pulumi.Int(50),
			LoadBalancerType:       pulumi.String("DepthFirst"),
			ScheduledAgentUpdates: &desktopvirtualization.HostPoolScheduledAgentUpdatesArgs{
				Enabled: pulumi.Bool(true),
				Schedules: desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArray{
					&desktopvirtualization.HostPoolScheduledAgentUpdatesScheduleArgs{
						DayOfWeek: pulumi.String("Saturday"),
						HourOfDay: pulumi.Int(2),
					},
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Virtual Desktop Host Pools can be imported using the `resource id`, e.g.

text

```sh $ pulumi import azure:desktopvirtualization/hostPool:HostPool example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostPools/myhostpool ```

func GetHostPool

func GetHostPool(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *HostPoolState, opts ...pulumi.ResourceOption) (*HostPool, error)

GetHostPool gets an existing HostPool 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 NewHostPool

func NewHostPool(ctx *pulumi.Context,
	name string, args *HostPoolArgs, opts ...pulumi.ResourceOption) (*HostPool, error)

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

func (*HostPool) ElementType

func (*HostPool) ElementType() reflect.Type

func (*HostPool) ToHostPoolOutput

func (i *HostPool) ToHostPoolOutput() HostPoolOutput

func (*HostPool) ToHostPoolOutputWithContext

func (i *HostPool) ToHostPoolOutputWithContext(ctx context.Context) HostPoolOutput

type HostPoolArgs

type HostPoolArgs struct {
	// A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).
	CustomRdpProperties pulumi.StringPtrInput
	// A description for the Virtual Desktop Host Pool.
	Description pulumi.StringPtrInput
	// A friendly name for the Virtual Desktop Host Pool.
	FriendlyName pulumi.StringPtrInput
	// `BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.
	// `DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.
	// `Persistent` should be used if the host pool type is `Personal`
	LoadBalancerType pulumi.StringInput
	// The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
	// Should only be set if the `type` of your Virtual Desktop Host Pool is `Pooled`.
	MaximumSessionsAllowed pulumi.IntPtrInput
	// The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// `Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `personalDesktopAssignmentType` is required if the `type` of your Virtual Desktop Host Pool is `Personal`
	PersonalDesktopAssignmentType pulumi.StringPtrInput
	// Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.
	PreferredAppGroupType pulumi.StringPtrInput
	// Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.
	PublicNetworkAccess pulumi.StringPtrInput
	// The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A `scheduledAgentUpdates` block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.
	ScheduledAgentUpdates HostPoolScheduledAgentUpdatesPtrInput
	// Enables or disables the Start VM on Connection Feature. Defaults to `false`.
	StartVmOnConnect pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.
	Type pulumi.StringInput
	// Allows you to test service changes before they are deployed to production. Defaults to `false`.
	ValidateEnvironment pulumi.BoolPtrInput
	// A VM template for session hosts configuration within hostpool. This is a JSON string.
	VmTemplate pulumi.StringPtrInput
}

The set of arguments for constructing a HostPool resource.

func (HostPoolArgs) ElementType

func (HostPoolArgs) ElementType() reflect.Type

type HostPoolArray

type HostPoolArray []HostPoolInput

func (HostPoolArray) ElementType

func (HostPoolArray) ElementType() reflect.Type

func (HostPoolArray) ToHostPoolArrayOutput

func (i HostPoolArray) ToHostPoolArrayOutput() HostPoolArrayOutput

func (HostPoolArray) ToHostPoolArrayOutputWithContext

func (i HostPoolArray) ToHostPoolArrayOutputWithContext(ctx context.Context) HostPoolArrayOutput

type HostPoolArrayInput

type HostPoolArrayInput interface {
	pulumi.Input

	ToHostPoolArrayOutput() HostPoolArrayOutput
	ToHostPoolArrayOutputWithContext(context.Context) HostPoolArrayOutput
}

HostPoolArrayInput is an input type that accepts HostPoolArray and HostPoolArrayOutput values. You can construct a concrete instance of `HostPoolArrayInput` via:

HostPoolArray{ HostPoolArgs{...} }

type HostPoolArrayOutput

type HostPoolArrayOutput struct{ *pulumi.OutputState }

func (HostPoolArrayOutput) ElementType

func (HostPoolArrayOutput) ElementType() reflect.Type

func (HostPoolArrayOutput) Index

func (HostPoolArrayOutput) ToHostPoolArrayOutput

func (o HostPoolArrayOutput) ToHostPoolArrayOutput() HostPoolArrayOutput

func (HostPoolArrayOutput) ToHostPoolArrayOutputWithContext

func (o HostPoolArrayOutput) ToHostPoolArrayOutputWithContext(ctx context.Context) HostPoolArrayOutput

type HostPoolInput

type HostPoolInput interface {
	pulumi.Input

	ToHostPoolOutput() HostPoolOutput
	ToHostPoolOutputWithContext(ctx context.Context) HostPoolOutput
}

type HostPoolMap

type HostPoolMap map[string]HostPoolInput

func (HostPoolMap) ElementType

func (HostPoolMap) ElementType() reflect.Type

func (HostPoolMap) ToHostPoolMapOutput

func (i HostPoolMap) ToHostPoolMapOutput() HostPoolMapOutput

func (HostPoolMap) ToHostPoolMapOutputWithContext

func (i HostPoolMap) ToHostPoolMapOutputWithContext(ctx context.Context) HostPoolMapOutput

type HostPoolMapInput

type HostPoolMapInput interface {
	pulumi.Input

	ToHostPoolMapOutput() HostPoolMapOutput
	ToHostPoolMapOutputWithContext(context.Context) HostPoolMapOutput
}

HostPoolMapInput is an input type that accepts HostPoolMap and HostPoolMapOutput values. You can construct a concrete instance of `HostPoolMapInput` via:

HostPoolMap{ "key": HostPoolArgs{...} }

type HostPoolMapOutput

type HostPoolMapOutput struct{ *pulumi.OutputState }

func (HostPoolMapOutput) ElementType

func (HostPoolMapOutput) ElementType() reflect.Type

func (HostPoolMapOutput) MapIndex

func (HostPoolMapOutput) ToHostPoolMapOutput

func (o HostPoolMapOutput) ToHostPoolMapOutput() HostPoolMapOutput

func (HostPoolMapOutput) ToHostPoolMapOutputWithContext

func (o HostPoolMapOutput) ToHostPoolMapOutputWithContext(ctx context.Context) HostPoolMapOutput

type HostPoolOutput

type HostPoolOutput struct{ *pulumi.OutputState }

func (HostPoolOutput) CustomRdpProperties

func (o HostPoolOutput) CustomRdpProperties() pulumi.StringPtrOutput

A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).

func (HostPoolOutput) Description

func (o HostPoolOutput) Description() pulumi.StringPtrOutput

A description for the Virtual Desktop Host Pool.

func (HostPoolOutput) ElementType

func (HostPoolOutput) ElementType() reflect.Type

func (HostPoolOutput) FriendlyName

func (o HostPoolOutput) FriendlyName() pulumi.StringPtrOutput

A friendly name for the Virtual Desktop Host Pool.

func (HostPoolOutput) LoadBalancerType

func (o HostPoolOutput) LoadBalancerType() pulumi.StringOutput

`BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`. `DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold. `Persistent` should be used if the host pool type is `Personal`

func (HostPoolOutput) Location

func (o HostPoolOutput) Location() pulumi.StringOutput

The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.

func (HostPoolOutput) MaximumSessionsAllowed

func (o HostPoolOutput) MaximumSessionsAllowed() pulumi.IntPtrOutput

A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host. Should only be set if the `type` of your Virtual Desktop Host Pool is `Pooled`.

func (HostPoolOutput) Name

The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.

func (HostPoolOutput) PersonalDesktopAssignmentType

func (o HostPoolOutput) PersonalDesktopAssignmentType() pulumi.StringPtrOutput

`Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.

> **NOTE:** `personalDesktopAssignmentType` is required if the `type` of your Virtual Desktop Host Pool is `Personal`

func (HostPoolOutput) PreferredAppGroupType

func (o HostPoolOutput) PreferredAppGroupType() pulumi.StringPtrOutput

Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.

func (HostPoolOutput) PublicNetworkAccess

func (o HostPoolOutput) PublicNetworkAccess() pulumi.StringPtrOutput

Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.

func (HostPoolOutput) ResourceGroupName

func (o HostPoolOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.

func (HostPoolOutput) ScheduledAgentUpdates

func (o HostPoolOutput) ScheduledAgentUpdates() HostPoolScheduledAgentUpdatesPtrOutput

A `scheduledAgentUpdates` block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.

func (HostPoolOutput) StartVmOnConnect

func (o HostPoolOutput) StartVmOnConnect() pulumi.BoolPtrOutput

Enables or disables the Start VM on Connection Feature. Defaults to `false`.

func (HostPoolOutput) Tags

A mapping of tags to assign to the resource.

func (HostPoolOutput) ToHostPoolOutput

func (o HostPoolOutput) ToHostPoolOutput() HostPoolOutput

func (HostPoolOutput) ToHostPoolOutputWithContext

func (o HostPoolOutput) ToHostPoolOutputWithContext(ctx context.Context) HostPoolOutput

func (HostPoolOutput) Type

The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.

func (HostPoolOutput) ValidateEnvironment

func (o HostPoolOutput) ValidateEnvironment() pulumi.BoolPtrOutput

Allows you to test service changes before they are deployed to production. Defaults to `false`.

func (HostPoolOutput) VmTemplate

func (o HostPoolOutput) VmTemplate() pulumi.StringPtrOutput

A VM template for session hosts configuration within hostpool. This is a JSON string.

type HostPoolScheduledAgentUpdates

type HostPoolScheduledAgentUpdates struct {
	// Enables or disables scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. If this is enabled then up to two `schedule` blocks must be defined. Default is `false`.
	//
	// > **NOTE:** if `enabled` is set to `true` then at least one and a maximum of two `schedule` blocks must be provided.
	Enabled *bool `pulumi:"enabled"`
	// A `schedule` block as defined below. A maximum of two blocks can be added.
	Schedules []HostPoolScheduledAgentUpdatesSchedule `pulumi:"schedules"`
	// Specifies the time zone in which the agent update schedule will apply, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). If `useSessionHostTimezone` is enabled then it will override this setting. Default is `UTC`
	Timezone *string `pulumi:"timezone"`
	// Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host. If configured then this setting overrides `timezone`. Default is `false`.
	UseSessionHostTimezone *bool `pulumi:"useSessionHostTimezone"`
}

type HostPoolScheduledAgentUpdatesArgs

type HostPoolScheduledAgentUpdatesArgs struct {
	// Enables or disables scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. If this is enabled then up to two `schedule` blocks must be defined. Default is `false`.
	//
	// > **NOTE:** if `enabled` is set to `true` then at least one and a maximum of two `schedule` blocks must be provided.
	Enabled pulumi.BoolPtrInput `pulumi:"enabled"`
	// A `schedule` block as defined below. A maximum of two blocks can be added.
	Schedules HostPoolScheduledAgentUpdatesScheduleArrayInput `pulumi:"schedules"`
	// Specifies the time zone in which the agent update schedule will apply, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). If `useSessionHostTimezone` is enabled then it will override this setting. Default is `UTC`
	Timezone pulumi.StringPtrInput `pulumi:"timezone"`
	// Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host. If configured then this setting overrides `timezone`. Default is `false`.
	UseSessionHostTimezone pulumi.BoolPtrInput `pulumi:"useSessionHostTimezone"`
}

func (HostPoolScheduledAgentUpdatesArgs) ElementType

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutput

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutput() HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutputWithContext

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutput

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesPtrOutput

type HostPoolScheduledAgentUpdatesInput

type HostPoolScheduledAgentUpdatesInput interface {
	pulumi.Input

	ToHostPoolScheduledAgentUpdatesOutput() HostPoolScheduledAgentUpdatesOutput
	ToHostPoolScheduledAgentUpdatesOutputWithContext(context.Context) HostPoolScheduledAgentUpdatesOutput
}

HostPoolScheduledAgentUpdatesInput is an input type that accepts HostPoolScheduledAgentUpdatesArgs and HostPoolScheduledAgentUpdatesOutput values. You can construct a concrete instance of `HostPoolScheduledAgentUpdatesInput` via:

HostPoolScheduledAgentUpdatesArgs{...}

type HostPoolScheduledAgentUpdatesOutput

type HostPoolScheduledAgentUpdatesOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesOutput) ElementType

func (HostPoolScheduledAgentUpdatesOutput) Enabled

Enables or disables scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. If this is enabled then up to two `schedule` blocks must be defined. Default is `false`.

> **NOTE:** if `enabled` is set to `true` then at least one and a maximum of two `schedule` blocks must be provided.

func (HostPoolScheduledAgentUpdatesOutput) Schedules

A `schedule` block as defined below. A maximum of two blocks can be added.

func (HostPoolScheduledAgentUpdatesOutput) Timezone

Specifies the time zone in which the agent update schedule will apply, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). If `useSessionHostTimezone` is enabled then it will override this setting. Default is `UTC`

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutput

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutput() HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutputWithContext

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutput

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesOutput) UseSessionHostTimezone

func (o HostPoolScheduledAgentUpdatesOutput) UseSessionHostTimezone() pulumi.BoolPtrOutput

Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host. If configured then this setting overrides `timezone`. Default is `false`.

type HostPoolScheduledAgentUpdatesPtrInput

type HostPoolScheduledAgentUpdatesPtrInput interface {
	pulumi.Input

	ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput
	ToHostPoolScheduledAgentUpdatesPtrOutputWithContext(context.Context) HostPoolScheduledAgentUpdatesPtrOutput
}

HostPoolScheduledAgentUpdatesPtrInput is an input type that accepts HostPoolScheduledAgentUpdatesArgs, HostPoolScheduledAgentUpdatesPtr and HostPoolScheduledAgentUpdatesPtrOutput values. You can construct a concrete instance of `HostPoolScheduledAgentUpdatesPtrInput` via:

        HostPoolScheduledAgentUpdatesArgs{...}

or:

        nil

type HostPoolScheduledAgentUpdatesPtrOutput

type HostPoolScheduledAgentUpdatesPtrOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesPtrOutput) Elem

func (HostPoolScheduledAgentUpdatesPtrOutput) ElementType

func (HostPoolScheduledAgentUpdatesPtrOutput) Enabled

Enables or disables scheduled updates of the AVD agent components (RDAgent, Geneva Monitoring agent, and side-by-side stack) on session hosts. If this is enabled then up to two `schedule` blocks must be defined. Default is `false`.

> **NOTE:** if `enabled` is set to `true` then at least one and a maximum of two `schedule` blocks must be provided.

func (HostPoolScheduledAgentUpdatesPtrOutput) Schedules

A `schedule` block as defined below. A maximum of two blocks can be added.

func (HostPoolScheduledAgentUpdatesPtrOutput) Timezone

Specifies the time zone in which the agent update schedule will apply, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/). If `useSessionHostTimezone` is enabled then it will override this setting. Default is `UTC`

func (HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutput

func (o HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext

func (o HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesPtrOutput) UseSessionHostTimezone

func (o HostPoolScheduledAgentUpdatesPtrOutput) UseSessionHostTimezone() pulumi.BoolPtrOutput

Specifies whether scheduled agent updates should be applied based on the timezone of the affected session host. If configured then this setting overrides `timezone`. Default is `false`.

type HostPoolScheduledAgentUpdatesSchedule

type HostPoolScheduledAgentUpdatesSchedule struct {
	// The day of the week on which agent updates should be performed. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`
	DayOfWeek string `pulumi:"dayOfWeek"`
	// The hour of day the update window should start. The update is a 2 hour period following the hour provided. The value should be provided as a number between 0 and 23, with 0 being midnight and 23 being 11pm. A leading zero should not be used.
	HourOfDay int `pulumi:"hourOfDay"`
}

type HostPoolScheduledAgentUpdatesScheduleArgs

type HostPoolScheduledAgentUpdatesScheduleArgs struct {
	// The day of the week on which agent updates should be performed. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`
	DayOfWeek pulumi.StringInput `pulumi:"dayOfWeek"`
	// The hour of day the update window should start. The update is a 2 hour period following the hour provided. The value should be provided as a number between 0 and 23, with 0 being midnight and 23 being 11pm. A leading zero should not be used.
	HourOfDay pulumi.IntInput `pulumi:"hourOfDay"`
}

func (HostPoolScheduledAgentUpdatesScheduleArgs) ElementType

func (HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutput

func (i HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutput() HostPoolScheduledAgentUpdatesScheduleOutput

func (HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext

func (i HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesScheduleOutput

type HostPoolScheduledAgentUpdatesScheduleArray

type HostPoolScheduledAgentUpdatesScheduleArray []HostPoolScheduledAgentUpdatesScheduleInput

func (HostPoolScheduledAgentUpdatesScheduleArray) ElementType

func (HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput

func (i HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput() HostPoolScheduledAgentUpdatesScheduleArrayOutput

func (HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext

func (i HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesScheduleArrayOutput

type HostPoolScheduledAgentUpdatesScheduleArrayInput

type HostPoolScheduledAgentUpdatesScheduleArrayInput interface {
	pulumi.Input

	ToHostPoolScheduledAgentUpdatesScheduleArrayOutput() HostPoolScheduledAgentUpdatesScheduleArrayOutput
	ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext(context.Context) HostPoolScheduledAgentUpdatesScheduleArrayOutput
}

HostPoolScheduledAgentUpdatesScheduleArrayInput is an input type that accepts HostPoolScheduledAgentUpdatesScheduleArray and HostPoolScheduledAgentUpdatesScheduleArrayOutput values. You can construct a concrete instance of `HostPoolScheduledAgentUpdatesScheduleArrayInput` via:

HostPoolScheduledAgentUpdatesScheduleArray{ HostPoolScheduledAgentUpdatesScheduleArgs{...} }

type HostPoolScheduledAgentUpdatesScheduleArrayOutput

type HostPoolScheduledAgentUpdatesScheduleArrayOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ElementType

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) Index

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput

func (o HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput() HostPoolScheduledAgentUpdatesScheduleArrayOutput

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext

func (o HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesScheduleArrayOutput

type HostPoolScheduledAgentUpdatesScheduleInput

type HostPoolScheduledAgentUpdatesScheduleInput interface {
	pulumi.Input

	ToHostPoolScheduledAgentUpdatesScheduleOutput() HostPoolScheduledAgentUpdatesScheduleOutput
	ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext(context.Context) HostPoolScheduledAgentUpdatesScheduleOutput
}

HostPoolScheduledAgentUpdatesScheduleInput is an input type that accepts HostPoolScheduledAgentUpdatesScheduleArgs and HostPoolScheduledAgentUpdatesScheduleOutput values. You can construct a concrete instance of `HostPoolScheduledAgentUpdatesScheduleInput` via:

HostPoolScheduledAgentUpdatesScheduleArgs{...}

type HostPoolScheduledAgentUpdatesScheduleOutput

type HostPoolScheduledAgentUpdatesScheduleOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesScheduleOutput) DayOfWeek

The day of the week on which agent updates should be performed. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`

func (HostPoolScheduledAgentUpdatesScheduleOutput) ElementType

func (HostPoolScheduledAgentUpdatesScheduleOutput) HourOfDay

The hour of day the update window should start. The update is a 2 hour period following the hour provided. The value should be provided as a number between 0 and 23, with 0 being midnight and 23 being 11pm. A leading zero should not be used.

func (HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutput

func (o HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutput() HostPoolScheduledAgentUpdatesScheduleOutput

func (HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext

func (o HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext(ctx context.Context) HostPoolScheduledAgentUpdatesScheduleOutput

type HostPoolState

type HostPoolState struct {
	// A valid custom RDP properties string for the Virtual Desktop Host Pool, available properties can be [found in this article](https://docs.microsoft.com/windows-server/remote/remote-desktop-services/clients/rdp-files).
	CustomRdpProperties pulumi.StringPtrInput
	// A description for the Virtual Desktop Host Pool.
	Description pulumi.StringPtrInput
	// A friendly name for the Virtual Desktop Host Pool.
	FriendlyName pulumi.StringPtrInput
	// `BreadthFirst` load balancing distributes new user sessions across all available session hosts in the host pool. Possible values are `BreadthFirst`, `DepthFirst` and `Persistent`.
	// `DepthFirst` load balancing distributes new user sessions to an available session host with the highest number of connections but has not reached its maximum session limit threshold.
	// `Persistent` should be used if the host pool type is `Personal`
	LoadBalancerType pulumi.StringPtrInput
	// The location/region where the Virtual Desktop Host Pool is located. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// A valid integer value from 0 to 999999 for the maximum number of users that have concurrent sessions on a session host.
	// Should only be set if the `type` of your Virtual Desktop Host Pool is `Pooled`.
	MaximumSessionsAllowed pulumi.IntPtrInput
	// The name of the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// `Automatic` assignment – The service will select an available host and assign it to an user. Possible values are `Automatic` and `Direct`. `Direct` Assignment – Admin selects a specific host to assign to an user. Changing this forces a new resource to be created.
	//
	// > **NOTE:** `personalDesktopAssignmentType` is required if the `type` of your Virtual Desktop Host Pool is `Personal`
	PersonalDesktopAssignmentType pulumi.StringPtrInput
	// Option to specify the preferred Application Group type for the Virtual Desktop Host Pool. Valid options are `None`, `Desktop` or `RailApplications`. Default is `Desktop`.
	PreferredAppGroupType pulumi.StringPtrInput
	// Whether public network access is allowed for the Virtual Desktop Host Pool. Possible values are `Enabled`, `Disabled`, `EnabledForClientsOnly` and `EnabledForSessionHostsOnly`. Defaults to `Enabled`.
	PublicNetworkAccess pulumi.StringPtrInput
	// The name of the resource group in which to create the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A `scheduledAgentUpdates` block as defined below. This enables control of when Agent Updates will be applied to Session Hosts.
	ScheduledAgentUpdates HostPoolScheduledAgentUpdatesPtrInput
	// Enables or disables the Start VM on Connection Feature. Defaults to `false`.
	StartVmOnConnect pulumi.BoolPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
	// The type of the Virtual Desktop Host Pool. Valid options are `Personal` or `Pooled`. Changing the type forces a new resource to be created.
	Type pulumi.StringPtrInput
	// Allows you to test service changes before they are deployed to production. Defaults to `false`.
	ValidateEnvironment pulumi.BoolPtrInput
	// A VM template for session hosts configuration within hostpool. This is a JSON string.
	VmTemplate pulumi.StringPtrInput
}

func (HostPoolState) ElementType

func (HostPoolState) ElementType() reflect.Type

type LookupApplicationGroupArgs

type LookupApplicationGroupArgs struct {
	// The name of this Application Group.
	Name string `pulumi:"name"`
	// The name of the Resource Group where the Application Group exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getApplicationGroup.

type LookupApplicationGroupOutputArgs

type LookupApplicationGroupOutputArgs struct {
	// The name of this Application Group.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group where the Application Group exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getApplicationGroup.

func (LookupApplicationGroupOutputArgs) ElementType

type LookupApplicationGroupResult

type LookupApplicationGroupResult struct {
	// The description of the Application Group.
	Description string `pulumi:"description"`
	// The friendly name of the Application Group.
	FriendlyName string `pulumi:"friendlyName"`
	// The Virtual Desktop Host Pool ID the Application Group is associated to.
	HostPoolId string `pulumi:"hostPoolId"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region where the Application Group exists.
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the Application Group.
	Tags map[string]string `pulumi:"tags"`
	// The type of Application Group (`RemoteApp` or `Desktop`).
	Type string `pulumi:"type"`
	// The Virtual Desktop Workspace ID the Application Group is associated to.
	WorkspaceId string `pulumi:"workspaceId"`
}

A collection of values returned by getApplicationGroup.

func LookupApplicationGroup

func LookupApplicationGroup(ctx *pulumi.Context, args *LookupApplicationGroupArgs, opts ...pulumi.InvokeOption) (*LookupApplicationGroupResult, error)

Use this data source to access information about an existing Application Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := desktopvirtualization.LookupApplicationGroup(ctx, &desktopvirtualization.LookupApplicationGroupArgs{
			Name:              "existing",
			ResourceGroupName: "existing",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupApplicationGroupResultOutput

type LookupApplicationGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApplicationGroup.

func (LookupApplicationGroupResultOutput) Description

The description of the Application Group.

func (LookupApplicationGroupResultOutput) ElementType

func (LookupApplicationGroupResultOutput) FriendlyName

The friendly name of the Application Group.

func (LookupApplicationGroupResultOutput) HostPoolId

The Virtual Desktop Host Pool ID the Application Group is associated to.

func (LookupApplicationGroupResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupApplicationGroupResultOutput) Location

The Azure Region where the Application Group exists.

func (LookupApplicationGroupResultOutput) Name

func (LookupApplicationGroupResultOutput) ResourceGroupName

func (LookupApplicationGroupResultOutput) Tags

A mapping of tags assigned to the Application Group.

func (LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutput

func (o LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutput() LookupApplicationGroupResultOutput

func (LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutputWithContext

func (o LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutputWithContext(ctx context.Context) LookupApplicationGroupResultOutput

func (LookupApplicationGroupResultOutput) Type

The type of Application Group (`RemoteApp` or `Desktop`).

func (LookupApplicationGroupResultOutput) WorkspaceId

The Virtual Desktop Workspace ID the Application Group is associated to.

type LookupHostPoolArgs

type LookupHostPoolArgs struct {
	// The name of the Virtual Desktop Host Pool to retrieve.
	Name string `pulumi:"name"`
	// The name of the resource group where the Virtual Desktop Host Pool exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getHostPool.

type LookupHostPoolOutputArgs

type LookupHostPoolOutputArgs struct {
	// The name of the Virtual Desktop Host Pool to retrieve.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the resource group where the Virtual Desktop Host Pool exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getHostPool.

func (LookupHostPoolOutputArgs) ElementType

func (LookupHostPoolOutputArgs) ElementType() reflect.Type

type LookupHostPoolResult

type LookupHostPoolResult struct {
	// The custom RDP properties string for the Virtual Desktop Host Pool.
	CustomRdpProperties string `pulumi:"customRdpProperties"`
	// The description for the Virtual Desktop Host Pool.
	Description string `pulumi:"description"`
	// The friendly name for the Virtual Desktop Host Pool.
	FriendlyName string `pulumi:"friendlyName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The type of load balancing performed by the Host Pool
	LoadBalancerType string `pulumi:"loadBalancerType"`
	// The location/region where the Virtual Desktop Host Pool is located.
	Location string `pulumi:"location"`
	// The maximum number of users that can have concurrent sessions on a session host.
	MaximumSessionsAllowed int    `pulumi:"maximumSessionsAllowed"`
	Name                   string `pulumi:"name"`
	// The type of personal desktop assignment in use by the Host Pool
	PersonalDesktopAssignmentType string `pulumi:"personalDesktopAssignmentType"`
	// The preferred Application Group type for the Virtual Desktop Host Pool.
	PreferredAppGroupType string `pulumi:"preferredAppGroupType"`
	ResourceGroupName     string `pulumi:"resourceGroupName"`
	// A `scheduledAgentUpdates` block as defined below.
	ScheduledAgentUpdates []GetHostPoolScheduledAgentUpdate `pulumi:"scheduledAgentUpdates"`
	// Returns `true` if the Start VM on Connection Feature is enabled.
	StartVmOnConnect bool `pulumi:"startVmOnConnect"`
	// A mapping of tags to assign to the resource.
	Tags map[string]string `pulumi:"tags"`
	// The type of the Virtual Desktop Host Pool.
	Type string `pulumi:"type"`
	// Returns `true` if the Host Pool is in Validation mode.
	ValidateEnvironment bool `pulumi:"validateEnvironment"`
}

A collection of values returned by getHostPool.

func LookupHostPool

func LookupHostPool(ctx *pulumi.Context, args *LookupHostPoolArgs, opts ...pulumi.InvokeOption) (*LookupHostPoolResult, error)

Use this data source to access information about an existing Virtual Desktop Host Pool.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		_, err := desktopvirtualization.LookupHostPool(ctx, &desktopvirtualization.LookupHostPoolArgs{
			Name:              "example-pool",
			ResourceGroupName: "example-resources",
		}, nil)
		if err != nil {
			return err
		}
		return nil
	})
}

```

type LookupHostPoolResultOutput

type LookupHostPoolResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHostPool.

func (LookupHostPoolResultOutput) CustomRdpProperties

func (o LookupHostPoolResultOutput) CustomRdpProperties() pulumi.StringOutput

The custom RDP properties string for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) Description

The description for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) ElementType

func (LookupHostPoolResultOutput) ElementType() reflect.Type

func (LookupHostPoolResultOutput) FriendlyName

The friendly name for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupHostPoolResultOutput) LoadBalancerType

func (o LookupHostPoolResultOutput) LoadBalancerType() pulumi.StringOutput

The type of load balancing performed by the Host Pool

func (LookupHostPoolResultOutput) Location

The location/region where the Virtual Desktop Host Pool is located.

func (LookupHostPoolResultOutput) MaximumSessionsAllowed

func (o LookupHostPoolResultOutput) MaximumSessionsAllowed() pulumi.IntOutput

The maximum number of users that can have concurrent sessions on a session host.

func (LookupHostPoolResultOutput) Name

func (LookupHostPoolResultOutput) PersonalDesktopAssignmentType

func (o LookupHostPoolResultOutput) PersonalDesktopAssignmentType() pulumi.StringOutput

The type of personal desktop assignment in use by the Host Pool

func (LookupHostPoolResultOutput) PreferredAppGroupType

func (o LookupHostPoolResultOutput) PreferredAppGroupType() pulumi.StringOutput

The preferred Application Group type for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) ResourceGroupName

func (o LookupHostPoolResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupHostPoolResultOutput) ScheduledAgentUpdates

A `scheduledAgentUpdates` block as defined below.

func (LookupHostPoolResultOutput) StartVmOnConnect

func (o LookupHostPoolResultOutput) StartVmOnConnect() pulumi.BoolOutput

Returns `true` if the Start VM on Connection Feature is enabled.

func (LookupHostPoolResultOutput) Tags

A mapping of tags to assign to the resource.

func (LookupHostPoolResultOutput) ToLookupHostPoolResultOutput

func (o LookupHostPoolResultOutput) ToLookupHostPoolResultOutput() LookupHostPoolResultOutput

func (LookupHostPoolResultOutput) ToLookupHostPoolResultOutputWithContext

func (o LookupHostPoolResultOutput) ToLookupHostPoolResultOutputWithContext(ctx context.Context) LookupHostPoolResultOutput

func (LookupHostPoolResultOutput) Type

The type of the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) ValidateEnvironment

func (o LookupHostPoolResultOutput) ValidateEnvironment() pulumi.BoolOutput

Returns `true` if the Host Pool is in Validation mode.

type LookupWorkspaceArgs

type LookupWorkspaceArgs struct {
	// The name of this Virtual Desktop Workspace to retrieve.
	Name string `pulumi:"name"`
	// The name of the Resource Group where the Virtual Desktop Workspace exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getWorkspace.

type LookupWorkspaceOutputArgs

type LookupWorkspaceOutputArgs struct {
	// The name of this Virtual Desktop Workspace to retrieve.
	Name pulumi.StringInput `pulumi:"name"`
	// The name of the Resource Group where the Virtual Desktop Workspace exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getWorkspace.

func (LookupWorkspaceOutputArgs) ElementType

func (LookupWorkspaceOutputArgs) ElementType() reflect.Type

type LookupWorkspaceResult

type LookupWorkspaceResult struct {
	// The description for the Virtual Desktop Workspace.
	Description string `pulumi:"description"`
	// The friendly name for the Virtual Desktop Workspace.
	FriendlyName string `pulumi:"friendlyName"`
	// The provider-assigned unique ID for this managed resource.
	Id string `pulumi:"id"`
	// The Azure Region where the Virtual Desktop Workspace exists.
	Location string `pulumi:"location"`
	Name     string `pulumi:"name"`
	// Is public network access enabled?
	PublicNetworkAccessEnabled bool   `pulumi:"publicNetworkAccessEnabled"`
	ResourceGroupName          string `pulumi:"resourceGroupName"`
	// A mapping of tags assigned to the Virtual Desktop Workspace.
	Tags map[string]string `pulumi:"tags"`
}

A collection of values returned by getWorkspace.

func LookupWorkspace

func LookupWorkspace(ctx *pulumi.Context, args *LookupWorkspaceArgs, opts ...pulumi.InvokeOption) (*LookupWorkspaceResult, error)

Use this data source to access information about an existing Virtual Desktop Workspace.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := desktopvirtualization.LookupWorkspace(ctx, &desktopvirtualization.LookupWorkspaceArgs{
			Name:              "existing",
			ResourceGroupName: "existing",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupWorkspaceResultOutput

type LookupWorkspaceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkspace.

func (LookupWorkspaceResultOutput) Description

The description for the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) ElementType

func (LookupWorkspaceResultOutput) FriendlyName

The friendly name for the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupWorkspaceResultOutput) Location

The Azure Region where the Virtual Desktop Workspace exists.

func (LookupWorkspaceResultOutput) Name

func (LookupWorkspaceResultOutput) PublicNetworkAccessEnabled

func (o LookupWorkspaceResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is public network access enabled?

func (LookupWorkspaceResultOutput) ResourceGroupName

func (o LookupWorkspaceResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupWorkspaceResultOutput) Tags

A mapping of tags assigned to the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput

func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput() LookupWorkspaceResultOutput

func (LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutputWithContext

func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutputWithContext(ctx context.Context) LookupWorkspaceResultOutput

type ScalingPlan

type ScalingPlan struct {
	pulumi.CustomResourceState

	// A description of the Scaling Plan.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// The name of the tag associated with the VMs you want to exclude from autoscaling.
	ExclusionTag pulumi.StringPtrOutput `pulumi:"exclusionTag"`
	// Friendly name of the Scaling Plan.
	FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"`
	// One or more `hostPool` blocks as defined below.
	HostPools ScalingPlanHostPoolArrayOutput `pulumi:"hostPools"`
	// The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// One or more `schedule` blocks as defined below.
	Schedules ScalingPlanScheduleArrayOutput `pulumi:"schedules"`
	// A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
	Tags pulumi.StringMapOutput `pulumi:"tags"`
	// Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	TimeZone pulumi.StringOutput `pulumi:"timeZone"`
}

Manages a Virtual Desktop Scaling Plan.

## Disclaimers

> **Note** Scaling Plans are currently in preview and are only supported in a limited number of regions. Both the Scaling Plan and any referenced Host Pools must be deployed in a supported region. [Autoscale (preview) for Azure Virtual Desktop host pools](https://docs.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan).

> **Note** Scaling Plans require specific permissions to be granted to the Windows Virtual Desktop application before a 'host_pool' can be configured. [Required Permissions for Scaling Plans](https://docs.microsoft.com/azure/virtual-desktop/autoscale-scaling-plan#create-a-custom-rbac-role).

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleRandomUuid, err := random.NewRandomUuid(ctx, "example", nil)
		if err != nil {
			return err
		}
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, "example", &authorization.RoleDefinitionArgs{
			Name:        pulumi.String("AVD-AutoScale"),
			Scope:       exampleResourceGroup.ID(),
			Description: pulumi.String("AVD AutoScale Role"),
			Permissions: authorization.RoleDefinitionPermissionArray{
				&authorization.RoleDefinitionPermissionArgs{
					Actions: pulumi.StringArray{
						pulumi.String("Microsoft.Insights/eventtypes/values/read"),
						pulumi.String("Microsoft.Compute/virtualMachines/deallocate/action"),
						pulumi.String("Microsoft.Compute/virtualMachines/restart/action"),
						pulumi.String("Microsoft.Compute/virtualMachines/powerOff/action"),
						pulumi.String("Microsoft.Compute/virtualMachines/start/action"),
						pulumi.String("Microsoft.Compute/virtualMachines/read"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/read"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/write"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/read"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/write"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/delete"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/sendMessage/action"),
						pulumi.String("Microsoft.DesktopVirtualization/hostpools/sessionhosts/usersessions/read"),
					},
					NotActions: pulumi.StringArray{},
				},
			},
			AssignableScopes: pulumi.StringArray{
				exampleResourceGroup.ID(),
			},
		})
		if err != nil {
			return err
		}
		example, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
			DisplayName: pulumi.StringRef("Azure Virtual Desktop"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
			Name:                         exampleRandomUuid.Result,
			Scope:                        exampleResourceGroup.ID(),
			RoleDefinitionId:             exampleRoleDefinition.RoleDefinitionResourceId,
			PrincipalId:                  pulumi.String(example.Id),
			SkipServicePrincipalAadCheck: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
			Name:                pulumi.String("example-hostpool"),
			Location:            exampleResourceGroup.Location,
			ResourceGroupName:   exampleResourceGroup.Name,
			Type:                pulumi.String("Pooled"),
			ValidateEnvironment: pulumi.Bool(true),
			LoadBalancerType:    pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewScalingPlan(ctx, "example", &desktopvirtualization.ScalingPlanArgs{
			Name:              pulumi.String("example-scaling-plan"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			FriendlyName:      pulumi.String("Scaling Plan Example"),
			Description:       pulumi.String("Example Scaling Plan"),
			TimeZone:          pulumi.String("GMT Standard Time"),
			Schedules: desktopvirtualization.ScalingPlanScheduleArray{
				&desktopvirtualization.ScalingPlanScheduleArgs{
					Name: pulumi.String("Weekdays"),
					DaysOfWeeks: pulumi.StringArray{
						pulumi.String("Monday"),
						pulumi.String("Tuesday"),
						pulumi.String("Wednesday"),
						pulumi.String("Thursday"),
						pulumi.String("Friday"),
					},
					RampUpStartTime:                  pulumi.String("05:00"),
					RampUpLoadBalancingAlgorithm:     pulumi.String("BreadthFirst"),
					RampUpMinimumHostsPercent:        pulumi.Int(20),
					RampUpCapacityThresholdPercent:   pulumi.Int(10),
					PeakStartTime:                    pulumi.String("09:00"),
					PeakLoadBalancingAlgorithm:       pulumi.String("BreadthFirst"),
					RampDownStartTime:                pulumi.String("19:00"),
					RampDownLoadBalancingAlgorithm:   pulumi.String("DepthFirst"),
					RampDownMinimumHostsPercent:      pulumi.Int(10),
					RampDownForceLogoffUsers:         pulumi.Bool(false),
					RampDownWaitTimeMinutes:          pulumi.Int(45),
					RampDownNotificationMessage:      pulumi.String("Please log off in the next 45 minutes..."),
					RampDownCapacityThresholdPercent: pulumi.Int(5),
					RampDownStopHostsWhen:            pulumi.String("ZeroSessions"),
					OffPeakStartTime:                 pulumi.String("22:00"),
					OffPeakLoadBalancingAlgorithm:    pulumi.String("DepthFirst"),
				},
			},
			HostPools: desktopvirtualization.ScalingPlanHostPoolArray{
				&desktopvirtualization.ScalingPlanHostPoolArgs{
					HostpoolId:         exampleHostPool.ID(),
					ScalingPlanEnabled: pulumi.Bool(true),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Virtual Desktop Scaling Plans can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/scalingPlan:ScalingPlan example /subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/plan1 ```

func GetScalingPlan

func GetScalingPlan(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingPlanState, opts ...pulumi.ResourceOption) (*ScalingPlan, error)

GetScalingPlan gets an existing ScalingPlan 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 NewScalingPlan

func NewScalingPlan(ctx *pulumi.Context,
	name string, args *ScalingPlanArgs, opts ...pulumi.ResourceOption) (*ScalingPlan, error)

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

func (*ScalingPlan) ElementType

func (*ScalingPlan) ElementType() reflect.Type

func (*ScalingPlan) ToScalingPlanOutput

func (i *ScalingPlan) ToScalingPlanOutput() ScalingPlanOutput

func (*ScalingPlan) ToScalingPlanOutputWithContext

func (i *ScalingPlan) ToScalingPlanOutputWithContext(ctx context.Context) ScalingPlanOutput

type ScalingPlanArgs

type ScalingPlanArgs struct {
	// A description of the Scaling Plan.
	Description pulumi.StringPtrInput
	// The name of the tag associated with the VMs you want to exclude from autoscaling.
	ExclusionTag pulumi.StringPtrInput
	// Friendly name of the Scaling Plan.
	FriendlyName pulumi.StringPtrInput
	// One or more `hostPool` blocks as defined below.
	HostPools ScalingPlanHostPoolArrayInput
	// The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	ResourceGroupName pulumi.StringInput
	// One or more `schedule` blocks as defined below.
	Schedules ScalingPlanScheduleArrayInput
	// A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
	Tags pulumi.StringMapInput
	// Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	TimeZone pulumi.StringInput
}

The set of arguments for constructing a ScalingPlan resource.

func (ScalingPlanArgs) ElementType

func (ScalingPlanArgs) ElementType() reflect.Type

type ScalingPlanArray

type ScalingPlanArray []ScalingPlanInput

func (ScalingPlanArray) ElementType

func (ScalingPlanArray) ElementType() reflect.Type

func (ScalingPlanArray) ToScalingPlanArrayOutput

func (i ScalingPlanArray) ToScalingPlanArrayOutput() ScalingPlanArrayOutput

func (ScalingPlanArray) ToScalingPlanArrayOutputWithContext

func (i ScalingPlanArray) ToScalingPlanArrayOutputWithContext(ctx context.Context) ScalingPlanArrayOutput

type ScalingPlanArrayInput

type ScalingPlanArrayInput interface {
	pulumi.Input

	ToScalingPlanArrayOutput() ScalingPlanArrayOutput
	ToScalingPlanArrayOutputWithContext(context.Context) ScalingPlanArrayOutput
}

ScalingPlanArrayInput is an input type that accepts ScalingPlanArray and ScalingPlanArrayOutput values. You can construct a concrete instance of `ScalingPlanArrayInput` via:

ScalingPlanArray{ ScalingPlanArgs{...} }

type ScalingPlanArrayOutput

type ScalingPlanArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanArrayOutput) ElementType

func (ScalingPlanArrayOutput) ElementType() reflect.Type

func (ScalingPlanArrayOutput) Index

func (ScalingPlanArrayOutput) ToScalingPlanArrayOutput

func (o ScalingPlanArrayOutput) ToScalingPlanArrayOutput() ScalingPlanArrayOutput

func (ScalingPlanArrayOutput) ToScalingPlanArrayOutputWithContext

func (o ScalingPlanArrayOutput) ToScalingPlanArrayOutputWithContext(ctx context.Context) ScalingPlanArrayOutput

type ScalingPlanHostPool

type ScalingPlanHostPool struct {
	// The ID of the HostPool to assign the Scaling Plan to.
	HostpoolId string `pulumi:"hostpoolId"`
	// Specifies if the scaling plan is enabled or disabled for the HostPool.
	ScalingPlanEnabled bool `pulumi:"scalingPlanEnabled"`
}

type ScalingPlanHostPoolArgs

type ScalingPlanHostPoolArgs struct {
	// The ID of the HostPool to assign the Scaling Plan to.
	HostpoolId pulumi.StringInput `pulumi:"hostpoolId"`
	// Specifies if the scaling plan is enabled or disabled for the HostPool.
	ScalingPlanEnabled pulumi.BoolInput `pulumi:"scalingPlanEnabled"`
}

func (ScalingPlanHostPoolArgs) ElementType

func (ScalingPlanHostPoolArgs) ElementType() reflect.Type

func (ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutput

func (i ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutput() ScalingPlanHostPoolOutput

func (ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutputWithContext

func (i ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutputWithContext(ctx context.Context) ScalingPlanHostPoolOutput

type ScalingPlanHostPoolArray

type ScalingPlanHostPoolArray []ScalingPlanHostPoolInput

func (ScalingPlanHostPoolArray) ElementType

func (ScalingPlanHostPoolArray) ElementType() reflect.Type

func (ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutput

func (i ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutput() ScalingPlanHostPoolArrayOutput

func (ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutputWithContext

func (i ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutputWithContext(ctx context.Context) ScalingPlanHostPoolArrayOutput

type ScalingPlanHostPoolArrayInput

type ScalingPlanHostPoolArrayInput interface {
	pulumi.Input

	ToScalingPlanHostPoolArrayOutput() ScalingPlanHostPoolArrayOutput
	ToScalingPlanHostPoolArrayOutputWithContext(context.Context) ScalingPlanHostPoolArrayOutput
}

ScalingPlanHostPoolArrayInput is an input type that accepts ScalingPlanHostPoolArray and ScalingPlanHostPoolArrayOutput values. You can construct a concrete instance of `ScalingPlanHostPoolArrayInput` via:

ScalingPlanHostPoolArray{ ScalingPlanHostPoolArgs{...} }

type ScalingPlanHostPoolArrayOutput

type ScalingPlanHostPoolArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolArrayOutput) ElementType

func (ScalingPlanHostPoolArrayOutput) Index

func (ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutput

func (o ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutput() ScalingPlanHostPoolArrayOutput

func (ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutputWithContext

func (o ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutputWithContext(ctx context.Context) ScalingPlanHostPoolArrayOutput

type ScalingPlanHostPoolAssociation

type ScalingPlanHostPoolAssociation struct {
	pulumi.CustomResourceState

	// Should the Scaling Plan be enabled on this Host Pool.
	Enabled pulumi.BoolOutput `pulumi:"enabled"`
	// The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	HostPoolId pulumi.StringOutput `pulumi:"hostPoolId"`
	// The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.
	ScalingPlanId pulumi.StringOutput `pulumi:"scalingPlanId"`
}

Manages a Virtual Desktop Scaling Plan Host Pool Association.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi-azuread/sdk/v5/go/azuread"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example-virtualdesktop"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		example, err := azuread.LookupServicePrincipal(ctx, &azuread.LookupServicePrincipalArgs{
			DisplayName: pulumi.StringRef("Windows Virtual Desktop"),
		}, nil)
		if err != nil {
			return err
		}
		exampleAssignment, err := authorization.NewAssignment(ctx, "example", &authorization.AssignmentArgs{
			Scope:              exampleResourceGroup.ID(),
			RoleDefinitionName: pulumi.String("Desktop Virtualization Power On Off Contributor"),
			PrincipalId:        pulumi.String(example.ObjectId),
		})
		if err != nil {
			return err
		}
		exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "example", &desktopvirtualization.HostPoolArgs{
			Name:                pulumi.String("example-hostpool"),
			Location:            exampleResourceGroup.Location,
			ResourceGroupName:   exampleResourceGroup.Name,
			Type:                pulumi.String("Pooled"),
			ValidateEnvironment: pulumi.Bool(true),
			LoadBalancerType:    pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		exampleScalingPlan, err := desktopvirtualization.NewScalingPlan(ctx, "example", &desktopvirtualization.ScalingPlanArgs{
			Name:              pulumi.String("example-scaling-plan"),
			Location:          exampleResourceGroup.Location,
			ResourceGroupName: exampleResourceGroup.Name,
			FriendlyName:      pulumi.String("Scaling Plan Test"),
			Description:       pulumi.String("Test Scaling Plan"),
			TimeZone:          pulumi.String("GMT Standard Time"),
			Schedules: desktopvirtualization.ScalingPlanScheduleArray{
				&desktopvirtualization.ScalingPlanScheduleArgs{
					Name: pulumi.String("Weekdays"),
					DaysOfWeeks: pulumi.StringArray{
						pulumi.String("Monday"),
						pulumi.String("Tuesday"),
						pulumi.String("Wednesday"),
						pulumi.String("Thursday"),
						pulumi.String("Friday"),
					},
					RampUpStartTime:                  pulumi.String("06:00"),
					RampUpLoadBalancingAlgorithm:     pulumi.String("BreadthFirst"),
					RampUpMinimumHostsPercent:        pulumi.Int(20),
					RampUpCapacityThresholdPercent:   pulumi.Int(10),
					PeakStartTime:                    pulumi.String("09:00"),
					PeakLoadBalancingAlgorithm:       pulumi.String("BreadthFirst"),
					RampDownStartTime:                pulumi.String("18:00"),
					RampDownLoadBalancingAlgorithm:   pulumi.String("BreadthFirst"),
					RampDownMinimumHostsPercent:      pulumi.Int(10),
					RampDownForceLogoffUsers:         pulumi.Bool(false),
					RampDownWaitTimeMinutes:          pulumi.Int(45),
					RampDownNotificationMessage:      pulumi.String("Please log of in the next 45 minutes..."),
					RampDownCapacityThresholdPercent: pulumi.Int(5),
					RampDownStopHostsWhen:            pulumi.String("ZeroSessions"),
					OffPeakStartTime:                 pulumi.String("22:00"),
					OffPeakLoadBalancingAlgorithm:    pulumi.String("BreadthFirst"),
				},
			},
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleAssignment,
		}))
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewScalingPlanHostPoolAssociation(ctx, "example", &desktopvirtualization.ScalingPlanHostPoolAssociationArgs{
			HostPoolId:    exampleHostPool.ID(),
			ScalingPlanId: exampleScalingPlan.ID(),
			Enabled:       pulumi.Bool(true),
		}, pulumi.DependsOn([]pulumi.Resource{
			exampleAssignment,
		}))
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Associations between Virtual Desktop Scaling Plans and Virtual Desktop Host Pools can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/scalingPlanHostPoolAssociation:ScalingPlanHostPoolAssociation example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.DesktopVirtualization/scalingPlans/plan1|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/hostPools/myhostpool" ```

func GetScalingPlanHostPoolAssociation

func GetScalingPlanHostPoolAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ScalingPlanHostPoolAssociationState, opts ...pulumi.ResourceOption) (*ScalingPlanHostPoolAssociation, error)

GetScalingPlanHostPoolAssociation gets an existing ScalingPlanHostPoolAssociation 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 NewScalingPlanHostPoolAssociation

func NewScalingPlanHostPoolAssociation(ctx *pulumi.Context,
	name string, args *ScalingPlanHostPoolAssociationArgs, opts ...pulumi.ResourceOption) (*ScalingPlanHostPoolAssociation, error)

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

func (*ScalingPlanHostPoolAssociation) ElementType

func (*ScalingPlanHostPoolAssociation) ToScalingPlanHostPoolAssociationOutput

func (i *ScalingPlanHostPoolAssociation) ToScalingPlanHostPoolAssociationOutput() ScalingPlanHostPoolAssociationOutput

func (*ScalingPlanHostPoolAssociation) ToScalingPlanHostPoolAssociationOutputWithContext

func (i *ScalingPlanHostPoolAssociation) ToScalingPlanHostPoolAssociationOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationOutput

type ScalingPlanHostPoolAssociationArgs

type ScalingPlanHostPoolAssociationArgs struct {
	// Should the Scaling Plan be enabled on this Host Pool.
	Enabled pulumi.BoolInput
	// The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	HostPoolId pulumi.StringInput
	// The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.
	ScalingPlanId pulumi.StringInput
}

The set of arguments for constructing a ScalingPlanHostPoolAssociation resource.

func (ScalingPlanHostPoolAssociationArgs) ElementType

type ScalingPlanHostPoolAssociationArray

type ScalingPlanHostPoolAssociationArray []ScalingPlanHostPoolAssociationInput

func (ScalingPlanHostPoolAssociationArray) ElementType

func (ScalingPlanHostPoolAssociationArray) ToScalingPlanHostPoolAssociationArrayOutput

func (i ScalingPlanHostPoolAssociationArray) ToScalingPlanHostPoolAssociationArrayOutput() ScalingPlanHostPoolAssociationArrayOutput

func (ScalingPlanHostPoolAssociationArray) ToScalingPlanHostPoolAssociationArrayOutputWithContext

func (i ScalingPlanHostPoolAssociationArray) ToScalingPlanHostPoolAssociationArrayOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationArrayOutput

type ScalingPlanHostPoolAssociationArrayInput

type ScalingPlanHostPoolAssociationArrayInput interface {
	pulumi.Input

	ToScalingPlanHostPoolAssociationArrayOutput() ScalingPlanHostPoolAssociationArrayOutput
	ToScalingPlanHostPoolAssociationArrayOutputWithContext(context.Context) ScalingPlanHostPoolAssociationArrayOutput
}

ScalingPlanHostPoolAssociationArrayInput is an input type that accepts ScalingPlanHostPoolAssociationArray and ScalingPlanHostPoolAssociationArrayOutput values. You can construct a concrete instance of `ScalingPlanHostPoolAssociationArrayInput` via:

ScalingPlanHostPoolAssociationArray{ ScalingPlanHostPoolAssociationArgs{...} }

type ScalingPlanHostPoolAssociationArrayOutput

type ScalingPlanHostPoolAssociationArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolAssociationArrayOutput) ElementType

func (ScalingPlanHostPoolAssociationArrayOutput) Index

func (ScalingPlanHostPoolAssociationArrayOutput) ToScalingPlanHostPoolAssociationArrayOutput

func (o ScalingPlanHostPoolAssociationArrayOutput) ToScalingPlanHostPoolAssociationArrayOutput() ScalingPlanHostPoolAssociationArrayOutput

func (ScalingPlanHostPoolAssociationArrayOutput) ToScalingPlanHostPoolAssociationArrayOutputWithContext

func (o ScalingPlanHostPoolAssociationArrayOutput) ToScalingPlanHostPoolAssociationArrayOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationArrayOutput

type ScalingPlanHostPoolAssociationInput

type ScalingPlanHostPoolAssociationInput interface {
	pulumi.Input

	ToScalingPlanHostPoolAssociationOutput() ScalingPlanHostPoolAssociationOutput
	ToScalingPlanHostPoolAssociationOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationOutput
}

type ScalingPlanHostPoolAssociationMap

type ScalingPlanHostPoolAssociationMap map[string]ScalingPlanHostPoolAssociationInput

func (ScalingPlanHostPoolAssociationMap) ElementType

func (ScalingPlanHostPoolAssociationMap) ToScalingPlanHostPoolAssociationMapOutput

func (i ScalingPlanHostPoolAssociationMap) ToScalingPlanHostPoolAssociationMapOutput() ScalingPlanHostPoolAssociationMapOutput

func (ScalingPlanHostPoolAssociationMap) ToScalingPlanHostPoolAssociationMapOutputWithContext

func (i ScalingPlanHostPoolAssociationMap) ToScalingPlanHostPoolAssociationMapOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationMapOutput

type ScalingPlanHostPoolAssociationMapInput

type ScalingPlanHostPoolAssociationMapInput interface {
	pulumi.Input

	ToScalingPlanHostPoolAssociationMapOutput() ScalingPlanHostPoolAssociationMapOutput
	ToScalingPlanHostPoolAssociationMapOutputWithContext(context.Context) ScalingPlanHostPoolAssociationMapOutput
}

ScalingPlanHostPoolAssociationMapInput is an input type that accepts ScalingPlanHostPoolAssociationMap and ScalingPlanHostPoolAssociationMapOutput values. You can construct a concrete instance of `ScalingPlanHostPoolAssociationMapInput` via:

ScalingPlanHostPoolAssociationMap{ "key": ScalingPlanHostPoolAssociationArgs{...} }

type ScalingPlanHostPoolAssociationMapOutput

type ScalingPlanHostPoolAssociationMapOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolAssociationMapOutput) ElementType

func (ScalingPlanHostPoolAssociationMapOutput) MapIndex

func (ScalingPlanHostPoolAssociationMapOutput) ToScalingPlanHostPoolAssociationMapOutput

func (o ScalingPlanHostPoolAssociationMapOutput) ToScalingPlanHostPoolAssociationMapOutput() ScalingPlanHostPoolAssociationMapOutput

func (ScalingPlanHostPoolAssociationMapOutput) ToScalingPlanHostPoolAssociationMapOutputWithContext

func (o ScalingPlanHostPoolAssociationMapOutput) ToScalingPlanHostPoolAssociationMapOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationMapOutput

type ScalingPlanHostPoolAssociationOutput

type ScalingPlanHostPoolAssociationOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolAssociationOutput) ElementType

func (ScalingPlanHostPoolAssociationOutput) Enabled

Should the Scaling Plan be enabled on this Host Pool.

func (ScalingPlanHostPoolAssociationOutput) HostPoolId

The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.

func (ScalingPlanHostPoolAssociationOutput) ScalingPlanId

The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.

func (ScalingPlanHostPoolAssociationOutput) ToScalingPlanHostPoolAssociationOutput

func (o ScalingPlanHostPoolAssociationOutput) ToScalingPlanHostPoolAssociationOutput() ScalingPlanHostPoolAssociationOutput

func (ScalingPlanHostPoolAssociationOutput) ToScalingPlanHostPoolAssociationOutputWithContext

func (o ScalingPlanHostPoolAssociationOutput) ToScalingPlanHostPoolAssociationOutputWithContext(ctx context.Context) ScalingPlanHostPoolAssociationOutput

type ScalingPlanHostPoolAssociationState

type ScalingPlanHostPoolAssociationState struct {
	// Should the Scaling Plan be enabled on this Host Pool.
	Enabled pulumi.BoolPtrInput
	// The resource ID for the Virtual Desktop Host Pool. Changing this forces a new resource to be created.
	HostPoolId pulumi.StringPtrInput
	// The resource ID for the Virtual Desktop Scaling Plan. Changing this forces a new resource to be created.
	ScalingPlanId pulumi.StringPtrInput
}

func (ScalingPlanHostPoolAssociationState) ElementType

type ScalingPlanHostPoolInput

type ScalingPlanHostPoolInput interface {
	pulumi.Input

	ToScalingPlanHostPoolOutput() ScalingPlanHostPoolOutput
	ToScalingPlanHostPoolOutputWithContext(context.Context) ScalingPlanHostPoolOutput
}

ScalingPlanHostPoolInput is an input type that accepts ScalingPlanHostPoolArgs and ScalingPlanHostPoolOutput values. You can construct a concrete instance of `ScalingPlanHostPoolInput` via:

ScalingPlanHostPoolArgs{...}

type ScalingPlanHostPoolOutput

type ScalingPlanHostPoolOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolOutput) ElementType

func (ScalingPlanHostPoolOutput) ElementType() reflect.Type

func (ScalingPlanHostPoolOutput) HostpoolId

The ID of the HostPool to assign the Scaling Plan to.

func (ScalingPlanHostPoolOutput) ScalingPlanEnabled

func (o ScalingPlanHostPoolOutput) ScalingPlanEnabled() pulumi.BoolOutput

Specifies if the scaling plan is enabled or disabled for the HostPool.

func (ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutput

func (o ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutput() ScalingPlanHostPoolOutput

func (ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutputWithContext

func (o ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutputWithContext(ctx context.Context) ScalingPlanHostPoolOutput

type ScalingPlanInput

type ScalingPlanInput interface {
	pulumi.Input

	ToScalingPlanOutput() ScalingPlanOutput
	ToScalingPlanOutputWithContext(ctx context.Context) ScalingPlanOutput
}

type ScalingPlanMap

type ScalingPlanMap map[string]ScalingPlanInput

func (ScalingPlanMap) ElementType

func (ScalingPlanMap) ElementType() reflect.Type

func (ScalingPlanMap) ToScalingPlanMapOutput

func (i ScalingPlanMap) ToScalingPlanMapOutput() ScalingPlanMapOutput

func (ScalingPlanMap) ToScalingPlanMapOutputWithContext

func (i ScalingPlanMap) ToScalingPlanMapOutputWithContext(ctx context.Context) ScalingPlanMapOutput

type ScalingPlanMapInput

type ScalingPlanMapInput interface {
	pulumi.Input

	ToScalingPlanMapOutput() ScalingPlanMapOutput
	ToScalingPlanMapOutputWithContext(context.Context) ScalingPlanMapOutput
}

ScalingPlanMapInput is an input type that accepts ScalingPlanMap and ScalingPlanMapOutput values. You can construct a concrete instance of `ScalingPlanMapInput` via:

ScalingPlanMap{ "key": ScalingPlanArgs{...} }

type ScalingPlanMapOutput

type ScalingPlanMapOutput struct{ *pulumi.OutputState }

func (ScalingPlanMapOutput) ElementType

func (ScalingPlanMapOutput) ElementType() reflect.Type

func (ScalingPlanMapOutput) MapIndex

func (ScalingPlanMapOutput) ToScalingPlanMapOutput

func (o ScalingPlanMapOutput) ToScalingPlanMapOutput() ScalingPlanMapOutput

func (ScalingPlanMapOutput) ToScalingPlanMapOutputWithContext

func (o ScalingPlanMapOutput) ToScalingPlanMapOutputWithContext(ctx context.Context) ScalingPlanMapOutput

type ScalingPlanOutput

type ScalingPlanOutput struct{ *pulumi.OutputState }

func (ScalingPlanOutput) Description

func (o ScalingPlanOutput) Description() pulumi.StringPtrOutput

A description of the Scaling Plan.

func (ScalingPlanOutput) ElementType

func (ScalingPlanOutput) ElementType() reflect.Type

func (ScalingPlanOutput) ExclusionTag

func (o ScalingPlanOutput) ExclusionTag() pulumi.StringPtrOutput

The name of the tag associated with the VMs you want to exclude from autoscaling.

func (ScalingPlanOutput) FriendlyName

func (o ScalingPlanOutput) FriendlyName() pulumi.StringPtrOutput

Friendly name of the Scaling Plan.

func (ScalingPlanOutput) HostPools

One or more `hostPool` blocks as defined below.

func (ScalingPlanOutput) Location

func (o ScalingPlanOutput) Location() pulumi.StringOutput

The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.

func (ScalingPlanOutput) Name

The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.

func (ScalingPlanOutput) ResourceGroupName

func (o ScalingPlanOutput) ResourceGroupName() pulumi.StringOutput

The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.

func (ScalingPlanOutput) Schedules

One or more `schedule` blocks as defined below.

func (ScalingPlanOutput) Tags

A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .

func (ScalingPlanOutput) TimeZone

func (o ScalingPlanOutput) TimeZone() pulumi.StringOutput

Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).

func (ScalingPlanOutput) ToScalingPlanOutput

func (o ScalingPlanOutput) ToScalingPlanOutput() ScalingPlanOutput

func (ScalingPlanOutput) ToScalingPlanOutputWithContext

func (o ScalingPlanOutput) ToScalingPlanOutputWithContext(ctx context.Context) ScalingPlanOutput

type ScalingPlanSchedule

type ScalingPlanSchedule struct {
	// A list of Days of the Week on which this schedule will be used. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`
	DaysOfWeeks []string `pulumi:"daysOfWeeks"`
	// The name of the schedule.
	Name string `pulumi:"name"`
	// The load Balancing Algorithm to use during Off-Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.
	OffPeakLoadBalancingAlgorithm string `pulumi:"offPeakLoadBalancingAlgorithm"`
	// The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
	OffPeakStartTime string `pulumi:"offPeakStartTime"`
	// The load Balancing Algorithm to use during Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.
	PeakLoadBalancingAlgorithm string `pulumi:"peakLoadBalancingAlgorithm"`
	// The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	PeakStartTime string `pulumi:"peakStartTime"`
	// This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
	RampDownCapacityThresholdPercent int `pulumi:"rampDownCapacityThresholdPercent"`
	// Whether users will be forced to log-off session hosts once the `rampDownWaitTimeMinutes` value has been exceeded during the Ramp-Down period. Possible values are `true` and `false`.
	RampDownForceLogoffUsers bool `pulumi:"rampDownForceLogoffUsers"`
	// The load Balancing Algorithm to use during the Ramp-Down period. Possible values are `DepthFirst` and `BreadthFirst`.
	RampDownLoadBalancingAlgorithm string `pulumi:"rampDownLoadBalancingAlgorithm"`
	// The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
	RampDownMinimumHostsPercent int `pulumi:"rampDownMinimumHostsPercent"`
	// The notification message to send to users during Ramp-Down period when they are required to log-off.
	RampDownNotificationMessage string `pulumi:"rampDownNotificationMessage"`
	// The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	RampDownStartTime string `pulumi:"rampDownStartTime"`
	// Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are `ZeroSessions` and `ZeroActiveSessions`.
	RampDownStopHostsWhen string `pulumi:"rampDownStopHostsWhen"`
	// The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
	RampDownWaitTimeMinutes int `pulumi:"rampDownWaitTimeMinutes"`
	// This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as `60%` and your total host pool capacity is `100` sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of `60` sessions.
	RampUpCapacityThresholdPercent *int `pulumi:"rampUpCapacityThresholdPercent"`
	// The load Balancing Algorithm to use during the Ramp-Up period. Possible values are `DepthFirst` and `BreadthFirst`.
	RampUpLoadBalancingAlgorithm string `pulumi:"rampUpLoadBalancingAlgorithm"`
	// Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as `10%` and total number of session hosts in your host pool is `10`, autoscale will ensure a minimum of `1` session host is available to take user connections.
	RampUpMinimumHostsPercent *int `pulumi:"rampUpMinimumHostsPercent"`
	// The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	RampUpStartTime string `pulumi:"rampUpStartTime"`
}

type ScalingPlanScheduleArgs

type ScalingPlanScheduleArgs struct {
	// A list of Days of the Week on which this schedule will be used. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`
	DaysOfWeeks pulumi.StringArrayInput `pulumi:"daysOfWeeks"`
	// The name of the schedule.
	Name pulumi.StringInput `pulumi:"name"`
	// The load Balancing Algorithm to use during Off-Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.
	OffPeakLoadBalancingAlgorithm pulumi.StringInput `pulumi:"offPeakLoadBalancingAlgorithm"`
	// The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.
	OffPeakStartTime pulumi.StringInput `pulumi:"offPeakStartTime"`
	// The load Balancing Algorithm to use during Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.
	PeakLoadBalancingAlgorithm pulumi.StringInput `pulumi:"peakLoadBalancingAlgorithm"`
	// The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	PeakStartTime pulumi.StringInput `pulumi:"peakStartTime"`
	// This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.
	RampDownCapacityThresholdPercent pulumi.IntInput `pulumi:"rampDownCapacityThresholdPercent"`
	// Whether users will be forced to log-off session hosts once the `rampDownWaitTimeMinutes` value has been exceeded during the Ramp-Down period. Possible values are `true` and `false`.
	RampDownForceLogoffUsers pulumi.BoolInput `pulumi:"rampDownForceLogoffUsers"`
	// The load Balancing Algorithm to use during the Ramp-Down period. Possible values are `DepthFirst` and `BreadthFirst`.
	RampDownLoadBalancingAlgorithm pulumi.StringInput `pulumi:"rampDownLoadBalancingAlgorithm"`
	// The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.
	RampDownMinimumHostsPercent pulumi.IntInput `pulumi:"rampDownMinimumHostsPercent"`
	// The notification message to send to users during Ramp-Down period when they are required to log-off.
	RampDownNotificationMessage pulumi.StringInput `pulumi:"rampDownNotificationMessage"`
	// The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	RampDownStartTime pulumi.StringInput `pulumi:"rampDownStartTime"`
	// Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are `ZeroSessions` and `ZeroActiveSessions`.
	RampDownStopHostsWhen pulumi.StringInput `pulumi:"rampDownStopHostsWhen"`
	// The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.
	RampDownWaitTimeMinutes pulumi.IntInput `pulumi:"rampDownWaitTimeMinutes"`
	// This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as `60%` and your total host pool capacity is `100` sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of `60` sessions.
	RampUpCapacityThresholdPercent pulumi.IntPtrInput `pulumi:"rampUpCapacityThresholdPercent"`
	// The load Balancing Algorithm to use during the Ramp-Up period. Possible values are `DepthFirst` and `BreadthFirst`.
	RampUpLoadBalancingAlgorithm pulumi.StringInput `pulumi:"rampUpLoadBalancingAlgorithm"`
	// Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as `10%` and total number of session hosts in your host pool is `10`, autoscale will ensure a minimum of `1` session host is available to take user connections.
	RampUpMinimumHostsPercent pulumi.IntPtrInput `pulumi:"rampUpMinimumHostsPercent"`
	// The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.
	RampUpStartTime pulumi.StringInput `pulumi:"rampUpStartTime"`
}

func (ScalingPlanScheduleArgs) ElementType

func (ScalingPlanScheduleArgs) ElementType() reflect.Type

func (ScalingPlanScheduleArgs) ToScalingPlanScheduleOutput

func (i ScalingPlanScheduleArgs) ToScalingPlanScheduleOutput() ScalingPlanScheduleOutput

func (ScalingPlanScheduleArgs) ToScalingPlanScheduleOutputWithContext

func (i ScalingPlanScheduleArgs) ToScalingPlanScheduleOutputWithContext(ctx context.Context) ScalingPlanScheduleOutput

type ScalingPlanScheduleArray

type ScalingPlanScheduleArray []ScalingPlanScheduleInput

func (ScalingPlanScheduleArray) ElementType

func (ScalingPlanScheduleArray) ElementType() reflect.Type

func (ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutput

func (i ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutput() ScalingPlanScheduleArrayOutput

func (ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutputWithContext

func (i ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutputWithContext(ctx context.Context) ScalingPlanScheduleArrayOutput

type ScalingPlanScheduleArrayInput

type ScalingPlanScheduleArrayInput interface {
	pulumi.Input

	ToScalingPlanScheduleArrayOutput() ScalingPlanScheduleArrayOutput
	ToScalingPlanScheduleArrayOutputWithContext(context.Context) ScalingPlanScheduleArrayOutput
}

ScalingPlanScheduleArrayInput is an input type that accepts ScalingPlanScheduleArray and ScalingPlanScheduleArrayOutput values. You can construct a concrete instance of `ScalingPlanScheduleArrayInput` via:

ScalingPlanScheduleArray{ ScalingPlanScheduleArgs{...} }

type ScalingPlanScheduleArrayOutput

type ScalingPlanScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanScheduleArrayOutput) ElementType

func (ScalingPlanScheduleArrayOutput) Index

func (ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutput

func (o ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutput() ScalingPlanScheduleArrayOutput

func (ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutputWithContext

func (o ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutputWithContext(ctx context.Context) ScalingPlanScheduleArrayOutput

type ScalingPlanScheduleInput

type ScalingPlanScheduleInput interface {
	pulumi.Input

	ToScalingPlanScheduleOutput() ScalingPlanScheduleOutput
	ToScalingPlanScheduleOutputWithContext(context.Context) ScalingPlanScheduleOutput
}

ScalingPlanScheduleInput is an input type that accepts ScalingPlanScheduleArgs and ScalingPlanScheduleOutput values. You can construct a concrete instance of `ScalingPlanScheduleInput` via:

ScalingPlanScheduleArgs{...}

type ScalingPlanScheduleOutput

type ScalingPlanScheduleOutput struct{ *pulumi.OutputState }

func (ScalingPlanScheduleOutput) DaysOfWeeks

A list of Days of the Week on which this schedule will be used. Possible values are `Monday`, `Tuesday`, `Wednesday`, `Thursday`, `Friday`, `Saturday`, and `Sunday`

func (ScalingPlanScheduleOutput) ElementType

func (ScalingPlanScheduleOutput) ElementType() reflect.Type

func (ScalingPlanScheduleOutput) Name

The name of the schedule.

func (ScalingPlanScheduleOutput) OffPeakLoadBalancingAlgorithm

func (o ScalingPlanScheduleOutput) OffPeakLoadBalancingAlgorithm() pulumi.StringOutput

The load Balancing Algorithm to use during Off-Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.

func (ScalingPlanScheduleOutput) OffPeakStartTime

func (o ScalingPlanScheduleOutput) OffPeakStartTime() pulumi.StringOutput

The time at which Off-Peak scaling will begin. This is also the end-time for the Ramp-Down period. The time must be specified in "HH:MM" format.

func (ScalingPlanScheduleOutput) PeakLoadBalancingAlgorithm

func (o ScalingPlanScheduleOutput) PeakLoadBalancingAlgorithm() pulumi.StringOutput

The load Balancing Algorithm to use during Peak Hours. Possible values are `DepthFirst` and `BreadthFirst`.

func (ScalingPlanScheduleOutput) PeakStartTime

func (o ScalingPlanScheduleOutput) PeakStartTime() pulumi.StringOutput

The time at which Peak scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.

func (ScalingPlanScheduleOutput) RampDownCapacityThresholdPercent

func (o ScalingPlanScheduleOutput) RampDownCapacityThresholdPercent() pulumi.IntOutput

This is the value in percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-down and off-peak hours. For example, if capacity threshold is specified as 60% and your total host pool capacity is 100 sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of 60 sessions.

func (ScalingPlanScheduleOutput) RampDownForceLogoffUsers

func (o ScalingPlanScheduleOutput) RampDownForceLogoffUsers() pulumi.BoolOutput

Whether users will be forced to log-off session hosts once the `rampDownWaitTimeMinutes` value has been exceeded during the Ramp-Down period. Possible values are `true` and `false`.

func (ScalingPlanScheduleOutput) RampDownLoadBalancingAlgorithm

func (o ScalingPlanScheduleOutput) RampDownLoadBalancingAlgorithm() pulumi.StringOutput

The load Balancing Algorithm to use during the Ramp-Down period. Possible values are `DepthFirst` and `BreadthFirst`.

func (ScalingPlanScheduleOutput) RampDownMinimumHostsPercent

func (o ScalingPlanScheduleOutput) RampDownMinimumHostsPercent() pulumi.IntOutput

The minimum percentage of session host virtual machines that you would like to get to for ramp-down and off-peak hours. For example, if Minimum percentage of hosts is specified as 10% and total number of session hosts in your host pool is 10, autoscale will ensure a minimum of 1 session host is available to take user connections.

func (ScalingPlanScheduleOutput) RampDownNotificationMessage

func (o ScalingPlanScheduleOutput) RampDownNotificationMessage() pulumi.StringOutput

The notification message to send to users during Ramp-Down period when they are required to log-off.

func (ScalingPlanScheduleOutput) RampDownStartTime

func (o ScalingPlanScheduleOutput) RampDownStartTime() pulumi.StringOutput

The time at which Ramp-Down scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.

func (ScalingPlanScheduleOutput) RampDownStopHostsWhen

func (o ScalingPlanScheduleOutput) RampDownStopHostsWhen() pulumi.StringOutput

Controls Session Host shutdown behaviour during Ramp-Down period. Session Hosts can either be shutdown when all sessions on the Session Host have ended, or when there are no Active sessions left on the Session Host. Possible values are `ZeroSessions` and `ZeroActiveSessions`.

func (ScalingPlanScheduleOutput) RampDownWaitTimeMinutes

func (o ScalingPlanScheduleOutput) RampDownWaitTimeMinutes() pulumi.IntOutput

The number of minutes during Ramp-Down period that autoscale will wait after setting the session host VMs to drain mode, notifying any currently signed in users to save their work before forcing the users to logoff. Once all user sessions on the session host VM have been logged off, Autoscale will shut down the VM.

func (ScalingPlanScheduleOutput) RampUpCapacityThresholdPercent

func (o ScalingPlanScheduleOutput) RampUpCapacityThresholdPercent() pulumi.IntPtrOutput

This is the value of percentage of used host pool capacity that will be considered to evaluate whether to turn on/off virtual machines during the ramp-up and peak hours. For example, if capacity threshold is specified as `60%` and your total host pool capacity is `100` sessions, autoscale will turn on additional session hosts once the host pool exceeds a load of `60` sessions.

func (ScalingPlanScheduleOutput) RampUpLoadBalancingAlgorithm

func (o ScalingPlanScheduleOutput) RampUpLoadBalancingAlgorithm() pulumi.StringOutput

The load Balancing Algorithm to use during the Ramp-Up period. Possible values are `DepthFirst` and `BreadthFirst`.

func (ScalingPlanScheduleOutput) RampUpMinimumHostsPercent

func (o ScalingPlanScheduleOutput) RampUpMinimumHostsPercent() pulumi.IntPtrOutput

Specifies the minimum percentage of session host virtual machines to start during ramp-up for peak hours. For example, if Minimum percentage of hosts is specified as `10%` and total number of session hosts in your host pool is `10`, autoscale will ensure a minimum of `1` session host is available to take user connections.

func (ScalingPlanScheduleOutput) RampUpStartTime

func (o ScalingPlanScheduleOutput) RampUpStartTime() pulumi.StringOutput

The time at which Ramp-Up scaling will begin. This is also the end-time for the Ramp-Up period. The time must be specified in "HH:MM" format.

func (ScalingPlanScheduleOutput) ToScalingPlanScheduleOutput

func (o ScalingPlanScheduleOutput) ToScalingPlanScheduleOutput() ScalingPlanScheduleOutput

func (ScalingPlanScheduleOutput) ToScalingPlanScheduleOutputWithContext

func (o ScalingPlanScheduleOutput) ToScalingPlanScheduleOutputWithContext(ctx context.Context) ScalingPlanScheduleOutput

type ScalingPlanState

type ScalingPlanState struct {
	// A description of the Scaling Plan.
	Description pulumi.StringPtrInput
	// The name of the tag associated with the VMs you want to exclude from autoscaling.
	ExclusionTag pulumi.StringPtrInput
	// Friendly name of the Scaling Plan.
	FriendlyName pulumi.StringPtrInput
	// One or more `hostPool` blocks as defined below.
	HostPools ScalingPlanHostPoolArrayInput
	// The Azure Region where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Location pulumi.StringPtrInput
	// The name which should be used for this Virtual Desktop Scaling Plan . Changing this forces a new Virtual Desktop Scaling Plan to be created.
	Name pulumi.StringPtrInput
	// The name of the Resource Group where the Virtual Desktop Scaling Plan should exist. Changing this forces a new Virtual Desktop Scaling Plan to be created.
	ResourceGroupName pulumi.StringPtrInput
	// One or more `schedule` blocks as defined below.
	Schedules ScalingPlanScheduleArrayInput
	// A mapping of tags which should be assigned to the Virtual Desktop Scaling Plan .
	Tags pulumi.StringMapInput
	// Specifies the Time Zone which should be used by the Scaling Plan for time based events, [the possible values are defined here](https://jackstromberg.com/2017/01/list-of-time-zones-consumed-by-azure/).
	TimeZone pulumi.StringPtrInput
}

func (ScalingPlanState) ElementType

func (ScalingPlanState) ElementType() reflect.Type

type Workspace

type Workspace struct {
	pulumi.CustomResourceState

	// A description for the Virtual Desktop Workspace.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// A friendly name for the Virtual Desktop Workspace.
	FriendlyName pulumi.StringPtrOutput `pulumi:"friendlyName"`
	// The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrOutput `pulumi:"publicNetworkAccessEnabled"`
	// The name of the resource group in which to create the Virtual Desktop Workspace. 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"`
}

Manages a Virtual Desktop Workspace.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example-virtualdesktop"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewWorkspace(ctx, "workspace", &desktopvirtualization.WorkspaceArgs{
			Name:              pulumi.String("workspace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			FriendlyName:      pulumi.String("FriendlyName"),
			Description:       pulumi.String("A description of my workspace"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Virtual Desktop Workspaces can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/workspace:Workspace example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/workspaces/myworkspace ```

func GetWorkspace

func GetWorkspace(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkspaceState, opts ...pulumi.ResourceOption) (*Workspace, error)

GetWorkspace gets an existing Workspace 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 NewWorkspace

func NewWorkspace(ctx *pulumi.Context,
	name string, args *WorkspaceArgs, opts ...pulumi.ResourceOption) (*Workspace, error)

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

func (*Workspace) ElementType

func (*Workspace) ElementType() reflect.Type

func (*Workspace) ToWorkspaceOutput

func (i *Workspace) ToWorkspaceOutput() WorkspaceOutput

func (*Workspace) ToWorkspaceOutputWithContext

func (i *Workspace) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput

type WorkspaceApplicationGroupAssociation

type WorkspaceApplicationGroupAssociation struct {
	pulumi.CustomResourceState

	// The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringOutput `pulumi:"applicationGroupId"`
	// The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	WorkspaceId pulumi.StringOutput `pulumi:"workspaceId"`
}

Manages a Virtual Desktop Workspace Application Group Association.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("rg-example-virtualdesktop"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			Name:              pulumi.String("pooledbreadthfirst"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("Pooled"),
			LoadBalancerType:  pulumi.String("BreadthFirst"),
		})
		if err != nil {
			return err
		}
		remoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
			Name:              pulumi.String("remoteapp"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			Type:              pulumi.String("RemoteApp"),
			HostPoolId:        pooledbreadthfirst.ID(),
		})
		if err != nil {
			return err
		}
		workspace, err := desktopvirtualization.NewWorkspace(ctx, "workspace", &desktopvirtualization.WorkspaceArgs{
			Name:              pulumi.String("workspace"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewWorkspaceApplicationGroupAssociation(ctx, "workspaceremoteapp", &desktopvirtualization.WorkspaceApplicationGroupAssociationArgs{
			WorkspaceId:        workspace.ID(),
			ApplicationGroupId: remoteapp.ID(),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

Associations between Virtual Desktop Workspaces and Virtual Desktop Application Groups can be imported using the `resource id`, e.g.

```sh $ pulumi import azure:desktopvirtualization/workspaceApplicationGroupAssociation:WorkspaceApplicationGroupAssociation association1 "/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/workspaces/myworkspace|/subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/myGroup1/providers/Microsoft.DesktopVirtualization/applicationGroups/myapplicationgroup" ```

func GetWorkspaceApplicationGroupAssociation

func GetWorkspaceApplicationGroupAssociation(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *WorkspaceApplicationGroupAssociationState, opts ...pulumi.ResourceOption) (*WorkspaceApplicationGroupAssociation, error)

GetWorkspaceApplicationGroupAssociation gets an existing WorkspaceApplicationGroupAssociation 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 NewWorkspaceApplicationGroupAssociation

func NewWorkspaceApplicationGroupAssociation(ctx *pulumi.Context,
	name string, args *WorkspaceApplicationGroupAssociationArgs, opts ...pulumi.ResourceOption) (*WorkspaceApplicationGroupAssociation, error)

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

func (*WorkspaceApplicationGroupAssociation) ElementType

func (*WorkspaceApplicationGroupAssociation) ToWorkspaceApplicationGroupAssociationOutput

func (i *WorkspaceApplicationGroupAssociation) ToWorkspaceApplicationGroupAssociationOutput() WorkspaceApplicationGroupAssociationOutput

func (*WorkspaceApplicationGroupAssociation) ToWorkspaceApplicationGroupAssociationOutputWithContext

func (i *WorkspaceApplicationGroupAssociation) ToWorkspaceApplicationGroupAssociationOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationOutput

type WorkspaceApplicationGroupAssociationArgs

type WorkspaceApplicationGroupAssociationArgs struct {
	// The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringInput
	// The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	WorkspaceId pulumi.StringInput
}

The set of arguments for constructing a WorkspaceApplicationGroupAssociation resource.

func (WorkspaceApplicationGroupAssociationArgs) ElementType

type WorkspaceApplicationGroupAssociationArray

type WorkspaceApplicationGroupAssociationArray []WorkspaceApplicationGroupAssociationInput

func (WorkspaceApplicationGroupAssociationArray) ElementType

func (WorkspaceApplicationGroupAssociationArray) ToWorkspaceApplicationGroupAssociationArrayOutput

func (i WorkspaceApplicationGroupAssociationArray) ToWorkspaceApplicationGroupAssociationArrayOutput() WorkspaceApplicationGroupAssociationArrayOutput

func (WorkspaceApplicationGroupAssociationArray) ToWorkspaceApplicationGroupAssociationArrayOutputWithContext

func (i WorkspaceApplicationGroupAssociationArray) ToWorkspaceApplicationGroupAssociationArrayOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationArrayOutput

type WorkspaceApplicationGroupAssociationArrayInput

type WorkspaceApplicationGroupAssociationArrayInput interface {
	pulumi.Input

	ToWorkspaceApplicationGroupAssociationArrayOutput() WorkspaceApplicationGroupAssociationArrayOutput
	ToWorkspaceApplicationGroupAssociationArrayOutputWithContext(context.Context) WorkspaceApplicationGroupAssociationArrayOutput
}

WorkspaceApplicationGroupAssociationArrayInput is an input type that accepts WorkspaceApplicationGroupAssociationArray and WorkspaceApplicationGroupAssociationArrayOutput values. You can construct a concrete instance of `WorkspaceApplicationGroupAssociationArrayInput` via:

WorkspaceApplicationGroupAssociationArray{ WorkspaceApplicationGroupAssociationArgs{...} }

type WorkspaceApplicationGroupAssociationArrayOutput

type WorkspaceApplicationGroupAssociationArrayOutput struct{ *pulumi.OutputState }

func (WorkspaceApplicationGroupAssociationArrayOutput) ElementType

func (WorkspaceApplicationGroupAssociationArrayOutput) Index

func (WorkspaceApplicationGroupAssociationArrayOutput) ToWorkspaceApplicationGroupAssociationArrayOutput

func (o WorkspaceApplicationGroupAssociationArrayOutput) ToWorkspaceApplicationGroupAssociationArrayOutput() WorkspaceApplicationGroupAssociationArrayOutput

func (WorkspaceApplicationGroupAssociationArrayOutput) ToWorkspaceApplicationGroupAssociationArrayOutputWithContext

func (o WorkspaceApplicationGroupAssociationArrayOutput) ToWorkspaceApplicationGroupAssociationArrayOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationArrayOutput

type WorkspaceApplicationGroupAssociationInput

type WorkspaceApplicationGroupAssociationInput interface {
	pulumi.Input

	ToWorkspaceApplicationGroupAssociationOutput() WorkspaceApplicationGroupAssociationOutput
	ToWorkspaceApplicationGroupAssociationOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationOutput
}

type WorkspaceApplicationGroupAssociationMap

type WorkspaceApplicationGroupAssociationMap map[string]WorkspaceApplicationGroupAssociationInput

func (WorkspaceApplicationGroupAssociationMap) ElementType

func (WorkspaceApplicationGroupAssociationMap) ToWorkspaceApplicationGroupAssociationMapOutput

func (i WorkspaceApplicationGroupAssociationMap) ToWorkspaceApplicationGroupAssociationMapOutput() WorkspaceApplicationGroupAssociationMapOutput

func (WorkspaceApplicationGroupAssociationMap) ToWorkspaceApplicationGroupAssociationMapOutputWithContext

func (i WorkspaceApplicationGroupAssociationMap) ToWorkspaceApplicationGroupAssociationMapOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationMapOutput

type WorkspaceApplicationGroupAssociationMapInput

type WorkspaceApplicationGroupAssociationMapInput interface {
	pulumi.Input

	ToWorkspaceApplicationGroupAssociationMapOutput() WorkspaceApplicationGroupAssociationMapOutput
	ToWorkspaceApplicationGroupAssociationMapOutputWithContext(context.Context) WorkspaceApplicationGroupAssociationMapOutput
}

WorkspaceApplicationGroupAssociationMapInput is an input type that accepts WorkspaceApplicationGroupAssociationMap and WorkspaceApplicationGroupAssociationMapOutput values. You can construct a concrete instance of `WorkspaceApplicationGroupAssociationMapInput` via:

WorkspaceApplicationGroupAssociationMap{ "key": WorkspaceApplicationGroupAssociationArgs{...} }

type WorkspaceApplicationGroupAssociationMapOutput

type WorkspaceApplicationGroupAssociationMapOutput struct{ *pulumi.OutputState }

func (WorkspaceApplicationGroupAssociationMapOutput) ElementType

func (WorkspaceApplicationGroupAssociationMapOutput) MapIndex

func (WorkspaceApplicationGroupAssociationMapOutput) ToWorkspaceApplicationGroupAssociationMapOutput

func (o WorkspaceApplicationGroupAssociationMapOutput) ToWorkspaceApplicationGroupAssociationMapOutput() WorkspaceApplicationGroupAssociationMapOutput

func (WorkspaceApplicationGroupAssociationMapOutput) ToWorkspaceApplicationGroupAssociationMapOutputWithContext

func (o WorkspaceApplicationGroupAssociationMapOutput) ToWorkspaceApplicationGroupAssociationMapOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationMapOutput

type WorkspaceApplicationGroupAssociationOutput

type WorkspaceApplicationGroupAssociationOutput struct{ *pulumi.OutputState }

func (WorkspaceApplicationGroupAssociationOutput) ApplicationGroupId

The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.

func (WorkspaceApplicationGroupAssociationOutput) ElementType

func (WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutput

func (o WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutput() WorkspaceApplicationGroupAssociationOutput

func (WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutputWithContext

func (o WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutputWithContext(ctx context.Context) WorkspaceApplicationGroupAssociationOutput

func (WorkspaceApplicationGroupAssociationOutput) WorkspaceId

The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.

type WorkspaceApplicationGroupAssociationState

type WorkspaceApplicationGroupAssociationState struct {
	// The resource ID for the Virtual Desktop Application Group. Changing this forces a new resource to be created.
	ApplicationGroupId pulumi.StringPtrInput
	// The resource ID for the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	WorkspaceId pulumi.StringPtrInput
}

func (WorkspaceApplicationGroupAssociationState) ElementType

type WorkspaceArgs

type WorkspaceArgs struct {
	// A description for the Virtual Desktop Workspace.
	Description pulumi.StringPtrInput
	// A friendly name for the Virtual Desktop Workspace.
	FriendlyName pulumi.StringPtrInput
	// The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the Virtual Desktop Workspace. 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 set of arguments for constructing a Workspace resource.

func (WorkspaceArgs) ElementType

func (WorkspaceArgs) ElementType() reflect.Type

type WorkspaceArray

type WorkspaceArray []WorkspaceInput

func (WorkspaceArray) ElementType

func (WorkspaceArray) ElementType() reflect.Type

func (WorkspaceArray) ToWorkspaceArrayOutput

func (i WorkspaceArray) ToWorkspaceArrayOutput() WorkspaceArrayOutput

func (WorkspaceArray) ToWorkspaceArrayOutputWithContext

func (i WorkspaceArray) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput

type WorkspaceArrayInput

type WorkspaceArrayInput interface {
	pulumi.Input

	ToWorkspaceArrayOutput() WorkspaceArrayOutput
	ToWorkspaceArrayOutputWithContext(context.Context) WorkspaceArrayOutput
}

WorkspaceArrayInput is an input type that accepts WorkspaceArray and WorkspaceArrayOutput values. You can construct a concrete instance of `WorkspaceArrayInput` via:

WorkspaceArray{ WorkspaceArgs{...} }

type WorkspaceArrayOutput

type WorkspaceArrayOutput struct{ *pulumi.OutputState }

func (WorkspaceArrayOutput) ElementType

func (WorkspaceArrayOutput) ElementType() reflect.Type

func (WorkspaceArrayOutput) Index

func (WorkspaceArrayOutput) ToWorkspaceArrayOutput

func (o WorkspaceArrayOutput) ToWorkspaceArrayOutput() WorkspaceArrayOutput

func (WorkspaceArrayOutput) ToWorkspaceArrayOutputWithContext

func (o WorkspaceArrayOutput) ToWorkspaceArrayOutputWithContext(ctx context.Context) WorkspaceArrayOutput

type WorkspaceInput

type WorkspaceInput interface {
	pulumi.Input

	ToWorkspaceOutput() WorkspaceOutput
	ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput
}

type WorkspaceMap

type WorkspaceMap map[string]WorkspaceInput

func (WorkspaceMap) ElementType

func (WorkspaceMap) ElementType() reflect.Type

func (WorkspaceMap) ToWorkspaceMapOutput

func (i WorkspaceMap) ToWorkspaceMapOutput() WorkspaceMapOutput

func (WorkspaceMap) ToWorkspaceMapOutputWithContext

func (i WorkspaceMap) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput

type WorkspaceMapInput

type WorkspaceMapInput interface {
	pulumi.Input

	ToWorkspaceMapOutput() WorkspaceMapOutput
	ToWorkspaceMapOutputWithContext(context.Context) WorkspaceMapOutput
}

WorkspaceMapInput is an input type that accepts WorkspaceMap and WorkspaceMapOutput values. You can construct a concrete instance of `WorkspaceMapInput` via:

WorkspaceMap{ "key": WorkspaceArgs{...} }

type WorkspaceMapOutput

type WorkspaceMapOutput struct{ *pulumi.OutputState }

func (WorkspaceMapOutput) ElementType

func (WorkspaceMapOutput) ElementType() reflect.Type

func (WorkspaceMapOutput) MapIndex

func (WorkspaceMapOutput) ToWorkspaceMapOutput

func (o WorkspaceMapOutput) ToWorkspaceMapOutput() WorkspaceMapOutput

func (WorkspaceMapOutput) ToWorkspaceMapOutputWithContext

func (o WorkspaceMapOutput) ToWorkspaceMapOutputWithContext(ctx context.Context) WorkspaceMapOutput

type WorkspaceOutput

type WorkspaceOutput struct{ *pulumi.OutputState }

func (WorkspaceOutput) Description

func (o WorkspaceOutput) Description() pulumi.StringPtrOutput

A description for the Virtual Desktop Workspace.

func (WorkspaceOutput) ElementType

func (WorkspaceOutput) ElementType() reflect.Type

func (WorkspaceOutput) FriendlyName

func (o WorkspaceOutput) FriendlyName() pulumi.StringPtrOutput

A friendly name for the Virtual Desktop Workspace.

func (WorkspaceOutput) Location

func (o WorkspaceOutput) Location() pulumi.StringOutput

The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.

func (WorkspaceOutput) Name

The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.

func (WorkspaceOutput) PublicNetworkAccessEnabled

func (o WorkspaceOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to `true`.

func (WorkspaceOutput) ResourceGroupName

func (o WorkspaceOutput) ResourceGroupName() pulumi.StringOutput

The name of the resource group in which to create the Virtual Desktop Workspace. Changing this forces a new resource to be created.

func (WorkspaceOutput) Tags

A mapping of tags to assign to the resource.

func (WorkspaceOutput) ToWorkspaceOutput

func (o WorkspaceOutput) ToWorkspaceOutput() WorkspaceOutput

func (WorkspaceOutput) ToWorkspaceOutputWithContext

func (o WorkspaceOutput) ToWorkspaceOutputWithContext(ctx context.Context) WorkspaceOutput

type WorkspaceState

type WorkspaceState struct {
	// A description for the Virtual Desktop Workspace.
	Description pulumi.StringPtrInput
	// A friendly name for the Virtual Desktop Workspace.
	FriendlyName pulumi.StringPtrInput
	// The location/region where the Virtual Desktop Workspace is located. Changing the location/region forces a new resource to be created.
	Location pulumi.StringPtrInput
	// The name of the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Whether public network access is allowed for this Virtual Desktop Workspace. Defaults to `true`.
	PublicNetworkAccessEnabled pulumi.BoolPtrInput
	// The name of the resource group in which to create the Virtual Desktop Workspace. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (WorkspaceState) ElementType

func (WorkspaceState) ElementType() reflect.Type

Jump to

Keyboard shortcuts

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