AWS Proton parâmetros - AWS Proton

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

AWS Proton parâmetros

Você pode definir e usar parâmetros em seus arquivos de infraestrutura como código (IaC) do para torná-los flexíveis e reutilizáveis. Você lê um valor de parâmetro em seus arquivos IaC fazendo referência ao nome do parâmetro no namespace do AWS Proton parâmetro. AWS Proton injeta valores de parâmetros nos arquivos IaC renderizados que ele gera durante o provisionamento de recursos. Para processar os parâmetros AWS CloudFormation do IaC, AWS Proton usa o Jinja. Para processar os parâmetros do Terraform IaC, AWS Proton gera um arquivo de valor do parâmetro do Terraform e conta com a capacidade de parametrização incorporada ao HCL.

ComProvisionamento do CodeBuild, AWS Proton gera um arquivo de entrada que seu código pode importar. O arquivo é um arquivo JSON ou HCL, dependendo de uma propriedade no manifesto do seu modelo. Para ter mais informações, consulte CodeBuild detalhes e exemplos de parâmetros de provisionamento.

Você pode consultar os parâmetros em seus arquivos IaC de ambiente, serviço e componente ou código de provisionamento com os seguintes requisitos:

  • O tamanho de cada nome de parâmetro não excede 100 caracteres.

  • O tamanho do namespace do parâmetro e do nome do recurso combinados não excede o limite de caracteres para o nome do recurso.

AWS Proton o provisionamento falhará se essas cotas forem excedidas.

Tipos de parâmetros

Os seguintes tipos de parâmetros estão disponíveis para referência nos arquivos AWS Proton IaC:

Parâmetro de entrada

Ambientes e instâncias de serviço podem usar parâmetros de entrada que você define em um arquivo de esquema que você associa ao ambiente ou ao modelo de serviço. Você pode consultar os parâmetros de entrada de um recurso no arquivo IaC do recurso. Os arquivos IaC do componente podem se referir aos parâmetros de entrada da instância de serviço à qual o componente está anexado.

AWS Proton verifica os nomes dos parâmetros de entrada em relação ao seu arquivo de esquema e os compara com os parâmetros referenciados nos seus arquivos IaC para injetar os valores de entrada que você fornece em um arquivo de especificação durante o provisionamento de recursos.

Parâmetro de saída

Você pode definir saídas em qualquer um dos seus arquivos IaC. Uma saída pode ser, por exemplo, um nome, ID ou ARN de um dos recursos provisionados pelo modelo, ou pode ser uma forma de passar por uma das entradas do modelo. Você pode consultar essas saídas em arquivos IaC de outros recursos.

Nos arquivos CloudFormation IaC, defina os parâmetros de saída no Outputs: bloco. Em um arquivo Terraform IaC, defina cada parâmetro de saída usando uma instrução de output.

Parâmetro de recurso

AWS Proton cria automaticamente parâmetros AWS Proton de recursos. Esses parâmetros expõem as propriedades do objeto de AWS Proton recurso. Um exemplo de parâmetro de recurso é environment.name.

Usando AWS Proton parâmetros em seus arquivos IaC

Para ler um valor de parâmetro em um arquivo IaC, consulte o nome do parâmetro no namespace do AWS Proton parâmetro. Para arquivos AWS CloudFormation IaC, você usa a sintaxe Jinja e delimita o parâmetro com pares de chaves e aspas.

A tabela a seguir mostra a sintaxe de referência para cada linguagem de modelo compatível, com um exemplo.

Linguagem do modelo Sintaxe Exemplo: entrada de ambiente chamada “VPC”

CloudFormation

"{{ parameter-name }}"

"{{ environment.inputs.VPC }}"

Terraform

var.parameter-name

var.environment.inputs.VPC

Definições de variáveis do Terraform geradas

nota

Se você usar parâmetros CloudFormation dinâmicos em seu arquivo IaC, deverá evitá-los para evitar erros de interpretação errônea do Jinja. Para obter mais informações, consulte Solução de problemas do AWS Proton.

A tabela a seguir lista os nomes dos namespaces para todos os parâmetros do AWS Proton recurso. Cada tipo de arquivo de modelo pode usar um subconjunto diferente do namespace do parâmetro.

Arquivo de modelo Tipo de parâmetro Nome do parâmetro Descrição

Ambiente

recurso

environment.name

Nome do ambiente

input

environment.inputs.input-name

Entradas de ambiente definidas pelo esquema

Serviço

recurso

environment.name

environment.account_id

Nome e Conta da AWS ID do ambiente

output

environment.outputs.output-name

Saídas de arquivo IaC do ambiente

recurso

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Nome do serviço e repositório de códigos

recurso

service_instance.name

Nome da instância de serviço

input

service_instance.inputs.input-name

Entradas de instância de serviço definidas pelo esquema

recurso

service_instance.components.default.name

Nome do componente padrão anexado

output

service_instance.components.default.outputs.output-name

Saídas de arquivo IaC do componente padrão anexado

Pipeline

recurso

service_instance.environment.name

service_instance.environment.account_id

Nome e Conta da AWS ID do ambiente da instância de serviço

output

service_instance.environment.outputs.output-name

Saídas de arquivo IaC do ambiente de instância de serviço

input

pipeline.inputs.input-name

Entradas de pipeline definidas pelo esquema

recurso

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Nome do serviço e repositório de códigos

input

service_instance.inputs.input-name

Entradas de instância de serviço definidas pelo esquema

conjunto

{% for service_instance in service_instances %}...{% endfor %}

Uma coleção de instâncias de serviço que você pode percorrer

Componente

recurso

environment.name

environment.account_id

Nome do ambiente e ID Conta da AWS da conta

output

environment.outputs.output-name

Saídas de arquivo IaC do ambiente

recurso

service.branch_name

service.name

service.repository_connection_arn

service.repository_id

Nome do serviço e repositório de códigos (componentes anexados)

recurso

service_instance.name

Nome da instância de serviço (componentes anexados)

input

service_instance.inputs.input-name

Entradas de instância de serviço definidas pelo esquema (componentes anexados)

recurso

component.name

Nome do componente

Para obter mais informações e exemplos, consulte os subtópicos sobre parâmetros nos arquivos de modelo do IaC para diferentes tipos de recursos e linguagens de modelo.