

Aviso de fim do suporte: em 7 de outubro de 2026, AWS encerrará o suporte para AWS Proton. Depois de 7 de outubro de 2026, você não poderá mais acessar o AWS Proton console ou os AWS Proton recursos. Sua infraestrutura implantada permanecerá intacta. Para obter mais informações, consulte o Guia [AWS Proton de descontinuação e migração de serviços](https://docs.aws.amazon.com/proton/latest/userguide/proton-end-of-support.html).

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á.

# Infraestrutura de componentes como arquivos de código
<a name="ag-components-iac"></a>

Os arquivos de infraestrutura de componentes como código (IaC) são semelhantes aos de outros AWS Proton recursos. Conheça aqui alguns detalhes específicos dos componentes. Para obter informações completas sobre a criação de arquivos IaC para AWS Proton, consulte. [Criação de modelos e criação de pacotes para AWS Proton](ag-template-authoring.md)

## Usando parâmetros com componentes
<a name="ag-components-iac.namespace"></a>

O namespace do AWS Proton parâmetro inclui alguns parâmetros que um arquivo IaC de serviço pode referenciar para obter o nome e as saídas de um componente associado. O namespace também inclui parâmetros que um arquivo IaC do componente pode referenciar para obter entradas, saídas e valores de recursos do ambiente, serviço e instância de serviço aos quais o componente está associado.

Um componente não tem entradas próprias — ele obtém suas entradas da instância de serviço à qual está conectado. Um componente também pode ler as saídas do ambiente.

Para obter mais informações sobre o uso de parâmetros em arquivos IaC de componentes e serviços associados, consulte [Detalhes e exemplos de parâmetros do arquivo do componente CloudFormation IaC](comp-parameters.md). Para obter informações gerais sobre AWS Proton parâmetros e uma referência completa do namespace do parâmetro, consulte. [AWS Proton parâmetros](parameters.md)

## Criação de arquivos IaC robustos
<a name="ag-components-iac.robust"></a>

Como administrador, ao criar uma versão do modelo de serviço, você pode decidir se deseja permitir que as instâncias de serviço criadas a partir da versão do modelo tenham componentes anexados. Veja o [supportedComponentSources](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplateVersion.html#proton-CreateServiceTemplateVersion-request-supportedComponentSources)parâmetro da ação da [CreateServiceTemplateVersion](https://docs.aws.amazon.com/proton/latest/APIReference/API_CreateServiceTemplateVersion.html)API na *Referência da AWS Proton API*. No entanto, para qualquer instância de serviço futura, a pessoa que cria a instância, decide se deseja ou não anexar um componente a ela e (no caso de componentes definidos diretamente) é a autora do componente IaC normalmente é uma pessoa diferente — um desenvolvedor usando seu modelo de serviço. Portanto, você não pode garantir que um componente seja anexado a uma instância de serviço. Você também não pode garantir a existência de nomes de saída de componentes específicos ou a validade e segurança dos valores dessas saídas.

AWS Proton e a sintaxe do Jinja ajuda você a contornar esses problemas e criar modelos de serviço robustos que são renderizados sem falhas das seguintes maneiras:
+ *AWS Proton filtros de parâmetros* — Ao se referir às propriedades de saída do componente, você pode usar *filtros de parâmetros* — modificadores que validam, filtram e formatam valores de parâmetros. Para ter mais informações e exemplos, consulte [Filtros de parâmetros para arquivos CloudFormation IaC](parameter-filters.md).
+ *Padrão de propriedade única*: Ao se referir a um único recurso ou propriedade de saída de um componente, você pode garantir que a renderização do seu modelo de serviço não falhe usando o filtro do `default`, com ou sem um valor padrão. Se o componente ou um parâmetro de saída específico ao qual você está se referindo não existir, o valor padrão (ou uma string vazia, se você não tiver especificado um valor padrão) será renderizado e a renderização será bem-sucedida. Para obter mais informações, consulte [Fornecer valores padrão para referências inexistentes](parameter-filters.md#parameter-filters.proton.default).

  Exemplos:
  + `{{ service_instance.components.default.name | default("") }}`
  + `{{ service_instance.components.default.outputs.{{my-output}} | default("17") }}`
**nota**  
Não confunda a parte `.default` do namespace, que designa componentes diretamente definidos, com o filtro `default`, que fornece um valor padrão quando a propriedade referenciada não existe.
+ *Referência de objeto inteiro*: Quando você se refere ao componente inteiro ou à coleção das saídas de um componente, o AWS Proton retorna um objeto vazio, `{}`, e, portanto, garante que a renderização do seu modelo de serviço não falhe. Você não precisa utilizar qualquer filtro Certifique-se de fazer a referência em um contexto que possa usar um objeto vazio ou use uma condição de `{{ if .. }}` para testar um objeto vazio.

  Exemplos:
  + `{{ service_instance.components.default }}`
  + `{{ service_instance.components.default.outputs }}`