Propriétés et paramètres dans environment.yaml

Les définitions des environnements de déploiement Azure sont des modèles d'Infrastructure as Code (IaC) écrits dans ARM, Bicep, Terraform ou d'autres frameworks supportés via le modèle d'extensibilité ADE et stockés dans des référentiels. Vous pouvez modifier et adapter les définitions d’environnement pour vos besoins, puis les utiliser pour créer un environnement de déploiement sur Azure. Le schéma environment.yaml définit et décrit les types de ressources Azure inclus dans les définitions d’environnement.

Qu’est-ce que environment.yaml ?

Le fichier environment.yaml agit en tant que manifeste, décrivant les ressources utilisées et l’emplacement du modèle pour la définition d’environnement.

Exemple d’environnement.yaml

Le script suivant est un exemple d’environnement.yaml requis pour votre définition d’environnement.

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

Le tableau suivant décrit les propriétés que vous pouvez utiliser dans environment.yaml.

Propriété Catégorie Description Obligatoire ? Example
name string Nom d’affichage de l'élément de catalogue. Oui Webapp
version string Version de l’élément de catalogue. No 1.0.0
summary string Chaîne courte qui récapitule l’élément de catalogue. No Environnement d’application web Azure
description string Description de l’élément de catalogue. No Déploie une application web dans Azure sans magasin de données
runner string Image conteneur à utiliser lors de l’exécution d’actions. No
Modèle ARM Terraform
templatePath string Chemin relatif du fichier de modèle d’entrée. Oui main.tf
main.bicep
azuredeploy.json
parameters tableau Paramètres d’entrée à utiliser lors de la création de l’environnement et de l’exécution d’actions. No #/definitions/Parameter

Paramètres dans "environment.yaml"

Les paramètres vous permettent de réutiliser une définition d’environnement dans différents scénarios. Par exemple, vous souhaiterez peut-être que les développeurs dans différentes régions déploient le même environnement. Vous pouvez définir un paramètre d’emplacement pour inviter les développeurs à entrer l’emplacement souhaité lors de leur création d’environnements.

Exemple d’environnement.yaml avec des paramètres

Le script suivant est un exemple de fichier environment.yaml qui inclut deux paramètres : location et name.

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

Définitions de paramètres

Le tableau suivant décrit les types de données que vous pouvez utiliser dans environment.yaml. Les noms de types de données utilisés dans le fichier manifeste environment.yaml diffèrent des noms utilisés dans les modèles ARM.

Chaque paramètre peut utiliser l’une des propriétés suivantes :

Paramètre Catégorie Description Paramètres supplémentaires
id string ID unique du paramètre.
name string Nom d'affichage du paramètre.
description string Description du paramètre.
default tableau
booléen
entier
nombre
objet
chaîne
Valeur par défaut du paramètre.
type chaîne
booléen
entier
nombre
objet
tableau
Type de données du paramètre. Ce type de données doit correspondre au type de données de paramètre qui a le nom de paramètre correspondant dans le modèle ARM, le fichier Bicep ou le fichier Terraform. Type par défaut : chaîne
readOnly booléen Indique si le paramètre est en lecture seule.
required booléen Indique si le paramètre est requis.
allowed tableau Tableau de valeurs autorisées. « items » : {
« type » : « string »
},
« minItems » : 1,
« uniqueItems » : true,

Schéma YAML

Il existe un schéma défini pour les fichiers environment.yaml des environnements de déploiement Azure. Il peut faciliter la modification de ces fichiers. Vous pouvez ajouter la définition de schéma au début de votre fichier environment.yaml :

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

Voici un exemple de définition d’environnement qui utilise le schéma :

# 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'