desktopvirtualization

package
v5.75.0 Latest Latest
Warning

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

Go to latest
Published: May 8, 2024 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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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`.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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`.
	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 added in v5.5.0

func (o ApplicationGroupOutput) DefaultDesktopDisplayName() pulumi.StringPtrOutput

Option to set the display name for the default sessionDesktop desktop when `type` is set to `Desktop`.

func (ApplicationGroupOutput) Description added in v5.5.0

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

func (ApplicationGroupOutput) ElementType

func (ApplicationGroupOutput) ElementType() reflect.Type

func (ApplicationGroupOutput) FriendlyName added in v5.5.0

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

func (ApplicationGroupOutput) HostPoolId added in v5.5.0

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 added in v5.5.0

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

func (ApplicationGroupOutput) Name added in v5.5.0

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

func (ApplicationGroupOutput) ResourceGroupName added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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`.
	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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o ApplicationOutput) CommandLineArguments() pulumi.StringPtrOutput

Command Line Arguments for Virtual Desktop Application.

func (ApplicationOutput) Description added in v5.5.0

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 added in v5.5.0

func (o ApplicationOutput) FriendlyName() pulumi.StringOutput

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

func (ApplicationOutput) IconIndex added in v5.5.0

func (o ApplicationOutput) IconIndex() pulumi.IntPtrOutput

The index of the icon you wish to use.

func (ApplicationOutput) IconPath added in v5.5.0

func (o ApplicationOutput) IconPath() pulumi.StringOutput

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

func (ApplicationOutput) Name added in v5.5.0

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

func (ApplicationOutput) Path added in v5.5.0

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

func (ApplicationOutput) ShowInPortal added in v5.5.0

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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 added in v5.5.0

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

func (GetHostPoolRegistrationInfoOutput) HostpoolId added in v5.5.0

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 added in v5.5.0

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 added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutput added in v5.36.0

func (i GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutput() GetHostPoolScheduledAgentUpdateOutput

func (GetHostPoolScheduledAgentUpdateArgs) ToGetHostPoolScheduledAgentUpdateOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateArray added in v5.36.0

type GetHostPoolScheduledAgentUpdateArray []GetHostPoolScheduledAgentUpdateInput

func (GetHostPoolScheduledAgentUpdateArray) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutput added in v5.36.0

func (i GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutput() GetHostPoolScheduledAgentUpdateArrayOutput

func (GetHostPoolScheduledAgentUpdateArray) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateArrayInput added in v5.36.0

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 added in v5.36.0

type GetHostPoolScheduledAgentUpdateArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateArrayOutput) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateArrayOutput) Index added in v5.36.0

func (GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutput added in v5.36.0

func (o GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutput() GetHostPoolScheduledAgentUpdateArrayOutput

func (GetHostPoolScheduledAgentUpdateArrayOutput) ToGetHostPoolScheduledAgentUpdateArrayOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateInput added in v5.36.0

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 added in v5.36.0

type GetHostPoolScheduledAgentUpdateOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateOutput) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateOutput) Enabled added in v5.36.0

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

func (GetHostPoolScheduledAgentUpdateOutput) Schedules added in v5.36.0

A `schedule` block as defined below.

func (GetHostPoolScheduledAgentUpdateOutput) Timezone added in v5.36.0

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

func (GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutput added in v5.36.0

func (o GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutput() GetHostPoolScheduledAgentUpdateOutput

func (GetHostPoolScheduledAgentUpdateOutput) ToGetHostPoolScheduledAgentUpdateOutputWithContext added in v5.36.0

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

func (GetHostPoolScheduledAgentUpdateOutput) UseSessionHostTimezone added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutput added in v5.36.0

func (i GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutput() GetHostPoolScheduledAgentUpdateScheduleOutput

func (GetHostPoolScheduledAgentUpdateScheduleArgs) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateScheduleArray added in v5.36.0

type GetHostPoolScheduledAgentUpdateScheduleArray []GetHostPoolScheduledAgentUpdateScheduleInput

func (GetHostPoolScheduledAgentUpdateScheduleArray) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput added in v5.36.0

func (i GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput() GetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (GetHostPoolScheduledAgentUpdateScheduleArray) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateScheduleArrayInput added in v5.36.0

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 added in v5.36.0

type GetHostPoolScheduledAgentUpdateScheduleArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) Index added in v5.36.0

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput added in v5.36.0

func (o GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutput() GetHostPoolScheduledAgentUpdateScheduleArrayOutput

func (GetHostPoolScheduledAgentUpdateScheduleArrayOutput) ToGetHostPoolScheduledAgentUpdateScheduleArrayOutputWithContext added in v5.36.0

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

type GetHostPoolScheduledAgentUpdateScheduleInput added in v5.36.0

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 added in v5.36.0

type GetHostPoolScheduledAgentUpdateScheduleOutput struct{ *pulumi.OutputState }

func (GetHostPoolScheduledAgentUpdateScheduleOutput) DayOfWeek added in v5.36.0

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

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ElementType added in v5.36.0

func (GetHostPoolScheduledAgentUpdateScheduleOutput) HourOfDay added in v5.36.0

The hour of day the update window should start.

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutput added in v5.36.0

func (o GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutput() GetHostPoolScheduledAgentUpdateScheduleOutput

func (GetHostPoolScheduledAgentUpdateScheduleOutput) ToGetHostPoolScheduledAgentUpdateScheduleOutputWithContext added in v5.36.0

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`. Changing this forces a new resource to be created.
	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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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`. Changing this forces a new resource to be created.
	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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o HostPoolOutput) FriendlyName() pulumi.StringPtrOutput

A friendly name for the Virtual Desktop Host Pool.

func (HostPoolOutput) LoadBalancerType added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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

func (HostPoolOutput) PersonalDesktopAssignmentType added in v5.5.0

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 added in v5.5.0

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`. Changing this forces a new resource to be created.

func (HostPoolOutput) PublicNetworkAccess added in v5.74.0

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 added in v5.5.0

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 added in v5.19.0

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 added in v5.5.0

func (o HostPoolOutput) StartVmOnConnect() pulumi.BoolPtrOutput

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

func (HostPoolOutput) Tags added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o HostPoolOutput) ValidateEnvironment() pulumi.BoolPtrOutput

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

func (HostPoolOutput) VmTemplate added in v5.67.0

func (o HostPoolOutput) VmTemplate() pulumi.StringPtrOutput

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

type HostPoolScheduledAgentUpdates added in v5.19.0

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 added in v5.19.0

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 added in v5.19.0

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutput added in v5.19.0

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutput() HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesOutputWithContext added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutput added in v5.19.0

func (i HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesArgs) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext added in v5.19.0

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

type HostPoolScheduledAgentUpdatesInput added in v5.19.0

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 added in v5.19.0

type HostPoolScheduledAgentUpdatesOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesOutput) ElementType added in v5.19.0

func (HostPoolScheduledAgentUpdatesOutput) Enabled added in v5.19.0

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 added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesOutput) Timezone added in v5.19.0

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 added in v5.19.0

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutput() HostPoolScheduledAgentUpdatesOutput

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesOutputWithContext added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutput added in v5.19.0

func (o HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesOutput) UseSessionHostTimezone added in v5.19.0

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 added in v5.19.0

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 added in v5.19.0

type HostPoolScheduledAgentUpdatesPtrOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesPtrOutput) Elem added in v5.19.0

func (HostPoolScheduledAgentUpdatesPtrOutput) ElementType added in v5.19.0

func (HostPoolScheduledAgentUpdatesPtrOutput) Enabled added in v5.19.0

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 added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesPtrOutput) Timezone added in v5.19.0

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 added in v5.19.0

func (o HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutput() HostPoolScheduledAgentUpdatesPtrOutput

func (HostPoolScheduledAgentUpdatesPtrOutput) ToHostPoolScheduledAgentUpdatesPtrOutputWithContext added in v5.19.0

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

func (HostPoolScheduledAgentUpdatesPtrOutput) UseSessionHostTimezone added in v5.19.0

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 added in v5.19.0

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 added in v5.19.0

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 added in v5.19.0

func (HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutput added in v5.19.0

func (i HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutput() HostPoolScheduledAgentUpdatesScheduleOutput

func (HostPoolScheduledAgentUpdatesScheduleArgs) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext added in v5.19.0

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

type HostPoolScheduledAgentUpdatesScheduleArray added in v5.19.0

type HostPoolScheduledAgentUpdatesScheduleArray []HostPoolScheduledAgentUpdatesScheduleInput

func (HostPoolScheduledAgentUpdatesScheduleArray) ElementType added in v5.19.0

func (HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput added in v5.19.0

func (i HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput() HostPoolScheduledAgentUpdatesScheduleArrayOutput

func (HostPoolScheduledAgentUpdatesScheduleArray) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext added in v5.19.0

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

type HostPoolScheduledAgentUpdatesScheduleArrayInput added in v5.19.0

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 added in v5.19.0

type HostPoolScheduledAgentUpdatesScheduleArrayOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ElementType added in v5.19.0

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) Index added in v5.19.0

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput added in v5.19.0

func (o HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutput() HostPoolScheduledAgentUpdatesScheduleArrayOutput

func (HostPoolScheduledAgentUpdatesScheduleArrayOutput) ToHostPoolScheduledAgentUpdatesScheduleArrayOutputWithContext added in v5.19.0

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

type HostPoolScheduledAgentUpdatesScheduleInput added in v5.19.0

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 added in v5.19.0

type HostPoolScheduledAgentUpdatesScheduleOutput struct{ *pulumi.OutputState }

func (HostPoolScheduledAgentUpdatesScheduleOutput) DayOfWeek added in v5.19.0

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 added in v5.19.0

func (HostPoolScheduledAgentUpdatesScheduleOutput) HourOfDay added in v5.19.0

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 added in v5.19.0

func (o HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutput() HostPoolScheduledAgentUpdatesScheduleOutput

func (HostPoolScheduledAgentUpdatesScheduleOutput) ToHostPoolScheduledAgentUpdatesScheduleOutputWithContext added in v5.19.0

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`. Changing this forces a new resource to be created.
	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 added in v5.67.0

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 added in v5.67.0

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 added in v5.67.0

type LookupApplicationGroupResult added in v5.67.0

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 added in v5.67.0

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/v5/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 added in v5.67.0

type LookupApplicationGroupResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getApplicationGroup.

func LookupApplicationGroupOutput added in v5.67.0

func (LookupApplicationGroupResultOutput) Description added in v5.67.0

The description of the Application Group.

func (LookupApplicationGroupResultOutput) ElementType added in v5.67.0

func (LookupApplicationGroupResultOutput) FriendlyName added in v5.67.0

The friendly name of the Application Group.

func (LookupApplicationGroupResultOutput) HostPoolId added in v5.67.0

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

func (LookupApplicationGroupResultOutput) Id added in v5.67.0

The provider-assigned unique ID for this managed resource.

func (LookupApplicationGroupResultOutput) Location added in v5.67.0

The Azure Region where the Application Group exists.

func (LookupApplicationGroupResultOutput) Name added in v5.67.0

func (LookupApplicationGroupResultOutput) ResourceGroupName added in v5.67.0

func (LookupApplicationGroupResultOutput) Tags added in v5.67.0

A mapping of tags assigned to the Application Group.

func (LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutput added in v5.67.0

func (o LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutput() LookupApplicationGroupResultOutput

func (LookupApplicationGroupResultOutput) ToLookupApplicationGroupResultOutputWithContext added in v5.67.0

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

func (LookupApplicationGroupResultOutput) Type added in v5.67.0

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

func (LookupApplicationGroupResultOutput) WorkspaceId added in v5.67.0

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

type LookupHostPoolArgs added in v5.36.0

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 added in v5.36.0

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 added in v5.36.0

func (LookupHostPoolOutputArgs) ElementType() reflect.Type

type LookupHostPoolResult added in v5.36.0

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 added in v5.36.0

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/v5/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 added in v5.36.0

type LookupHostPoolResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getHostPool.

func LookupHostPoolOutput added in v5.36.0

func LookupHostPoolOutput(ctx *pulumi.Context, args LookupHostPoolOutputArgs, opts ...pulumi.InvokeOption) LookupHostPoolResultOutput

func (LookupHostPoolResultOutput) CustomRdpProperties added in v5.36.0

func (o LookupHostPoolResultOutput) CustomRdpProperties() pulumi.StringOutput

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

func (LookupHostPoolResultOutput) Description added in v5.36.0

The description for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) ElementType added in v5.36.0

func (LookupHostPoolResultOutput) ElementType() reflect.Type

func (LookupHostPoolResultOutput) FriendlyName added in v5.36.0

The friendly name for the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) Id added in v5.36.0

The provider-assigned unique ID for this managed resource.

func (LookupHostPoolResultOutput) LoadBalancerType added in v5.36.0

func (o LookupHostPoolResultOutput) LoadBalancerType() pulumi.StringOutput

The type of load balancing performed by the Host Pool

func (LookupHostPoolResultOutput) Location added in v5.36.0

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

func (LookupHostPoolResultOutput) MaximumSessionsAllowed added in v5.36.0

func (o LookupHostPoolResultOutput) MaximumSessionsAllowed() pulumi.IntOutput

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

func (LookupHostPoolResultOutput) Name added in v5.36.0

func (LookupHostPoolResultOutput) PersonalDesktopAssignmentType added in v5.36.0

func (o LookupHostPoolResultOutput) PersonalDesktopAssignmentType() pulumi.StringOutput

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

func (LookupHostPoolResultOutput) PreferredAppGroupType added in v5.36.0

func (o LookupHostPoolResultOutput) PreferredAppGroupType() pulumi.StringOutput

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

func (LookupHostPoolResultOutput) ResourceGroupName added in v5.36.0

func (o LookupHostPoolResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupHostPoolResultOutput) ScheduledAgentUpdates added in v5.36.0

A `scheduledAgentUpdates` block as defined below.

func (LookupHostPoolResultOutput) StartVmOnConnect added in v5.36.0

func (o LookupHostPoolResultOutput) StartVmOnConnect() pulumi.BoolOutput

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

func (LookupHostPoolResultOutput) Tags added in v5.36.0

A mapping of tags to assign to the resource.

func (LookupHostPoolResultOutput) ToLookupHostPoolResultOutput added in v5.36.0

func (o LookupHostPoolResultOutput) ToLookupHostPoolResultOutput() LookupHostPoolResultOutput

func (LookupHostPoolResultOutput) ToLookupHostPoolResultOutputWithContext added in v5.36.0

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

func (LookupHostPoolResultOutput) Type added in v5.36.0

The type of the Virtual Desktop Host Pool.

func (LookupHostPoolResultOutput) ValidateEnvironment added in v5.36.0

func (o LookupHostPoolResultOutput) ValidateEnvironment() pulumi.BoolOutput

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

type LookupWorkspaceArgs added in v5.65.0

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 added in v5.65.0

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 added in v5.65.0

func (LookupWorkspaceOutputArgs) ElementType() reflect.Type

type LookupWorkspaceResult added in v5.65.0

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 added in v5.65.0

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/v5/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 added in v5.65.0

type LookupWorkspaceResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getWorkspace.

func LookupWorkspaceOutput added in v5.65.0

func (LookupWorkspaceResultOutput) Description added in v5.65.0

The description for the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) ElementType added in v5.65.0

func (LookupWorkspaceResultOutput) FriendlyName added in v5.65.0

The friendly name for the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) Id added in v5.65.0

The provider-assigned unique ID for this managed resource.

func (LookupWorkspaceResultOutput) Location added in v5.65.0

The Azure Region where the Virtual Desktop Workspace exists.

func (LookupWorkspaceResultOutput) Name added in v5.65.0

func (LookupWorkspaceResultOutput) PublicNetworkAccessEnabled added in v5.65.0

func (o LookupWorkspaceResultOutput) PublicNetworkAccessEnabled() pulumi.BoolOutput

Is public network access enabled?

func (LookupWorkspaceResultOutput) ResourceGroupName added in v5.65.0

func (o LookupWorkspaceResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupWorkspaceResultOutput) Tags added in v5.65.0

A mapping of tags assigned to the Virtual Desktop Workspace.

func (LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput added in v5.65.0

func (o LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutput() LookupWorkspaceResultOutput

func (LookupWorkspaceResultOutput) ToLookupWorkspaceResultOutputWithContext added in v5.65.0

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/v5/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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("Windows 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 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 added in v5.5.0

func (o ScalingPlanOutput) Description() pulumi.StringPtrOutput

A description of the Scaling Plan.

func (ScalingPlanOutput) ElementType

func (ScalingPlanOutput) ElementType() reflect.Type

func (ScalingPlanOutput) ExclusionTag added in v5.5.0

func (o ScalingPlanOutput) ExclusionTag() pulumi.StringPtrOutput

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

func (ScalingPlanOutput) FriendlyName added in v5.5.0

func (o ScalingPlanOutput) FriendlyName() pulumi.StringPtrOutput

Friendly name of the Scaling Plan.

func (ScalingPlanOutput) HostPools added in v5.5.0

One or more `hostPool` blocks as defined below.

func (ScalingPlanOutput) Location added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

One or more `schedule` blocks as defined below.

func (ScalingPlanOutput) Tags added in v5.5.0

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

func (ScalingPlanOutput) TimeZone added in v5.5.0

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
	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
	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

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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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/v5/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v5/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 added in v5.5.0

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 added in v5.5.0

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 added in v5.5.0

func (o WorkspaceOutput) Description() pulumi.StringPtrOutput

A description for the Virtual Desktop Workspace.

func (WorkspaceOutput) ElementType

func (WorkspaceOutput) ElementType() reflect.Type

func (WorkspaceOutput) FriendlyName added in v5.5.0

func (o WorkspaceOutput) FriendlyName() pulumi.StringPtrOutput

A friendly name for the Virtual Desktop Workspace.

func (WorkspaceOutput) Location added in v5.5.0

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 added in v5.5.0

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

func (WorkspaceOutput) PublicNetworkAccessEnabled added in v5.49.0

func (o WorkspaceOutput) PublicNetworkAccessEnabled() pulumi.BoolPtrOutput

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

func (WorkspaceOutput) ResourceGroupName added in v5.5.0

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 added in v5.5.0

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