Microsoft.Solutions アプリケーション定義 2019-07-01

Bicep リソース定義

applicationDefinitions リソースの種類は、次を対象とする操作でデプロイできます。

  • リソース グループの - リソース グループのデプロイ コマンド 参照

各 API バージョンで変更されたプロパティの一覧については、変更ログの参照してください。

リソースの形式

Microsoft.Solutions/applicationDefinitions リソースを作成するには、次の Bicep をテンプレートに追加します。

resource symbolicname 'Microsoft.Solutions/applicationDefinitions@2019-07-01' = {
  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'
      }
    ]
  }
  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。 この要素を使用する 文字列
マネージド アプリケーション プロバイダー ポリシー。 アプリケーションポリシー[]

アプリケーションデプロイメントポリシー

名前 形容 価値
デプロイメントモード マネージド アプリケーションのデプロイ モード。 「コンプリート」
「インクリメンタル」
'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": "2019-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"
      }
    ]
  },
  "sku": {
    "capacity": "int",
    "family": "string",
    "model": "string",
    "name": "string",
    "size": "string",
    "tier": "string"
  },
  "tags": {
    "{customized property}": "string"
  }
}

プロパティ値

Microsoft.Solutions/applicationDefinitions (英語)

名前 形容 価値
apiVersion (英語) API のバージョン '2019-07-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。 この要素を使用する 文字列
マネージド アプリケーション プロバイダー ポリシー。 アプリケーションポリシー[]

アプリケーションデプロイメントポリシー

名前 形容 価値
デプロイメントモード マネージド アプリケーションのデプロイ モード。 「コンプリート」
「インクリメンタル」
'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@2019-07-01"
  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"
        }
      ]
    }
    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@2019-07-01」

アプリケーション認証

名前 形容 価値
プリンシパル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。 この要素を使用する 文字列
マネージド アプリケーション プロバイダー ポリシー。 アプリケーションポリシー[]

アプリケーションデプロイメントポリシー

名前 形容 価値
デプロイメントモード マネージド アプリケーションのデプロイ モード。 「コンプリート」
「インクリメンタル」
'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    = ["*"]
}