Parámetros y tipos de datos en environment.yaml
Las definiciones de entorno de ADE son infraestructura como código (IaC), escritas en Bicep o Terraform, almacenadas en repositorios. Las definiciones de entorno se pueden modificar y adaptar para sus requisitos específicos y, a continuación, se usan para crear un entorno de implementación en Azure. El esquema environment.yaml define y describe los tipos de recursos de Azure incluidos en las definiciones de entorno.
¿Qué es environment.yaml?
El archivo environment.yaml actúa como manifiesto, que describe los recursos usados y la ubicación de la plantilla para la definición del entorno.
Sample environment.yaml
El siguiente script es un ejemplo genérico de un environment.yaml necesario para la definición del entorno.
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
Definiciones
En la tabla siguiente se describen las propiedades que puede usar en environment.yaml.
Propiedad | Tipo | Descripción | Obligatorio | Ejemplos |
---|---|---|---|---|
name | string | Nombre para mostrar del elemento de catálogo. | Sí | |
version | string | Versión del elemento de catálogo. | 1.0.0 | |
summary | string | Una cadena de resumen breve sobre el elemento de catálogo. | ||
descripción | string | Descripción del elemento de catálogo. | ||
Corredor | string | Imagen de contenedor que se va a usar al ejecutar acciones. | Terraform de plantilla de ARM |
|
templatePath | string | Ruta de acceso relativa del archivo de plantilla de entrada. | Sí | main.tf main.bicep azuredeploy.json |
parámetros | array | Parámetros de entrada que se usarán al crear el entorno y ejecutar acciones. | #/definitions/Parameter |
Parámetros en environment.yaml
Los parámetros permiten reutilizar una definición de entorno en distintos escenarios. Por ejemplo, es posible que quiera que los desarrolladores de diferentes regiones implementen el mismo entorno. Puede definir un parámetro de ubicación para solicitar al desarrollador que escriba la ubicación deseada a medida que cree su entorno.
Ejemplo environment.yaml con parámetros
El siguiente script es un ejemplo de un archivo environment.yaml que incluye dos parámetros; location
y 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
Definiciones de parámetros
En la tabla siguiente se describen los tipos de datos que puede usar en environment.yaml. Los nombres de tipo de datos usados en el archivo de manifiesto environment.yaml difieren de los usados en las plantillas de ARM.
Cada parámetro puede usar cualquiera de las siguientes propiedades:
Propiedades | Tipo | Descripción | Más Configuración |
---|---|---|---|
Identificador | string | Identificador único del parámetro. | |
name | string | Nombre para mostrar del parámetro. | |
descripción | string | Descripción del parámetro. | |
default | matriz booleana número entero cadena de objeto |
El valor predeterminado del parámetro. | |
type | matriz booleana número entero cadena de objeto |
El tipo de datos del parámetro. Este tipo de datos debe coincidir con el tipo de datos de parámetro en la plantilla de ARM, el archivo BICEP o el archivo de Terraform con el nombre de parámetro correspondiente. | Tipo predeterminado: cadena |
readOnly | boolean | Indica si este parámetro es de solo lectura. | |
requerido | boolean | Indica si se requiere o no este parámetro. | |
permitidas | array | Matriz de valores permitidos. | "items": { "type": "string" }, "minItems": 1, "uniqueItems": true, |
Esquema YAML
Hay un esquema definido para los archivos environment.yaml de Entornos de implementación de Azure, que pueden facilitar la edición de estos archivos. Puede agregar la definición de esquema al principio del archivo environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Esta es una definición de entorno de ejemplo que usa el esquema:
# 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'