HookVersion ​
The HookVersion resource allows you to manage AWS CloudFormation HookVersions, which are used to define custom hooks that can be invoked during CloudFormation stack operations.
Minimal Example ​
Create a basic HookVersion with required properties and one optional property.
ts
import AWS from "alchemy/aws/control";
const basicHookVersion = await AWS.CloudFormation.HookVersion("basicHook", {
TypeName: "MyCustomHook",
SchemaHandlerPackage: "s3://my-bucket/my-custom-hook.zip",
ExecutionRoleArn: "arn:aws:iam::123456789012:role/MyHookExecutionRole"
});
Advanced Configuration ​
Configure a HookVersion with logging configuration for better debugging and monitoring.
ts
const advancedHookVersion = await AWS.CloudFormation.HookVersion("advancedHook", {
TypeName: "MyAdvancedCustomHook",
SchemaHandlerPackage: "s3://my-bucket/my-advanced-hook.zip",
ExecutionRoleArn: "arn:aws:iam::123456789012:role/MyAdvancedHookExecutionRole",
LoggingConfig: {
LogGroupName: "/aws/cloudformation/my-hooks",
LogRoleArn: "arn:aws:iam::123456789012:role/MyLoggingRole"
}
});
Resource Adoption ​
Create a HookVersion that adopts an existing resource instead of failing on creation.
ts
const adoptExistingHookVersion = await AWS.CloudFormation.HookVersion("adoptHook", {
TypeName: "MyAdoptHook",
SchemaHandlerPackage: "s3://my-bucket/my-adopt-hook.zip",
ExecutionRoleArn: "arn:aws:iam::123456789012:role/MyAdoptHookExecutionRole",
adopt: true
});