Application

class Application : KotlinCustomResource

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

Properties

Link copied to clipboard

The application definition ID to deploy.

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

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>

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

Link copied to clipboard

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>

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

Link copied to clipboard
val outputs: Output<Map<String, String>>

The name and value pairs that define the managed application outputs.

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

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

Link copied to clipboard
val parameterValues: Output<String>

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<ApplicationPlan>?

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>