![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.azure.desktopvirtualization.kotlin.ApplicationArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-azure-kotlin Show documentation
Show all versions of pulumi-azure-kotlin Show documentation
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azure.desktopvirtualization.kotlin
import com.pulumi.azure.desktopvirtualization.ApplicationArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Int
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Manages a Virtual Desktop Application.
* ## Example Usage
*
* ```typescript
* 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,
* });
* ```
* ```python
* 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)
* ```
* ```csharp
* 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,
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
* "github.com/pulumi/pulumi-azure/sdk/v5/go/azure/desktopvirtualization"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
* Name: pulumi.String("rg-example-virtualdesktop"),
* Location: pulumi.String("West Europe"),
* })
* if err != nil {
* return err
* }
* pooledbreadthfirst, err := desktopvirtualization.NewHostPool(ctx, "pooledbreadthfirst", &desktopvirtualization.HostPoolArgs{
* Name: pulumi.String("pooledbreadthfirst"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* Type: pulumi.String("Pooled"),
* LoadBalancerType: pulumi.String("BreadthFirst"),
* })
* if err != nil {
* return err
* }
* _, err = desktopvirtualization.NewHostPool(ctx, "personalautomatic", &desktopvirtualization.HostPoolArgs{
* Name: pulumi.String("personalautomatic"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* Type: pulumi.String("Personal"),
* PersonalDesktopAssignmentType: pulumi.String("Automatic"),
* LoadBalancerType: pulumi.String("BreadthFirst"),
* })
* if err != nil {
* return err
* }
* remoteapp, err := desktopvirtualization.NewApplicationGroup(ctx, "remoteapp", &desktopvirtualization.ApplicationGroupArgs{
* Name: pulumi.String("acctag"),
* Location: example.Location,
* ResourceGroupName: example.Name,
* Type: pulumi.String("RemoteApp"),
* HostPoolId: pooledbreadthfirst.ID(),
* FriendlyName: pulumi.String("TestAppGroup"),
* Description: pulumi.String("Acceptance Test: An application group"),
* })
* if err != nil {
* return err
* }
* _, err = desktopvirtualization.NewApplication(ctx, "chrome", &desktopvirtualization.ApplicationArgs{
* Name: pulumi.String("googlechrome"),
* ApplicationGroupId: remoteapp.ID(),
* FriendlyName: pulumi.String("Google Chrome"),
* Description: pulumi.String("Chromium based web browser"),
* Path: pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
* CommandLineArgumentPolicy: pulumi.String("DoNotAllow"),
* CommandLineArguments: pulumi.String("--incognito"),
* ShowInPortal: pulumi.Bool(false),
* IconPath: pulumi.String("C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe"),
* IconIndex: pulumi.Int(0),
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* 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());
* }
* }
* ```
* ```yaml
* 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
* ```
*
* ## 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
* ```
* @property applicationGroupId Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
* @property commandLineArgumentPolicy 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`.
* @property commandLineArguments Command Line Arguments for Virtual Desktop Application.
* @property description Option to set a description for the Virtual Desktop Application.
* @property friendlyName Option to set a friendly name for the Virtual Desktop Application.
* @property iconIndex The index of the icon you wish to use.
* @property iconPath Specifies the path for an icon which will be used for this Virtual Desktop Application.
* @property name The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
* @property path The file path location of the app on the Virtual Desktop OS.
* @property showInPortal Specifies whether to show the RemoteApp program in the RD Web Access server.
*/
public data class ApplicationArgs(
public val applicationGroupId: Output? = null,
public val commandLineArgumentPolicy: Output? = null,
public val commandLineArguments: Output? = null,
public val description: Output? = null,
public val friendlyName: Output? = null,
public val iconIndex: Output? = null,
public val iconPath: Output? = null,
public val name: Output? = null,
public val path: Output? = null,
public val showInPortal: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azure.desktopvirtualization.ApplicationArgs =
com.pulumi.azure.desktopvirtualization.ApplicationArgs.builder()
.applicationGroupId(applicationGroupId?.applyValue({ args0 -> args0 }))
.commandLineArgumentPolicy(commandLineArgumentPolicy?.applyValue({ args0 -> args0 }))
.commandLineArguments(commandLineArguments?.applyValue({ args0 -> args0 }))
.description(description?.applyValue({ args0 -> args0 }))
.friendlyName(friendlyName?.applyValue({ args0 -> args0 }))
.iconIndex(iconIndex?.applyValue({ args0 -> args0 }))
.iconPath(iconPath?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.path(path?.applyValue({ args0 -> args0 }))
.showInPortal(showInPortal?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [ApplicationArgs].
*/
@PulumiTagMarker
public class ApplicationArgsBuilder internal constructor() {
private var applicationGroupId: Output? = null
private var commandLineArgumentPolicy: Output? = null
private var commandLineArguments: Output? = null
private var description: Output? = null
private var friendlyName: Output? = null
private var iconIndex: Output? = null
private var iconPath: Output? = null
private var name: Output? = null
private var path: Output? = null
private var showInPortal: Output? = null
/**
* @param value Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
*/
@JvmName("kbqlavtbengqlfso")
public suspend fun applicationGroupId(`value`: Output) {
this.applicationGroupId = value
}
/**
* @param value 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`.
*/
@JvmName("jyapvggvpimidjdi")
public suspend fun commandLineArgumentPolicy(`value`: Output) {
this.commandLineArgumentPolicy = value
}
/**
* @param value Command Line Arguments for Virtual Desktop Application.
*/
@JvmName("hnlopkioswqyvinl")
public suspend fun commandLineArguments(`value`: Output) {
this.commandLineArguments = value
}
/**
* @param value Option to set a description for the Virtual Desktop Application.
*/
@JvmName("htxxfobunofyccjs")
public suspend fun description(`value`: Output) {
this.description = value
}
/**
* @param value Option to set a friendly name for the Virtual Desktop Application.
*/
@JvmName("qqwgeryvfptbownk")
public suspend fun friendlyName(`value`: Output) {
this.friendlyName = value
}
/**
* @param value The index of the icon you wish to use.
*/
@JvmName("jdwurgrondgcsqfx")
public suspend fun iconIndex(`value`: Output) {
this.iconIndex = value
}
/**
* @param value Specifies the path for an icon which will be used for this Virtual Desktop Application.
*/
@JvmName("jehpomopiblejmke")
public suspend fun iconPath(`value`: Output) {
this.iconPath = value
}
/**
* @param value The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
*/
@JvmName("jjwmcvimprtxftia")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The file path location of the app on the Virtual Desktop OS.
*/
@JvmName("cdcsrniwtjrlefbu")
public suspend fun path(`value`: Output) {
this.path = value
}
/**
* @param value Specifies whether to show the RemoteApp program in the RD Web Access server.
*/
@JvmName("lfqrcnjytklbulns")
public suspend fun showInPortal(`value`: Output) {
this.showInPortal = value
}
/**
* @param value Resource ID for a Virtual Desktop Application Group to associate with the Virtual Desktop Application. Changing this forces a new resource to be created.
*/
@JvmName("gheqjmdmtvhatsdo")
public suspend fun applicationGroupId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.applicationGroupId = mapped
}
/**
* @param value 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`.
*/
@JvmName("vaewfdxfryhtgimv")
public suspend fun commandLineArgumentPolicy(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.commandLineArgumentPolicy = mapped
}
/**
* @param value Command Line Arguments for Virtual Desktop Application.
*/
@JvmName("iifpkbswwfkhemom")
public suspend fun commandLineArguments(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.commandLineArguments = mapped
}
/**
* @param value Option to set a description for the Virtual Desktop Application.
*/
@JvmName("eaqytoavdttmyegr")
public suspend fun description(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.description = mapped
}
/**
* @param value Option to set a friendly name for the Virtual Desktop Application.
*/
@JvmName("plobrifdgldxshcx")
public suspend fun friendlyName(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.friendlyName = mapped
}
/**
* @param value The index of the icon you wish to use.
*/
@JvmName("kpxeqiecnhkuxpdx")
public suspend fun iconIndex(`value`: Int?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iconIndex = mapped
}
/**
* @param value Specifies the path for an icon which will be used for this Virtual Desktop Application.
*/
@JvmName("elmcoxymnutqpelj")
public suspend fun iconPath(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.iconPath = mapped
}
/**
* @param value The name of the Virtual Desktop Application. Changing the name forces a new resource to be created.
*/
@JvmName("mlcbiqcxgaehxile")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The file path location of the app on the Virtual Desktop OS.
*/
@JvmName("uhqkqnfsuqqmlsye")
public suspend fun path(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.path = mapped
}
/**
* @param value Specifies whether to show the RemoteApp program in the RD Web Access server.
*/
@JvmName("dwxhcgqcrevgqbnu")
public suspend fun showInPortal(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.showInPortal = mapped
}
internal fun build(): ApplicationArgs = ApplicationArgs(
applicationGroupId = applicationGroupId,
commandLineArgumentPolicy = commandLineArgumentPolicy,
commandLineArguments = commandLineArguments,
description = description,
friendlyName = friendlyName,
iconIndex = iconIndex,
iconPath = iconPath,
name = name,
path = path,
showInPortal = showInPortal,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy