

本文属于机器翻译版本。若本译文内容与英语原文存在差异，则一律以英文原文为准。

# 挂钩配置架构语法参考
<a name="hook-configuration-schema"></a>

本节概述了用于配置 Hook 的架构语法。 CloudFormation 在中调用 Hook 时，在运行时使用此配置架构。 AWS 账户

要使您的 Hook 能够主动检查堆栈的配置，请在`HookInvocationStatus`您的账户中注册并激活挂钩`ENABLED`后将设置为。

**Topics**
+ [挂钩配置架构属性](#hook-configuration-schema-properties)
+ [挂钩配置示例](#hook-configuration-examples)
+ [CloudFormation Hooks 堆栈级别过滤器](hooks-stack-level-filtering.md)
+ [CloudFormation 挂钩目标过滤器](hooks-target-filtering.md)
+ [使用带有 Hook 目标名称的通配符](wildcard-hook-targets.md)

**注意**  
Hook 的配置可以存储的最大数据量为 300 KB。这是对[https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html](https://docs.aws.amazon.com/AWSCloudFormation/latest/APIReference/API_SetTypeConfiguration.html)操作`Configuration`请求参数施加的所有约束的补充。

## 挂钩配置架构属性
<a name="hook-configuration-schema-properties"></a>

以下架构是 Hook 配置架构的结构。

```
{
    "CloudFormationConfiguration": {
        "HookConfiguration": {
            "HookInvocationStatus": "ENABLED",
            "TargetOperations": ["STACK"],
            "FailureMode": "FAIL",
            "EncryptionConfiguration": {
                "KmsKeyId": "arn:aws:kms:us-east-1:123456789012:key/abc-123"
            },
            "Properties": {
                ...
            }
        }
    }
}
```

`HookConfiguration`  <a name="hooks-hook-configuration"></a>
挂钩配置支持在堆栈级别激活或停用 Hook、故障模式和挂钩属性值。  
Hook 配置支持以下属性。    
`HookInvocationStatus`  <a name="hooks-hookinvocationstatus"></a>
指定 Hook 是否为`ENABLED`或`DISABLED`。  
*有效值*：`ENABLED` \$1 `DISABLED`  
`TargetOperations`  <a name="hooks-targetoperations"></a>
指定 Hook 所针对的操作列表。有关更多信息，请参阅 [钩住目标](hooks-concepts.md#hook-terms-hook-target)。  
*有效值*：`STACK` \$1 `RESOURCE` \$1 `CHANGE_SET` \$1 `CLOUD_CONTROL`   
`TargetStacks`  <a name="hooks-targetstacks"></a>
*可用于向后兼容。`HookInvocationStatus`改用。*  
如果将模式设置为`ALL`，则在、或`DELETE`资源操作期间，挂钩将应用于您账户中的所有堆栈。`CREATE` `UPDATE`  
如果将模式设置为`NONE`，则挂钩将不适用于您账户中的堆栈。  
*有效值*：`ALL` \$1 `NONE`  
`FailureMode`  <a name="hooks-failuremode"></a>
此字段告诉服务如何处理 Hook 故障。  
+ 如果模式设置为`FAIL`，但挂钩失败，则失败配置将停止配置资源并回滚堆栈。
+ 如果模式设置为`WARN`，但挂钩失败，则警告配置允许继续配置并显示警告消息。
*有效值*：`FAIL` \$1 `WARN`  
`EncryptionConfiguration`  <a name="hooks-encryptionconfiguration"></a>
为 Hook 注释数据指定加密设置。    
`KmsKeyId`  
用于加密 Hook 注释数据的对称加密密钥的别名、别名 ARN、密钥 ID 或 AWS KMS 密钥 ARN。有关更多信息，请参阅 AWS KMS 文档[KeyId](https://docs.aws.amazon.com/kms/latest/APIReference/API_DescribeKey.html#API_DescribeKey_RequestParameters)中的。  
在使用客户托管 AWS KMS 密钥创建 Hook 之前，您的用户或角色必须拥有`DescribeKey`和的 AWS KMS 权限`GenerateDataKey`。有关更多信息，请参阅 [AWS KMS 用于加密静态的 CloudFormation Hook 结果的密钥策略和权限](hooks-kms-key-policy.md)。  
`Properties`  <a name="hooks-properties"></a>
指定 Hook 运行时属性。它们应与 Hooks 架构支持的属性的形状相匹配。

## 挂钩配置示例
<a name="hook-configuration-examples"></a>

有关从中配置 Hook 的示例 AWS CLI，请参阅以下各节：
+ [激活基于主动控制的 Hook ()AWS CLI](proactive-controls-hooks-activate-hooks.md#proactive-controls-hooks-activate-hooks-cli)
+ [激活警戒钩 (AWS CLI)](guard-hooks-activate-hooks.md#guard-hooks-activate-hooks-cli)
+ [激活 Lambda 挂钩 ()AWS CLI](lambda-hooks-activate-hooks.md#lambda-hooks-activate-hooks-cli)