ApplicationArgs

data class ApplicationArgs(val applicationGroupId: Output<String>? = null, val commandLineArgumentPolicy: Output<String>? = null, val commandLineArguments: Output<String>? = null, val description: Output<String>? = null, val friendlyName: Output<String>? = null, val iconIndex: Output<Int>? = null, val iconPath: Output<String>? = null, val name: Output<String>? = null, val path: Output<String>? = null, val showInPortal: Output<Boolean>? = null) : ConvertibleToJava<ApplicationArgs>

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

Constructors

Link copied to clipboard
constructor(applicationGroupId: Output<String>? = null, commandLineArgumentPolicy: Output<String>? = null, commandLineArguments: Output<String>? = null, description: Output<String>? = null, friendlyName: Output<String>? = null, iconIndex: Output<Int>? = null, iconPath: Output<String>? = null, name: Output<String>? = null, path: Output<String>? = null, showInPortal: Output<Boolean>? = null)

Properties

Link copied to clipboard
val applicationGroupId: Output<String>? = null

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
val commandLineArgumentPolicy: Output<String>? = null

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
val commandLineArguments: Output<String>? = null

Command Line Arguments for Virtual Desktop Application.

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

Option to set a description for the Virtual Desktop Application.

Link copied to clipboard
val friendlyName: Output<String>? = null

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

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

The index of the icon you wish to use.

Link copied to clipboard
val iconPath: Output<String>? = null

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

Link copied to clipboard
val name: Output<String>? = null

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>? = null

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

Link copied to clipboard
val showInPortal: Output<Boolean>? = null

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

Functions

Link copied to clipboard
open override fun toJava(): ApplicationArgs