hook_versions
Creates, updates, deletes or gets a hook_version
resource or lists hook_versions
in a region
Overview
Name | hook_versions |
Type | Resource |
Description | Publishes new or first hook version to AWS CloudFormation Registry. |
Id | aws.cloudformation.hook_versions |
Fields
Name | Datatype | Description |
---|---|---|
arn | string | The Amazon Resource Name (ARN) of the type, here the HookVersion. This is used to uniquely identify a HookVersion resource |
type_arn | string | The Amazon Resource Name (ARN) of the type without the versionID. |
execution_role_arn | string | The Amazon Resource Name (ARN) of the IAM execution role to use to register the type. If your resource type calls AWS APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those AWS APIs, and provision that execution role in your account. CloudFormation then assumes that execution role to provide your resource type with the appropriate credentials. |
is_default_version | boolean | Indicates if this type version is the current default version |
logging_config | object | Specifies logging configuration information for a type. |
schema_handler_package | string | A url to the S3 bucket containing the schema handler package that contains the schema, event handlers, and associated files for the type you want to register. For information on generating a schema handler package for the type you want to register, see submit in the CloudFormation CLI User Guide. |
type_name | string | The name of the type being registered. We recommend that type names adhere to the following pattern: company_or_organization::service::type. |
version_id | string | The ID of the version of the type represented by this hook instance. |
visibility | string | The scope at which the type is visible and usable in CloudFormation operations. Valid values include: PRIVATE: The type is only visible and usable within the account in which it is registered. Currently, AWS CloudFormation marks any types you register as PRIVATE. PUBLIC: The type is publically visible and usable within any Amazon account. |
region | string | AWS region. |
Methods
Name | Accessible by | Required Params |
---|---|---|
create_resource | INSERT | SchemaHandlerPackage, TypeName, region |
delete_resource | DELETE | data__Identifier, region |
list_resources | SELECT | region |
get_resource | SELECT | data__Identifier, region |
SELECT
examples
Gets all hook_versions
in a region.
SELECT
region,
arn,
type_arn,
execution_role_arn,
is_default_version,
logging_config,
schema_handler_package,
type_name,
version_id,
visibility
FROM aws.cloudformation.hook_versions
WHERE region = 'us-east-1';
Gets all properties from an individual hook_version
.
SELECT
region,
arn,
type_arn,
execution_role_arn,
is_default_version,
logging_config,
schema_handler_package,
type_name,
version_id,
visibility
FROM aws.cloudformation.hook_versions
WHERE region = 'us-east-1' AND data__Identifier = '<Arn>';
INSERT
example
Use the following StackQL query and manifest file to create a new hook_version
resource, using stack-deploy
.
- Required Properties
- All Properties
- Manifest
/*+ create */
INSERT INTO aws.cloudformation.hook_versions (
SchemaHandlerPackage,
TypeName,
region
)
SELECT
'{{ SchemaHandlerPackage }}',
'{{ TypeName }}',
'{{ region }}';
/*+ create */
INSERT INTO aws.cloudformation.hook_versions (
ExecutionRoleArn,
LoggingConfig,
SchemaHandlerPackage,
TypeName,
region
)
SELECT
'{{ ExecutionRoleArn }}',
'{{ LoggingConfig }}',
'{{ SchemaHandlerPackage }}',
'{{ TypeName }}',
'{{ region }}';
version: 1
name: stack name
description: stack description
providers:
- aws
globals:
- name: region
value: '{{ vars.AWS_REGION }}'
resources:
- name: hook_version
props:
- name: ExecutionRoleArn
value: '{{ ExecutionRoleArn }}'
- name: LoggingConfig
value:
LogGroupName: '{{ LogGroupName }}'
LogRoleArn: '{{ LogRoleArn }}'
- name: SchemaHandlerPackage
value: '{{ SchemaHandlerPackage }}'
- name: TypeName
value: '{{ TypeName }}'
DELETE
example
/*+ delete */
DELETE FROM aws.cloudformation.hook_versions
WHERE data__Identifier = '<Arn>'
AND region = 'us-east-1';
Permissions
To operate on the hook_versions
resource, the following permissions are required:
Create
cloudformation:DescribeType,
cloudformation:DescribeTypeRegistration,
cloudformation:RegisterType,
iam:PassRole,
s3:GetObject,
s3:ListBucket,
kms:Decrypt
Read
cloudformation:DescribeType
Delete
cloudformation:DeregisterType,
cloudformation:DescribeType
List
cloudformation:ListTypes,
cloudformation:ListTypeVersions