desktopvirtualization

package
v4.42.0 Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application added in v4.8.0

type Application struct {
	pulumi.CustomResourceState

	// Resource ID for a Virtual Desktop Application Group to associate with the
	// Virtual Desktop Application. Changing the ID 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			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{
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Type:                          pulumi.String("Personal"),
			PersonalDesktopAssignmentType: pulumi.String("Automatic"),
		})
		if err != nil {
			return err
		}
		remoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
			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{
			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 added in v4.8.0

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 added in v4.8.0

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 added in v4.8.0

func (*Application) ElementType() reflect.Type

func (*Application) ToApplicationOutput added in v4.8.0

func (i *Application) ToApplicationOutput() ApplicationOutput

func (*Application) ToApplicationOutputWithContext added in v4.8.0

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

type ApplicationArgs added in v4.8.0

type ApplicationArgs struct {
	// Resource ID for a Virtual Desktop Application Group to associate with the
	// Virtual Desktop Application. Changing the ID 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 added in v4.8.0

func (ApplicationArgs) ElementType() reflect.Type

type ApplicationArray added in v4.8.0

type ApplicationArray []ApplicationInput

func (ApplicationArray) ElementType added in v4.8.0

func (ApplicationArray) ElementType() reflect.Type

func (ApplicationArray) ToApplicationArrayOutput added in v4.8.0

func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArray) ToApplicationArrayOutputWithContext added in v4.8.0

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

type ApplicationArrayInput added in v4.8.0

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 added in v4.8.0

type ApplicationArrayOutput struct{ *pulumi.OutputState }

func (ApplicationArrayOutput) ElementType added in v4.8.0

func (ApplicationArrayOutput) ElementType() reflect.Type

func (ApplicationArrayOutput) Index added in v4.8.0

func (ApplicationArrayOutput) ToApplicationArrayOutput added in v4.8.0

func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArrayOutput) ToApplicationArrayOutputWithContext added in v4.8.0

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.
	HostPoolId pulumi.StringOutput `pulumi:"hostPoolId"`
	// The location/region where the Virtual Desktop Application Group is
	// located. Changing the location/region 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 the resource group name 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.
	Type pulumi.StringOutput `pulumi:"type"`
}

Manages a Virtual Desktop Application Group.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			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{
			Location:                      example.Location,
			ResourceGroupName:             example.Name,
			Type:                          pulumi.String("Personal"),
			PersonalDesktopAssignmentType: pulumi.String("Automatic"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
			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{
			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.
	HostPoolId pulumi.StringInput
	// The location/region where the Virtual Desktop Application Group is
	// located. Changing the location/region 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 the resource group name 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.
	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) ElementType

func (ApplicationGroupOutput) ElementType() reflect.Type

func (ApplicationGroupOutput) ToApplicationGroupOutput

func (o ApplicationGroupOutput) ToApplicationGroupOutput() ApplicationGroupOutput

func (ApplicationGroupOutput) ToApplicationGroupOutputWithContext

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

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.
	HostPoolId pulumi.StringPtrInput
	// The location/region where the Virtual Desktop Application Group is
	// located. Changing the location/region 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 the resource group name 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.
	Type pulumi.StringPtrInput
}

func (ApplicationGroupState) ElementType

func (ApplicationGroupState) ElementType() reflect.Type

type ApplicationInput added in v4.8.0

type ApplicationInput interface {
	pulumi.Input

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

type ApplicationMap added in v4.8.0

type ApplicationMap map[string]ApplicationInput

func (ApplicationMap) ElementType added in v4.8.0

func (ApplicationMap) ElementType() reflect.Type

func (ApplicationMap) ToApplicationMapOutput added in v4.8.0

func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMap) ToApplicationMapOutputWithContext added in v4.8.0

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

type ApplicationMapInput added in v4.8.0

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 added in v4.8.0

type ApplicationMapOutput struct{ *pulumi.OutputState }

func (ApplicationMapOutput) ElementType added in v4.8.0

func (ApplicationMapOutput) ElementType() reflect.Type

func (ApplicationMapOutput) MapIndex added in v4.8.0

func (ApplicationMapOutput) ToApplicationMapOutput added in v4.8.0

func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMapOutput) ToApplicationMapOutputWithContext added in v4.8.0

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

type ApplicationOutput added in v4.8.0

type ApplicationOutput struct{ *pulumi.OutputState }

func (ApplicationOutput) ElementType added in v4.8.0

func (ApplicationOutput) ElementType() reflect.Type

func (ApplicationOutput) ToApplicationOutput added in v4.8.0

func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput

func (ApplicationOutput) ToApplicationOutputWithContext added in v4.8.0

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

type ApplicationState added in v4.8.0

type ApplicationState struct {
	// Resource ID for a Virtual Desktop Application Group to associate with the
	// Virtual Desktop Application. Changing the ID 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 added in v4.8.0

func (ApplicationState) ElementType() reflect.Type

type GetHostPoolRegistrationInfo added in v4.36.0

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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("westeurope"),
		})
		if err != nil {
			return err
		}
		exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "exampleHostPool", &desktopvirtualization.HostPoolArgs{
			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.NewgetHostPoolRegistrationInfo(ctx, "examplegetHostPoolRegistrationInfo", &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 added in v4.36.0

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

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

func (*GetHostPoolRegistrationInfo) ElementType() reflect.Type

func (*GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutput added in v4.36.0

func (i *GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutput() GetHostPoolRegistrationInfoOutput

func (*GetHostPoolRegistrationInfo) ToGetHostPoolRegistrationInfoOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoArgs added in v4.36.0

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

type GetHostPoolRegistrationInfoArray added in v4.36.0

type GetHostPoolRegistrationInfoArray []GetHostPoolRegistrationInfoInput

func (GetHostPoolRegistrationInfoArray) ElementType added in v4.36.0

func (GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutput added in v4.36.0

func (i GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutput() GetHostPoolRegistrationInfoArrayOutput

func (GetHostPoolRegistrationInfoArray) ToGetHostPoolRegistrationInfoArrayOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoArrayInput added in v4.36.0

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

type GetHostPoolRegistrationInfoArrayOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoArrayOutput) ElementType added in v4.36.0

func (GetHostPoolRegistrationInfoArrayOutput) Index added in v4.36.0

func (GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutput added in v4.36.0

func (o GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutput() GetHostPoolRegistrationInfoArrayOutput

func (GetHostPoolRegistrationInfoArrayOutput) ToGetHostPoolRegistrationInfoArrayOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoInput added in v4.36.0

type GetHostPoolRegistrationInfoInput interface {
	pulumi.Input

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

type GetHostPoolRegistrationInfoMap added in v4.36.0

type GetHostPoolRegistrationInfoMap map[string]GetHostPoolRegistrationInfoInput

func (GetHostPoolRegistrationInfoMap) ElementType added in v4.36.0

func (GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutput added in v4.36.0

func (i GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutput() GetHostPoolRegistrationInfoMapOutput

func (GetHostPoolRegistrationInfoMap) ToGetHostPoolRegistrationInfoMapOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoMapInput added in v4.36.0

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

type GetHostPoolRegistrationInfoMapOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoMapOutput) ElementType added in v4.36.0

func (GetHostPoolRegistrationInfoMapOutput) MapIndex added in v4.36.0

func (GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutput added in v4.36.0

func (o GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutput() GetHostPoolRegistrationInfoMapOutput

func (GetHostPoolRegistrationInfoMapOutput) ToGetHostPoolRegistrationInfoMapOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoOutput added in v4.36.0

type GetHostPoolRegistrationInfoOutput struct{ *pulumi.OutputState }

func (GetHostPoolRegistrationInfoOutput) ElementType added in v4.36.0

func (GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutput added in v4.36.0

func (o GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutput() GetHostPoolRegistrationInfoOutput

func (GetHostPoolRegistrationInfoOutput) ToGetHostPoolRegistrationInfoOutputWithContext added in v4.36.0

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

type GetHostPoolRegistrationInfoState added in v4.36.0

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

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/en-us/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.
	// `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 the location/region 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 the name
	// 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.
	// `Direct` Assignment – Admin selects a specific host to assign to an user.
	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 `None`.
	PreferredAppGroupType pulumi.StringPtrOutput `pulumi:"preferredAppGroupType"`
	// This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
	// `azurerm_virtual_desktop_host_pool_registration_info` resource instead.
	RegistrationInfo HostPoolRegistrationInfoPtrOutput `pulumi:"registrationInfo"`
	// The name of the resource group in which to
	// create the Virtual Desktop Host Pool. Changing the resource group name forces
	// a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// 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"`
}

Manages a Virtual Desktop Host Pool.

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewHostPool(ctx, "exampleHostPool", &desktopvirtualization.HostPoolArgs{
			Location:               exampleResourceGroup.Location,
			ResourceGroupName:      exampleResourceGroup.Name,
			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"),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```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/en-us/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.
	// `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 the location/region 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 the name
	// 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.
	// `Direct` Assignment – Admin selects a specific host to assign to an user.
	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 `None`.
	PreferredAppGroupType pulumi.StringPtrInput
	// This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
	// `azurerm_virtual_desktop_host_pool_registration_info` resource instead.
	RegistrationInfo HostPoolRegistrationInfoPtrInput
	// The name of the resource group in which to
	// create the Virtual Desktop Host Pool. Changing the resource group name forces
	// a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// 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
}

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

func (HostPoolOutput) ElementType() reflect.Type

func (HostPoolOutput) ToHostPoolOutput

func (o HostPoolOutput) ToHostPoolOutput() HostPoolOutput

func (HostPoolOutput) ToHostPoolOutputWithContext

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

type HostPoolRegistrationInfo

type HostPoolRegistrationInfo struct {
	// Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the `azurerm_virtual_desktop_host_pool_registration_info` resource instead.
	ExpirationDate *string `pulumi:"expirationDate"`
	ResetToken     *bool   `pulumi:"resetToken"`
	Token          *string `pulumi:"token"`
}

type HostPoolRegistrationInfoArgs

type HostPoolRegistrationInfoArgs struct {
	// Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the `azurerm_virtual_desktop_host_pool_registration_info` resource instead.
	ExpirationDate pulumi.StringPtrInput `pulumi:"expirationDate"`
	ResetToken     pulumi.BoolPtrInput   `pulumi:"resetToken"`
	Token          pulumi.StringPtrInput `pulumi:"token"`
}

func (HostPoolRegistrationInfoArgs) ElementType

func (HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoOutput

func (i HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoOutput() HostPoolRegistrationInfoOutput

func (HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoOutputWithContext

func (i HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoOutputWithContext(ctx context.Context) HostPoolRegistrationInfoOutput

func (HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoPtrOutput

func (i HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoPtrOutput() HostPoolRegistrationInfoPtrOutput

func (HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoPtrOutputWithContext

func (i HostPoolRegistrationInfoArgs) ToHostPoolRegistrationInfoPtrOutputWithContext(ctx context.Context) HostPoolRegistrationInfoPtrOutput

type HostPoolRegistrationInfoInput

type HostPoolRegistrationInfoInput interface {
	pulumi.Input

	ToHostPoolRegistrationInfoOutput() HostPoolRegistrationInfoOutput
	ToHostPoolRegistrationInfoOutputWithContext(context.Context) HostPoolRegistrationInfoOutput
}

HostPoolRegistrationInfoInput is an input type that accepts HostPoolRegistrationInfoArgs and HostPoolRegistrationInfoOutput values. You can construct a concrete instance of `HostPoolRegistrationInfoInput` via:

HostPoolRegistrationInfoArgs{...}

type HostPoolRegistrationInfoOutput

type HostPoolRegistrationInfoOutput struct{ *pulumi.OutputState }

func (HostPoolRegistrationInfoOutput) ElementType

func (HostPoolRegistrationInfoOutput) ExpirationDate deprecated

Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the `azurerm_virtual_desktop_host_pool_registration_info` resource instead.

func (HostPoolRegistrationInfoOutput) ResetToken

func (HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoOutput

func (o HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoOutput() HostPoolRegistrationInfoOutput

func (HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoOutputWithContext

func (o HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoOutputWithContext(ctx context.Context) HostPoolRegistrationInfoOutput

func (HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoPtrOutput

func (o HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoPtrOutput() HostPoolRegistrationInfoPtrOutput

func (HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoPtrOutputWithContext

func (o HostPoolRegistrationInfoOutput) ToHostPoolRegistrationInfoPtrOutputWithContext(ctx context.Context) HostPoolRegistrationInfoPtrOutput

func (HostPoolRegistrationInfoOutput) Token

type HostPoolRegistrationInfoPtrInput

type HostPoolRegistrationInfoPtrInput interface {
	pulumi.Input

	ToHostPoolRegistrationInfoPtrOutput() HostPoolRegistrationInfoPtrOutput
	ToHostPoolRegistrationInfoPtrOutputWithContext(context.Context) HostPoolRegistrationInfoPtrOutput
}

HostPoolRegistrationInfoPtrInput is an input type that accepts HostPoolRegistrationInfoArgs, HostPoolRegistrationInfoPtr and HostPoolRegistrationInfoPtrOutput values. You can construct a concrete instance of `HostPoolRegistrationInfoPtrInput` via:

        HostPoolRegistrationInfoArgs{...}

or:

        nil

type HostPoolRegistrationInfoPtrOutput

type HostPoolRegistrationInfoPtrOutput struct{ *pulumi.OutputState }

func (HostPoolRegistrationInfoPtrOutput) Elem

func (HostPoolRegistrationInfoPtrOutput) ElementType

func (HostPoolRegistrationInfoPtrOutput) ExpirationDate deprecated

Deprecated: This field is now non-functional and will be removed in version 3.0 of the Azure Provider - use the `azurerm_virtual_desktop_host_pool_registration_info` resource instead.

func (HostPoolRegistrationInfoPtrOutput) ResetToken

func (HostPoolRegistrationInfoPtrOutput) ToHostPoolRegistrationInfoPtrOutput

func (o HostPoolRegistrationInfoPtrOutput) ToHostPoolRegistrationInfoPtrOutput() HostPoolRegistrationInfoPtrOutput

func (HostPoolRegistrationInfoPtrOutput) ToHostPoolRegistrationInfoPtrOutputWithContext

func (o HostPoolRegistrationInfoPtrOutput) ToHostPoolRegistrationInfoPtrOutputWithContext(ctx context.Context) HostPoolRegistrationInfoPtrOutput

func (HostPoolRegistrationInfoPtrOutput) Token

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/en-us/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.
	// `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 the location/region 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 the name
	// 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.
	// `Direct` Assignment – Admin selects a specific host to assign to an user.
	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 `None`.
	PreferredAppGroupType pulumi.StringPtrInput
	// This block is now non-functional and will be removed in version 3.0 of the Azure Provider - use the
	// `azurerm_virtual_desktop_host_pool_registration_info` resource instead.
	RegistrationInfo HostPoolRegistrationInfoPtrInput
	// The name of the resource group in which to
	// create the Virtual Desktop Host Pool. Changing the resource group name forces
	// a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// 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
}

func (HostPoolState) ElementType

func (HostPoolState) ElementType() reflect.Type

type ScalingPlan added in v4.33.0

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/en-us/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/en-us/azure/virtual-desktop/autoscale-scaling-plan#create-a-custom-rbac-role).

## Example Usage

```go package main

import (

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

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		exampleRoleDefinition, err := authorization.NewRoleDefinition(ctx, "exampleRoleDefinition", &authorization.RoleDefinitionArgs{
			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
		}
		exampleServicePrincipal, err := azuread.LookupServicePrincipal(ctx, &GetServicePrincipalArgs{
			DisplayName: pulumi.StringRef("Windows Virtual Desktop"),
		}, nil)
		if err != nil {
			return err
		}
		_, err = authorization.NewAssignment(ctx, "exampleAssignment", &authorization.AssignmentArgs{
			Name:                         pulumi.Any(random_uuid.Example.Result),
			Scope:                        exampleResourceGroup.ID(),
			RoleDefinitionId:             exampleRoleDefinition.RoleDefinitionResourceId,
			PrincipalId:                  pulumi.String(exampleServicePrincipal.ApplicationId),
			SkipServicePrincipalAadCheck: pulumi.Bool(true),
		})
		if err != nil {
			return err
		}
		exampleHostPool, err := desktopvirtualization.NewHostPool(ctx, "exampleHostPool", &desktopvirtualization.HostPoolArgs{
			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, "exampleScalingPlan", &desktopvirtualization.ScalingPlanArgs{
			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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

func (*ScalingPlan) ElementType() reflect.Type

func (*ScalingPlan) ToScalingPlanOutput added in v4.33.0

func (i *ScalingPlan) ToScalingPlanOutput() ScalingPlanOutput

func (*ScalingPlan) ToScalingPlanOutputWithContext added in v4.33.0

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

type ScalingPlanArgs added in v4.33.0

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 added in v4.33.0

func (ScalingPlanArgs) ElementType() reflect.Type

type ScalingPlanArray added in v4.33.0

type ScalingPlanArray []ScalingPlanInput

func (ScalingPlanArray) ElementType added in v4.33.0

func (ScalingPlanArray) ElementType() reflect.Type

func (ScalingPlanArray) ToScalingPlanArrayOutput added in v4.33.0

func (i ScalingPlanArray) ToScalingPlanArrayOutput() ScalingPlanArrayOutput

func (ScalingPlanArray) ToScalingPlanArrayOutputWithContext added in v4.33.0

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

type ScalingPlanArrayInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanArrayOutput) ElementType added in v4.33.0

func (ScalingPlanArrayOutput) ElementType() reflect.Type

func (ScalingPlanArrayOutput) Index added in v4.33.0

func (ScalingPlanArrayOutput) ToScalingPlanArrayOutput added in v4.33.0

func (o ScalingPlanArrayOutput) ToScalingPlanArrayOutput() ScalingPlanArrayOutput

func (ScalingPlanArrayOutput) ToScalingPlanArrayOutputWithContext added in v4.33.0

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

type ScalingPlanHostPool added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

func (ScalingPlanHostPoolArgs) ElementType() reflect.Type

func (ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutput added in v4.33.0

func (i ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutput() ScalingPlanHostPoolOutput

func (ScalingPlanHostPoolArgs) ToScalingPlanHostPoolOutputWithContext added in v4.33.0

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

type ScalingPlanHostPoolArray added in v4.33.0

type ScalingPlanHostPoolArray []ScalingPlanHostPoolInput

func (ScalingPlanHostPoolArray) ElementType added in v4.33.0

func (ScalingPlanHostPoolArray) ElementType() reflect.Type

func (ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutput added in v4.33.0

func (i ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutput() ScalingPlanHostPoolArrayOutput

func (ScalingPlanHostPoolArray) ToScalingPlanHostPoolArrayOutputWithContext added in v4.33.0

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

type ScalingPlanHostPoolArrayInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanHostPoolArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolArrayOutput) ElementType added in v4.33.0

func (ScalingPlanHostPoolArrayOutput) Index added in v4.33.0

func (ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutput added in v4.33.0

func (o ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutput() ScalingPlanHostPoolArrayOutput

func (ScalingPlanHostPoolArrayOutput) ToScalingPlanHostPoolArrayOutputWithContext added in v4.33.0

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

type ScalingPlanHostPoolInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanHostPoolOutput struct{ *pulumi.OutputState }

func (ScalingPlanHostPoolOutput) ElementType added in v4.33.0

func (ScalingPlanHostPoolOutput) ElementType() reflect.Type

func (ScalingPlanHostPoolOutput) HostpoolId added in v4.33.0

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

func (ScalingPlanHostPoolOutput) ScalingPlanEnabled added in v4.33.0

func (o ScalingPlanHostPoolOutput) ScalingPlanEnabled() pulumi.BoolOutput

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

func (ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutput added in v4.33.0

func (o ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutput() ScalingPlanHostPoolOutput

func (ScalingPlanHostPoolOutput) ToScalingPlanHostPoolOutputWithContext added in v4.33.0

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

type ScalingPlanInput added in v4.33.0

type ScalingPlanInput interface {
	pulumi.Input

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

type ScalingPlanMap added in v4.33.0

type ScalingPlanMap map[string]ScalingPlanInput

func (ScalingPlanMap) ElementType added in v4.33.0

func (ScalingPlanMap) ElementType() reflect.Type

func (ScalingPlanMap) ToScalingPlanMapOutput added in v4.33.0

func (i ScalingPlanMap) ToScalingPlanMapOutput() ScalingPlanMapOutput

func (ScalingPlanMap) ToScalingPlanMapOutputWithContext added in v4.33.0

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

type ScalingPlanMapInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanMapOutput struct{ *pulumi.OutputState }

func (ScalingPlanMapOutput) ElementType added in v4.33.0

func (ScalingPlanMapOutput) ElementType() reflect.Type

func (ScalingPlanMapOutput) MapIndex added in v4.33.0

func (ScalingPlanMapOutput) ToScalingPlanMapOutput added in v4.33.0

func (o ScalingPlanMapOutput) ToScalingPlanMapOutput() ScalingPlanMapOutput

func (ScalingPlanMapOutput) ToScalingPlanMapOutputWithContext added in v4.33.0

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

type ScalingPlanOutput added in v4.33.0

type ScalingPlanOutput struct{ *pulumi.OutputState }

func (ScalingPlanOutput) ElementType added in v4.33.0

func (ScalingPlanOutput) ElementType() reflect.Type

func (ScalingPlanOutput) ToScalingPlanOutput added in v4.33.0

func (o ScalingPlanOutput) ToScalingPlanOutput() ScalingPlanOutput

func (ScalingPlanOutput) ToScalingPlanOutputWithContext added in v4.33.0

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

type ScalingPlanSchedule added in v4.33.0

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"`
	// Specify minimum percentage of session host virtual machines to start for ramp-up and 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.
	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"`
	// 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.
	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 added in v4.33.0

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"`
	// Specify minimum percentage of session host virtual machines to start for ramp-up and 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.
	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"`
	// 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.
	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 added in v4.33.0

func (ScalingPlanScheduleArgs) ElementType() reflect.Type

func (ScalingPlanScheduleArgs) ToScalingPlanScheduleOutput added in v4.33.0

func (i ScalingPlanScheduleArgs) ToScalingPlanScheduleOutput() ScalingPlanScheduleOutput

func (ScalingPlanScheduleArgs) ToScalingPlanScheduleOutputWithContext added in v4.33.0

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

type ScalingPlanScheduleArray added in v4.33.0

type ScalingPlanScheduleArray []ScalingPlanScheduleInput

func (ScalingPlanScheduleArray) ElementType added in v4.33.0

func (ScalingPlanScheduleArray) ElementType() reflect.Type

func (ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutput added in v4.33.0

func (i ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutput() ScalingPlanScheduleArrayOutput

func (ScalingPlanScheduleArray) ToScalingPlanScheduleArrayOutputWithContext added in v4.33.0

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

type ScalingPlanScheduleArrayInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanScheduleArrayOutput struct{ *pulumi.OutputState }

func (ScalingPlanScheduleArrayOutput) ElementType added in v4.33.0

func (ScalingPlanScheduleArrayOutput) Index added in v4.33.0

func (ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutput added in v4.33.0

func (o ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutput() ScalingPlanScheduleArrayOutput

func (ScalingPlanScheduleArrayOutput) ToScalingPlanScheduleArrayOutputWithContext added in v4.33.0

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

type ScalingPlanScheduleInput added in v4.33.0

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 added in v4.33.0

type ScalingPlanScheduleOutput struct{ *pulumi.OutputState }

func (ScalingPlanScheduleOutput) DaysOfWeeks added in v4.33.0

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 added in v4.33.0

func (ScalingPlanScheduleOutput) ElementType() reflect.Type

func (ScalingPlanScheduleOutput) Name added in v4.33.0

The name of the schedule.

func (ScalingPlanScheduleOutput) OffPeakLoadBalancingAlgorithm added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

func (o ScalingPlanScheduleOutput) PeakLoadBalancingAlgorithm() pulumi.StringOutput

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

func (ScalingPlanScheduleOutput) PeakStartTime added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

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 added in v4.33.0

func (o ScalingPlanScheduleOutput) RampUpCapacityThresholdPercent() pulumi.IntPtrOutput

Specify minimum percentage of session host virtual machines to start for ramp-up and 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) RampUpLoadBalancingAlgorithm added in v4.33.0

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 added in v4.33.0

func (o ScalingPlanScheduleOutput) RampUpMinimumHostsPercent() 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) RampUpStartTime added in v4.33.0

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 added in v4.33.0

func (o ScalingPlanScheduleOutput) ToScalingPlanScheduleOutput() ScalingPlanScheduleOutput

func (ScalingPlanScheduleOutput) ToScalingPlanScheduleOutputWithContext added in v4.33.0

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

type ScalingPlanState added in v4.33.0

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 added in v4.33.0

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 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 Workspace. Changing the resource group name 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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = desktopvirtualization.NewWorkspace(ctx, "workspace", &desktopvirtualization.WorkspaceArgs{
			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.
	ApplicationGroupId pulumi.StringOutput `pulumi:"applicationGroupId"`
	// The resource ID for the Virtual Desktop Workspace.
	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/v4/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v4/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{
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
			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{
			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{
			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.
	ApplicationGroupId pulumi.StringInput
	// The resource ID for the Virtual Desktop Workspace.
	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) ElementType

func (WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutput

func (o WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutput() WorkspaceApplicationGroupAssociationOutput

func (WorkspaceApplicationGroupAssociationOutput) ToWorkspaceApplicationGroupAssociationOutputWithContext

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

type WorkspaceApplicationGroupAssociationState

type WorkspaceApplicationGroupAssociationState struct {
	// The resource ID for the Virtual Desktop Application Group.
	ApplicationGroupId pulumi.StringPtrInput
	// The resource ID for the Virtual Desktop Workspace.
	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 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 Workspace. Changing the resource group name 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) ElementType

func (WorkspaceOutput) ElementType() reflect.Type

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 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 Workspace. Changing the resource group name 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