

• O AWS Systems Manager CloudWatch Dashboard não estará mais disponível a partir de 30 de abril de 2026. Os clientes podem continuar usando o console do Amazon CloudWatch para visualizar, criar e gerenciar os painéis do Amazon CloudWatch exatamente como fazem hoje. Para obter mais informações, consulte a [documentação do Amazon CloudWatch](https://docs.aws.amazon.com/AmazonCloudWatch/latest/monitoring/CloudWatch_Dashboards.html). 

# Criar um pacote no Distributor
<a name="distributor-working-with-packages-create"></a>

Para criar um pacote, prepare o software ou ativos instaláveis, um arquivo por plataforma do sistema operacional. É necessário pelo menos um arquivo para criar um pacote.

Plataformas diferentes às vezes podem usar o mesmo arquivo, mas todos os arquivos que você anexa ao seu pacote devem estar listados na seção `Files` do manifesto. Se você estiver criando um pacote usando o fluxo de trabalho simples no console, o manifesto será gerado para você. Você pode anexar um máximo de 20 arquivos a um único documento. O tamanho máximo de cada arquivo é 1 GB. Para obter mais informações sobre as plataformas compatíveis, consulte [Plataformas de pacotes e arquiteturas compatíveis](distributor.md#what-is-a-package-platforms).

Quando você cria um pacote, o sistema cria um [documento SSM](documents.md). O documento permite que você implante o pacote em nós gerenciados.

Apenas para fins de demonstração, um pacote de exemplo, [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip), está disponível para download em nosso site. O pacote de exemplo inclui um manifesto JSON concluído e três arquivos .zip contendo instaladores do PowerShell v7.0.0. Os scripts de instalação e desinstalação não contêm comandos válidos. É preciso compactar cada software instalável e scripts em um arquivo .zip para criar um pacote no fluxo de trabalho **Advanced** (Avançado), mas não compacte os ativos instaláveis no fluxo de trabalho **Simple** (Simples).

**Topics**
+ [Criar um pacote usando o fluxo de trabalho Simples](#distributor-working-with-packages-create-simple)
+ [Criar um pacote usando o fluxo de trabalho Avançado](#distributor-working-with-packages-create-adv)

## Criar um pacote usando o fluxo de trabalho Simples
<a name="distributor-working-with-packages-create-simple"></a>

Esta seção descreve como criar um pacote no Distributor escolhendo o fluxo de trabalho de criação **Simples** no console do Distributor. O Distributor é uma ferramenta do AWS Systems Manager. Para criar um pacote, prepare seus ativos instaláveis, um arquivo por plataforma do sistema operacional. É necessário pelo menos um arquivo para criar um pacote. O processo de criação de pacote **Simple (Simples)** gera os scripts de instalação e instalação, os hashes de arquivo e um manifesto em formato JSON para você. O fluxo de trabalho **Simple (Simples)** cuida do processo de upload e compactação dos seus arquivos de instalação e cria um pacote e um [documento SSM](documents.md) associado. Para obter mais informações sobre as plataformas compatíveis, consulte [Plataformas de pacotes e arquiteturas compatíveis](distributor.md#what-is-a-package-platforms).

Quando você usa o método Simple para criar um pacote, o Distributor cria scripts `install` e `uninstall` para você. No entanto, ao criar um pacote para uma atualização no local, é necessário fornecer seu próprio conteúdo de script `update` na guia **Update script (Script de atualização)**. Quando você adiciona comandos de entrada para um script `update`, o Distributor inclui esse script no pacote .zip criado para você, junto com os scripts `install` e `uninstall`.

**nota**  
Use a opção de atualização `In-place` para adicionar arquivos novos ou atualizados a uma instalação de pacote existente sem deixar a aplicação associada offline.

**Para criar um pacote usando o fluxo de trabalho Simples**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **Distributor**.

1. Na página inicial do Distributor, selecione **Create package (Criar pacote)** e, então, **Simple (Simples)**.

1. Na página **Create package (Criar pacote)**, digite um nome para seu pacote. Nomes de pacotes podem conter letras, números, pontos, traços e sublinhados. O nome deve ser genérico o suficiente para se aplicar a todas as versões dos anexos do pacote, mas específicos o suficiente para identificar a finalidade do pacote.

1. (Opcional) Em **Version name (Nome da versão)**, insira um nome para a versão. Os nomes de versões podem ter no máximo 512 caracteres e não devem conter caracteres especiais.

1. Em **Location (Localização)**, escolha um bucket usando o nome e o prefixo do bucket ou usando o URL do bucket.

1. Em **Fazer upload de software**, escolha **Adicionar software** e procure os arquivos de software instaláveis com as extensões `.rpm`, `.msi` ou `.deb`. Se o nome do arquivo contiver espaços, o upload falhará. Você pode fazer upload de mais de um arquivo de software com uma única ação.

1. Em **Target platform (Plataforma de destino)**, verifique se a plataforma do sistema operacional de destino exibida para cada arquivo de instalação está correta. Se o sistema operacional correto não for o exibido, escolha o correto na lista suspensa.

   Para o fluxo de trabalho de criação do pacote **Simple (Simples)**, como você faz upload de cada arquivo de instalação somente uma vez, são necessárias etapas adicionais para que o Distributor direcione um único arquivo para mais de um sistema operacional. Por exemplo, se você carregar um arquivo de software instalável chamado `Logtool_v1.1.1.rpm`, você precisará alterar alguns valores padrão no fluxo de trabalho **Simples** para direcionar o mesmo software em versões compatíveis tanto do Amazon Linux quanto dos sistemas operacionais Ubuntu Server. Ao segmentar várias plataformas, siga um destes procedimentos.
   + Use o fluxo de trabalho **Advanced (Avançado)**, compacte cada arquivo de instalação em um arquivo .zip antes de começar e crie o manifesto manualmente de modo que aquele arquivo de instalação possa ser direcionado a mais de uma plataforma ou versão de sistema operacional. Para obter mais informações, consulte [Criar um pacote usando o fluxo de trabalho Avançado](#distributor-working-with-packages-create-adv).
   + Edite manualmente o arquivo manifesto no fluxo de trabalho **Simple (Simples)** para que seu arquivo .zip seja direcionado a mais de uma plataforma ou versão de sistema operacional. Para obter mais informações sobre como fazer isso, consulte o final da etapa 4 em [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest).

1. Em **Platform version** (Versão da plataforma), verifique se a versão exibida da plataforma do sistema operacional é **\$1any**, uma versão importante seguida pelo curinga (7.\$1) ou a versão específica do sistema operacional ao qual você deseja que o software se aplique. Para obter mais informações sobre como especificar uma versão de plataforma do sistema operacional, consulte a etapa 4 em [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest).

1. Em **Architecture** (Arquitetura) escolha, na lista suspensa, a arquitetura do processador correta para cada arquivo de instalação. Para obter mais informações sobre as arquiteturas de processador compatíveis, consulte [Plataformas de pacotes e arquiteturas compatíveis](distributor.md#what-is-a-package-platforms).

1. (Opcional) Expanda **Scripts** e revise os scripts que o Distributor gerou para seu software instalável.

1. (Opcional) Para fornecer um script de atualização para uso com atualizações no local, expanda **Scripts**, escolha a guia **Update script (Script de atualização)** e insira os comandos de script de atualização.

   O Systems Manager não gera scripts de atualização em seu nome.

1. Para adicionar mais arquivos de software instalável, escolha **Add software (Adicionar software)**. Senão, siga para a próxima etapa.

1. (Opcional) Expanda **Manifest (Manifesto)** e revise o manifesto do pacote JSON que o Distributor gerou para o software instalável. Se você tiver alterado qualquer informação sobre seu software desde que começou esse procedimento, como a versão da plataforma ou plataforma de destino, escolha **Generate manifest (Gerar manifesto)** para exibir o manifesto do pacote atualizado.

   Você pode editar o manifesto manualmente se quiser direcionar o software instalável para mais de um sistema operacional, conforme descrito na etapa 8. Para obter mais informações sobre a edição de manifesto, consulte [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest).

1. Escolha a opção **Criar pacote**.

Aguarde até que o Distributor termine de carregar o software e criar seu pacote. O Distributor mostra o status do carregamento para cada arquivo de instalação. Dependendo do número e do tamanho dos pacotes que você estiver adicionando, isso pode levar alguns minutos. O Distributor automaticamente redirecionará você para a página **Package details** (Detalhes do pacote) do novo pacote, mas você poderá optar por abri-lo depois que o software for carregado. A página **Package details** (Detalhes do pacote) só exibirá todas as informações sobre ele quando o Distributor finalizar o processo de criação. Para interromper o processo de criação e upload do pacote, escolha **Cancel (Cancelar)**.

Se o Distributor não conseguir fazer upload de qualquer um dos arquivos de instalação do software, ele exibirá a mensagem **Upload failed** (Falha no upload). Para tentar fazer upload novamente, escolha **Retry upload (Tentar novamente)**. Para obter mais informações sobre como solucionar as falhas de criação do pacote, consulte [AWS Systems ManagerSolução de problemasDistributor](distributor-troubleshooting.md).

## Criar um pacote usando o fluxo de trabalho Avançado
<a name="distributor-working-with-packages-create-adv"></a>

Nesta seção, saiba como usuários avançados podem criar um pacote no Distributor após fazer upload de ativos instaláveis compactados com scripts de instalação e desinstalação e um arquivo manifesto JSON em um bucket do Amazon S3.

Para criar um pacote, prepare seus arquivos .zip de ativos instaláveis, um arquivo .zip por plataforma do sistema operacional. Pelo menos um arquivo .zip é necessário para criar um pacote. Em seguida, crie um manifesto JSON. O manifesto inclui ponteiros para arquivos de código do seu pacote. Quando você tiver os arquivos de código necessários adicionados a uma pasta ou diretório, e o manifesto tiver sido preenchido com os valores corretos, faça upload do pacote em um bucket do S3.

Um exemplo de pacote, [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip), está disponível para download no nosso site. O exemplo inclui um manifesto JSON concluído e três arquivos .zip.

**Topics**
+ [Etapa 1: Criar os arquivos ZIP](#packages-zip)
+ [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest)
+ [Etapa 3: Fazer upload do pacote e do manifesto em um bucket do Amazon S3](#packages-upload-s3)
+ [Etapa 4: Adicionar um pacote ao Distributor](#distributor-working-with-packages-add)

### Etapa 1: Criar os arquivos ZIP
<a name="packages-zip"></a>

A base do seu pacote é pelo menos um arquivo .zip de software ou ativos instaláveis. Um pacote inclui um arquivo .zip por sistema operacional ao qual você deseja oferecer suporte, a menos que um arquivo .zip possa ser instalado em vários sistemas operacionais. Por exemplo, versões compatíveis das instâncias do Red Hat Enterprise Linux e do Amazon Linux normalmente podem executar os mesmos arquivos .RPM executáveis, então você precisa anexar apenas um arquivo .zip ao seu pacote para oferecer suporte aos dois sistemas operacionais.

**Arquivos necessários**  
Os seguintes itens são necessários em cada arquivo .zip:
+ Um script **install** e **uninstall**. Os nós gerenciados com base no Windows Server exigem scripts do PowerShell (scripts chamados `install.ps1` e `uninstall.ps1`). Os nós gerenciados baseados em Linux exigem scripts de shell (scripts denominados `install.sh` e `uninstall.sh`). O SSM Agent executa as instruções nos scripts **install** e **uninstall**.

  Por exemplo, os scripts de instalação podem executar um instalador (como .rpm ou .msi), podem copiar arquivos ou podem definir configurações.
+ Um arquivo executável, pacotes do instalador (.rpm, .deb, .msi etc.), outros scripts ou arquivos de configuração.

**Arquivos opcionais**  
O seguinte item é opcional em cada arquivo .zip:
+ Um script **update**. Fornecer um script de atualização possibilita o uso da opção `In-place update` para instalar um pacote. Para adicionar arquivos novos ou atualizados a uma instalação de pacote existente, a opção `In-place update` não coloca a aplicação de pacote offline enquanto a atualização é executada. Os nós gerenciados com base no Windows Server requerem um script do PowerShell (chamado `update.ps1`). Os nós gerenciados baseados em Linux exigem um script de shell (script chamado `update.sh`). O SSM Agent executa as instruções no script **update**.

Para obter mais informações sobre como instalar ou atualizar pacotes, consulte [Instalar ou atualizar pacotes do Distributor](distributor-working-with-packages-deploy.md).

Para obter exemplos de arquivos .zip, incluindo scripts de amostra **install** e **uninstall**, faça download do pacote de exemplos, [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip).

### Etapa 2: Criar o manifesto do pacote JSON
<a name="packages-manifest"></a>

Depois de preparar e compactar os arquivos de instalação, crie um manifesto JSON. A seguir está um modelo. As partes do modelo manifesto estão descritas no procedimento nesta seção. Você pode usar um editor JSON para criar esse manifesto em um arquivo separado. Como alternativa, você pode criar o manifesto no console do AWS Systems Manager ao criar um pacote.

```
{
  "schemaVersion": "2.0",
  "version": "your-version",
  "publisher": "optional-publisher-name",
  "packages": {
    "platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-1.zip"
        }
      }
    },
    "another-platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-2.zip"
        }
      }
    },
    "another-platform": {
      "platform-version": {
        "architecture": {
          "file": ".zip-file-name-3.zip"
        }
      }
    }
  },
  "files": {
    ".zip-file-name-1.zip": {
      "checksums": {
        "sha256": "checksum"
      }
    },
    ".zip-file-name-2.zip": {
      "checksums": {
        "sha256": "checksum"
      }
    }
  }
}
```

**Para criar um manifesto de pacote JSON**

1. Adicione a versão do esquema ao seu manifesto. Nesta versão, a versão de esquema é sempre `2.0`.

   ```
   { "schemaVersion": "2.0",
   ```

1. Adicione uma versão do pacote definido pelo usuário ao manifesto. Isso também é o valor de **Version name (Nome da versão)** que você especifica ao adicionar o pacote ao Distributor. Ele se torna parte do documento do AWS Systems Manager que o Distributor cria quando você adiciona seu pacote. Você também pode fornecer esse valor como uma entrada no documento `AWS-ConfigureAWSPackage` para instalar uma versão do pacote que não seja a última. Um valor `version` pode conter letras, números, sublinhados, hifens e pontos, e ter no máximo 128 caracteres. Recomendamos que você use uma versão legível do pacote para facilitar que você e outros administradores especifiquem versões de pacote exatas ao implantar. Veja um exemplo a seguir.

   ```
   "version": "1.0.1",
   ```

1. (Opcional) Adicione um nome de editor. Veja um exemplo a seguir.

   ```
   "publisher": "MyOrganization",
   ```

1. Adicionar pacotes. A seção `"packages"` descreve as plataformas, versões e arquiteturas compatíveis com os arquivos .zip em seu pacote. Para obter mais informações, consulte [Plataformas de pacotes e arquiteturas compatíveis](distributor.md#what-is-a-package-platforms).

   O *platform-version* pode ser o valor curinga `_any`. Use-o para indicar que um arquivo .zip é compatível com qualquer versão da plataforma. Você também pode especificar uma versão principal seguida de um curinga para que todas as versões secundárias sejam suportadas, por exemplo 7.\$1. Se você optar por especificar um valor da *platform-version* para uma versão específica do sistema operacional, certifique-se de que ele corresponde à versão exata da AMI do sistema operacional que você definir como destino. Veja a seguir os recursos sugeridos para obter o valor correto do sistema operacional.
   + Em nós gerenciados baseados no Windows Server, a versão está disponível como dados do Windows Management Instrumentation (WMI). Você pode executar o seguinte comando em um prompt de comando para obter informações sobre a versão e depois analisar os resultados da `version`.

     ```
     wmic OS get /format:list
     ```
   + Em um nó gerenciado baseado em Linux, obtenha a versão primeiramente verificando a versão do sistema operacional (o comando a seguir). Procure o valor de `VERSION_ID`.

     ```
     cat /etc/os-release
     ```

     Se isso não retornar os resultados necessários, execute o seguinte comando para obter informações de versão do LSB do arquivo `/etc/lsb-release` e procure o valor de `DISTRIB_RELEASE`.

     ```
     lsb_release -a
     ```

     Se esses métodos falharem, você pode geralmente encontrar a versão com base na distribuição. Por exemplo, no Debian Server, você pode analisar o arquivo `/etc/debian_version`, ou no Red Hat Enterprise Linux, o arquivo `/etc/redhat-release`.

     ```
     hostnamectl
     ```

   ```
   "packages": {
       "platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-1.zip"
           }
         }
       },
       "another-platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-2.zip"
           }
         }
       },
       "another-platform": {
         "platform-version": {
           "architecture": {
             "file": ".zip-file-name-3.zip"
           }
         }
       }
     }
   ```

   Veja um exemplo a seguir. Neste exemplo, a plataforma do sistema operacional é `amazon`, a versão compatível é `2016.09`, a arquitetura é `x86_64`, e o arquivo .zip que oferece suporte a essa plataforma é `test.zip`.

   ```
   {
       "amazon": {
           "2016.09": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

   Você pode adicionar o valor curinga `_any` para indicar que o pacote é compatível com todas as versões do elemento pai. Por exemplo, para indicar que o pacote é compatível com qualquer versão do Amazon Linux, sua declaração de pacote deve ser semelhante ao seguinte: Você pode usar o curinga `_any` nos níveis de versão ou arquitetura para oferecer suporte a todas as versões de uma plataforma, ou todas as arquiteturas em uma versão, ou todas as versões e todas as arquiteturas de uma plataforma.

   ```
   {
       "amazon": {
           "_any": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

   O exemplo a seguir adiciona `_any` para mostrar que o primeiro pacote, `data1.zip`, é compatível com todas as arquiteturas do Amazon Linux 2016.09. O segundo pacote, `data2.zip`, tem suporte para todas as versões do Amazon Linux, mas apenas para nós gerenciados com a arquitetura `x86_64`. Tanto a versão `2023.8` quanto a versão `_any` são entradas em `amazon`. Há uma plataforma (Amazon Linux), mas diferentes versões, arquiteturas e arquivos .zip associados compatíveis.

   ```
   {
       "amazon": {
           "2023.8": {
               "_any": {
                   "file": "data1.zip"
               }
           },
           "_any": {
               "x86_64": {
                   "file": "data2.zip"
               }
           }
       }
   }
   ```

   Você pode fazer referência a um arquivo .zip mais de uma vez na seção `"packages"` do manifesto, se o arquivo .zip oferece suporte a mais de uma plataforma. Por exemplo, se você tiver um arquivo .zip que oferece suporte ao Red Hat Enterprise Linux versões 8.x e ao Amazon Linux, você terá duas entradas na seção `"packages"` apontando para o mesmo arquivo .zip, conforme mostrado no exemplo a seguir.

   ```
   {
       "amazon": {
           "2023.8.20250715 ": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       },
       "redhat": {
           "8.*": {
               "x86_64": {
                   "file": "test.zip"
               }
           }
       }
   },
   ```

1. Adicione a lista de arquivos .zip que fazem parte deste pacote na etapa 4. Cada entrada de arquivo exige o nome do arquivo e a soma de verificação do valor de hash do `sha256`. Os valores da soma de verificação no manifesto devem corresponder ao valor de hash `sha256` nos ativos compactados para impedir que a instalação do pacote falhe.

   Para obter a soma de verificação exata dos instaláveis, você pode executar os comandos a seguir. No Linux, execute `shasum -a 256 file-name.zip` ou `openssl dgst -sha256 file-name.zip`. No Windows, execute o cmdlet `Get-FileHash -Path path-to-.zip-file` no [PowerShell](https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.utility/get-filehash?view=powershell-6).

   A seção `"files"` do manifesto inclui uma referência para cada um dos arquivos .zip em seu pacote.

   ```
   "files": {
           "test-agent-x86.deb.zip": {
               "checksums": {
                   "sha256": "EXAMPLE2706223c7616ca9fb28863a233b38e5a23a8c326bb4ae241dcEXAMPLE"
               }
           },
           "test-agent-x86_64.deb.zip": {
               "checksums": {
                   "sha256": "EXAMPLE572a745844618c491045f25ee6aae8a66307ea9bff0e9d1052EXAMPLE"
               }
           },
           "test-agent-x86_64.nano.zip": {
               "checksums": {
                   "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE"
               }
           },
           "test-agent-rhel8-x86.nano.zip": {
               "checksums": {
                   "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE"
               }
           },
           "test-agent-x86.msi.zip": {
               "checksums": {
                   "sha256": "EXAMPLE12a4abb10315aa6b8a7384cc9b5ca8ad8e9ced8ef1bf0e5478EXAMPLE"
               }
           },
           "test-agent-x86_64.msi.zip": {
               "checksums": {
                   "sha256": "EXAMPLE63ccb86e830b63dfef46995af6b32b3c52ce72241b5e80c995EXAMPLE"
               }
           },
           "test-agent-rhel8-x86.rpm.zip": {
               "checksums": {
                   "sha256": "EXAMPLE13df60aa3219bf117638167e5bae0a55467e947a363fff0a51EXAMPLE"
               }
           }
       }
   ```

1. Depois de adicionar as informações do seu pacote, salve e feche o arquivo manifesto.

Veja a seguir um exemplo de um manifesto concluído. Neste exemplo, você tem um arquivo .zip, `NewPackage_LINUX.zip`, que oferece suporte a mais de uma plataforma, mas é referenciada na seção `"files"` somente uma vez.

```
{
    "schemaVersion": "2.0",
    "version": "1.7.1",
    "publisher": "Amazon Web Services",
    "packages": {
        "windows": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_WINDOWS.zip"
                }
            }
        },
        "amazon": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_LINUX.zip"
                }
            }
        },
        "ubuntu": {
            "_any": {
                "x86_64": {
                    "file": "NewPackage_LINUX.zip"
                }
            }
        }
    },
    "files": {
        "NewPackage_WINDOWS.zip": {
            "checksums": {
                "sha256": "EXAMPLEc2c706013cf8c68163459678f7f6daa9489cd3f91d52799331EXAMPLE"
            }
        },
        "NewPackage_LINUX.zip": {
            "checksums": {
                "sha256": "EXAMPLE2b8b9ed71e86f39f5946e837df0d38aacdd38955b4b18ffa6fEXAMPLE"
            }
        }
    }
}
```

#### Exemplo de pacote
<a name="package-manifest-examples"></a>

Um exemplo de pacote, [ExamplePackage.zip](https://docs.aws.amazon.com/systems-manager/latest/userguide/samples/ExamplePackage.zip), está disponível para download no nosso site. O exemplo inclui um manifesto JSON concluído e três arquivos .zip.

### Etapa 3: Fazer upload do pacote e do manifesto em um bucket do Amazon S3
<a name="packages-upload-s3"></a>

Prepare seu pacote, copiando ou movendo todos os arquivos .zip para uma pasta ou diretório. Um pacote válido requer o manifesto criado em [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest) e todos os arquivos .zip identificados na lista do arquivo manifesto.

**Para carregar o pacote e o manifesto no Amazon S3**

1. Copiar ou mover todos os arquivos de arquivamento .zip especificados no manifesto para uma pasta ou diretório. Não compacte a pasta ou o diretório para o qual você move seus arquivos .zip e o arquivo de manifesto.

1. Crie um bucket ou escolha um bucket existente. Para obter mais informações, consulte [Criar um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/CreatingABucket.html) no *Manual de conceitos básicos do Amazon Simple Storage Service*. Para obter mais informações sobre como executar um comando AWS CLI para criar um bucket, consulte [https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mb.html) na *AWS CLI Referência de comando*.

1. Carregue a pasta ou diretório no bucket. Para obter mais informações, consulte [Adicionar um objeto a um bucket](https://docs.aws.amazon.com/AmazonS3/latest/userguide/PuttingAnObjectInABucket.html) no *Guia de conceitos básicos do Amazon Simple Storage Service*. Se você planeja colar o manifesto JSON no console do AWS Systems Manager, não faça upload do manifesto. Para obter mais informações sobre como executar um comando AWS CLI para fazer upload de arquivos a um bucket, consulte [https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html](https://docs.aws.amazon.com/cli/latest/reference/s3/mv.html) na *AWS CLI Referência de comando*.

1. Na página inicial do bucket, escolha a pasta ou diretório que você carregou. Se você tiver feito upload dos seus arquivos para uma subpasta em um bucket, anote a subpasta (também conhecida como um *prefixo*). Você precisará do prefixo para adicionar seu pacote ao Distributor.

### Etapa 4: Adicionar um pacote ao Distributor
<a name="distributor-working-with-packages-add"></a>

Você pode usar o console do AWS Systems Manager, as ferramentas de linha de comando da AWS (AWS CLI e Ferramentas da AWS para PowerShell) ou os AWS SDKs para adicionar um novo pacote do Distributor. Ao adicionar um pacote, você está adicionando um novo [documento do SSM](documents.md). O documento permite que você implante o pacote em nós gerenciados.

**Topics**
+ [Adicionar um pacote usando o console](#create-pkg-console)
+ [Adicionar um pacote usando a AWS CLI](#create-pkg-cli)

#### Adicionar um pacote usando o console
<a name="create-pkg-console"></a>

Você pode usar o console AWS Systems Manager para criar um pacote. Tenha o nome do bucket para o qual você fez upload do pacote no [Etapa 3: Fazer upload do pacote e do manifesto em um bucket do Amazon S3](#packages-upload-s3).

**Para adicionar um pacote ao Distributor (console)**

1. Abra o console AWS Systems Manager em [https://console.aws.amazon.com/systems-manager/](https://console.aws.amazon.com/systems-manager/).

1. No painel de navegação, escolha **Distributor**.

1. Na página inicial do Distributor, selecione **Create package (Criar pacote)** e escolha **Advanced (Avançado)**.

1. Na página **Create package (Criar pacote)**, digite um nome para seu pacote. Nomes de pacotes podem conter letras, números, pontos, traços e sublinhados. O nome deve ser genérico o suficiente para se aplicar a todas as versões dos anexos do pacote, mas específicos o suficiente para identificar a finalidade do pacote.

1. Em **Version name (Nome da versão)**, insira o valor exato da entrada `version` no arquivo manifesto.

1. Em **S3 bucket name (Nome do bucket do S3)**, escolha o nome do bucket para o qual você fez upload do manifesto e dos arquivos .zip no [Etapa 3: Fazer upload do pacote e do manifesto em um bucket do Amazon S3](#packages-upload-s3).

1. Em **S3 key prefix (Prefixo de chave do S3)**, insira a subpasta do bucket em que os arquivos .zip e o manifesto estão armazenados.

1. Em **Manifest** (Manifesto), escolha **Extract from package** (Extrair do pacote) para usar um manifesto carregado no bucket do Amazon S3 com os arquivos .zip.

   (Opcional) Se você não fez upload do manifesto JSON no bucket do S3 em que armazenou os arquivos .zip, escolha **New manifest** (Novo manifesto). Você pode criar ou colar o manifesto inteiro no campo de edição JSON. Para obter mais informações sobre como criar o manifesto JSON, consulte [Etapa 2: Criar o manifesto do pacote JSON](#packages-manifest).

1. Quando terminar o manifesto, escolha **Create package** (Criar pacote).

1. Aguarde até o Distributor criar seu pacote com os arquivos .zip e o manifesto. Dependendo do número e do tamanho dos pacotes que você está adicionando, isso pode levar alguns minutos. O Distributor automaticamente redirecionará você para a página **Package details (Detalhes do pacote)** do novo pacote, mas você pode optar por abri-la após o software ser carregado. A página **Package details** (Detalhes do pacote) só exibirá todas as informações sobre ele quando o Distributor finalizar o processo de criação. Para interromper o processo de criação e upload do pacote, escolha **Cancel (Cancelar)**.

#### Adicionar um pacote usando a AWS CLI
<a name="create-pkg-cli"></a>

Você pode usar o AWS CLI para criar um pacote. Deixe o URL pronto do bucket para o qual você fez upload do pacote no [Etapa 3: Fazer upload do pacote e do manifesto em um bucket do Amazon S3](#packages-upload-s3).

**Para adicionar um pacote ao Amazon S3 usando a AWS CLI**

1. Para usar a AWS CLI para criar um pacote, execute o seguinte comando, substituindo *package-name* pelo nome do pacote e *path-to-manifest-file* pelo caminho do arquivo de manifesto JSON. amzn-s3-demo-bucket é o URL do bucket do Amazon S3 onde todo o pacote está armazenado. Ao executar o comando **create-document** no Distributor, você especifica o valor `Package` para `--document-type`.

   Se você não adicionou o arquivo de manifesto ao bucket do Amazon S3, o valor do parâmetro `--content` será o caminho do arquivo de manifesto JSON.

   ```
   aws ssm create-document \
       --name "package-name" \
       --content file://path-to-manifest-file \
       --attachments Key="SourceUrl",Values="amzn-s3-demo-bucket" \
       --version-name version-value-from-manifest \
       --document-type Package
   ```

   Veja um exemplo a seguir.

   ```
   aws ssm create-document \
       --name "ExamplePackage" \
       --content file://path-to-manifest-file \
       --attachments Key="SourceUrl",Values="https://s3.amazonaws.com/amzn-s3-demo-bucket/ExamplePackage" \
       --version-name 1.0.1 \
       --document-type Package
   ```

1. Verifique se o pacote foi adicionado e exiba o manifesto do pacote executando o seguinte comando, substituindo *package-name* pelo nome do seu pacote. Para obter uma versão específica do documento (não o mesmo que a versão de um pacote), você pode adicionar o parâmetro `--document-version`.

   ```
   aws ssm get-document \
       --name "package-name"
   ```

Para obter informações sobre outras opções que podem ser usadas com o comando **create-document**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/create-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/create-document.html) na seção AWS Systems Manager da *Referência de comando da AWS CLI*. Para obter informações sobre outras opções que podem ser usadas com o comando **get-document**, consulte [https://docs.aws.amazon.com/cli/latest/reference/ssm/get-document.html](https://docs.aws.amazon.com/cli/latest/reference/ssm/get-document.html).