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'