Microsoft.Solutions applicationDefinitions 2021-07-01

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@2021-07-01' = {
  location: 'string'
  managedBy: 'string'
  name: 'string'
  properties: {
    artifacts: [
      {
        name: 'string'
        type: 'string'
        uri: 'string'
      }
    ]
    authorizations: [
      {
        principalId: 'string'
        roleDefinitionId: 'string'
      }
    ]
    createUiDefinition: any(Azure.Bicep.Types.Concrete.AnyType)
    deploymentPolicy: {
      deploymentMode: 'string'
    }
    description: 'string'
    displayName: 'string'
    isEnabled: bool
    lockingPolicy: {
      allowedActions: [
        'string'
      ]
      allowedDataActions: [
        'string'
      ]
    }
    lockLevel: 'string'
    mainTemplate: any(Azure.Bicep.Types.Concrete.AnyType)
    managementPolicy: {
      mode: 'string'
    }
    notificationPolicy: {
      notificationEndpoints: [
        {
          uri: 'string'
        }
      ]
    }
    packageFileUri: 'string'
    policies: [
      {
        name: 'string'
        parameters: 'string'
        policyDefinitionId: 'string'
      }
    ]
    storageAccountId: 'string'
  }
  sku: {
    capacity: int
    family: 'string'
    model: 'string'
    name: 'string'
    size: 'string'
    tier: 'string'
  }
  tags: {
    {customized property}: 'string'
  }
}

Property values

ApplicationAuthorization

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)

ApplicationDefinitionArtifact

Name Description Value
name The managed application definition artifact name. 'ApplicationResourceTemplate'
'CreateUiDefinition'
'MainTemplateParameters'
'NotSpecified' (required)
type The managed application definition artifact type. 'Custom'
'NotSpecified'
'Template' (required)
uri The managed application definition artifact blob uri. string (required)

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. ApplicationDefinitionArtifact[]
authorizations The managed application provider authorizations. ApplicationAuthorization[]
createUiDefinition The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. any
deploymentPolicy The managed application deployment policy. ApplicationDeploymentPolicy
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. bool
lockingPolicy The managed application locking policy. ApplicationPackageLockingPolicyDefinition
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
managementPolicy The managed application management policy that determines publisher's access to the managed resource group. ApplicationManagementPolicy
notificationPolicy The managed application notification policy. ApplicationNotificationPolicy
packageFileUri The managed application definition package file Uri. Use this element string
policies The managed application provider policies. ApplicationPolicy[]
storageAccountId The storage account id for bring your own storage scenario. string

ApplicationDeploymentPolicy

Name Description Value
deploymentMode The managed application deployment mode. 'Complete'
'Incremental'
'NotSpecified' (required)

ApplicationManagementPolicy

Name Description Value
mode The managed application management mode. 'Managed'
'NotSpecified'
'Unmanaged'

ApplicationNotificationEndpoint

Name Description Value
uri The managed application notification endpoint uri. string (required)

ApplicationNotificationPolicy

Name Description Value
notificationEndpoints The managed application notification endpoint. ApplicationNotificationEndpoint[] (required)

ApplicationPackageLockingPolicyDefinition

Name Description Value
allowedActions The deny assignment excluded actions. string[]
allowedDataActions The deny assignment excluded data actions. string[]

ApplicationPolicy

Name Description Value
name The policy name string
parameters The policy parameters. string
policyDefinitionId The policy definition Id. string

Microsoft.Solutions/applicationDefinitions

Name Description Value
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 = 3 (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

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": "2021-07-01",
  "name": "string",
  "location": "string",
  "managedBy": "string",
  "properties": {
    "artifacts": [
      {
        "name": "string",
        "type": "string",
        "uri": "string"
      }
    ],
    "authorizations": [
      {
        "principalId": "string",
        "roleDefinitionId": "string"
      }
    ],
    "createUiDefinition": {},
    "deploymentPolicy": {
      "deploymentMode": "string"
    },
    "description": "string",
    "displayName": "string",
    "isEnabled": "bool",
    "lockingPolicy": {
      "allowedActions": [ "string" ],
      "allowedDataActions": [ "string" ]
    },
    "lockLevel": "string",
    "mainTemplate": {},
    "managementPolicy": {
      "mode": "string"
    },
    "notificationPolicy": {
      "notificationEndpoints": [
        {
          "uri": "string"
        }
      ]
    },
    "packageFileUri": "string",
    "policies": [
      {
        "name": "string",
        "parameters": "string",
        "policyDefinitionId": "string"
      }
    ],
    "storageAccountId": "string"
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "model": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

Property values

ApplicationAuthorization

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)

ApplicationDefinitionArtifact

Name Description Value
name The managed application definition artifact name. 'ApplicationResourceTemplate'
'CreateUiDefinition'
'MainTemplateParameters'
'NotSpecified' (required)
type The managed application definition artifact type. 'Custom'
'NotSpecified'
'Template' (required)
uri The managed application definition artifact blob uri. string (required)

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. ApplicationDefinitionArtifact[]
authorizations The managed application provider authorizations. ApplicationAuthorization[]
createUiDefinition The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. any
deploymentPolicy The managed application deployment policy. ApplicationDeploymentPolicy
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. bool
lockingPolicy The managed application locking policy. ApplicationPackageLockingPolicyDefinition
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
managementPolicy The managed application management policy that determines publisher's access to the managed resource group. ApplicationManagementPolicy
notificationPolicy The managed application notification policy. ApplicationNotificationPolicy
packageFileUri The managed application definition package file Uri. Use this element string
policies The managed application provider policies. ApplicationPolicy[]
storageAccountId The storage account id for bring your own storage scenario. string

ApplicationDeploymentPolicy

Name Description Value
deploymentMode The managed application deployment mode. 'Complete'
'Incremental'
'NotSpecified' (required)

ApplicationManagementPolicy

Name Description Value
mode The managed application management mode. 'Managed'
'NotSpecified'
'Unmanaged'

ApplicationNotificationEndpoint

Name Description Value
uri The managed application notification endpoint uri. string (required)

ApplicationNotificationPolicy

Name Description Value
notificationEndpoints The managed application notification endpoint. ApplicationNotificationEndpoint[] (required)

ApplicationPackageLockingPolicyDefinition

Name Description Value
allowedActions The deny assignment excluded actions. string[]
allowedDataActions The deny assignment excluded data actions. string[]

ApplicationPolicy

Name Description Value
name The policy name string
parameters The policy parameters. string
policyDefinitionId The policy definition Id. string

Microsoft.Solutions/applicationDefinitions

Name Description Value
apiVersion The api version '2021-07-01'
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 = 3 (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'

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

Quickstart templates

The following quickstart templates deploy this resource type.

Template Description
Create a managed application that deploys linked templates

Deploy to Azure
This template creates a managed application that deploys linked templates.
Create a managed application with a customized view

Deploy to Azure
This template creates a managed application that has a customized default view.
Create a managed application with metrics and alerts

Deploy to Azure
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:

  • Resource groups

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@2021-07-01"
  name = "string"
  location = "string"
  managedBy = "string"
  sku = {
    capacity = int
    family = "string"
    model = "string"
    name = "string"
    size = "string"
    tier = "string"
  }
  tags = {
    {customized property} = "string"
  }
  body = jsonencode({
    properties = {
      artifacts = [
        {
          name = "string"
          type = "string"
          uri = "string"
        }
      ]
      authorizations = [
        {
          principalId = "string"
          roleDefinitionId = "string"
        }
      ]
      createUiDefinition = ?
      deploymentPolicy = {
        deploymentMode = "string"
      }
      description = "string"
      displayName = "string"
      isEnabled = bool
      lockingPolicy = {
        allowedActions = [
          "string"
        ]
        allowedDataActions = [
          "string"
        ]
      }
      lockLevel = "string"
      mainTemplate = ?
      managementPolicy = {
        mode = "string"
      }
      notificationPolicy = {
        notificationEndpoints = [
          {
            uri = "string"
          }
        ]
      }
      packageFileUri = "string"
      policies = [
        {
          name = "string"
          parameters = "string"
          policyDefinitionId = "string"
        }
      ]
      storageAccountId = "string"
    }
  })
}

Property values

ApplicationAuthorization

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)

ApplicationDefinitionArtifact

Name Description Value
name The managed application definition artifact name. 'ApplicationResourceTemplate'
'CreateUiDefinition'
'MainTemplateParameters'
'NotSpecified' (required)
type The managed application definition artifact type. 'Custom'
'NotSpecified'
'Template' (required)
uri The managed application definition artifact blob uri. string (required)

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. ApplicationDefinitionArtifact[]
authorizations The managed application provider authorizations. ApplicationAuthorization[]
createUiDefinition The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string. any
deploymentPolicy The managed application deployment policy. ApplicationDeploymentPolicy
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. bool
lockingPolicy The managed application locking policy. ApplicationPackageLockingPolicyDefinition
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
managementPolicy The managed application management policy that determines publisher's access to the managed resource group. ApplicationManagementPolicy
notificationPolicy The managed application notification policy. ApplicationNotificationPolicy
packageFileUri The managed application definition package file Uri. Use this element string
policies The managed application provider policies. ApplicationPolicy[]
storageAccountId The storage account id for bring your own storage scenario. string

ApplicationDeploymentPolicy

Name Description Value
deploymentMode The managed application deployment mode. 'Complete'
'Incremental'
'NotSpecified' (required)

ApplicationManagementPolicy

Name Description Value
mode The managed application management mode. 'Managed'
'NotSpecified'
'Unmanaged'

ApplicationNotificationEndpoint

Name Description Value
uri The managed application notification endpoint uri. string (required)

ApplicationNotificationPolicy

Name Description Value
notificationEndpoints The managed application notification endpoint. ApplicationNotificationEndpoint[] (required)

ApplicationPackageLockingPolicyDefinition

Name Description Value
allowedActions The deny assignment excluded actions. string[]
allowedDataActions The deny assignment excluded data actions. string[]

ApplicationPolicy

Name Description Value
name The policy name string
parameters The policy parameters. string
policyDefinitionId The policy definition Id. string

Microsoft.Solutions/applicationDefinitions

Name Description Value
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 = 3 (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@2021-07-01"

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