

# Ativar uma extensão pública de terceiros em sua conta
<a name="registry-public-activate-extension"></a>

O tópico a seguir mostra como ativar uma extensão pública de terceiros em sua conta, o que a torna utilizável na conta e na região em que foi ativada.

**nota**  
Antes de continuar, confirme se você criou o [perfil do IAM](registry-public.md#registry-public-enable-execution-role) que utilizará com essa extensão.

**Topics**
+ [Ativar uma extensão pública (console)](#registry-public-activate-extension-console)
+ [Ativar uma extensão pública (AWS CLI)](#registry-public-activate-extension-cli)

## Ativar uma extensão pública (console)
<a name="registry-public-activate-extension-console"></a>

Siga as etapas nesta seção para usar o console para:
+ Ativar uma extensão pública de terceiros
+ Especificar dados de configuração de extensão adicionais para sua conta

**Para ativar uma extensão pública para uso em sua conta**

1. Faça login no Console de gerenciamento da AWS e abra o console CloudFormation em [https://console.aws.amazon.com/cloudformation](https://console.aws.amazon.com/cloudformation/).

1. Na barra de navegação na parte superior da tela, escolha sua Região da AWS.

1. No painel de navegação, em **Registro**, selecione **Extensões públicas**.

1. Use a opção **Filtrar** para selecionar o tipo de extensão e selecione **Terceiros**. (Extensões publicadas pela AWS são ativadas por padrão.)

1. Selecione a extensão e depois **Ativar**.

   Se várias versões de uma extensão estiverem disponíveis, você poderá usar o menu **Versão** para selecionar a versão da extensão que deseja ativar. A versão padrão é a mais atual.

1. Para **Nome da extensão**, você pode manter a opção **Usar padrão** selecionada ou escolher **Substituir padrão** e inserir o alias do tipo de extensão que deseja usar com essa extensão. O alias deve seguir o formato recomendado para o tipo de extensão. Para obter mais informações, consulte [Usar aliases para fazer referência a extensões](registry-public.md#registry-public-enable-alias).

1. Se a extensão que você está ativando for um hook ou um tipo de recurso, para **ARN do perfil de execução**, especifique o perfil do IAM que o CloudFormation deve assumir ao invocar a extensão. Para obter mais informações, consulte [Configure um perfil de execução com permissões do IAM e uma política de confiança para acesso público à extensão](registry-public.md#registry-public-enable-execution-role).

1. Em **Configuração do registro em log**, se desejar, especifique as informações de configuração de registro em log para uma extensão. Por exemplo:

   ```
   {
       "logRoleArn": "arn:aws:iam::account:role/rolename",
       "logGroupName": "log-group-name"
   }
   ```

   As informações de configuração de registro em log não são necessárias, mas são recomendadas para fins de depuração. Para utilizar a configuração de registro em log com hooks, adicione a mesma política de confiança que a função de execução especificada, para que a função de registro em log possa gravar logs no seu grupo de logs.

   Os nomes de chaves `logRoleArn` e `logGroupName` diferenciam maiúsculas de minúsculas.

1. Em **Versionamento**, **Atualizações automáticas**, escolha como as atualizações serão recebidas.
   + **On** (Ativado): atualiza automaticamente para a versão secundária mais recente. As versões principais são atualizadas manualmente.
   + **Off** (Desativado): nunca atualiza automaticamente para a versão mais recente. Todas as versões são atualizadas manualmente.

   Para obter mais informações, consulte [Usar novas versões de extensões automaticamente](registry-public.md#registry-public-enable-auto).

Se a extensão exigir configuração adicional, você terá a opção de especificar os dados de configuração agora ou depois que a extensão tiver sido ativada.

**Importante**  
Se a extensão que você está ativando for um hook, esta etapa será necessária. Você deve especificar `ENABLED` para a propriedade `HookInvocationStatus`. Essa operação ativa as propriedades do hook que são definidas na seção `properties` do esquema do hook. Para obter mais informações, consulte [Hook configuration schema syntax reference](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html) no *CloudFormation Hooks User Guide*.

**Para especificar os dados de configuração.**

1. Em **Configuração**, escolha **Configurar agora** e, em seguida, escolha **Ativar extensão**.

   O CloudFormation exibe a página **Configure extension** (Configurar extensão). Para visualizar o esquema de configuração atual da extensão, certifique-se de a opção **View configuration schema** (Visualizar esquema de configuração) esteja ativada.

1. Na caixa de texto **Configuration JSON** (Configuração JSON), insira uma string JSON que represente os dados de configuração que você deseja especificar para essa extensão. O JSON especificado deve ser válido em relação ao esquema de configuração da extensão.

1. Escolha **Configurar extensão**.

Se preferir configurar a extensão após a ativação, pule essa etapa e forneça os dados de configuração posteriormente.

1. Em **Configuração**, escolha **Configurar mais tarde** e, em seguida, escolha **Ativar extensão**.

1. Depois que a extensão for ativada, você poderá configurá-la navegando até a extensão na página de extensões ativadas e fornecendo os dados de configuração.

## Ativar uma extensão pública (AWS CLI)
<a name="registry-public-activate-extension-cli"></a>

Siga as etapas nesta seção para usar o AWS CLI para:
+ Ativar uma extensão pública de terceiros
+ Especificar dados de configuração de extensão adicionais para sua conta

### Ativar hooks públicos
<a name="registry-public-activate-extension-hooks"></a>

Ao ativar o Hooks na conta, você autoriza um hook a usar permissões definidas em sua Conta da AWS. O CloudFormation remove as permissões não necessárias antes de passar as permissões ao hook. O CloudFormation recomenda que os clientes ou usuários do hook revisem as permissões dele e estejam cientes sobre elas antes de ativar o Hooks na conta.

**Para ativar um hook público para uso em sua conta (AWS CLI)**

1. Obtenha o ARN para do hook e salve-o. Você pode obter o ARN de um Hook usando o Console de gerenciamento da AWS ou a AWS CLI. Para obter mais informações, consulte [Visualizar as extensões disponíveis e ativadas no registro do CloudFormation](registry-view.md). 

   ```
   export HOOK_TYPE_ARN="arn:aws:cloudformation:us-west-2:123456789012:type/hook/Organization-Service-Hook/"
   ```

1. Use o comando [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/set-type-configuration.html) para especificar os dados de configuração. O JSON transmitido por você para `--configuration` deverá ser válido em relação ao esquema de configuração do hook. Para ativar o hook para todas as operações de pilha, é necessário definir a propriedade `HookInvocationStatus` como `ENABLED` na seção `HookConfiguration`.

   ```
   aws cloudformation set-type-configuration \
     --configuration "{"CloudFormationConfiguration":{"HookConfiguration":{"HookInvocationStatus": "ENABLED", "FailureMode": "FAIL", "Properties":{}}}}" \
     --type-arn $HOOK_TYPE_ARN --region us-west-2
   ```

   Para obter mais informações sobre as opções de configuração de `HookConfiguration`, consulte [Hook configuration schema syntax reference](https://docs.aws.amazon.com/cloudformation-cli/latest/hooks-userguide/hook-configuration-schema.html#) no *CloudFormation Hooks User Guide*.

### Ativar módulos e tipos de recursos públicos
<a name="registry-public-activate-extension-type"></a>

**Para ativar uma extensão pública para uso em sua conta (AWS CLI)**
+ Use [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html) para ativar a extensão e especificar se ela deve ser atualizada automaticamente sempre que uma nova versão secundária for publicada.

  O exemplo abaixo especifica o nome do recurso da Amazon (ARN) público de uma extensão pública a ser ativada para essa conta. Além disso, ele especifica que o CloudFormation deve atualizar a extensão sempre que uma nova versão secundária é publicada.

  ```
  aws cloudformation activate-type \
    --public-type-arn public_extension_ARN \
    --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
    --auto-update true --region us-west-2
  ```

  Esse comando retorna um ARN da extensão ativada.

  ```
  {
      "Arn": "arn:aws:cloudformation:us-west-2:123456789012:type/resource/My-Resource-Example"
  }
  ```

### Atualizar a versão de uma extensão pública utilizando (AWS CLI)
<a name="registry-public-update-extension-type"></a>

Use [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html) para ativar a extensão novamente.

Use a opção `--version-bump` para especificar se a extensão deve ser atualizada para a versão `MAJOR` mais recente ou para a versão `MINOR` mais recente.

```
aws cloudformation activate-type --type RESOURCE \
  --type-name Example::Test::1234567890abcdef0 \
  --type-name-alias Example::Test::Alias \
  --version-bump MAJOR --region us-west-2
```