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

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 de JSON formato 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://<bucket-path>/<bucket-name>/config.json).

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 JSON arquivo 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 run comando. 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 S3URI.

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

    Cada objeto consiste dos seguinte campos:

    • path (String, required) — A localização do arquivo do documento do YAML componente. Este valor deve ser um dos seguintes:

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

      • E S3 URI (s3://bucket/key).

      • Uma versão de compilação do componente Image Builder ARN (arn:aws:imagebuilder:us-west-/ /2021.12.02/1). 2:123456789012 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 Usar variáveis em seu documento de componente personalizado.

  • executonId(String) — Esse é o ID exclusivo que se aplica à execução do run comando atual. 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 umGUID.

  • logDirectory(String) — O diretório de destino em que AWSTOE armazena todos os arquivos de log dessa execução de 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.

  • phases (String) — Uma lista separada por vírgulas que especifica quais fases devem ser executadas a partir dos documentos do YAML componente. 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>" }