Bicep リソース定義
applicationDefinitions リソースの種類は、次を対象とする操作でデプロイできます。
- リソース グループの - リソース グループのデプロイ コマンド 参照
各 API バージョンで変更されたプロパティの一覧については、変更ログの
リソースの形式
Microsoft.Solutions/applicationDefinitions リソースを作成するには、次の Bicep をテンプレートに追加します。
resource symbolicname 'Microsoft.Solutions/applicationDefinitions@2023-12-01-preview' = {
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 (英語)
| 名前 | 形容 | 価値 |
|---|---|---|
| 位置 | リソースの場所 | 文字列 |
| 管理されている | このリソースを管理するリソースの ID。 | 文字列 |
| 名前 | リソース名 | 糸 制約: 最小長 = 3 最大長 = 64 (必須) |
| プロパティ | マネージド アプリケーション定義のプロパティ。 | ApplicationDefinitionProperties の |
| エスケーユー | リソースの SKU。 | SKU |
| タグ | リソース タグ | タグ名と値のディクショナリ。 テンプレート の |
アプリケーション認証
| 名前 | 形容 | 価値 |
|---|---|---|
| プリンシパルID | プロバイダーのプリンシパル識別子。 これは、プロバイダーが ARM を呼び出してマネージド アプリケーション リソースを管理するために使用する ID です。 | string (必須) |
| ロール定義Id | プロバイダーのロール定義識別子。 このロールは、マネージド アプリケーションのコンテナー リソース グループに対してプロバイダーが持つ必要があるすべてのアクセス許可を定義します。 このロール定義には、リソース グループを削除するアクセス許可を持つことはできません。 | string (必須) |
アプリケーション定義アーティファクト
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | マネージド アプリケーション定義の成果物名。 | 'ApplicationResourceTemplate' 'CreateUiDefinition' 'MainTemplateParameters' 'NotSpecified' (必須) |
| 型 | マネージド アプリケーション定義成果物の種類。 | 「カスタム」 '指定されていません' 'Template' (必須) |
| URI | マネージド アプリケーション定義アーティファクト BLOB URI。 | string (必須) |
アプリケーション定義プロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| 成果 物 | マネージド アプリケーション成果物のコレクション。 ポータルでは、アーティファクトとして指定されたファイルを使用して、マネージド アプリケーション定義からマネージド アプリケーションを作成するユーザー エクスペリエンスを構築します。 | アプリケーション定義アーティファクト[] |
| 権限 | マネージド アプリケーション プロバイダーの承認。 | アプリケーション認証[] |
| createUiDefinition を作成します。 | Microsoft.Solutions/applications リソースを使用したバッキング テンプレートの createUiDefinition json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| deploymentPolicy (デプロイメントポリシー) | マネージド アプリケーション展開ポリシー。 | ApplicationDeploymentPolicy の |
| 形容 | マネージド アプリケーション定義の説明。 | 文字列 |
| ディスプレイ名 | マネージド アプリケーション定義の表示名。 | 文字列 |
| 有効化されている | パッケージが有効かどうかを示す値。 | ブール (bool) |
| lockingポリシー | マネージド アプリケーションのロック ポリシー。 | ApplicationPackageLockingPolicyDefinition の |
| ロックレベル | マネージド アプリケーションのロック レベル。 | 'CanNotDelete' (削除できない) 「なし」 'ReadOnly' (必須) |
| メインテンプレート | プロビジョニングするリソースを含むインライン メイン テンプレート json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| 経営方針 | マネージド リソース グループへのパブリッシャーのアクセスを決定するマネージド アプリケーション管理ポリシー。 | ApplicationManagementPolicy (アプリケーション管理ポリシー) |
| notificationPolicy(通知ポリシー) | マネージド アプリケーション通知ポリシー。 | アプリケーション通知ポリシー |
| パッケージファイルURI | マネージド アプリケーション定義パッケージ ファイル URI。 この要素を使用する | 文字列 |
| 檄 | マネージド アプリケーション プロバイダー ポリシー。 | アプリケーションポリシー[] |
| ストレージアカウントID | Bring Your Own Storage シナリオのストレージ アカウント ID。 | 文字列 |
アプリケーションデプロイメントポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| デプロイメントモード | マネージド アプリケーションのデプロイ モード。 | 「コンプリート」 「インクリメンタル」 'NotSpecified' (必須) |
ApplicationManagementPolicy (アプリケーション管理ポリシー)
| 名前 | 形容 | 価値 |
|---|---|---|
| モード | マネージド アプリケーション管理モード。 | 「管理」 '指定されていません' 「管理されていない」 |
ApplicationNotificationエンドポイント
| 名前 | 形容 | 価値 |
|---|---|---|
| URI | マネージド アプリケーション通知エンドポイント URI。 | string (必須) |
アプリケーション通知ポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 通知エンドポイント | マネージド アプリケーション通知エンドポイント。 | ApplicationNotificationEndpoint[] (必須) |
ApplicationPackageLockingPolicyDefinition
| 名前 | 形容 | 価値 |
|---|---|---|
| allowedアクション | 拒否割り当て除外アクション。 | 文字列[] |
| allowedDataActions | 拒否割り当て除外データ アクション。 | 文字列[] |
アプリケーションポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | ポリシー名 | 文字列 |
| パラメーター | ポリシー パラメーター。 | 文字列 |
| ポリシー定義ID | ポリシー定義 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-プレビュー」 |
| 位置 | リソースの場所 | 文字列 |
| 管理されている | このリソースを管理するリソースの ID。 | 文字列 |
| 名前 | リソース名 | 糸 制約: 最小長 = 3 最大長 = 64 (必須) |
| プロパティ | マネージド アプリケーション定義のプロパティ。 | ApplicationDefinitionProperties の |
| エスケーユー | リソースの SKU。 | SKU |
| タグ | リソース タグ | タグ名と値のディクショナリ。 テンプレート の |
| 型 | リソースの種類 | 'Microsoft.Solutions/applicationDefinitions' |
アプリケーション認証
| 名前 | 形容 | 価値 |
|---|---|---|
| プリンシパルID | プロバイダーのプリンシパル識別子。 これは、プロバイダーが ARM を呼び出してマネージド アプリケーション リソースを管理するために使用する ID です。 | string (必須) |
| ロール定義Id | プロバイダーのロール定義識別子。 このロールは、マネージド アプリケーションのコンテナー リソース グループに対してプロバイダーが持つ必要があるすべてのアクセス許可を定義します。 このロール定義には、リソース グループを削除するアクセス許可を持つことはできません。 | string (必須) |
アプリケーション定義アーティファクト
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | マネージド アプリケーション定義の成果物名。 | 'ApplicationResourceTemplate' 'CreateUiDefinition' 'MainTemplateParameters' 'NotSpecified' (必須) |
| 型 | マネージド アプリケーション定義成果物の種類。 | 「カスタム」 '指定されていません' 'Template' (必須) |
| URI | マネージド アプリケーション定義アーティファクト BLOB URI。 | string (必須) |
アプリケーション定義プロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| 成果 物 | マネージド アプリケーション成果物のコレクション。 ポータルでは、アーティファクトとして指定されたファイルを使用して、マネージド アプリケーション定義からマネージド アプリケーションを作成するユーザー エクスペリエンスを構築します。 | アプリケーション定義アーティファクト[] |
| 権限 | マネージド アプリケーション プロバイダーの承認。 | アプリケーション認証[] |
| createUiDefinition を作成します。 | Microsoft.Solutions/applications リソースを使用したバッキング テンプレートの createUiDefinition json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| deploymentPolicy (デプロイメントポリシー) | マネージド アプリケーション展開ポリシー。 | ApplicationDeploymentPolicy の |
| 形容 | マネージド アプリケーション定義の説明。 | 文字列 |
| ディスプレイ名 | マネージド アプリケーション定義の表示名。 | 文字列 |
| 有効化されている | パッケージが有効かどうかを示す値。 | ブール (bool) |
| lockingポリシー | マネージド アプリケーションのロック ポリシー。 | ApplicationPackageLockingPolicyDefinition の |
| ロックレベル | マネージド アプリケーションのロック レベル。 | 'CanNotDelete' (削除できない) 「なし」 'ReadOnly' (必須) |
| メインテンプレート | プロビジョニングするリソースを含むインライン メイン テンプレート json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| 経営方針 | マネージド リソース グループへのパブリッシャーのアクセスを決定するマネージド アプリケーション管理ポリシー。 | ApplicationManagementPolicy (アプリケーション管理ポリシー) |
| notificationPolicy(通知ポリシー) | マネージド アプリケーション通知ポリシー。 | アプリケーション通知ポリシー |
| パッケージファイルURI | マネージド アプリケーション定義パッケージ ファイル URI。 この要素を使用する | 文字列 |
| 檄 | マネージド アプリケーション プロバイダー ポリシー。 | アプリケーションポリシー[] |
| ストレージアカウントID | Bring Your Own Storage シナリオのストレージ アカウント ID。 | 文字列 |
アプリケーションデプロイメントポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| デプロイメントモード | マネージド アプリケーションのデプロイ モード。 | 「コンプリート」 「インクリメンタル」 'NotSpecified' (必須) |
ApplicationManagementPolicy (アプリケーション管理ポリシー)
| 名前 | 形容 | 価値 |
|---|---|---|
| モード | マネージド アプリケーション管理モード。 | 「管理」 '指定されていません' 「管理されていない」 |
ApplicationNotificationエンドポイント
| 名前 | 形容 | 価値 |
|---|---|---|
| URI | マネージド アプリケーション通知エンドポイント URI。 | string (必須) |
アプリケーション通知ポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 通知エンドポイント | マネージド アプリケーション通知エンドポイント。 | ApplicationNotificationEndpoint[] (必須) |
ApplicationPackageLockingPolicyDefinition
| 名前 | 形容 | 価値 |
|---|---|---|
| allowedアクション | 拒否割り当て除外アクション。 | 文字列[] |
| allowedDataActions | 拒否割り当て除外データ アクション。 | 文字列[] |
アプリケーションポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | ポリシー名 | 文字列 |
| パラメーター | ポリシー パラメーター。 | 文字列 |
| ポリシー定義ID | ポリシー定義 ID。 | 文字列 |
リソースタグ
| 名前 | 形容 | 価値 |
|---|
SKU
| 名前 | 形容 | 価値 |
|---|---|---|
| キャパシティ | SKU 容量。 | 整数 (int) |
| 家族 | SKU ファミリ。 | 文字列 |
| モデル | SKU モデル。 | 文字列 |
| 名前 | SKU 名。 | string (必須) |
| 大きさ | SKU サイズ。 | 文字列 |
| レベル | SKU レベル。 | 文字列 |
使用例
Azure のクイック スタート テンプレート
このリソースの種類 デプロイする Azure クイック スタート テンプレート 次に示します。
| テンプレート | 形容 |
|---|---|
|
リンクされたテンプレートをデプロイするマネージド アプリケーションを作成 Azure にデプロイする |
このテンプレートは、リンクされたテンプレートをデプロイするマネージド アプリケーションを作成します。 |
|
カスタマイズされたビュー を使用してマネージド アプリケーションを作成する 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 (英語)
| 名前 | 形容 | 価値 |
|---|---|---|
| 位置 | リソースの場所 | 文字列 |
| 管理されている | このリソースを管理するリソースの ID。 | 文字列 |
| 名前 | リソース名 | 糸 制約: 最小長 = 3 最大長 = 64 (必須) |
| プロパティ | マネージド アプリケーション定義のプロパティ。 | ApplicationDefinitionProperties の |
| エスケーユー | リソースの SKU。 | SKU |
| タグ | リソース タグ | タグ名と値のディクショナリ。 |
| 型 | リソースの種類 | 「Microsoft.Solutions/applicationDefinitions@2023-12-01-preview」 |
アプリケーション認証
| 名前 | 形容 | 価値 |
|---|---|---|
| プリンシパルID | プロバイダーのプリンシパル識別子。 これは、プロバイダーが ARM を呼び出してマネージド アプリケーション リソースを管理するために使用する ID です。 | string (必須) |
| ロール定義Id | プロバイダーのロール定義識別子。 このロールは、マネージド アプリケーションのコンテナー リソース グループに対してプロバイダーが持つ必要があるすべてのアクセス許可を定義します。 このロール定義には、リソース グループを削除するアクセス許可を持つことはできません。 | string (必須) |
アプリケーション定義アーティファクト
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | マネージド アプリケーション定義の成果物名。 | 'ApplicationResourceTemplate' 'CreateUiDefinition' 'MainTemplateParameters' 'NotSpecified' (必須) |
| 型 | マネージド アプリケーション定義成果物の種類。 | 「カスタム」 '指定されていません' 'Template' (必須) |
| URI | マネージド アプリケーション定義アーティファクト BLOB URI。 | string (必須) |
アプリケーション定義プロパティ
| 名前 | 形容 | 価値 |
|---|---|---|
| 成果 物 | マネージド アプリケーション成果物のコレクション。 ポータルでは、アーティファクトとして指定されたファイルを使用して、マネージド アプリケーション定義からマネージド アプリケーションを作成するユーザー エクスペリエンスを構築します。 | アプリケーション定義アーティファクト[] |
| 権限 | マネージド アプリケーション プロバイダーの承認。 | アプリケーション認証[] |
| createUiDefinition を作成します。 | Microsoft.Solutions/applications リソースを使用したバッキング テンプレートの createUiDefinition json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| deploymentPolicy (デプロイメントポリシー) | マネージド アプリケーション展開ポリシー。 | ApplicationDeploymentPolicy の |
| 形容 | マネージド アプリケーション定義の説明。 | 文字列 |
| ディスプレイ名 | マネージド アプリケーション定義の表示名。 | 文字列 |
| 有効化されている | パッケージが有効かどうかを示す値。 | ブール (bool) |
| lockingポリシー | マネージド アプリケーションのロック ポリシー。 | ApplicationPackageLockingPolicyDefinition の |
| ロックレベル | マネージド アプリケーションのロック レベル。 | 'CanNotDelete' (削除できない) 「なし」 'ReadOnly' (必須) |
| メインテンプレート | プロビジョニングするリソースを含むインライン メイン テンプレート json。 JObject または整形式の JSON 文字列を指定できます。 | 任意 |
| 経営方針 | マネージド リソース グループへのパブリッシャーのアクセスを決定するマネージド アプリケーション管理ポリシー。 | ApplicationManagementPolicy (アプリケーション管理ポリシー) |
| notificationPolicy(通知ポリシー) | マネージド アプリケーション通知ポリシー。 | アプリケーション通知ポリシー |
| パッケージファイルURI | マネージド アプリケーション定義パッケージ ファイル URI。 この要素を使用する | 文字列 |
| 檄 | マネージド アプリケーション プロバイダー ポリシー。 | アプリケーションポリシー[] |
| ストレージアカウントID | Bring Your Own Storage シナリオのストレージ アカウント ID。 | 文字列 |
アプリケーションデプロイメントポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| デプロイメントモード | マネージド アプリケーションのデプロイ モード。 | 「コンプリート」 「インクリメンタル」 'NotSpecified' (必須) |
ApplicationManagementPolicy (アプリケーション管理ポリシー)
| 名前 | 形容 | 価値 |
|---|---|---|
| モード | マネージド アプリケーション管理モード。 | 「管理」 '指定されていません' 「管理されていない」 |
ApplicationNotificationエンドポイント
| 名前 | 形容 | 価値 |
|---|---|---|
| URI | マネージド アプリケーション通知エンドポイント URI。 | string (必須) |
アプリケーション通知ポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 通知エンドポイント | マネージド アプリケーション通知エンドポイント。 | ApplicationNotificationEndpoint[] (必須) |
ApplicationPackageLockingPolicyDefinition
| 名前 | 形容 | 価値 |
|---|---|---|
| allowedアクション | 拒否割り当て除外アクション。 | 文字列[] |
| allowedDataActions | 拒否割り当て除外データ アクション。 | 文字列[] |
アプリケーションポリシー
| 名前 | 形容 | 価値 |
|---|---|---|
| 名前 | ポリシー名 | 文字列 |
| パラメーター | ポリシー パラメーター。 | 文字列 |
| ポリシー定義ID | ポリシー定義 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 = ["*"]
}