Parâmetros e tipos de dados em environment.yaml
As definições de ambiente ADE são infraestrutura como código (IaC), escrito em Bicep ou Terraform, armazenado em repositórios. As definições de ambiente podem ser modificadas e adaptadas para seus requisitos específicos e, em seguida, usadas para criar um ambiente de implantação no Azure. O esquema environment.yaml define e descreve os tipos de recursos do Azure incluídos nas definições de ambiente.
O que é environment.yaml?
O arquivo environment.yaml atua como um manifesto, descrevendo os recursos usados e o local do modelo para a definição do ambiente.
Exemplo de environment.yaml
O script a seguir é um exemplo genérico de um environment.yaml necessário para sua definição de ambiente.
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
Definições
A tabela a seguir descreve as propriedades que você pode usar em environment.yaml.
Propriedade | Tipo | Descrição | Obrigatório | Exemplos |
---|---|---|---|---|
name | string | O nome para exibição do item de catálogo. | Sim | |
version | string | A versão do item de catálogo. | 1.0.0 | |
summary | string | Uma pequena cadeia de caracteres de resumo sobre o item de catálogo. | ||
descrição | string | Uma descrição do item de catálogo. | ||
corredor | string | A imagem de contêiner a ser usada ao executar ações. | Modelo ARM Terraform |
|
templatePath | string | O caminho relativo do arquivo de modelo de entrada. | Sim | main.tf main.bicep azuredeploy.json |
parâmetros | matriz | Parâmetros de entrada a serem usados ao criar o ambiente e executar ações. | #/definições/Parâmetro |
Parâmetros em environment.yaml
Os parâmetros permitem reutilizar uma definição de ambiente em diferentes cenários. Por exemplo, talvez você queira que desenvolvedores em regiões diferentes implantem o mesmo ambiente. Você pode definir um parâmetro de local para solicitar que o desenvolvedor insira o local desejado à medida que cria seu ambiente.
Exemplo environment.yaml com parâmetros
O script a seguir é um exemplo de um arquivo environment.yaml que inclui dois parâmetros; location
e 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
Definições de parâmetro
A tabela a seguir descreve os tipos de dados que você pode usar em environment.yaml. Os nomes de tipo de dados usados no arquivo de manifesto environment.yaml diferem daqueles usados em modelos ARM.
Cada parâmetro pode usar qualquer uma das seguintes propriedades:
Propriedades | Tipo | Descrição | Configurações adicionais |
---|---|---|---|
ID | string | ID exclusivo do parâmetro. | |
name | string | Nome de exibição do parâmetro. | |
descrição | string | Descrição do parâmetro. | |
default | matriz boolean número inteiro objeto cadeia de caracteres |
O valor padrão do parâmetro. | |
tipo | matriz boolean número inteiro objeto cadeia de caracteres |
O tipo de dados do parâmetro. Esse tipo de dados deve corresponder ao tipo de dados de parâmetro no modelo ARM, no arquivo BICEP ou no arquivo Terraform com o nome do parâmetro correspondente. | Tipo padrão: string |
readOnly | boolean | Se esse parâmetro é ou não somente leitura. | |
obrigatório | boolean | Se esse parâmetro é necessário ou não. | |
permitido | matriz | Uma matriz de valores permitidos. | "items": { "type": "string" }, "minItems": 1, "uniqueItems" : true, |
Esquema do YAML
Há um esquema definido para os arquivos environment.yaml dos Ambientes de Implantação do Azure, o que pode facilitar um pouco a edição desses arquivos. Você pode adicionar a definição de esquema ao início do arquivo environment.yaml:
# yaml-language-server: $schema=https://github.com/Azure/deployment-environments/releases/download/2022-11-11-preview/manifest.schema.json
Aqui está um exemplo de definição de ambiente que usa o 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'