你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
Bicep 资源定义
可以使用目标操作部署 applicationDefinitions 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Solutions/applicationDefinitions 资源,请将以下 Bicep 添加到模板。
resource symbolicname 'Microsoft.Solutions/applicationDefinitions@2023-12-01-preview' = {
scope: resourceSymbolicName or scope
location: 'string'
managedBy: 'string'
name: 'string'
properties: {
artifacts: [
{
name: 'string'
type: 'string'
uri: 'string'
}
]
authorizations: [
{
principalId: 'string'
roleDefinitionId: 'string'
}
]
createUiDefinition: any(...)
deploymentPolicy: {
deploymentMode: 'string'
}
description: 'string'
displayName: 'string'
isEnabled: bool
lockingPolicy: {
allowedActions: [
'string'
]
allowedDataActions: [
'string'
]
}
lockLevel: 'string'
mainTemplate: any(...)
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'
}
}
属性值
Microsoft.Solutions/applicationDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| 位置 | 资源位置 | 字符串 |
| managedBy | 管理此资源的资源的 ID。 | 字符串 |
| 名字 | 资源名称 | 字符串 约束: 最小长度 = 3 最大长度 = 64 (必需) |
| 性能 | 托管应用程序定义属性。 | ApplicationDefinitionProperties(必需) |
| 作用域 | 在与部署范围不同的范围内创建资源时使用。 | 将此属性设置为资源的符号名称以应用 扩展资源。 |
| SKU | 资源的 SKU。 | SKU |
| 标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
ApplicationAuthorization 应用程序授权
| 名字 | 描述 | 价值 |
|---|---|---|
| principalId (主体ID) | 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 | string (必需) |
| 角色定义 ID | 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 | string (必需) |
ApplicationDefinitionArtifact 的
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 托管应用程序定义项目名称。 | “ApplicationResourceTemplate” “CreateUiDefinition” “MainTemplateParameters” “NotSpecified”(必需) |
| 类型 | 托管应用程序定义项目类型。 | “Custom” “NotSpecified” “Template”(必需) |
| URI | 托管应用程序定义项目 blob URI。 | string (必需) |
ApplicationDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 工件 | 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 | ApplicationDefinitionArtifact (应用程序定义工件) |
| 授权 | 托管应用程序提供程序授权。 | ApplicationAuthorization[] |
| createUiDefinition | Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| deploymentPolicy | 托管应用程序部署策略。 | ApplicationDeploymentPolicy 的 |
| 描述 | 托管应用程序定义说明。 | 字符串 |
| displayName (显示名称) | 托管应用程序定义显示名称。 | 字符串 |
| isEnabled 已启用 | 一个值,该值指示是否启用包。 | 布尔 |
| lockingPolicy (锁定策略) | 托管应用程序锁定策略。 | ApplicationPackageLockingPolicyDefinition |
| lockLevel | 托管应用程序锁定级别。 | “CanNotDelete” “None” “ReadOnly”(必需) |
| mainTemplate | 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| 管理策略 | 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 | ApplicationManagementPolicy 应用程序管理策略 |
| notificationPolicy (通知策略) | 托管应用程序通知策略。 | ApplicationNotificationPolicy |
| packageFileUri 的 | 托管应用程序定义包文件 URI。 使用此元素 | 字符串 |
| 政策 | 托管应用程序提供程序策略。 | ApplicationPolicy [] |
| storageAccountId | 用于自带存储方案的存储帐户 ID。 | 字符串 |
ApplicationDeploymentPolicy 的
| 名字 | 描述 | 价值 |
|---|---|---|
| deploymentMode | 托管应用程序部署模式。 | “Complete” “Incremental” “NotSpecified”(必需) |
ApplicationManagementPolicy 应用程序管理策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 模式 | 托管应用程序管理模式。 | “Managed” “NotSpecified” “非托管” |
ApplicationNotificationEndpoint
| 名字 | 描述 | 价值 |
|---|---|---|
| URI | 托管应用程序通知终结点 URI。 | string (必需) |
ApplicationNotificationPolicy
| 名字 | 描述 | 价值 |
|---|---|---|
| notificationEndpoints | 托管应用程序通知终结点。 | ApplicationNotificationEndpoint[] (必需) |
ApplicationPackageLockingPolicyDefinition
| 名字 | 描述 | 价值 |
|---|---|---|
| allowedActions | 拒绝分配排除的操作。 | 字符串[] |
| allowedDataActions | 拒绝分配排除的数据操作。 | 字符串[] |
应用程序策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略名称 | 字符串 |
| 参数 | 策略参数。 | 字符串 |
| policyDefinitionId | 策略定义 ID。 | 字符串 |
资源标签
| 名字 | 描述 | 价值 |
|---|
SKU
| 名字 | 描述 | 价值 |
|---|---|---|
| 产能 | SKU 容量。 | 整数 (int) |
| 家庭 | SKU 系列。 | 字符串 |
| 模型 | SKU 模型。 | 字符串 |
| 名字 | SKU 名称。 | string (必需) |
| 大小 | SKU 大小。 | 字符串 |
| 分层 | SKU 层。 | 字符串 |
ARM 模板资源定义
可以使用目标操作部署 applicationDefinitions 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Solutions/applicationDefinitions 资源,请将以下 JSON 添加到模板。
{
"type": "Microsoft.Solutions/applicationDefinitions",
"apiVersion": "2023-12-01-preview",
"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"
}
}
属性值
Microsoft.Solutions/applicationDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| apiVersion | API 版本 | “2023-12-01-预览” |
| 位置 | 资源位置 | 字符串 |
| managedBy | 管理此资源的资源的 ID。 | 字符串 |
| 名字 | 资源名称 | 字符串 约束: 最小长度 = 3 最大长度 = 64 (必需) |
| 性能 | 托管应用程序定义属性。 | ApplicationDefinitionProperties(必需) |
| SKU | 资源的 SKU。 | SKU |
| 标签 | 资源标记 | 标记名称和值的字典。 请参阅模板 中的 |
| 类型 | 资源类型 | “Microsoft.Solutions/applicationDefinitions” |
ApplicationAuthorization 应用程序授权
| 名字 | 描述 | 价值 |
|---|---|---|
| principalId (主体ID) | 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 | string (必需) |
| 角色定义 ID | 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 | string (必需) |
ApplicationDefinitionArtifact 的
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 托管应用程序定义项目名称。 | “ApplicationResourceTemplate” “CreateUiDefinition” “MainTemplateParameters” “NotSpecified”(必需) |
| 类型 | 托管应用程序定义项目类型。 | “Custom” “NotSpecified” “Template”(必需) |
| URI | 托管应用程序定义项目 blob URI。 | string (必需) |
ApplicationDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 工件 | 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 | ApplicationDefinitionArtifact (应用程序定义工件) |
| 授权 | 托管应用程序提供程序授权。 | ApplicationAuthorization[] |
| createUiDefinition | Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| deploymentPolicy | 托管应用程序部署策略。 | ApplicationDeploymentPolicy 的 |
| 描述 | 托管应用程序定义说明。 | 字符串 |
| displayName (显示名称) | 托管应用程序定义显示名称。 | 字符串 |
| isEnabled 已启用 | 一个值,该值指示是否启用包。 | 布尔 |
| lockingPolicy (锁定策略) | 托管应用程序锁定策略。 | ApplicationPackageLockingPolicyDefinition |
| lockLevel | 托管应用程序锁定级别。 | “CanNotDelete” “None” “ReadOnly”(必需) |
| mainTemplate | 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| 管理策略 | 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 | ApplicationManagementPolicy 应用程序管理策略 |
| notificationPolicy (通知策略) | 托管应用程序通知策略。 | ApplicationNotificationPolicy |
| packageFileUri 的 | 托管应用程序定义包文件 URI。 使用此元素 | 字符串 |
| 政策 | 托管应用程序提供程序策略。 | ApplicationPolicy [] |
| storageAccountId | 用于自带存储方案的存储帐户 ID。 | 字符串 |
ApplicationDeploymentPolicy 的
| 名字 | 描述 | 价值 |
|---|---|---|
| deploymentMode | 托管应用程序部署模式。 | “Complete” “Incremental” “NotSpecified”(必需) |
ApplicationManagementPolicy 应用程序管理策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 模式 | 托管应用程序管理模式。 | “Managed” “NotSpecified” “非托管” |
ApplicationNotificationEndpoint
| 名字 | 描述 | 价值 |
|---|---|---|
| URI | 托管应用程序通知终结点 URI。 | string (必需) |
ApplicationNotificationPolicy
| 名字 | 描述 | 价值 |
|---|---|---|
| notificationEndpoints | 托管应用程序通知终结点。 | ApplicationNotificationEndpoint[] (必需) |
ApplicationPackageLockingPolicyDefinition
| 名字 | 描述 | 价值 |
|---|---|---|
| allowedActions | 拒绝分配排除的操作。 | 字符串[] |
| allowedDataActions | 拒绝分配排除的数据操作。 | 字符串[] |
应用程序策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略名称 | 字符串 |
| 参数 | 策略参数。 | 字符串 |
| policyDefinitionId | 策略定义 ID。 | 字符串 |
资源标签
| 名字 | 描述 | 价值 |
|---|
SKU
| 名字 | 描述 | 价值 |
|---|---|---|
| 产能 | SKU 容量。 | 整数 (int) |
| 家庭 | SKU 系列。 | 字符串 |
| 模型 | SKU 模型。 | 字符串 |
| 名字 | SKU 名称。 | string (必需) |
| 大小 | SKU 大小。 | 字符串 |
| 分层 | SKU 层。 | 字符串 |
用法示例
Azure 快速入门模板
以下 Azure 快速入门模板 部署此资源类型。
| 模板 | 描述 |
|---|---|
|
创建部署链接模板的托管应用程序 |
此模板创建一个用于部署链接模板的托管应用程序。 |
|
使用自定义视图创建托管应用程序 |
此模板创建具有自定义默认视图的托管应用程序。 |
|
使用指标和警报创建托管应用程序 |
此模板创建具有应用程序指标和警报的托管应用程序。 |
Terraform (AzAPI 提供程序)资源定义
可以使用目标操作部署 applicationDefinitions 资源类型:
有关每个 API 版本中已更改属性的列表,请参阅 更改日志。
资源格式
若要创建 Microsoft.Solutions/applicationDefinitions 资源,请将以下 Terraform 添加到模板。
resource "azapi_resource" "symbolicname" {
type = "Microsoft.Solutions/applicationDefinitions@2023-12-01-preview"
name = "string"
parent_id = "string"
location = "string"
tags = {
{customized property} = "string"
}
body = {
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"
}
}
}
属性值
Microsoft.Solutions/applicationDefinitions
| 名字 | 描述 | 价值 |
|---|---|---|
| 位置 | 资源位置 | 字符串 |
| managedBy | 管理此资源的资源的 ID。 | 字符串 |
| 名字 | 资源名称 | 字符串 约束: 最小长度 = 3 最大长度 = 64 (必需) |
| parent_id | 要向其应用此扩展资源的资源的 ID。 | string (必需) |
| 性能 | 托管应用程序定义属性。 | ApplicationDefinitionProperties(必需) |
| SKU | 资源的 SKU。 | SKU |
| 标签 | 资源标记 | 标记名称和值的字典。 |
| 类型 | 资源类型 | “Microsoft.Solutions/applicationDefinitions@2023-12-01-preview” |
ApplicationAuthorization 应用程序授权
| 名字 | 描述 | 价值 |
|---|---|---|
| principalId (主体ID) | 提供程序的主体标识符。 这是提供程序用于调用 ARM 来管理托管应用程序资源的标识。 | string (必需) |
| 角色定义 ID | 提供程序的角色定义标识符。 此角色将定义提供程序在托管应用程序的容器资源组上必须具有的所有权限。 此角色定义不能具有删除资源组的权限。 | string (必需) |
ApplicationDefinitionArtifact 的
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 托管应用程序定义项目名称。 | “ApplicationResourceTemplate” “CreateUiDefinition” “MainTemplateParameters” “NotSpecified”(必需) |
| 类型 | 托管应用程序定义项目类型。 | “Custom” “NotSpecified” “Template”(必需) |
| URI | 托管应用程序定义项目 blob URI。 | string (必需) |
ApplicationDefinitionProperties
| 名字 | 描述 | 价值 |
|---|---|---|
| 工件 | 托管应用程序项目的集合。 门户将使用指定为项目的文件来构造从托管应用程序定义创建托管应用程序的用户体验。 | ApplicationDefinitionArtifact (应用程序定义工件) |
| 授权 | 托管应用程序提供程序授权。 | ApplicationAuthorization[] |
| createUiDefinition | Microsoft.Solutions/applications 资源的后盾模板的 createUiDefinition json。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| deploymentPolicy | 托管应用程序部署策略。 | ApplicationDeploymentPolicy 的 |
| 描述 | 托管应用程序定义说明。 | 字符串 |
| displayName (显示名称) | 托管应用程序定义显示名称。 | 字符串 |
| isEnabled 已启用 | 一个值,该值指示是否启用包。 | 布尔 |
| lockingPolicy (锁定策略) | 托管应用程序锁定策略。 | ApplicationPackageLockingPolicyDefinition |
| lockLevel | 托管应用程序锁定级别。 | “CanNotDelete” “None” “ReadOnly”(必需) |
| mainTemplate | 内联主模板 json,其中包含要预配的资源。 它可以是 JObject 或格式正确的 JSON 字符串。 | 任何 |
| 管理策略 | 确定发布者对托管资源组的访问权限的托管应用程序管理策略。 | ApplicationManagementPolicy 应用程序管理策略 |
| notificationPolicy (通知策略) | 托管应用程序通知策略。 | ApplicationNotificationPolicy |
| packageFileUri 的 | 托管应用程序定义包文件 URI。 使用此元素 | 字符串 |
| 政策 | 托管应用程序提供程序策略。 | ApplicationPolicy [] |
| storageAccountId | 用于自带存储方案的存储帐户 ID。 | 字符串 |
ApplicationDeploymentPolicy 的
| 名字 | 描述 | 价值 |
|---|---|---|
| deploymentMode | 托管应用程序部署模式。 | “Complete” “Incremental” “NotSpecified”(必需) |
ApplicationManagementPolicy 应用程序管理策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 模式 | 托管应用程序管理模式。 | “Managed” “NotSpecified” “非托管” |
ApplicationNotificationEndpoint
| 名字 | 描述 | 价值 |
|---|---|---|
| URI | 托管应用程序通知终结点 URI。 | string (必需) |
ApplicationNotificationPolicy
| 名字 | 描述 | 价值 |
|---|---|---|
| notificationEndpoints | 托管应用程序通知终结点。 | ApplicationNotificationEndpoint[] (必需) |
ApplicationPackageLockingPolicyDefinition
| 名字 | 描述 | 价值 |
|---|---|---|
| allowedActions | 拒绝分配排除的操作。 | 字符串[] |
| allowedDataActions | 拒绝分配排除的数据操作。 | 字符串[] |
应用程序策略
| 名字 | 描述 | 价值 |
|---|---|---|
| 名字 | 策略名称 | 字符串 |
| 参数 | 策略参数。 | 字符串 |
| policyDefinitionId | 策略定义 ID。 | 字符串 |
资源标签
| 名字 | 描述 | 价值 |
|---|
SKU
| 名字 | 描述 | 价值 |
|---|---|---|
| 产能 | SKU 容量。 | 整数 (int) |
| 家庭 | SKU 系列。 | 字符串 |
| 模型 | SKU 模型。 | 字符串 |
| 名字 | SKU 名称。 | string (必需) |
| 大小 | SKU 大小。 | 字符串 |
| 分层 | SKU 层。 | 字符串 |
用法示例
Terraform 示例
部署托管应用程序定义的基本示例。
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 = ["*"]
}