Module managedapplication

This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource Application

class Application extends CustomResource

Manages a Managed Application.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const current = azure.core.getClientConfig({});
const builtin = azure.authorization.getRoleDefinition({
    name: "Contributor",
});
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleDefinition = new azure.managedapplication.Definition("exampleDefinition", {
    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",
    authorization: [{
        servicePrincipalId: current.then(current => current.objectId),
        roleDefinitionId: Promise.all([builtin, builtin.then(builtin => builtin.id.split("/")).length]).then(([builtin, length]) => builtin.id.split("/")[length - 1]),
    }],
});
const exampleApplication = new azure.managedapplication.Application("exampleApplication", {
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
    kind: "ServiceCatalog",
    managedResourceGroupName: "infrastructureGroup",
    applicationDefinitionId: exampleDefinition.id,
    parameters: {
        location: exampleResourceGroup.location,
        storageAccountNamePrefix: "storeNamePrefix",
        storageAccountType: "Standard_LRS",
    },
});

constructor

new Application(name: string, args: ApplicationArgs, opts?: pulumi.CustomResourceOptions)

Create a Application resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ApplicationState, opts?: pulumi.CustomResourceOptions): Application

Get an existing Application resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Application

Returns true if the given object is an instance of Application. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property applicationDefinitionId

public applicationDefinitionId: pulumi.Output<string | undefined>;

The application definition ID to deploy.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kind

public kind: pulumi.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.

property location

public location: pulumi.Output<string>;

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

property managedResourceGroupName

public managedResourceGroupName: pulumi.Output<string>;

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.

property name

public name: pulumi.Output<string>;

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

property outputs

public outputs: pulumi.Output<{[key: string]: string}>;

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

property parameters

public parameters: pulumi.Output<{[key: string]: string} | undefined>;

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

property plan

public plan: pulumi.Output<ApplicationPlan | undefined>;

One plan block as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

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

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Resource Definition

class Definition extends CustomResource

Manages a Managed Application Definition.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const current = azure.core.getClientConfig({});
const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleDefinition = new azure.managedapplication.Definition("exampleDefinition", {
    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: "TestManagedApplicationDefinition",
    description: "Test Managed Application Definition",
    authorization: [{
        servicePrincipalId: current.then(current => current.objectId),
        roleDefinitionId: "a094b430-dad3-424d-ae58-13f72fd72591",
    }],
});

constructor

new Definition(name: string, args: DefinitionArgs, opts?: pulumi.CustomResourceOptions)

Create a Definition resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DefinitionState, opts?: pulumi.CustomResourceOptions): Definition

Get an existing Definition resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Definition

Returns true if the given object is an instance of Definition. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property authorizations

public authorizations: pulumi.Output<DefinitionAuthorization[] | undefined>;

One or more authorization block defined below.

property createUiDefinition

public createUiDefinition: pulumi.Output<string | undefined>;

Specifies the createUiDefinition json for the backing template with Microsoft.Solutions/applications resource.

property description

public description: pulumi.Output<string | undefined>;

Specifies the managed application definition description.

property displayName

public displayName: pulumi.Output<string>;

Specifies the managed application definition display name.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property location

public location: pulumi.Output<string>;

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

property lockLevel

public lockLevel: pulumi.Output<string>;

Specifies the managed application lock level. Valid values include CanNotDelete, None, ReadOnly. Changing this forces a new resource to be created.

property mainTemplate

public mainTemplate: pulumi.Output<string | undefined>;

Specifies the inline main template json which has resources to be provisioned.

property name

public name: pulumi.Output<string>;

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

property packageEnabled

public packageEnabled: pulumi.Output<boolean | undefined>;

Is the package enabled? Defaults to true.

property packageFileUri

public packageFileUri: pulumi.Output<string | undefined>;

Specifies the managed application definition package file Uri.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

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

property tags

public tags: pulumi.Output<{[key: string]: string} | undefined>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

Functions

Function getDefinition

getDefinition(args: GetDefinitionArgs, opts?: pulumi.InvokeOptions): Promise<GetDefinitionResult>

Uses this data source to access information about an existing Managed Application Definition.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const example = azure.managedapplication.getDefinition({
    name: "example-managedappdef",
    resourceGroupName: "example-resources",
});
export const id = example.then(example => example.id);

Others

interface ApplicationArgs

interface ApplicationArgs

The set of arguments for constructing a Application resource.

property applicationDefinitionId

applicationDefinitionId?: pulumi.Input<string>;

The application definition ID to deploy.

property kind

kind: pulumi.Input<string>;

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

property location

location?: pulumi.Input<string>;

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

property managedResourceGroupName

managedResourceGroupName: pulumi.Input<string>;

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.

property name

name?: pulumi.Input<string>;

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

property parameters

parameters?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property plan

plan?: pulumi.Input<ApplicationPlan>;

One plan block as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface ApplicationState

interface ApplicationState

Input properties used for looking up and filtering Application resources.

property applicationDefinitionId

applicationDefinitionId?: pulumi.Input<string>;

The application definition ID to deploy.

property kind

kind?: pulumi.Input<string>;

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

property location

location?: pulumi.Input<string>;

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

property managedResourceGroupName

managedResourceGroupName?: pulumi.Input<string>;

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.

property name

name?: pulumi.Input<string>;

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

property outputs

outputs?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property parameters

parameters?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

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

property plan

plan?: pulumi.Input<ApplicationPlan>;

One plan block as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface DefinitionArgs

interface DefinitionArgs

The set of arguments for constructing a Definition resource.

property authorizations

authorizations?: pulumi.Input<pulumi.Input<DefinitionAuthorization>[]>;

One or more authorization block defined below.

property createUiDefinition

createUiDefinition?: pulumi.Input<string>;

Specifies the createUiDefinition json for the backing template with Microsoft.Solutions/applications resource.

property description

description?: pulumi.Input<string>;

Specifies the managed application definition description.

property displayName

displayName: pulumi.Input<string>;

Specifies the managed application definition display name.

property location

location?: pulumi.Input<string>;

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

property lockLevel

lockLevel: pulumi.Input<string>;

Specifies the managed application lock level. Valid values include CanNotDelete, None, ReadOnly. Changing this forces a new resource to be created.

property mainTemplate

mainTemplate?: pulumi.Input<string>;

Specifies the inline main template json which has resources to be provisioned.

property name

name?: pulumi.Input<string>;

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

property packageEnabled

packageEnabled?: pulumi.Input<boolean>;

Is the package enabled? Defaults to true.

property packageFileUri

packageFileUri?: pulumi.Input<string>;

Specifies the managed application definition package file Uri.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface DefinitionState

interface DefinitionState

Input properties used for looking up and filtering Definition resources.

property authorizations

authorizations?: pulumi.Input<pulumi.Input<DefinitionAuthorization>[]>;

One or more authorization block defined below.

property createUiDefinition

createUiDefinition?: pulumi.Input<string>;

Specifies the createUiDefinition json for the backing template with Microsoft.Solutions/applications resource.

property description

description?: pulumi.Input<string>;

Specifies the managed application definition description.

property displayName

displayName?: pulumi.Input<string>;

Specifies the managed application definition display name.

property location

location?: pulumi.Input<string>;

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

property lockLevel

lockLevel?: pulumi.Input<string>;

Specifies the managed application lock level. Valid values include CanNotDelete, None, ReadOnly. Changing this forces a new resource to be created.

property mainTemplate

mainTemplate?: pulumi.Input<string>;

Specifies the inline main template json which has resources to be provisioned.

property name

name?: pulumi.Input<string>;

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

property packageEnabled

packageEnabled?: pulumi.Input<boolean>;

Is the package enabled? Defaults to true.

property packageFileUri

packageFileUri?: pulumi.Input<string>;

Specifies the managed application definition package file Uri.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

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

property tags

tags?: pulumi.Input<{[key: string]: pulumi.Input<string>}>;

A mapping of tags to assign to the resource.

interface GetDefinitionArgs

interface GetDefinitionArgs

A collection of arguments for invoking getDefinition.

property name

name: string;

Specifies the name of the Managed Application Definition.

property resourceGroupName

resourceGroupName: string;

Specifies the name of the Resource Group where this Managed Application Definition exists.

interface GetDefinitionResult

interface GetDefinitionResult

A collection of values returned by getDefinition.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property location

location: string;

property name

name: string;

property resourceGroupName

resourceGroupName: string;