Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Bicep resource definition
The applicationDefinitions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Solutions/applicationDefinitions resource, add the following Bicep to your template.
resource symbolicname 'Microsoft.Solutions/applicationDefinitions@2017-12-01' = {
scope: resourceSymbolicName or scope
identity: {
type: 'SystemAssigned'
}
___location: 'string'
managedBy: 'string'
name: 'string'
properties: {
artifacts: [
{
name: 'string'
type: 'string'
uri: 'string'
}
]
authorizations: [
{
principalId: 'string'
roleDefinitionId: 'string'
}
]
createUiDefinition: any(...)
description: 'string'
displayName: 'string'
isEnabled: 'string'
lockLevel: 'string'
mainTemplate: any(...)
packageFileUri: 'string'
}
sku: {
capacity: int
family: 'string'
model: 'string'
name: 'string'
size: 'string'
tier: 'string'
}
tags: {
{customized property}: 'string'
}
}
Property Values
Microsoft.Solutions/applicationDefinitions
| Name | Description | Value |
|---|---|---|
| identity | The identity of the resource. | Identity |
| ___location | Resource ___location | string |
| managedBy | ID of the resource that manages this resource. | string |
| name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
| properties | The managed application definition properties. | ApplicationDefinitionProperties (required) |
| scope | Use when creating a resource at a scope that is different than the deployment scope. | Set this property to the symbolic name of a resource to apply the extension resource. |
| sku | The SKU of the resource. | Sku |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
ApplicationArtifact
| Name | Description | Value |
|---|---|---|
| name | The managed application artifact name. | string |
| type | The managed application artifact type. | 'Custom' 'Template' |
| uri | The managed application artifact blob uri. | string |
ApplicationDefinitionProperties
| Name | Description | Value |
|---|---|---|
| artifacts | The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. | ApplicationArtifact[] |
| authorizations | The managed application provider authorizations. | ApplicationProviderAuthorization[] (required) |
| createUiDefinition | The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. | any |
| description | The managed application definition description. | string |
| displayName | The managed application definition display name. | string |
| isEnabled | A value indicating whether the package is enabled or not. | string |
| lockLevel | The managed application lock level. | 'CanNotDelete' 'None' 'ReadOnly' (required) |
| mainTemplate | The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. | any |
| packageFileUri | The managed application definition package file Uri. Use this element | string |
ApplicationProviderAuthorization
| Name | Description | Value |
|---|---|---|
| principalId | The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. | string (required) |
| roleDefinitionId | The provider's role definition identifier. 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. | string (required) |
Identity
| Name | Description | Value |
|---|---|---|
| type | The identity type. | 'SystemAssigned' |
ResourceTags
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | The SKU capacity. | int |
| family | The SKU family. | string |
| model | The SKU model. | string |
| name | The SKU name. | string (required) |
| size | The SKU size. | string |
| tier | The SKU tier. | string |
ARM template resource definition
The applicationDefinitions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Solutions/applicationDefinitions resource, add the following JSON to your template.
{
"type": "Microsoft.Solutions/applicationDefinitions",
"apiVersion": "2017-12-01",
"name": "string",
"identity": {
"type": "SystemAssigned"
},
"___location": "string",
"managedBy": "string",
"properties": {
"artifacts": [
{
"name": "string",
"type": "string",
"uri": "string"
}
],
"authorizations": [
{
"principalId": "string",
"roleDefinitionId": "string"
}
],
"createUiDefinition": {},
"description": "string",
"displayName": "string",
"isEnabled": "string",
"lockLevel": "string",
"mainTemplate": {},
"packageFileUri": "string"
},
"sku": {
"capacity": "int",
"family": "string",
"model": "string",
"name": "string",
"size": "string",
"tier": "string"
},
"tags": {
"{customized property}": "string"
}
}
Property Values
Microsoft.Solutions/applicationDefinitions
| Name | Description | Value |
|---|---|---|
| apiVersion | The api version | '2017-12-01' |
| identity | The identity of the resource. | Identity |
| ___location | Resource ___location | string |
| managedBy | ID of the resource that manages this resource. | string |
| name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
| properties | The managed application definition properties. | ApplicationDefinitionProperties (required) |
| sku | The SKU of the resource. | Sku |
| tags | Resource tags | Dictionary of tag names and values. See Tags in templates |
| type | The resource type | 'Microsoft.Solutions/applicationDefinitions' |
ApplicationArtifact
| Name | Description | Value |
|---|---|---|
| name | The managed application artifact name. | string |
| type | The managed application artifact type. | 'Custom' 'Template' |
| uri | The managed application artifact blob uri. | string |
ApplicationDefinitionProperties
| Name | Description | Value |
|---|---|---|
| artifacts | The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. | ApplicationArtifact[] |
| authorizations | The managed application provider authorizations. | ApplicationProviderAuthorization[] (required) |
| createUiDefinition | The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. | any |
| description | The managed application definition description. | string |
| displayName | The managed application definition display name. | string |
| isEnabled | A value indicating whether the package is enabled or not. | string |
| lockLevel | The managed application lock level. | 'CanNotDelete' 'None' 'ReadOnly' (required) |
| mainTemplate | The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. | any |
| packageFileUri | The managed application definition package file Uri. Use this element | string |
ApplicationProviderAuthorization
| Name | Description | Value |
|---|---|---|
| principalId | The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. | string (required) |
| roleDefinitionId | The provider's role definition identifier. 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. | string (required) |
Identity
| Name | Description | Value |
|---|---|---|
| type | The identity type. | 'SystemAssigned' |
ResourceTags
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | The SKU capacity. | int |
| family | The SKU family. | string |
| model | The SKU model. | string |
| name | The SKU name. | string (required) |
| size | The SKU size. | string |
| tier | The SKU tier. | string |
Usage Examples
Azure Quickstart Templates
The following Azure Quickstart templates deploy this resource type.
| Template | Description |
|---|---|
| Create a managed application that deploys linked templates |
This template creates a managed application that deploys linked templates. |
| Create a managed application with a customized view |
This template creates a managed application that has a customized default view. |
| Create a managed application with metrics and alerts |
This template creates a managed application that has application metrics and alerts. |
Terraform (AzAPI provider) resource definition
The applicationDefinitions resource type can be deployed with operations that target:
For a list of changed properties in each API version, see change log.
Resource format
To create a Microsoft.Solutions/applicationDefinitions resource, add the following Terraform to your template.
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Solutions/applicationDefinitions@2017-12-01"
name = "string"
parent_id = "string"
identity {
type = "string"
identity_ids = [
"string"
]
}
___location = "string"
tags = {
{customized property} = "string"
}
body = {
managedBy = "string"
properties = {
artifacts = [
{
name = "string"
type = "string"
uri = "string"
}
]
authorizations = [
{
principalId = "string"
roleDefinitionId = "string"
}
]
createUiDefinition = ?
description = "string"
displayName = "string"
isEnabled = "string"
lockLevel = "string"
mainTemplate = ?
packageFileUri = "string"
}
sku = {
capacity = int
family = "string"
model = "string"
name = "string"
size = "string"
tier = "string"
}
}
}
Property Values
Microsoft.Solutions/applicationDefinitions
| Name | Description | Value |
|---|---|---|
| identity | The identity of the resource. | Identity |
| ___location | Resource ___location | string |
| managedBy | ID of the resource that manages this resource. | string |
| name | The resource name | string Constraints: Min length = 3 Max length = 64 (required) |
| parent_id | The ID of the resource to apply this extension resource to. | string (required) |
| properties | The managed application definition properties. | ApplicationDefinitionProperties (required) |
| sku | The SKU of the resource. | Sku |
| tags | Resource tags | Dictionary of tag names and values. |
| type | The resource type | "Microsoft.Solutions/applicationDefinitions@2017-12-01" |
ApplicationArtifact
| Name | Description | Value |
|---|---|---|
| name | The managed application artifact name. | string |
| type | The managed application artifact type. | 'Custom' 'Template' |
| uri | The managed application artifact blob uri. | string |
ApplicationDefinitionProperties
| Name | Description | Value |
|---|---|---|
| artifacts | The collection of managed application artifacts. The portal will use the files specified as artifacts to construct the user experience of creating a managed application from a managed application definition. | ApplicationArtifact[] |
| authorizations | The managed application provider authorizations. | ApplicationProviderAuthorization[] (required) |
| createUiDefinition | The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. | any |
| description | The managed application definition description. | string |
| displayName | The managed application definition display name. | string |
| isEnabled | A value indicating whether the package is enabled or not. | string |
| lockLevel | The managed application lock level. | 'CanNotDelete' 'None' 'ReadOnly' (required) |
| mainTemplate | The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string. | any |
| packageFileUri | The managed application definition package file Uri. Use this element | string |
ApplicationProviderAuthorization
| Name | Description | Value |
|---|---|---|
| principalId | The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources. | string (required) |
| roleDefinitionId | The provider's role definition identifier. 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. | string (required) |
Identity
| Name | Description | Value |
|---|---|---|
| type | The identity type. | 'SystemAssigned' |
ResourceTags
| Name | Description | Value |
|---|
Sku
| Name | Description | Value |
|---|---|---|
| capacity | The SKU capacity. | int |
| family | The SKU family. | string |
| model | The SKU model. | string |
| name | The SKU name. | string (required) |
| size | The SKU size. | string |
| tier | The SKU tier. | string |
Usage Examples
Terraform Samples
A basic example of deploying Managed Application Definition.
terraform {
required_providers {
azapi = {
source = "Azure/azapi"
}
azurerm = {
source = "hashicorp/azurerm"
}
}
}
provider "azurerm" {
features {
}
}
provider "azapi" {
skip_provider_registration = false
}
variable "resource_name" {
type = string
default = "acctest0001"
}
variable "___location" {
type = string
default = "westeurope"
}
data "azurerm_client_config" "current" {
}
data "azapi_resource_action" "roleDefinitions" {
type = "Microsoft.Authorization@2018-01-01-preview"
resource_id = "/providers/Microsoft.Authorization"
action = "roleDefinitions"
method = "GET"
response_export_values = ["*"]
}
resource "azapi_resource" "resourceGroup" {
type = "Microsoft.Resources/resourceGroups@2020-06-01"
name = var.resource_name
___location = var.___location
}
resource "azapi_resource" "applicationDefinition" {
type = "Microsoft.Solutions/applicationDefinitions@2021-07-01"
parent_id = azapi_resource.resourceGroup.id
name = var.resource_name
___location = var.___location
body = {
properties = {
authorizations = [
{
principalId = data.azurerm_client_config.current.object_id
roleDefinitionId = data.azapi_resource_action.roleDefinitions.output.value[0].name
},
]
description = "Test Managed App Definition"
displayName = "TestManagedAppDefinition"
isEnabled = true
lockLevel = "ReadOnly"
packageFileUri = "https://github.com/Azure/azure-managedapp-samples/raw/master/Managed Application Sample Packages/201-managed-storage-account/managedstorage.zip"
}
}
schema_validation_enabled = false
response_export_values = ["*"]
}