ApplicationArgs

data class ApplicationArgs(val applicationDefinitionId: Output<String>? = null, val kind: Output<String>? = null, val location: Output<String>? = null, val managedResourceGroupName: Output<String>? = null, val name: Output<String>? = null, val parameterValues: Output<String>? = null, val parameters: Output<Map<String, String>>? = null, val plan: Output<ApplicationPlanArgs>? = null, val resourceGroupName: Output<String>? = null, val tags: Output<Map<String, String>>? = null) : ConvertibleToJava<ApplicationArgs>

Manages a Managed Application.

Example Usage

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.azure.core.CoreFunctions;
import com.pulumi.azure.authorization.AuthorizationFunctions;
import com.pulumi.azure.authorization.inputs.GetRoleDefinitionArgs;
import com.pulumi.azure.core.ResourceGroup;
import com.pulumi.azure.core.ResourceGroupArgs;
import com.pulumi.azure.managedapplication.Definition;
import com.pulumi.azure.managedapplication.DefinitionArgs;
import com.pulumi.azure.managedapplication.inputs.DefinitionAuthorizationArgs;
import com.pulumi.azure.managedapplication.Application;
import com.pulumi.azure.managedapplication.ApplicationArgs;
import static com.pulumi.codegen.internal.Serialization.*;
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) {
final var current = CoreFunctions.getClientConfig();
final var builtin = AuthorizationFunctions.getRoleDefinition(GetRoleDefinitionArgs.builder()
.name("Contributor")
.build());
var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()
.location("West Europe")
.build());
var exampleDefinition = new Definition("exampleDefinition", DefinitionArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.lockLevel("ReadOnly")
.packageFileUri("https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip")
.displayName("TestManagedAppDefinition")
.description("Test Managed App Definition")
.authorizations(DefinitionAuthorizationArgs.builder()
.servicePrincipalId(current.applyValue(getClientConfigResult -> getClientConfigResult.objectId()))
.roleDefinitionId(builtin.applyValue(getRoleDefinitionResult -> getRoleDefinitionResult.id()).split("/")[builtin.applyValue(getRoleDefinitionResult -> getRoleDefinitionResult.id()).split("/").length() - 1])
.build())
.build());
var exampleApplication = new Application("exampleApplication", ApplicationArgs.builder()
.location(exampleResourceGroup.location())
.resourceGroupName(exampleResourceGroup.name())
.kind("ServiceCatalog")
.managedResourceGroupName("infrastructureGroup")
.applicationDefinitionId(exampleDefinition.id())
.parameterValues(exampleResourceGroup.location().applyValue(location -> serializeJson(
jsonObject(
jsonProperty("location", jsonObject(
jsonProperty("value", location)
)),
jsonProperty("storageAccountNamePrefix", jsonObject(
jsonProperty("value", "storeNamePrefix")
)),
jsonProperty("storageAccountType", jsonObject(
jsonProperty("value", "Standard_LRS")
))
))))
.build());
}
}

Import

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

$ pulumi import azure:managedapplication/application:Application example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Solutions/applications/app1

Constructors

Link copied to clipboard
fun ApplicationArgs(applicationDefinitionId: Output<String>? = null, kind: Output<String>? = null, location: Output<String>? = null, managedResourceGroupName: Output<String>? = null, name: Output<String>? = null, parameterValues: Output<String>? = null, parameters: Output<Map<String, String>>? = null, plan: Output<ApplicationPlanArgs>? = null, resourceGroupName: Output<String>? = null, tags: Output<Map<String, String>>? = null)

Functions

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

Properties

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

The application definition ID to deploy.

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

The kind of the managed application to deploy. Possible values are MarketPlace and ServiceCatalog. Changing this forces a new resource to be created.

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

Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

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

The name of the target resource group where all the resources deployed by the managed application will reside. Changing this forces a new resource to be created.

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

Specifies the name of the Managed Application. Changing this forces a new resource to be created.

Link copied to clipboard
val parameters: Output<Map<String, String>>? = null

A mapping of name and value pairs to pass to the managed application as parameters.

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

The parameter values to pass to the Managed Application. This field is a JSON object that allows you to assign parameters to this Managed Application.

Link copied to clipboard
val plan: Output<ApplicationPlanArgs>? = null

One plan block as defined below. Changing this forces a new resource to be created.

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

The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.

Link copied to clipboard
val tags: Output<Map<String, String>>? = null

A mapping of tags to assign to the resource.