environment.yaml のプロパティとパラメーター

Azure Deployment Environment 環境の定義は、ADE 拡張機能モデルでサポートされ、リポジトリに格納される ARM、Bicep、Terraform、またはその他のフレームワークで記述されたコードとしてのインフラストラクチャ (IaC) テンプレートです。 要件に合わせて環境定義を変更および調整し、それらを使用して Azure 上にデプロイ環境を作成できます。 environment.yaml スキーマは、環境定義に含まれる Azure リソースの種類を定義し、説明します。

environment.yaml とは

environment.yaml ファイルはマニフェストとして機能し、使用されるリソースと環境定義のテンプレートの場所を記述します。

サンプル「environment.yaml」

次のスクリプトは、環境定義に必要な environment.yaml の例です。

name: WebApp
version: 1.0.0
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json

Definitions

次の表では、environment.yaml で使用できるプロパティについて説明します。

財産 タイプ Description 必須ですか? Example
name 文字列 カタログ アイテムの表示名。 はい ウェブアプリ
version 文字列 カタログ アイテムのバージョン。 No 1.0.0
summary 文字列 カタログ アイテムを要約する短い文字列。 No Azure Web App Environment
description 文字列 カタログ アイテムの説明。 No データストアを使用せずに Azure に Web アプリをデプロイする
runner 文字列 アクションの実行時に使用するコンテナー イメージ。 No ARM テンプレート
Terraform
templatePath 文字列 エントリ テンプレート ファイルの相対パス。 はい main.tf
main.bicep
azuredeploy.json
parameters アレイ 環境を作成し、アクションを実行するときに使用するパラメーターを入力します。 No #/definitions/Parameter

environment.yaml のパラメーター

パラメーターを使用すると、さまざまなシナリオで環境定義を再利用できます。 たとえば、異なるリージョンの開発者に同じ環境をデプロイさせる場合があります。 場所パラメーターを定義して、開発者が環境を作成するときに目的の場所を入力するように求めることができます。

パラメーターを含むサンプル environment.yaml

次のスクリプトは、 locationnameの 2 つのパラメーターを含む environment.yaml ファイルの例です。

name: WebApp
summary: Azure Web App Environment
description: Deploys a web app in Azure without a datastore
runner: ARM
templatePath: azuredeploy.json
parameters:
- id: "location"
  name: "location"
  description: "Location to deploy the environment resources"
  default: "[resourceGroup().location]"
  type: "string"
  required: false
- id: "name"
  name: "name"
  description: "Name of the Web App "
  default: ""
  type: "string"
  required: false

パラメーター定義

次の表では、environment.yaml で使用できるデータ型について説明します。 environment.yaml マニフェスト ファイルで使用されるデータ型名は、ARM テンプレートで使用される名前とは異なります。

各パラメーターでは、次のいずれかのプロパティを使用できます。

パラメーター タイプ Description 追加設定
id 文字列 パラメーターの一意の ID。
name 文字列 パラメーターの表示名。
description 文字列 パラメーターの説明です。
default 配列
ブール値
整数
数値
オブジェクト
文字列
パラメーターの既定値。
type 配列
ブール値
整数
数値
オブジェクト
文字列
パラメーターのデータ型。 このデータ型は、ARM テンプレート、Bicep ファイル、または Terraform ファイル内の対応するパラメーター名を持つパラメーター データ型と一致する必要があります。 既定の型: string
readOnly boolean パラメーターが読み取り専用かどうか。
required boolean パラメーターが必要かどうか。
allowed アレイ 許可される値の配列。 "items": {
"type": "string"
},
"minItems": 1,
"uniqueItems": true,

YAML スキーマ

Azure Deployment Environment environment.yaml ファイルのスキーマが定義されています。 これにより、これらのファイルの編集が少し簡単になります。 スキーマ定義は、environment.yaml ファイルの先頭に追加できます。

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json

スキーマを使用する環境定義の例を次に示します。

# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
name: FunctionApp
version: 1.0.0
summary: Azure Function App Environment
description: Deploys an Azure Function App, Storage Account, and Application Insights
runner: ARM
templatePath: azuredeploy.json

parameters:
  - id: name
    name: Name
    description: 'Name of the Function App.'
    type: string
    required: true

  - id: supportsHttpsTrafficOnly
    name: 'Supports HTTPS Traffic Only'
    description: 'Allows https traffic only to Storage Account and Functions App if set to true.'
    type: boolean

  - id: runtime
    name: Runtime
    description: 'The language worker runtime to load in the function app.'
    type: string
    allowed:
      - 'dotnet'
      - 'dotnet-isolated'
      - 'java'
      - 'node'
      - 'powershell'
      - 'python'
    default: 'dotnet-isolated'