managedapplication

package
v6.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 30, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Application

type Application struct {
	pulumi.CustomResourceState

	// The application definition ID to deploy.
	ApplicationDefinitionId pulumi.StringPtrOutput `pulumi:"applicationDefinitionId"`
	// The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.
	Kind pulumi.StringOutput `pulumi:"kind"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// 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.
	ManagedResourceGroupName pulumi.StringOutput `pulumi:"managedResourceGroupName"`
	// Specifies the name of the Managed Application. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// The name and value pairs that define the managed application outputs.
	Outputs pulumi.StringMapOutput `pulumi:"outputs"`
	// 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.
	ParameterValues pulumi.StringOutput `pulumi:"parameterValues"`
	// One `plan` block as defined below. Changing this forces a new resource to be created.
	Plan ApplicationPlanPtrOutput `pulumi:"plan"`
	// The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages a Managed Application.

## Example Usage

```go package main

import (

"encoding/json"

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/authorization"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication"
"github.com/pulumi/pulumi-std/sdk/go/std"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		builtin, err := authorization.LookupRoleDefinition(ctx, &authorization.LookupRoleDefinitionArgs{
			Name: pulumi.StringRef("Contributor"),
		}, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		invokeSplit, err := std.Split(ctx, &std.SplitArgs{
			Separator: "/",
			Text:      builtin.Id,
		}, nil)
		if err != nil {
			return err
		}
		invokeSplit1, err := std.Split(ctx, &std.SplitArgs{
			Separator: "/",
			Text:      builtin.Id,
		}, nil)
		if err != nil {
			return err
		}
		exampleDefinition, err := managedapplication.NewDefinition(ctx, "example", &managedapplication.DefinitionArgs{
			Name:              pulumi.String("examplemanagedapplicationdefinition"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			LockLevel:         pulumi.String("ReadOnly"),
			PackageFileUri:    pulumi.String("https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip"),
			DisplayName:       pulumi.String("TestManagedAppDefinition"),
			Description:       pulumi.String("Test Managed App Definition"),
			Authorizations: managedapplication.DefinitionAuthorizationArray{
				&managedapplication.DefinitionAuthorizationArgs{
					ServicePrincipalId: pulumi.String(current.ObjectId),
					RoleDefinitionId:   pulumi.String(invokeSplit.Result[float64(pulumi.Float64(len(invokeSplit1.Result))-1)]),
				},
			},
		})
		if err != nil {
			return err
		}
		_, err = managedapplication.NewApplication(ctx, "example", &managedapplication.ApplicationArgs{
			Name:                     pulumi.String("example-managedapplication"),
			Location:                 example.Location,
			ResourceGroupName:        example.Name,
			Kind:                     pulumi.String("ServiceCatalog"),
			ManagedResourceGroupName: pulumi.String("infrastructureGroup"),
			ApplicationDefinitionId:  exampleDefinition.ID(),
			ParameterValues: example.Location.ApplyT(func(location string) (pulumi.String, error) {
				var _zero pulumi.String
				tmpJSON0, err := json.Marshal(map[string]interface{}{
					"location": map[string]interface{}{
						"value": location,
					},
					"storageAccountNamePrefix": map[string]interface{}{
						"value": "storeNamePrefix",
					},
					"storageAccountType": map[string]interface{}{
						"value": "Standard_LRS",
					},
				})
				if err != nil {
					return _zero, err
				}
				json0 := string(tmpJSON0)
				return pulumi.String(json0), nil
			}).(pulumi.StringOutput),
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

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

func GetApplication

func GetApplication(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *ApplicationState, opts ...pulumi.ResourceOption) (*Application, error)

GetApplication gets an existing Application resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewApplication

func NewApplication(ctx *pulumi.Context,
	name string, args *ApplicationArgs, opts ...pulumi.ResourceOption) (*Application, error)

NewApplication registers a new resource with the given unique name, arguments, and options.

func (*Application) ElementType

func (*Application) ElementType() reflect.Type

func (*Application) ToApplicationOutput

func (i *Application) ToApplicationOutput() ApplicationOutput

func (*Application) ToApplicationOutputWithContext

func (i *Application) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

type ApplicationArgs

type ApplicationArgs struct {
	// The application definition ID to deploy.
	ApplicationDefinitionId pulumi.StringPtrInput
	// The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.
	Kind pulumi.StringInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// 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.
	ManagedResourceGroupName pulumi.StringInput
	// Specifies the name of the Managed Application. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// 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.
	ParameterValues pulumi.StringPtrInput
	// One `plan` block as defined below. Changing this forces a new resource to be created.
	Plan ApplicationPlanPtrInput
	// The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Application resource.

func (ApplicationArgs) ElementType

func (ApplicationArgs) ElementType() reflect.Type

type ApplicationArray

type ApplicationArray []ApplicationInput

func (ApplicationArray) ElementType

func (ApplicationArray) ElementType() reflect.Type

func (ApplicationArray) ToApplicationArrayOutput

func (i ApplicationArray) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArray) ToApplicationArrayOutputWithContext

func (i ApplicationArray) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationArrayInput

type ApplicationArrayInput interface {
	pulumi.Input

	ToApplicationArrayOutput() ApplicationArrayOutput
	ToApplicationArrayOutputWithContext(context.Context) ApplicationArrayOutput
}

ApplicationArrayInput is an input type that accepts ApplicationArray and ApplicationArrayOutput values. You can construct a concrete instance of `ApplicationArrayInput` via:

ApplicationArray{ ApplicationArgs{...} }

type ApplicationArrayOutput

type ApplicationArrayOutput struct{ *pulumi.OutputState }

func (ApplicationArrayOutput) ElementType

func (ApplicationArrayOutput) ElementType() reflect.Type

func (ApplicationArrayOutput) Index

func (ApplicationArrayOutput) ToApplicationArrayOutput

func (o ApplicationArrayOutput) ToApplicationArrayOutput() ApplicationArrayOutput

func (ApplicationArrayOutput) ToApplicationArrayOutputWithContext

func (o ApplicationArrayOutput) ToApplicationArrayOutputWithContext(ctx context.Context) ApplicationArrayOutput

type ApplicationInput

type ApplicationInput interface {
	pulumi.Input

	ToApplicationOutput() ApplicationOutput
	ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput
}

type ApplicationMap

type ApplicationMap map[string]ApplicationInput

func (ApplicationMap) ElementType

func (ApplicationMap) ElementType() reflect.Type

func (ApplicationMap) ToApplicationMapOutput

func (i ApplicationMap) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMap) ToApplicationMapOutputWithContext

func (i ApplicationMap) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationMapInput

type ApplicationMapInput interface {
	pulumi.Input

	ToApplicationMapOutput() ApplicationMapOutput
	ToApplicationMapOutputWithContext(context.Context) ApplicationMapOutput
}

ApplicationMapInput is an input type that accepts ApplicationMap and ApplicationMapOutput values. You can construct a concrete instance of `ApplicationMapInput` via:

ApplicationMap{ "key": ApplicationArgs{...} }

type ApplicationMapOutput

type ApplicationMapOutput struct{ *pulumi.OutputState }

func (ApplicationMapOutput) ElementType

func (ApplicationMapOutput) ElementType() reflect.Type

func (ApplicationMapOutput) MapIndex

func (ApplicationMapOutput) ToApplicationMapOutput

func (o ApplicationMapOutput) ToApplicationMapOutput() ApplicationMapOutput

func (ApplicationMapOutput) ToApplicationMapOutputWithContext

func (o ApplicationMapOutput) ToApplicationMapOutputWithContext(ctx context.Context) ApplicationMapOutput

type ApplicationOutput

type ApplicationOutput struct{ *pulumi.OutputState }

func (ApplicationOutput) ApplicationDefinitionId

func (o ApplicationOutput) ApplicationDefinitionId() pulumi.StringPtrOutput

The application definition ID to deploy.

func (ApplicationOutput) ElementType

func (ApplicationOutput) ElementType() reflect.Type

func (ApplicationOutput) Kind

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

func (ApplicationOutput) Location

func (o ApplicationOutput) Location() pulumi.StringOutput

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

func (ApplicationOutput) ManagedResourceGroupName

func (o ApplicationOutput) ManagedResourceGroupName() pulumi.StringOutput

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.

func (ApplicationOutput) Name

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

func (ApplicationOutput) Outputs

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

func (ApplicationOutput) ParameterValues

func (o ApplicationOutput) ParameterValues() pulumi.StringOutput

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.

func (ApplicationOutput) Plan

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

func (ApplicationOutput) ResourceGroupName

func (o ApplicationOutput) ResourceGroupName() pulumi.StringOutput

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

func (ApplicationOutput) Tags

A mapping of tags to assign to the resource.

func (ApplicationOutput) ToApplicationOutput

func (o ApplicationOutput) ToApplicationOutput() ApplicationOutput

func (ApplicationOutput) ToApplicationOutputWithContext

func (o ApplicationOutput) ToApplicationOutputWithContext(ctx context.Context) ApplicationOutput

type ApplicationPlan

type ApplicationPlan struct {
	// Specifies the name of the plan from the marketplace. Changing this forces a new resource to be created.
	Name string `pulumi:"name"`
	// Specifies the product of the plan from the marketplace. Changing this forces a new resource to be created.
	Product string `pulumi:"product"`
	// Specifies the promotion code to use with the plan. Changing this forces a new resource to be created.
	//
	// > **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Managed Application. The `marketplace.Agreement` resource or AZ CLI tool can be used to do this.
	PromotionCode *string `pulumi:"promotionCode"`
	// Specifies the publisher of the plan. Changing this forces a new resource to be created.
	Publisher string `pulumi:"publisher"`
	// Specifies the version of the plan from the marketplace. Changing this forces a new resource to be created.
	Version string `pulumi:"version"`
}

type ApplicationPlanArgs

type ApplicationPlanArgs struct {
	// Specifies the name of the plan from the marketplace. Changing this forces a new resource to be created.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the product of the plan from the marketplace. Changing this forces a new resource to be created.
	Product pulumi.StringInput `pulumi:"product"`
	// Specifies the promotion code to use with the plan. Changing this forces a new resource to be created.
	//
	// > **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Managed Application. The `marketplace.Agreement` resource or AZ CLI tool can be used to do this.
	PromotionCode pulumi.StringPtrInput `pulumi:"promotionCode"`
	// Specifies the publisher of the plan. Changing this forces a new resource to be created.
	Publisher pulumi.StringInput `pulumi:"publisher"`
	// Specifies the version of the plan from the marketplace. Changing this forces a new resource to be created.
	Version pulumi.StringInput `pulumi:"version"`
}

func (ApplicationPlanArgs) ElementType

func (ApplicationPlanArgs) ElementType() reflect.Type

func (ApplicationPlanArgs) ToApplicationPlanOutput

func (i ApplicationPlanArgs) ToApplicationPlanOutput() ApplicationPlanOutput

func (ApplicationPlanArgs) ToApplicationPlanOutputWithContext

func (i ApplicationPlanArgs) ToApplicationPlanOutputWithContext(ctx context.Context) ApplicationPlanOutput

func (ApplicationPlanArgs) ToApplicationPlanPtrOutput

func (i ApplicationPlanArgs) ToApplicationPlanPtrOutput() ApplicationPlanPtrOutput

func (ApplicationPlanArgs) ToApplicationPlanPtrOutputWithContext

func (i ApplicationPlanArgs) ToApplicationPlanPtrOutputWithContext(ctx context.Context) ApplicationPlanPtrOutput

type ApplicationPlanInput

type ApplicationPlanInput interface {
	pulumi.Input

	ToApplicationPlanOutput() ApplicationPlanOutput
	ToApplicationPlanOutputWithContext(context.Context) ApplicationPlanOutput
}

ApplicationPlanInput is an input type that accepts ApplicationPlanArgs and ApplicationPlanOutput values. You can construct a concrete instance of `ApplicationPlanInput` via:

ApplicationPlanArgs{...}

type ApplicationPlanOutput

type ApplicationPlanOutput struct{ *pulumi.OutputState }

func (ApplicationPlanOutput) ElementType

func (ApplicationPlanOutput) ElementType() reflect.Type

func (ApplicationPlanOutput) Name

Specifies the name of the plan from the marketplace. Changing this forces a new resource to be created.

func (ApplicationPlanOutput) Product

Specifies the product of the plan from the marketplace. Changing this forces a new resource to be created.

func (ApplicationPlanOutput) PromotionCode

func (o ApplicationPlanOutput) PromotionCode() pulumi.StringPtrOutput

Specifies the promotion code to use with the plan. Changing this forces a new resource to be created.

> **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Managed Application. The `marketplace.Agreement` resource or AZ CLI tool can be used to do this.

func (ApplicationPlanOutput) Publisher

Specifies the publisher of the plan. Changing this forces a new resource to be created.

func (ApplicationPlanOutput) ToApplicationPlanOutput

func (o ApplicationPlanOutput) ToApplicationPlanOutput() ApplicationPlanOutput

func (ApplicationPlanOutput) ToApplicationPlanOutputWithContext

func (o ApplicationPlanOutput) ToApplicationPlanOutputWithContext(ctx context.Context) ApplicationPlanOutput

func (ApplicationPlanOutput) ToApplicationPlanPtrOutput

func (o ApplicationPlanOutput) ToApplicationPlanPtrOutput() ApplicationPlanPtrOutput

func (ApplicationPlanOutput) ToApplicationPlanPtrOutputWithContext

func (o ApplicationPlanOutput) ToApplicationPlanPtrOutputWithContext(ctx context.Context) ApplicationPlanPtrOutput

func (ApplicationPlanOutput) Version

Specifies the version of the plan from the marketplace. Changing this forces a new resource to be created.

type ApplicationPlanPtrInput

type ApplicationPlanPtrInput interface {
	pulumi.Input

	ToApplicationPlanPtrOutput() ApplicationPlanPtrOutput
	ToApplicationPlanPtrOutputWithContext(context.Context) ApplicationPlanPtrOutput
}

ApplicationPlanPtrInput is an input type that accepts ApplicationPlanArgs, ApplicationPlanPtr and ApplicationPlanPtrOutput values. You can construct a concrete instance of `ApplicationPlanPtrInput` via:

        ApplicationPlanArgs{...}

or:

        nil

type ApplicationPlanPtrOutput

type ApplicationPlanPtrOutput struct{ *pulumi.OutputState }

func (ApplicationPlanPtrOutput) Elem

func (ApplicationPlanPtrOutput) ElementType

func (ApplicationPlanPtrOutput) ElementType() reflect.Type

func (ApplicationPlanPtrOutput) Name

Specifies the name of the plan from the marketplace. Changing this forces a new resource to be created.

func (ApplicationPlanPtrOutput) Product

Specifies the product of the plan from the marketplace. Changing this forces a new resource to be created.

func (ApplicationPlanPtrOutput) PromotionCode

Specifies the promotion code to use with the plan. Changing this forces a new resource to be created.

> **NOTE:** When `plan` is specified, legal terms must be accepted for this item on this subscription before creating the Managed Application. The `marketplace.Agreement` resource or AZ CLI tool can be used to do this.

func (ApplicationPlanPtrOutput) Publisher

Specifies the publisher of the plan. Changing this forces a new resource to be created.

func (ApplicationPlanPtrOutput) ToApplicationPlanPtrOutput

func (o ApplicationPlanPtrOutput) ToApplicationPlanPtrOutput() ApplicationPlanPtrOutput

func (ApplicationPlanPtrOutput) ToApplicationPlanPtrOutputWithContext

func (o ApplicationPlanPtrOutput) ToApplicationPlanPtrOutputWithContext(ctx context.Context) ApplicationPlanPtrOutput

func (ApplicationPlanPtrOutput) Version

Specifies the version of the plan from the marketplace. Changing this forces a new resource to be created.

type ApplicationState

type ApplicationState struct {
	// The application definition ID to deploy.
	ApplicationDefinitionId pulumi.StringPtrInput
	// The kind of the managed application to deploy. Possible values are `MarketPlace` and `ServiceCatalog`. Changing this forces a new resource to be created.
	Kind pulumi.StringPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// 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.
	ManagedResourceGroupName pulumi.StringPtrInput
	// Specifies the name of the Managed Application. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// The name and value pairs that define the managed application outputs.
	Outputs pulumi.StringMapInput
	// 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.
	ParameterValues pulumi.StringPtrInput
	// One `plan` block as defined below. Changing this forces a new resource to be created.
	Plan ApplicationPlanPtrInput
	// The name of the Resource Group where the Managed Application should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	Tags pulumi.StringMapInput
}

func (ApplicationState) ElementType

func (ApplicationState) ElementType() reflect.Type

type Definition

type Definition struct {
	pulumi.CustomResourceState

	// One or more `authorization` block defined below.
	Authorizations DefinitionAuthorizationArrayOutput `pulumi:"authorizations"`
	// Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.
	CreateUiDefinition pulumi.StringPtrOutput `pulumi:"createUiDefinition"`
	// Specifies the managed application definition description.
	Description pulumi.StringPtrOutput `pulumi:"description"`
	// Specifies the managed application definition display name.
	DisplayName pulumi.StringOutput `pulumi:"displayName"`
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringOutput `pulumi:"location"`
	// Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.
	LockLevel pulumi.StringOutput `pulumi:"lockLevel"`
	// Specifies the inline main template JSON which has resources to be provisioned.
	MainTemplate pulumi.StringPtrOutput `pulumi:"mainTemplate"`
	// Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.
	Name pulumi.StringOutput `pulumi:"name"`
	// Is the package enabled? Defaults to `true`.
	PackageEnabled pulumi.BoolPtrOutput `pulumi:"packageEnabled"`
	// Specifies the managed application definition package file Uri.
	PackageFileUri pulumi.StringPtrOutput `pulumi:"packageFileUri"`
	// The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringOutput `pulumi:"resourceGroupName"`
	// A mapping of tags to assign to the resource.
	//
	// > **NOTE:** If either `createUiDefinition` or `mainTemplate` is set they both must be set.
	Tags pulumi.StringMapOutput `pulumi:"tags"`
}

Manages a Managed Application Definition.

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		current, err := core.GetClientConfig(ctx, nil, nil)
		if err != nil {
			return err
		}
		example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
			Name:     pulumi.String("example-resources"),
			Location: pulumi.String("West Europe"),
		})
		if err != nil {
			return err
		}
		_, err = managedapplication.NewDefinition(ctx, "example", &managedapplication.DefinitionArgs{
			Name:              pulumi.String("examplemanagedapplicationdefinition"),
			Location:          example.Location,
			ResourceGroupName: example.Name,
			LockLevel:         pulumi.String("ReadOnly"),
			PackageFileUri:    pulumi.String("https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip"),
			DisplayName:       pulumi.String("TestManagedApplicationDefinition"),
			Description:       pulumi.String("Test Managed Application Definition"),
			Authorizations: managedapplication.DefinitionAuthorizationArray{
				&managedapplication.DefinitionAuthorizationArgs{
					ServicePrincipalId: pulumi.String(current.ObjectId),
					RoleDefinitionId:   pulumi.String("a094b430-dad3-424d-ae58-13f72fd72591"),
				},
			},
		})
		if err != nil {
			return err
		}
		return nil
	})
}

```

## Import

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

```sh $ pulumi import azure:managedapplication/definition:Definition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.Solutions/applicationDefinitions/appDefinition1 ```

func GetDefinition

func GetDefinition(ctx *pulumi.Context,
	name string, id pulumi.IDInput, state *DefinitionState, opts ...pulumi.ResourceOption) (*Definition, error)

GetDefinition gets an existing Definition resource's state with the given name, ID, and optional state properties that are used to uniquely qualify the lookup (nil if not required).

func NewDefinition

func NewDefinition(ctx *pulumi.Context,
	name string, args *DefinitionArgs, opts ...pulumi.ResourceOption) (*Definition, error)

NewDefinition registers a new resource with the given unique name, arguments, and options.

func (*Definition) ElementType

func (*Definition) ElementType() reflect.Type

func (*Definition) ToDefinitionOutput

func (i *Definition) ToDefinitionOutput() DefinitionOutput

func (*Definition) ToDefinitionOutputWithContext

func (i *Definition) ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput

type DefinitionArgs

type DefinitionArgs struct {
	// One or more `authorization` block defined below.
	Authorizations DefinitionAuthorizationArrayInput
	// Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.
	CreateUiDefinition pulumi.StringPtrInput
	// Specifies the managed application definition description.
	Description pulumi.StringPtrInput
	// Specifies the managed application definition display name.
	DisplayName pulumi.StringInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.
	LockLevel pulumi.StringInput
	// Specifies the inline main template JSON which has resources to be provisioned.
	MainTemplate pulumi.StringPtrInput
	// Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Is the package enabled? Defaults to `true`.
	PackageEnabled pulumi.BoolPtrInput
	// Specifies the managed application definition package file Uri.
	PackageFileUri pulumi.StringPtrInput
	// The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringInput
	// A mapping of tags to assign to the resource.
	//
	// > **NOTE:** If either `createUiDefinition` or `mainTemplate` is set they both must be set.
	Tags pulumi.StringMapInput
}

The set of arguments for constructing a Definition resource.

func (DefinitionArgs) ElementType

func (DefinitionArgs) ElementType() reflect.Type

type DefinitionArray

type DefinitionArray []DefinitionInput

func (DefinitionArray) ElementType

func (DefinitionArray) ElementType() reflect.Type

func (DefinitionArray) ToDefinitionArrayOutput

func (i DefinitionArray) ToDefinitionArrayOutput() DefinitionArrayOutput

func (DefinitionArray) ToDefinitionArrayOutputWithContext

func (i DefinitionArray) ToDefinitionArrayOutputWithContext(ctx context.Context) DefinitionArrayOutput

type DefinitionArrayInput

type DefinitionArrayInput interface {
	pulumi.Input

	ToDefinitionArrayOutput() DefinitionArrayOutput
	ToDefinitionArrayOutputWithContext(context.Context) DefinitionArrayOutput
}

DefinitionArrayInput is an input type that accepts DefinitionArray and DefinitionArrayOutput values. You can construct a concrete instance of `DefinitionArrayInput` via:

DefinitionArray{ DefinitionArgs{...} }

type DefinitionArrayOutput

type DefinitionArrayOutput struct{ *pulumi.OutputState }

func (DefinitionArrayOutput) ElementType

func (DefinitionArrayOutput) ElementType() reflect.Type

func (DefinitionArrayOutput) Index

func (DefinitionArrayOutput) ToDefinitionArrayOutput

func (o DefinitionArrayOutput) ToDefinitionArrayOutput() DefinitionArrayOutput

func (DefinitionArrayOutput) ToDefinitionArrayOutputWithContext

func (o DefinitionArrayOutput) ToDefinitionArrayOutputWithContext(ctx context.Context) DefinitionArrayOutput

type DefinitionAuthorization

type DefinitionAuthorization struct {
	// Specifies a role definition identifier for the provider. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.
	RoleDefinitionId string `pulumi:"roleDefinitionId"`
	// Specifies a service principal identifier for the provider. This is the identity that the provider will use to call ARM to manage the managed application resources.
	ServicePrincipalId string `pulumi:"servicePrincipalId"`
}

type DefinitionAuthorizationArgs

type DefinitionAuthorizationArgs struct {
	// Specifies a role definition identifier for the provider. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.
	RoleDefinitionId pulumi.StringInput `pulumi:"roleDefinitionId"`
	// Specifies a service principal identifier for the provider. This is the identity that the provider will use to call ARM to manage the managed application resources.
	ServicePrincipalId pulumi.StringInput `pulumi:"servicePrincipalId"`
}

func (DefinitionAuthorizationArgs) ElementType

func (DefinitionAuthorizationArgs) ToDefinitionAuthorizationOutput

func (i DefinitionAuthorizationArgs) ToDefinitionAuthorizationOutput() DefinitionAuthorizationOutput

func (DefinitionAuthorizationArgs) ToDefinitionAuthorizationOutputWithContext

func (i DefinitionAuthorizationArgs) ToDefinitionAuthorizationOutputWithContext(ctx context.Context) DefinitionAuthorizationOutput

type DefinitionAuthorizationArray

type DefinitionAuthorizationArray []DefinitionAuthorizationInput

func (DefinitionAuthorizationArray) ElementType

func (DefinitionAuthorizationArray) ToDefinitionAuthorizationArrayOutput

func (i DefinitionAuthorizationArray) ToDefinitionAuthorizationArrayOutput() DefinitionAuthorizationArrayOutput

func (DefinitionAuthorizationArray) ToDefinitionAuthorizationArrayOutputWithContext

func (i DefinitionAuthorizationArray) ToDefinitionAuthorizationArrayOutputWithContext(ctx context.Context) DefinitionAuthorizationArrayOutput

type DefinitionAuthorizationArrayInput

type DefinitionAuthorizationArrayInput interface {
	pulumi.Input

	ToDefinitionAuthorizationArrayOutput() DefinitionAuthorizationArrayOutput
	ToDefinitionAuthorizationArrayOutputWithContext(context.Context) DefinitionAuthorizationArrayOutput
}

DefinitionAuthorizationArrayInput is an input type that accepts DefinitionAuthorizationArray and DefinitionAuthorizationArrayOutput values. You can construct a concrete instance of `DefinitionAuthorizationArrayInput` via:

DefinitionAuthorizationArray{ DefinitionAuthorizationArgs{...} }

type DefinitionAuthorizationArrayOutput

type DefinitionAuthorizationArrayOutput struct{ *pulumi.OutputState }

func (DefinitionAuthorizationArrayOutput) ElementType

func (DefinitionAuthorizationArrayOutput) Index

func (DefinitionAuthorizationArrayOutput) ToDefinitionAuthorizationArrayOutput

func (o DefinitionAuthorizationArrayOutput) ToDefinitionAuthorizationArrayOutput() DefinitionAuthorizationArrayOutput

func (DefinitionAuthorizationArrayOutput) ToDefinitionAuthorizationArrayOutputWithContext

func (o DefinitionAuthorizationArrayOutput) ToDefinitionAuthorizationArrayOutputWithContext(ctx context.Context) DefinitionAuthorizationArrayOutput

type DefinitionAuthorizationInput

type DefinitionAuthorizationInput interface {
	pulumi.Input

	ToDefinitionAuthorizationOutput() DefinitionAuthorizationOutput
	ToDefinitionAuthorizationOutputWithContext(context.Context) DefinitionAuthorizationOutput
}

DefinitionAuthorizationInput is an input type that accepts DefinitionAuthorizationArgs and DefinitionAuthorizationOutput values. You can construct a concrete instance of `DefinitionAuthorizationInput` via:

DefinitionAuthorizationArgs{...}

type DefinitionAuthorizationOutput

type DefinitionAuthorizationOutput struct{ *pulumi.OutputState }

func (DefinitionAuthorizationOutput) ElementType

func (DefinitionAuthorizationOutput) RoleDefinitionId

func (o DefinitionAuthorizationOutput) RoleDefinitionId() pulumi.StringOutput

Specifies a role definition identifier for the provider. This role will define all the permissions that the provider must have on the managed application's container resource group. This role definition cannot have permission to delete the resource group.

func (DefinitionAuthorizationOutput) ServicePrincipalId

func (o DefinitionAuthorizationOutput) ServicePrincipalId() pulumi.StringOutput

Specifies a service principal identifier for the provider. This is the identity that the provider will use to call ARM to manage the managed application resources.

func (DefinitionAuthorizationOutput) ToDefinitionAuthorizationOutput

func (o DefinitionAuthorizationOutput) ToDefinitionAuthorizationOutput() DefinitionAuthorizationOutput

func (DefinitionAuthorizationOutput) ToDefinitionAuthorizationOutputWithContext

func (o DefinitionAuthorizationOutput) ToDefinitionAuthorizationOutputWithContext(ctx context.Context) DefinitionAuthorizationOutput

type DefinitionInput

type DefinitionInput interface {
	pulumi.Input

	ToDefinitionOutput() DefinitionOutput
	ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput
}

type DefinitionMap

type DefinitionMap map[string]DefinitionInput

func (DefinitionMap) ElementType

func (DefinitionMap) ElementType() reflect.Type

func (DefinitionMap) ToDefinitionMapOutput

func (i DefinitionMap) ToDefinitionMapOutput() DefinitionMapOutput

func (DefinitionMap) ToDefinitionMapOutputWithContext

func (i DefinitionMap) ToDefinitionMapOutputWithContext(ctx context.Context) DefinitionMapOutput

type DefinitionMapInput

type DefinitionMapInput interface {
	pulumi.Input

	ToDefinitionMapOutput() DefinitionMapOutput
	ToDefinitionMapOutputWithContext(context.Context) DefinitionMapOutput
}

DefinitionMapInput is an input type that accepts DefinitionMap and DefinitionMapOutput values. You can construct a concrete instance of `DefinitionMapInput` via:

DefinitionMap{ "key": DefinitionArgs{...} }

type DefinitionMapOutput

type DefinitionMapOutput struct{ *pulumi.OutputState }

func (DefinitionMapOutput) ElementType

func (DefinitionMapOutput) ElementType() reflect.Type

func (DefinitionMapOutput) MapIndex

func (DefinitionMapOutput) ToDefinitionMapOutput

func (o DefinitionMapOutput) ToDefinitionMapOutput() DefinitionMapOutput

func (DefinitionMapOutput) ToDefinitionMapOutputWithContext

func (o DefinitionMapOutput) ToDefinitionMapOutputWithContext(ctx context.Context) DefinitionMapOutput

type DefinitionOutput

type DefinitionOutput struct{ *pulumi.OutputState }

func (DefinitionOutput) Authorizations

One or more `authorization` block defined below.

func (DefinitionOutput) CreateUiDefinition

func (o DefinitionOutput) CreateUiDefinition() pulumi.StringPtrOutput

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

func (DefinitionOutput) Description

func (o DefinitionOutput) Description() pulumi.StringPtrOutput

Specifies the managed application definition description.

func (DefinitionOutput) DisplayName

func (o DefinitionOutput) DisplayName() pulumi.StringOutput

Specifies the managed application definition display name.

func (DefinitionOutput) ElementType

func (DefinitionOutput) ElementType() reflect.Type

func (DefinitionOutput) Location

func (o DefinitionOutput) Location() pulumi.StringOutput

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

func (DefinitionOutput) LockLevel

func (o DefinitionOutput) LockLevel() pulumi.StringOutput

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

func (DefinitionOutput) MainTemplate

func (o DefinitionOutput) MainTemplate() pulumi.StringPtrOutput

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

func (DefinitionOutput) Name

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

func (DefinitionOutput) PackageEnabled

func (o DefinitionOutput) PackageEnabled() pulumi.BoolPtrOutput

Is the package enabled? Defaults to `true`.

func (DefinitionOutput) PackageFileUri

func (o DefinitionOutput) PackageFileUri() pulumi.StringPtrOutput

Specifies the managed application definition package file Uri.

func (DefinitionOutput) ResourceGroupName

func (o DefinitionOutput) ResourceGroupName() pulumi.StringOutput

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

func (DefinitionOutput) Tags

A mapping of tags to assign to the resource.

> **NOTE:** If either `createUiDefinition` or `mainTemplate` is set they both must be set.

func (DefinitionOutput) ToDefinitionOutput

func (o DefinitionOutput) ToDefinitionOutput() DefinitionOutput

func (DefinitionOutput) ToDefinitionOutputWithContext

func (o DefinitionOutput) ToDefinitionOutputWithContext(ctx context.Context) DefinitionOutput

type DefinitionState

type DefinitionState struct {
	// One or more `authorization` block defined below.
	Authorizations DefinitionAuthorizationArrayInput
	// Specifies the `createUiDefinition` JSON for the backing template with `Microsoft.Solutions/applications` resource.
	CreateUiDefinition pulumi.StringPtrInput
	// Specifies the managed application definition description.
	Description pulumi.StringPtrInput
	// Specifies the managed application definition display name.
	DisplayName pulumi.StringPtrInput
	// Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.
	Location pulumi.StringPtrInput
	// Specifies the managed application lock level. Valid values include `CanNotDelete`, `None`, `ReadOnly`. Changing this forces a new resource to be created.
	LockLevel pulumi.StringPtrInput
	// Specifies the inline main template JSON which has resources to be provisioned.
	MainTemplate pulumi.StringPtrInput
	// Specifies the name of the Managed Application Definition. Changing this forces a new resource to be created.
	Name pulumi.StringPtrInput
	// Is the package enabled? Defaults to `true`.
	PackageEnabled pulumi.BoolPtrInput
	// Specifies the managed application definition package file Uri.
	PackageFileUri pulumi.StringPtrInput
	// The name of the Resource Group where the Managed Application Definition should exist. Changing this forces a new resource to be created.
	ResourceGroupName pulumi.StringPtrInput
	// A mapping of tags to assign to the resource.
	//
	// > **NOTE:** If either `createUiDefinition` or `mainTemplate` is set they both must be set.
	Tags pulumi.StringMapInput
}

func (DefinitionState) ElementType

func (DefinitionState) ElementType() reflect.Type

type LookupDefinitionArgs

type LookupDefinitionArgs struct {
	// Specifies the name of the Managed Application Definition.
	Name string `pulumi:"name"`
	// Specifies the name of the Resource Group where this Managed Application Definition exists.
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getDefinition.

type LookupDefinitionOutputArgs

type LookupDefinitionOutputArgs struct {
	// Specifies the name of the Managed Application Definition.
	Name pulumi.StringInput `pulumi:"name"`
	// Specifies the name of the Resource Group where this Managed Application Definition exists.
	ResourceGroupName pulumi.StringInput `pulumi:"resourceGroupName"`
}

A collection of arguments for invoking getDefinition.

func (LookupDefinitionOutputArgs) ElementType

func (LookupDefinitionOutputArgs) ElementType() reflect.Type

type LookupDefinitionResult

type LookupDefinitionResult struct {
	// The provider-assigned unique ID for this managed resource.
	Id                string `pulumi:"id"`
	Location          string `pulumi:"location"`
	Name              string `pulumi:"name"`
	ResourceGroupName string `pulumi:"resourceGroupName"`
}

A collection of values returned by getDefinition.

func LookupDefinition

func LookupDefinition(ctx *pulumi.Context, args *LookupDefinitionArgs, opts ...pulumi.InvokeOption) (*LookupDefinitionResult, error)

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

## Example Usage

```go package main

import (

"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/managedapplication"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"

)

func main() {
	pulumi.Run(func(ctx *pulumi.Context) error {
		example, err := managedapplication.LookupDefinition(ctx, &managedapplication.LookupDefinitionArgs{
			Name:              "examplemanagedappdef",
			ResourceGroupName: "exampleresources",
		}, nil)
		if err != nil {
			return err
		}
		ctx.Export("id", example.Id)
		return nil
	})
}

```

type LookupDefinitionResultOutput

type LookupDefinitionResultOutput struct{ *pulumi.OutputState }

A collection of values returned by getDefinition.

func (LookupDefinitionResultOutput) ElementType

func (LookupDefinitionResultOutput) Id

The provider-assigned unique ID for this managed resource.

func (LookupDefinitionResultOutput) Location

func (LookupDefinitionResultOutput) Name

func (LookupDefinitionResultOutput) ResourceGroupName

func (o LookupDefinitionResultOutput) ResourceGroupName() pulumi.StringOutput

func (LookupDefinitionResultOutput) ToLookupDefinitionResultOutput

func (o LookupDefinitionResultOutput) ToLookupDefinitionResultOutput() LookupDefinitionResultOutput

func (LookupDefinitionResultOutput) ToLookupDefinitionResultOutputWithContext

func (o LookupDefinitionResultOutput) ToLookupDefinitionResultOutputWithContext(ctx context.Context) LookupDefinitionResultOutput

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL