Tutorial: Crie um componente personalizado com parâmetros de entrada - EC2Image Builder

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

Tutorial: Crie um componente personalizado com parâmetros de entrada

Você pode gerenciar componentes do Image Builder, incluindo criar e definir parâmetros de componentes, diretamente do console do EC2 Image Builder, do AWS CLI, ou do Image Builder API ouSDKs. Nesta seção, abordaremos a criação e o uso de parâmetros em seu componente e a configuração dos parâmetros do componente por meio do console e dos AWS CLI comandos do Image Builder em tempo de execução.

Importante

Os parâmetros do componente são valores de texto simples e estão logados em AWS CloudTrail. Recomendamos que você use AWS Secrets Manager ou o AWS Systems Manager Parameter Store para armazenar seus segredos. Para obter mais informações sobre o Secrets Manager, consulte ‭O que é o Secrets Manager?‭‬ no AWS Secrets Manager Guia do usuário‭. Para obter mais informações sobre o ‭ AWS Systems Manager Parameter Store, consulte AWS Systems Manager ‬ Parameter Store‭‬ no AWS Systems Manager ‬ Guia do usuário‭.

Use parâmetros em seu documento de YAML componente

Para criar um componente, você deve fornecer um documento do componente YAML ou do JSON aplicativo. O documento contém o código que é executado durante as fases e etapas que você define para fornecer personalização para sua imagem. A fórmula que faz referência ao componente pode definir os parâmetros para personalizar os valores no runtime com valores padrão que entrarão em vigor se o parâmetro não for definido com um valor específico.

Criar um documento de componente com parâmetros de entrada

Esta seção mostra como definir e usar parâmetros de entrada no documento YAML do componente.

Para criar um documento de componente de YAML aplicativo que usa parâmetros e executa comandos em suas instâncias de compilação ou teste do Image Builder, siga as etapas que correspondem ao sistema operacional de sua imagem:

Linux
Criar um documento YAML componente

Use uma ferramenta de edição de arquivos para criar um arquivo de documento componente. Os exemplos de documentação usam um arquivo chamado hello-world-test.yaml que inclui o seguinte conteúdo:

# Document Start # name: "HelloWorldTestingDocument-Linux" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecuteBash inputs: commands: - echo "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
dica

Use uma ferramenta como esse YAMLvalidador on-line ou uma extensão YAML lint em seu ambiente de código para verificar se o seu YAML está bem formado.

Windows
Criar um documento YAML componente

Use uma ferramenta de edição de arquivos para criar um arquivo de documento componente. Os exemplos de documentação usam um arquivo chamado hello-world-test.yaml que inclui o seguinte conteúdo:

# Document Start # name: "HelloWorldTestingDocument-Windows" description: "Hello world document to demonstrate parameters." schemaVersion: 1.0 parameters: - MyInputParameter: type: string default: "It's me!" description: This is an input parameter. phases: - name: build steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Build phase. My input parameter value is {{ MyInputParameter }}" - name: validate steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Validate phase. My input parameter value is {{ MyInputParameter }}" - name: test steps: - name: HelloWorldStep action: ExecutePowerShell inputs: commands: - Write-Host "Hello World! Test phase. My input parameter value is {{ MyInputParameter }}" # Document End
dica

Use uma ferramenta como esse YAMLvalidador on-line ou uma extensão YAML lint em seu ambiente de código para verificar se o seu YAML está bem formado.

Para obter mais informações sobre as fases, etapas e sintaxe dos documentos do componente do AWSTOE aplicativo, consulte Usar documentos em AWSTOE. Para obter mais informações sobre parâmetros e seus requisitos, consulte a seção Parâmetros da página Definir e referenciar variáveis no AWSTOE.

Crie um componente a partir do documento do YAML componente

Seja qual for o método usado para criar um AWSTOE componente, o documento do componente do YAML aplicativo é sempre necessário como linha de base.

Defina os parâmetros do componente em uma receita do Image Builder a partir do console

A configuração dos parâmetros do componente funciona da mesma forma para fórmulas de imagens e fórmulas de contêineres. Ao criar uma nova fórmula ou uma nova versão de uma fórmula, você escolhe quais componentes incluir nas listas Componentes de compilação e Componentes de teste. As listas de componentes incluem componentes que são aplicáveis ao sistema operacional básico que você escolheu para sua imagem.

Depois de selecionar um componente, ele é exibido na seção Componentes selecionados, diretamente abaixo das listas de componentes. São mostradas opções de configuração para cada componente selecionado. Se seu componente tiver parâmetros de entrada definidos, eles serão exibidos como uma seção expansível chamada Parâmetros de entrada.

As seguintes configurações de parâmetros são mostradas para cada parâmetro definido para seu componente:

  • Nome do parâmetro (não editável): o nome do parâmetro.

  • Descrição (não editável): a descrição do parâmetro

  • Tipo (não editável): o tipo de dados para o valor do parâmetro.

  • Valor: o valor do parâmetro. Se você estiver usando esse componente pela primeira vez nesta receita e um valor padrão tiver sido definido para o parâmetro de entrada, o valor padrão aparecerá na caixa Valor com texto acinzentado. Se nenhum outro valor for inserido, o Image Builder usará o valor padrão.