Partager via


Paramètres et types de données dans environment.yaml

Les définitions d’environnement ADE sont du code (IaC), écrits dans Bicep ou Terraform, stockés dans des référentiels. Les définitions d’environnement peuvent être modifiées et adaptées à vos besoins spécifiques, puis utilisées 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 générique 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

Définitions

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

Propriété Type Description Obligatoire Exemples
name chaîne Nom complet de l’élément de catalogue. Oui
version chaîne Version de l’élément de catalogue. 1.0.0
Récapitulatif string Une courte chaîne récapitulative sur l’élément de catalogue.
description string Description de l’élément de catalogue.
Coureur string Image conteneur à utiliser lors de l’exécution d’actions.
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. #/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 le développeur à entrer l’emplacement souhaité au fur et à mesure qu’il crée son environnement.

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 des 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 :

Propriétés Type Description Autres Paramètres
Récompenses client string ID unique du paramètre.
name chaîne Nom complet du paramètre.
description string Description du paramètre.
default chaîne d’objet
de nombre
entier
booléen de
tableau
La valeur par défaut du paramètre.
type chaîne d’objet
de nombre
entier
booléen de
tableau
Type de données du paramètre. Ce type de données doit correspondre au type de données de paramètre dans le modèle ARM, le fichier BICEP ou le fichier Terraform avec le nom de paramètre correspondant. Type par défaut : chaîne
readOnly boolean Indique si ce paramètre est en lecture seule ou non.
requis boolean Indique si ce paramètre est requis ou non.
autorisé 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, ce qui 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'