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=2017-09-01

URI Parameters

Name In Required Type Description
subscriptionId
path True
  • string

The ID of the target subscription.

resourceGroupName
path True
  • string

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

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

applicationDefinitionName
path True
  • string

The name of the managed application definition.

api-version
query True
  • string

The API version to use for this operation.

Request Body

Name Required Type Description
identity

The identity of the resource.

location
  • string

Resource location

managedBy
  • string

ID of the resource that manages this resource.

properties.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.

properties.authorizations True

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.description
  • string

The managed application definition description.

properties.displayName
  • string

The managed application definition display name.

properties.isEnabled
  • string

A value indicating whether the package is enabled or not.

properties.lockLevel True

The managed application lock level.

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.packageFileUri
  • string

The managed application definition package file Uri. Use this element

sku

The SKU of the resource.

tags
  • object

Resource tags

Responses

Name Type Description
200 OK

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

201 Created

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

Other Status Codes

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/{applicationDefinitionName}?api-version=2017-09-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,
  "resourceGroup": "rg",
  "tags": null,
  "identity": null,
  "sku": null,
  "properties": {
    "artifacts": [
      {
        "name": "CreateUiDefinition",
        "type": "Custom",
        "uri": "https://path/to/managedApplicationCreateUiDefinition.json"
      },
      {
        "name": "ManagedApplicationResourceTemplate",
        "type": "Template",
        "uri": "https://path/to/mainTemplate.json"
      }
    ],
    "authorizations": [
      {
        "principalId": "validprincipalguid",
        "roleDefinitionId": "validroleguid"
      }
    ],
    "description": "myManagedApplicationDef description",
    "displayName": "myManagedApplicationDef",
    "lockLevel": null,
    "packageFileUri": "https://path/to/packagezipfile"
  }
}

Definitions

ApplicationArtifact

Managed application artifact.

ApplicationArtifactType

The managed application artifact type.

ApplicationDefinition

Information about managed application definition.

ApplicationLockLevel

The managed application lock level.

ApplicationProviderAuthorization

The managed application provider authorization.

ErrorResponse

Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.

Identity

Identity for the resource.

ResourceIdentityType

The identity type.

Sku

SKU for the resource.

ApplicationArtifact

Managed application artifact.

Name Type Description
name
  • string

The managed application artifact name.

type

The managed application artifact type.

uri
  • string

The managed application artifact blob uri.

ApplicationArtifactType

The managed application artifact type.

Name Type Description
Custom
  • string
Template
  • string

ApplicationDefinition

Information about managed application definition.

Name Type Description
id
  • string

Resource ID

identity

The identity of the resource.

location
  • string

Resource location

managedBy
  • string

ID of the resource that manages this resource.

name
  • string

Resource name

properties.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.

properties.authorizations

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.description
  • string

The managed application definition description.

properties.displayName
  • string

The managed application definition display name.

properties.isEnabled
  • string

A value indicating whether the package is enabled or not.

properties.lockLevel

The managed application lock level.

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.packageFileUri
  • string

The managed application definition package file Uri. Use this element

sku

The SKU of the resource.

tags
  • object

Resource tags

type
  • string

Resource type

ApplicationLockLevel

The managed application lock level.

Name Type Description
CanNotDelete
  • string
None
  • string
ReadOnly
  • string

ApplicationProviderAuthorization

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.

ErrorResponse

Error response indicates managed application is not able to process the incoming request. The reason is provided in the error message.

Name Type Description
errorCode
  • string

Error code.

errorMessage
  • string

Error message indicating why the operation failed.

httpStatus
  • string

Http status code.

Identity

Identity for the resource.

Name Type Description
principalId
  • string

The principal ID of resource identity.

tenantId
  • string

The tenant ID of resource.

type

The identity type.

ResourceIdentityType

The identity type.

Name Type Description
SystemAssigned
  • string

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.