

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

# Ative um Lambda Hook em sua conta
<a name="lambda-hooks-activate-hooks"></a>

O tópico a seguir mostra como ativar um Lambda Hook em sua conta, o que o torna utilizável na conta e na região em que foi ativado.

**Topics**
+ [Ativar um Lambda Hook (console)](#lambda-hooks-activate-hook-console)
+ [Ativar um gancho Lambda ()AWS CLI](#lambda-hooks-activate-hooks-cli)
+ [Recursos relacionados](#related-resources-lambda-hooks)

## Ativar um Lambda Hook (console)
<a name="lambda-hooks-activate-hook-console"></a>

**Para ativar um Lambda Hook para uso em sua conta**

1. Faça login no Console de gerenciamento da AWS e abra o CloudFormation console 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 Região da AWS onde você deseja criar o Hook in.

1. Se você *não* criou uma função Lambda para o Hook, faça o seguinte:
   + Abra a [página Functions (Funções)](https://console.aws.amazon.com/lambda/home#/functions) no console do Lambda.
   + Crie a função Lambda que você usará com esse Hook e, em seguida, retorne a esse procedimento. Para obter mais informações, consulte [Crie funções Lambda para avaliar recursos para Lambda Hooks](lambda-hooks-create-lambda-function.md). 

   Se você já criou sua função Lambda, vá para a próxima etapa. 

1. No painel de navegação à esquerda, escolha **Ganchos**.

1. Na página **Hooks**, escolha **Create a Hook** e, em seguida, escolha **With Lambda**.

1. Em **Nome do gancho**, escolha uma das seguintes opções:
   + Forneça um nome curto e descritivo que será adicionado depois`Private::Lambda::`. Por exemplo, se você inserir*`MyTestHook`*, o nome completo do Hook será`Private::Lambda::MyTestHook`.
   + Forneça o nome completo do Hook (também chamado de alias) usando este formato: `Provider::ServiceName::HookName` 

1. Para a função **Lambda, forneça a função** Lambda a ser usada com este Hook. Você pode usar: 
   + O Amazon Resource Name (ARN) completo sem um sufixo.
   + Um ARN qualificado com um sufixo de versão ou alias.

1. Para **alvos de Hook**, escolha o que avaliar:
   + **Pilhas** — avalia os modelos de pilha quando os usuários criam, atualizam ou excluem pilhas.
   + **Recursos** — avalia as alterações de recursos individuais quando os usuários atualizam as pilhas.
   + **Conjuntos de alterações** — avalia as atualizações planejadas quando os usuários criam conjuntos de alterações.
   + **API Cloud Control** — avalia as operações de criação, atualização ou exclusão iniciadas pela [API Cloud Control](https://docs.aws.amazon.com/cloudcontrolapi/latest/userguide/what-is-cloudcontrolapi.html).

1. Em **Ações**, escolha quais ações (criar, atualizar, excluir) invocarão seu Hook.

1. Para o **modo Hook**, escolha como o Hook responde quando a função Lambda invocada pelo Hook retorna uma resposta: `FAILED`
   + **Avisar** — Emite avisos aos usuários, mas permite que as ações continuem. Isso é útil para validações não críticas ou verificações de informações.
   + **Falha** — Impede que a ação prossiga. Isso é útil para aplicar políticas rígidas de conformidade ou segurança.

1. Para **a função Execution**, escolha a função do IAM que o Hook assume para invocar sua função Lambda. Você pode permitir CloudFormation a criação automática de uma função de execução para você ou especificar uma função que você criou. 

1. Escolha **Próximo**.

1. (Opcional) Para **filtros Hook**, faça o seguinte:

   1. Em **Filtro de recursos**, especifique quais tipos de recursos podem invocar o Hook. Isso garante que o Hook seja invocado apenas para recursos relevantes.

   1. Em **Critérios de filtragem**, escolha a lógica para aplicar filtros de nome e função da pilha:
      + **Todos os nomes e funções da pilha** — O Hook só será invocado quando todos os filtros especificados corresponderem.
      + **Qualquer nome de pilha e função de pilha** — O Hook será invocado se pelo menos um dos filtros especificados corresponder.
**nota**  
Para operações da Cloud Control API, todos os filtros de **nomes de pilha** e **papéis de pilha** são ignorados.

   1. Para **nomes de pilhas**, inclua ou exclua pilhas específicas das invocações de Hook.
      + Em **Incluir**, especifique os nomes das pilhas a serem incluídas. Use isso quando você tiver um pequeno conjunto de pilhas específicas que deseja atingir. Somente as pilhas especificadas nesta lista invocarão o Hook.
      + Em **Excluir**, especifique os nomes das pilhas a serem excluídas. Use isso quando quiser invocar o Hook na maioria das pilhas, mas exclua algumas específicas. Todas as pilhas, exceto as listadas aqui, invocarão o Hook.

   1. Para **funções do Stack**, inclua ou exclua pilhas específicas das invocações do Hook com base nas funções do IAM associadas.
      + Em **Include**, especifique uma ou mais funções do IAM ARNs para direcionar as pilhas associadas a essas funções. Somente as operações de pilha iniciadas por essas funções invocarão o Hook.
      + Em **Excluir**, especifique uma ou mais funções do IAM ARNs para as pilhas que você deseja excluir. O Hook será invocado em todas as pilhas, exceto aquelas iniciadas pelas funções especificadas.

1. Escolha **Próximo**.

1. Na página **Revisar e ativar**, revise suas escolhas. Para fazer alterações, escolha **Editar** na seção relacionada.

1. Quando estiver pronto para continuar, escolha **Ativar gancho**.

## Ativar um gancho Lambda ()AWS CLI
<a name="lambda-hooks-activate-hooks-cli"></a>

Antes de continuar, confirme se você criou a função Lambda e a função de execução que você usará com este Hook. Para obter mais informações, consulte [Crie funções Lambda para avaliar recursos para Lambda Hooks](lambda-hooks-create-lambda-function.md) e [Crie uma função de execução para um Lambda Hook](lambda-hooks-prepare-to-create-hook.md#lambda-hooks-create-execution-role).

**Para ativar um Lambda Hook para uso em sua conta ()AWS CLI**

1. Para começar a ativar um Hook, use o [https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html](https://docs.aws.amazon.com/cli/latest/reference/cloudformation/activate-type.html)comando a seguir, substituindo os espaços reservados por seus valores específicos. Este comando autoriza o Hook a usar uma função de execução especificada de seu Conta da AWS.

   ```
   aws cloudformation activate-type --type HOOK \
     --type-name AWS::Hooks::LambdaHook \
     --publisher-id aws-hooks \
     --execution-role-arn arn:aws:iam::123456789012:role/my-execution-role \
     --type-name-alias Private::Lambda::MyTestHook \
     --region us-west-2
   ```

1. Para finalizar a ativação do Hook, você deve configurá-lo usando um arquivo de configuração JSON.

   Use o **cat** comando para criar um arquivo JSON com a estrutura a seguir. Para obter mais informações, consulte [Referência de sintaxe de esquema de configuração de hook](hook-configuration-schema.md).

   ```
   $ cat > config.json
   {
     "CloudFormationConfiguration": {
       "HookConfiguration": {
         "HookInvocationStatus": "ENABLED",
         "TargetOperations": [
           "CLOUD_CONTROL"
         ],
         "FailureMode": "WARN",
         "Properties": {
           "LambdaFunction": "arn:aws:lambda:us-west-2:123456789012:function:MyFunction"
         },
         "TargetFilters": {
           "Actions": [
             "CREATE",
             "UPDATE",
             "DELETE"
           ]
         }
       }
     }
   }
   ```
   + `HookInvocationStatus`: Defina como `ENABLED` para ativar o Hook.
   + `TargetOperations`: especifique as operações que o Hook avaliará.
   + `FailureMode`: defina como `FAIL` ou `WARN`.
   + `LambdaFunction`: especifique o ARN da função Lambda.
   + `TargetFilters`: especifique os tipos de ações que invocarão o Hook.

1. Use o [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)comando a seguir, junto com o arquivo JSON que você criou, para aplicar a configuração. Substitua os espaços reservados por seus valores específicos.

   ```
   aws cloudformation set-type-configuration \
     --configuration file://config.json \
     --type-arn "arn:aws:cloudformation:us-west-2:123456789012:type/hook/MyTestHook" \
     --region us-west-2
   ```

## Recursos relacionados
<a name="related-resources-lambda-hooks"></a>

Fornecemos exemplos de modelos que você pode usar para entender como declarar um Lambda Hook em CloudFormation um modelo de pilha. Consulte mais informações em [https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/TemplateReference/aws-resource-cloudformation-lambdahook.html) no *Guia de Usuário AWS CloudFormation *.