Configurar a entrada para o comando de AWSTOE execução - EC2 Image 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á.

Configurar a entrada para o comando de AWSTOE execução

Para simplificar a entrada da linha de comando para seu AWSTOE run comando, você pode incluir configurações para parâmetros e opções de comando em um arquivo de configuração de entrada no formato JSON com uma extensão de .json arquivo. AWSTOE pode ler seu arquivo em um dos seguintes locais:

  • Um caminho de arquivo local (. /config.json).

  • Um bucket S3 (s3:////config.json <bucket-path><bucket-name>).

Ao inserir o comando run, você pode especificar o arquivo de configuração de entrada usando o parâmetro --config. Por exemplo: .

awstoe run --config <file-path>/config.json
Um arquivo de configuração de entrada

O arquivo JSON de configuração de entrada inclui pares de valores-chave para todas as configurações que você pode fornecer diretamente por meio de parâmetros e opções de comando run. Se você especificar uma configuração no arquivo de configuração de entrada e no comando run, como parâmetro ou opção, as seguintes regras de precedência se aplicam:

Regras de precedência
  1. Uma configuração fornecida diretamente ao run comando no AWS CLI, por meio de um parâmetro ou opção, substitui qualquer valor definido no arquivo de configuração de entrada para a mesma configuração.

  2. Uma configuração no arquivo de configuração de entrada substitui o valor padrão de um componente.

  3. Se nenhuma outra configuração for passada para o documento do componente, ele poderá aplicar um valor padrão, se houver.

Há duas exceções a essa regra: documentos e parâmetros. Estas configurações funcionam de forma diferente na configuração de entrada e como parâmetros de comando. Se você usar o arquivo de configuração de entrada, não deverá especificar esses parâmetros diretamente no comando run. Fazer isso gerará um erro.

Configurações do componente

O arquivo de configuração de entrada contém as seguintes configurações. Para simplificar seu arquivo, você pode omitir as configurações opcionais que não são necessárias. Todas as configurações são opcionais, salvo indicação em contrário.

  • cwIgnoreFailures(Boolean) — Ignore as falhas de registro dos CloudWatch registros.

  • cwLogGroup(String) — O LogGroup nome dos CloudWatch registros.

  • cwLogRegion(String) — A AWS região que se aplica aos CloudWatch registros.

  • cwLogStream(String) — O LogStream nome dos CloudWatch registros, que direciona para AWSTOE onde transmitir o console.log arquivo.

  • DocumentS3 BucketOwner (String) — O ID da conta do proprietário do bucket para documentos baseados em URI do S3.

  • documents (matriz de objetos, obrigatório) — Uma matriz de objetos JSON representando os documentos do componente YAML que o AWSTOE run comando está executando. Pelo menos um documento de componente deve ser especificado.

    Cada objeto consiste dos seguinte campos:

    • path (String, obrigatório): o local do arquivo do documento do componente YAML. Este valor deve ser um dos seguintes:

      • Um caminho de arquivo local (. /component-doc-example. yaml).

      • Um URI do S3 (s3://bucket/key).

      • Uma versão ARN de compilação do componente Image Builder (arn:aws:imagebuilder:us-west- 2:123456789012/ /2021.12.02/1). my-example-component

    • parâmetros (matriz de objetos): uma matriz de objetos de pares de valores-chave, cada um representando um parâmetro específico do componente que o comando runtransmite ao executar o documento do componente. Os parâmetros são opcionais para componentes. O documento do componente pode ou não ter parâmetros definidos.

      Cada objeto consiste dos seguinte campos:

      • nome (string, obrigatório): o nome do parâmetro de componente.

      • valor (String, obrigatório): o valor a ser passado para o documento do componente para o parâmetro nomeado.

      Para saber mais sobre os parâmetros do componente, consulte a seção Parâmetros na página Use variáveis em seu documento de componente personalizado.

  • ExecutonId (String): esse é o ID exclusivo que se aplica à execução do comando atual run. Este ID é incluído nos nomes dos arquivos de saída e log, para identificar esses arquivos de forma exclusiva e vinculá-los à execução atual do comando. Se essa configuração for omitida, AWSTOE gera um GUID.

  • LogDirectory (String) — O diretório de destino em que AWSTOE armazena todos os arquivos de log da execução desse comando. Este arquivo está localizado no diretório a seguir, por padrão: TOE_<DATETIME>_<EXECUTIONID>. Se você não especificar o diretório de log, AWSTOE usa o diretório de trabalho atual (.).

  • LogS3 BucketName (String) — Se os registros do componente estiverem armazenados no Amazon S3 (recomendado) AWSTOE , carrega os registros do aplicativo do componente no bucket do S3 nomeado nesse parâmetro.

  • LogS3 BucketOwner (String) — Se os logs do componente estiverem armazenados no Amazon S3 (recomendado), esse é o ID da conta do proprietário do bucket em AWSTOE que grava os arquivos de log.

  • LogS3 KeyPrefix (String) — Se os logs do componente estiverem armazenados no Amazon S3 (recomendado), esse é o prefixo da chave de objeto do S3 para a localização do log no bucket.

  • parameters (matriz de objetos): uma matriz de objetos de pares de valores-chave que representam parâmetros que se aplicam globalmente a todos os componentes incluídos na execução atual do comando run.

    • nome (string, obrigatório): o nome do parâmetro global.

    • valor (String, obrigatório): o valor a ser passado para todos os documentos do componente do parâmetro nomeado.

  • fases (String): uma lista separada por vírgulas que especifica quais fases devem ser executadas a partir dos documentos do componente YAML. Se um documento do componente incluir fases adicionais, elas não serão executadas.

  • StateDirectory (String): o caminho do arquivo em que os arquivos de rastreamento de estado são armazenados.

  • traço (Boolean): habilita o log detalhado no console.

Exemplos

O exemplo a seguir mostra um arquivo de configuração de entrada que executa as fases build e test para dois documentos de componentes: sampledoc.yaml e conversation-intro.yaml. Cada documento de componente tem um parâmetro que se aplica somente a si mesmo, e ambos usam um parâmetro compartilhado. O parâmetro project se aplica aos dois documentos de componentes.

{ "documents": [ { "path": "<file path>/awstoe/sampledoc.yaml>", "parameters": [ { "name": "dayofweek", "value": "Monday" } ] }, { "path": "<file path>/awstoe/conversation-intro.yaml>", "parameters": [ { "name": "greeting", "value": "Hello, HAL." } ] } ], "phases": "build,test", "parameters": [ { "name": "project", "value": "examples" } ], "cwLogGroup": "<log_group_name>", "cwLogStream": "<log_stream_name>", "documentS3BucketOwner": "<owner_aws_account_number>", "executionId": "<id_number>", "logDirectory": "<local_directory_path>", "logS3BucketName": "<bucket_name_for_log_files>", "logS3KeyPrefix": "<key_prefix_for_log_files>", "logS3BucketOwner": "<owner_aws_account_number>" }