Application

class Application : KotlinCustomResource

Manages a Virtual Desktop Application.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "rg-example-virtualdesktop",
location: "West Europe",
});
const pooledbreadthfirst = new azure.desktopvirtualization.HostPool("pooledbreadthfirst", {
name: "pooledbreadthfirst",
location: example.location,
resourceGroupName: example.name,
type: "Pooled",
loadBalancerType: "BreadthFirst",
});
const personalautomatic = new azure.desktopvirtualization.HostPool("personalautomatic", {
name: "personalautomatic",
location: example.location,
resourceGroupName: example.name,
type: "Personal",
personalDesktopAssignmentType: "Automatic",
loadBalancerType: "BreadthFirst",
});
const remoteapp = new azure.desktopvirtualization.ApplicationGroup("remoteapp", {
name: "acctag",
location: example.location,
resourceGroupName: example.name,
type: "RemoteApp",
hostPoolId: pooledbreadthfirst.id,
friendlyName: "TestAppGroup",
description: "Acceptance Test: An application group",
});
const chrome = new azure.desktopvirtualization.Application("chrome", {
name: "googlechrome",
applicationGroupId: remoteapp.id,
friendlyName: "Google Chrome",
description: "Chromium based web browser",
path: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
commandLineArgumentPolicy: "DoNotAllow",
commandLineArguments: "--incognito",
showInPortal: false,
iconPath: "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
iconIndex: 0,
});
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="rg-example-virtualdesktop",
location="West Europe")
pooledbreadthfirst = azure.desktopvirtualization.HostPool("pooledbreadthfirst",
name="pooledbreadthfirst",
location=example.location,
resource_group_name=example.name,
type="Pooled",
load_balancer_type="BreadthFirst")
personalautomatic = azure.desktopvirtualization.HostPool("personalautomatic",
name="personalautomatic",
location=example.location,
resource_group_name=example.name,
type="Personal",
personal_desktop_assignment_type="Automatic",
load_balancer_type="BreadthFirst")
remoteapp = azure.desktopvirtualization.ApplicationGroup("remoteapp",
name="acctag",
location=example.location,
resource_group_name=example.name,
type="RemoteApp",
host_pool_id=pooledbreadthfirst.id,
friendly_name="TestAppGroup",
description="Acceptance Test: An application group")
chrome = azure.desktopvirtualization.Application("chrome",
name="googlechrome",
application_group_id=remoteapp.id,
friendly_name="Google Chrome",
description="Chromium based web browser",
path="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
command_line_argument_policy="DoNotAllow",
command_line_arguments="--incognito",
show_in_portal=False,
icon_path="C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
icon_index=0)
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "rg-example-virtualdesktop",
Location = "West Europe",
});
var pooledbreadthfirst = new Azure.DesktopVirtualization.HostPool("pooledbreadthfirst", new()
{
Name = "pooledbreadthfirst",
Location = example.Location,
ResourceGroupName = example.Name,
Type = "Pooled",
LoadBalancerType = "BreadthFirst",
});
var personalautomatic = new Azure.DesktopVirtualization.HostPool("personalautomatic", new()
{
Name = "personalautomatic",
Location = example.Location,
ResourceGroupName = example.Name,
Type = "Personal",
PersonalDesktopAssignmentType = "Automatic",
LoadBalancerType = "BreadthFirst",
});
var remoteapp = new Azure.DesktopVirtualization.ApplicationGroup("remoteapp", new()
{
Name = "acctag",
Location = example.Location,
ResourceGroupName = example.Name,
Type = "RemoteApp",
HostPoolId = pooledbreadthfirst.Id,
FriendlyName = "TestAppGroup",
Description = "Acceptance Test: An application group",
});
var chrome = new Azure.DesktopVirtualization.Application("chrome", new()
{
Name = "googlechrome",
ApplicationGroupId = remoteapp.Id,
FriendlyName = "Google Chrome",
Description = "Chromium based web browser",
Path = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
CommandLineArgumentPolicy = "DoNotAllow",
CommandLineArguments = "--incognito",
ShowInPortal = false,
IconPath = "C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe",
IconIndex = 0,
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/desktopvirtualization"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("rg-example-virtualdesktop"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
Name: pulumi.String("pooledbreadthfirst"),
Location: example.Location,
ResourceGroupName: example.Name,
Type: pulumi.String("Pooled"),
LoadBalancerType: pulumi.String("BreadthFirst"),
})
if err != nil {
return err
}
_, err = desktopvirtualization.NewHostPool(ctx, "personalautomatic", &desktopvirtualization.HostPoolArgs{
Name: pulumi.String("personalautomatic"),
Location: example.Location,
ResourceGroupName: example.Name,
Type: pulumi.String("Personal"),
PersonalDesktopAssignmentType: pulumi.String("Automatic"),
LoadBalancerType: pulumi.String("BreadthFirst"),
})
if err != nil {
return err
}
remoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
Name: pulumi.String("acctag"),
Location: example.Location,
ResourceGroupName: example.Name,
Type: pulumi.String("RemoteApp"),
HostPoolId: pooledbreadthfirst.ID(),
FriendlyName: pulumi.String("TestAppGroup"),
Description: pulumi.String("Acceptance Test: An application group"),
})
if err != nil {
return err
}
_, err = desktopvirtualization.NewApplication(ctx, "chrome", &desktopvirtualization.ApplicationArgs{
Name: pulumi.String("googlechrome"),
ApplicationGroupId: remoteapp.ID(),
FriendlyName: pulumi.String("Google Chrome"),
Description: pulumi.String("Chromium based web browser"),
Path: pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
CommandLineArgumentPolicy: pulumi.String("DoNotAllow"),
CommandLineArguments: pulumi.String("--incognito"),
ShowInPortal: pulumi.Bool(false),
IconPath: pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
IconIndex: pulumi.Int(0),
})
if err != nil {
return err
}
return nil
})
}
package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.desktopvirtualization.HostPool;
import com.pulumi.azure.desktopvirtualization.HostPoolArgs;
import com.pulumi.azure.desktopvirtualization.ApplicationGroup;
import com.pulumi.azure.desktopvirtualization.ApplicationGroupArgs;
import com.pulumi.azure.desktopvirtualization.Application;
import com.pulumi.azure.desktopvirtualization.ApplicationArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("rg-example-virtualdesktop")
.location("West Europe")
.build());
var pooledbreadthfirst = new HostPool("pooledbreadthfirst", HostPoolArgs.builder()
.name("pooledbreadthfirst")
.location(example.location())
.resourceGroupName(example.name())
.type("Pooled")
.loadBalancerType("BreadthFirst")
.build());
var personalautomatic = new HostPool("personalautomatic", HostPoolArgs.builder()
.name("personalautomatic")
.location(example.location())
.resourceGroupName(example.name())
.type("Personal")
.personalDesktopAssignmentType("Automatic")
.loadBalancerType("BreadthFirst")
.build());
var remoteapp = new ApplicationGroup("remoteapp", ApplicationGroupArgs.builder()
.name("acctag")
.location(example.location())
.resourceGroupName(example.name())
.type("RemoteApp")
.hostPoolId(pooledbreadthfirst.id())
.friendlyName("TestAppGroup")
.description("Acceptance Test: An application group")
.build());
var chrome = new Application("chrome", ApplicationArgs.builder()
.name("googlechrome")
.applicationGroupId(remoteapp.id())
.friendlyName("Google Chrome")
.description("Chromium based web browser")
.path("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
.commandLineArgumentPolicy("DoNotAllow")
.commandLineArguments("--incognito")
.showInPortal(false)
.iconPath("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe")
.iconIndex(0)
.build());
}
}
resources:
example:
type: azure:core:ResourceGroup
properties:
name: rg-example-virtualdesktop
location: West Europe
pooledbreadthfirst:
type: azure:desktopvirtualization:HostPool
properties:
name: pooledbreadthfirst
location: ${example.location}
resourceGroupName: ${example.name}
type: Pooled
loadBalancerType: BreadthFirst
personalautomatic:
type: azure:desktopvirtualization:HostPool
properties:
name: personalautomatic
location: ${example.location}
resourceGroupName: ${example.name}
type: Personal
personalDesktopAssignmentType: Automatic
loadBalancerType: BreadthFirst
remoteapp:
type: azure:desktopvirtualization:ApplicationGroup
properties:
name: acctag
location: ${example.location}
resourceGroupName: ${example.name}
type: RemoteApp
hostPoolId: ${pooledbreadthfirst.id}
friendlyName: TestAppGroup
description: 'Acceptance Test: An application group'
chrome:
type: azure:desktopvirtualization:Application
properties:
name: googlechrome
applicationGroupId: ${remoteapp.id}
friendlyName: Google Chrome
description: Chromium based web browser
path: C:\Program Files\Google\Chrome\Application\chrome.exe
commandLineArgumentPolicy: DoNotAllow
commandLineArguments: --incognito
showInPortal: false
iconPath: C:\Program Files\Google\Chrome\Application\chrome.exe
iconIndex: 0

API Providers

This resource uses the following Azure API Providers:

  • Microsoft.DesktopVirtualization: 2024-04-03

Import

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

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

Properties

Link copied to clipboard

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

Link copied to clipboard

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.

Link copied to clipboard

Command Line Arguments for Virtual Desktop Application.

Link copied to clipboard
val description: Output<String>?

Option to set a description for the Virtual Desktop Application.

Link copied to clipboard
val friendlyName: Output<String>

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

Link copied to clipboard
val iconIndex: Output<Int>?

The index of the icon you wish to use.

Link copied to clipboard
val iconPath: Output<String>

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

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val name: Output<String>

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

Link copied to clipboard
val path: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
val showInPortal: Output<Boolean>?

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

Link copied to clipboard
val urn: Output<String>