Application Definitions - Create Or Update

Creates a new managed application definition.

PUT https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Solutions/applicationDefinitions/{applicationDefinitionName}?api-version=2019-07-01

URI Parameters

Name In Required Type Description
applicationDefinitionName
path True

string

The name of the managed application definition.

resourceGroupName
path True

string

The name of the resource group. The name is case insensitive.

Regex pattern: ^[-\w\._\(\)]+$

subscriptionId
path True

string

The ID of the target subscription.

api-version
query True

string

The API version to use for this operation.

Request Body

Name Required Type Description
properties.lockLevel True

ApplicationLockLevel

The managed application lock level.

location

string

Resource location

managedBy

string

ID of the resource that manages this resource.

properties.artifacts

ApplicationDefinitionArtifact[]

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.

properties.authorizations

ApplicationAuthorization[]

The managed application provider authorizations.

properties.createUiDefinition

object

The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string.

properties.deploymentPolicy

ApplicationDeploymentPolicy

The managed application deployment policy.

properties.description

string

The managed application definition description.

properties.displayName

string

The managed application definition display name.

properties.isEnabled

boolean

A value indicating whether the package is enabled or not.

properties.lockingPolicy

ApplicationPackageLockingPolicyDefinition

The managed application locking policy.

properties.mainTemplate

object

The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string.

properties.managementPolicy

ApplicationManagementPolicy

The managed application management policy that determines publisher's access to the managed resource group.

properties.notificationPolicy

ApplicationNotificationPolicy

The managed application notification policy.

properties.packageFileUri

string

The managed application definition package file Uri. Use this element

properties.policies

ApplicationPolicy[]

The managed application provider policies.

sku

Sku

The SKU of the resource.

tags

object

Resource tags

Responses

Name Type Description
200 OK

ApplicationDefinition

OK - Returns information about the managed application definition, including provisioning status.

201 Created

ApplicationDefinition

Created - Returns information about the managed application definition, including provisioning status.

Other Status Codes

ErrorResponse

Error response describing why the operation failed.

Security

azure_auth

Azure Active Directory OAuth2 Flow

Type: oauth2
Flow: implicit
Authorization URL: https://login.microsoftonline.com/common/oauth2/authorize

Scopes

Name Description
user_impersonation impersonate your user account

Examples

Create or update managed application definition

Sample Request

PUT https://management.azure.com/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef?api-version=2019-07-01

{
  "properties": {
    "lockLevel": "None",
    "displayName": "myManagedApplicationDef",
    "description": "myManagedApplicationDef description",
    "authorizations": [
      {
        "principalId": "validprincipalguid",
        "roleDefinitionId": "validroleguid"
      }
    ],
    "packageFileUri": "https://path/to/packagezipfile"
  },
  "location": "East US 2"
}

Sample Response

{
  "name": "myManagedApplicationDef",
  "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
  "type": "Microsoft.Solutions/applicationDefinitions",
  "location": "East US 2",
  "managedBy": null,
  "tags": null,
  "sku": null,
  "properties": {
    "artifacts": [
      {
        "name": "CreateUiDefinition",
        "type": "Custom",
        "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
      },
      {
        "name": "ApplicationResourceTemplate",
        "type": "Template",
        "uri": "https://path/to/mainTemplate.json"
      }
    ],
    "authorizations": [
      {
        "principalId": "validprincipalguid",
        "roleDefinitionId": "validroleguid"
      }
    ],
    "description": "myManagedApplicationDef description",
    "displayName": "myManagedApplicationDef",
    "lockLevel": "None",
    "packageFileUri": "https://path/to/packagezipfile"
  }
}
{
  "name": "myManagedApplicationDef",
  "id": "/subscriptions/subid/resourceGroups/rg/providers/Microsoft.Solutions/applicationDefinitions/myManagedApplicationDef",
  "type": "Microsoft.Solutions/applicationDefinitions",
  "location": "East US 2",
  "managedBy": null,
  "tags": null,
  "sku": null,
  "properties": {
    "artifacts": [
      {
        "name": "CreateUiDefinition",
        "type": "Custom",
        "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
      },
      {
        "name": "ApplicationResourceTemplate",
        "type": "Template",
        "uri": "https://path/to/mainTemplate.json"
      }
    ],
    "authorizations": [
      {
        "principalId": "validprincipalguid",
        "roleDefinitionId": "validroleguid"
      }
    ],
    "description": "myManagedApplicationDef description",
    "displayName": "myManagedApplicationDef",
    "lockLevel": "None",
    "packageFileUri": "https://path/to/packagezipfile"
  }
}

Definitions

Name Description
ApplicationArtifactType

The managed application artifact type.

ApplicationAuthorization

The managed application provider authorization.

ApplicationDefinition

Information about managed application definition.

ApplicationDefinitionArtifact

Application definition artifact.

ApplicationDefinitionArtifactName

The managed application artifact name.

ApplicationDeploymentPolicy

Managed application deployment policy.

ApplicationLockLevel

The managed application lock level.

ApplicationManagementMode

The management mode.

ApplicationManagementPolicy

Managed application management policy.

ApplicationNotificationEndpoint

Managed application notification endpoint.

ApplicationNotificationPolicy

Managed application notification policy.

ApplicationPackageLockingPolicyDefinition

Managed application locking policy.

ApplicationPolicy

Managed application policy.

DeploymentMode

The deployment mode.

ErrorAdditionalInfo

The resource management error additional info.

ErrorDetail

The error detail.

ErrorResponse

Error response

Sku

SKU for the resource.

ApplicationArtifactType

The managed application artifact type.

Name Type Description
Custom

string

NotSpecified

string

Template

string

ApplicationAuthorization

The managed application provider authorization.

Name Type Description
principalId

string

The provider's principal identifier. This is the identity that the provider will use to call ARM to manage the managed application resources.

roleDefinitionId

string

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.

ApplicationDefinition

Information about managed application definition.

Name Type Description
id

string

Resource ID

location

string

Resource location

managedBy

string

ID of the resource that manages this resource.

name

string

Resource name

properties.artifacts

ApplicationDefinitionArtifact[]

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.

properties.authorizations

ApplicationAuthorization[]

The managed application provider authorizations.

properties.createUiDefinition

object

The createUiDefinition json for the backing template with Microsoft.Solutions/applications resource. It can be a JObject or well-formed JSON string.

properties.deploymentPolicy

ApplicationDeploymentPolicy

The managed application deployment policy.

properties.description

string

The managed application definition description.

properties.displayName

string

The managed application definition display name.

properties.isEnabled

boolean

A value indicating whether the package is enabled or not.

properties.lockLevel

ApplicationLockLevel

The managed application lock level.

properties.lockingPolicy

ApplicationPackageLockingPolicyDefinition

The managed application locking policy.

properties.mainTemplate

object

The inline main template json which has resources to be provisioned. It can be a JObject or well-formed JSON string.

properties.managementPolicy

ApplicationManagementPolicy

The managed application management policy that determines publisher's access to the managed resource group.

properties.notificationPolicy

ApplicationNotificationPolicy

The managed application notification policy.

properties.packageFileUri

string

The managed application definition package file Uri. Use this element

properties.policies

ApplicationPolicy[]

The managed application provider policies.

sku

Sku

The SKU of the resource.

tags

object

Resource tags

type

string

Resource type

ApplicationDefinitionArtifact

Application definition artifact.

Name Type Description
name

ApplicationDefinitionArtifactName

The managed application definition artifact name.

type

ApplicationArtifactType

The managed application definition artifact type.

uri

string

The managed application definition artifact blob uri.

ApplicationDefinitionArtifactName

The managed application artifact name.

Name Type Description
ApplicationResourceTemplate

string

CreateUiDefinition

string

MainTemplateParameters

string

NotSpecified

string

ApplicationDeploymentPolicy

Managed application deployment policy.

Name Type Description
deploymentMode

DeploymentMode

The managed application deployment mode.

ApplicationLockLevel

The managed application lock level.

Name Type Description
CanNotDelete

string

None

string

ReadOnly

string

ApplicationManagementMode

The management mode.

Name Type Description
Managed

string

NotSpecified

string

Unmanaged

string

ApplicationManagementPolicy

Managed application management policy.

Name Type Description
mode

ApplicationManagementMode

The managed application management mode.

ApplicationNotificationEndpoint

Managed application notification endpoint.

Name Type Description
uri

string

The managed application notification endpoint uri.

ApplicationNotificationPolicy

Managed application notification policy.

Name Type Description
notificationEndpoints

ApplicationNotificationEndpoint[]

The managed application notification endpoint.

ApplicationPackageLockingPolicyDefinition

Managed application locking policy.

Name Type Description
allowedActions

string[]

The deny assignment excluded actions.

allowedDataActions

string[]

The deny assignment excluded data actions.

ApplicationPolicy

Managed application policy.

Name Type Description
name

string

The policy name

parameters

string

The policy parameters.

policyDefinitionId

string

The policy definition Id.

DeploymentMode

The deployment mode.

Name Type Description
Complete

string

Incremental

string

NotSpecified

string

ErrorAdditionalInfo

The resource management error additional info.

Name Type Description
info

object

The additional info.

type

string

The additional info type.

ErrorDetail

The error detail.

Name Type Description
additionalInfo

ErrorAdditionalInfo[]

The error additional info.

code

string

The error code.

details

ErrorDetail[]

The error details.

message

string

The error message.

target

string

The error target.

ErrorResponse

Error response

Name Type Description
error

ErrorDetail

The error object.

Sku

SKU for the resource.

Name Type Description
capacity

integer

The SKU capacity.

family

string

The SKU family.

model

string

The SKU model.

name

string

The SKU name.

size

string

The SKU size.

tier

string

The SKU tier.