Skip to main content

types

Creates, updates, deletes, gets or lists a types resource.

Overview

Nametypes
TypeResource
Idaws.cloudformation.types

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
original_type_namestringThe type name of the public extension. If you specified a TypeNameAlias when enabling the extension in this account and Region, CloudFormation treats that alias as the extension's type name within the account and Region, not the type name of the public extension. For more information, see Use aliases to refer to extensions in the CloudFormation User Guide.
publisher_idstringThe publisher ID of the extension publisher.
supported_major_versionsstringA list of the major versions of the extension type that the macro supports.
type_name_aliasstringAn alias assigned to the public extension, in this account and Region. If you specify an alias for the extension, CloudFormation treats the alias as the extension type name within this account and Region. You must use the alias to refer to the extension in your templates, API calls, and CloudFormation console.

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
describe_typeselectTypeName, regionType, Arn, VersionId, PublisherId, PublicVersionNumberReturns detailed information about an extension from the CloudFormation registry in your current account and Region. If you specify a VersionId, DescribeType returns information about that specific extension version. Otherwise, it returns information about the default extension version. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide.
list_typesselectregionVisibility, ProvisioningType, DeprecatedStatus, Type, Filters, MaxResults, NextTokenReturns summary information about all extensions, including your private resource types, modules, and Hooks as well as all public extensions from Amazon Web Services and third-party publishers.
register_typeinsertTypeName, SchemaHandlerPackage, regionType, LoggingConfig, ExecutionRoleArn, ClientRequestTokenRegisters an extension with the CloudFormation service. Registering an extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes: Validating the extension schema. Determining which handlers, if any, have been specified for the extension. Making the extension available for use in your account. For more information about how to develop extensions and ready them for registration, see Creating resource types using the CloudFormation CLI in the CloudFormation Command Line Interface (CLI) User Guide. You can have a maximum of 50 resource extension versions registered at a time. This maximum is per account and per Region. Use DeregisterType to deregister specific extension versions if necessary. Once you have initiated a registration request using RegisterType, you can use DescribeTypeRegistration to monitor the progress of the registration request. Once you have registered a private extension in your account and Region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide.
set_type_configurationupdateConfiguration, regionTypeArn, ConfigurationAlias, TypeName, TypeSpecifies the configuration data for a CloudFormation extension, such as a resource or Hook, in the given account and Region. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide. To view the current configuration data for an extension, refer to the ConfigurationSchema element of DescribeType. It's strongly recommended that you use dynamic references to restrict sensitive configuration definitions, such as third-party credentials. For more information, see Specify values stored in other services using dynamic references in the CloudFormation User Guide. For more information about setting the configuration data for resource types, see Defining the account-level configuration of an extension in the CloudFormation Command Line Interface (CLI) User Guide. For more information about setting the configuration data for Hooks, see the CloudFormation Hooks User Guide.
set_type_default_versionupdateregionArn, Type, TypeName, VersionIdSpecify the default version of an extension. The default version of an extension will be used in CloudFormation operations.
deregister_typedeleteregionArn, Type, TypeName, VersionIdMarks an extension or extension version as DEPRECATED in the CloudFormation registry, removing it from active use. Deprecated extensions or extension versions cannot be used in CloudFormation operations. To deregister an entire extension, you must individually deregister all active versions of that extension. If an extension has only a single active version, deregistering that version results in the extension itself being deregistered and marked as deprecated in the registry. You can't deregister the default version of an extension if there are other active version of that extension. If you do deregister the default version of an extension, the extension type itself is deregistered as well and marked as deprecated. To view the deprecation status of an extension or extension version, use DescribeType. For more information, see Remove third-party private extensions from your account in the CloudFormation User Guide.

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
ConfigurationstringThe configuration data for the extension in this account and Region. The configuration data must be formatted as JSON and validate against the extension's schema returned in the Schema response element of DescribeType.
SchemaHandlerPackagestringA URL to the S3 bucket that contains the extension project package that contains the necessary files for the extension you want to register. For information about generating a schema handler package for the extension you want to register, see submit in the CloudFormation Command Line Interface (CLI) User Guide. The user registering the extension must be able to access the package in the S3 bucket. That's, the user needs to have GetObject permissions for the schema handler package. For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the Identity and Access Management User Guide.
TypeNamestringThe name of the extension being registered. We suggest that extension names adhere to the following patterns: For resource types, company_or_organization::service::type. For modules, company_or_organization::service::type::MODULE. For Hooks, MyCompany::Testing::MyTestHook. The following organization namespaces are reserved and can't be used in your extension names: Alexa AMZN Amazon AWS Custom Dev
regionstringAWS region (default: us-east-1)
ArnstringThe Amazon Resource Name (ARN) of the extension. Conditional: You must specify either TypeName and Type, or Arn.
ClientRequestTokenstringA unique identifier that acts as an idempotency key for this registration request. Specifying a client request token prevents CloudFormation from generating more than one version of an extension from the same registration request, even if the request is submitted multiple times.
ConfigurationAliasstringAn alias by which to refer to this extension configuration data. Conditional: Specifying a configuration alias is required when setting a configuration for a resource type extension.
DeprecatedStatusstringThe deprecation status of the extension that you want to get summary information about. Valid values include: LIVE: The extension is registered for use in CloudFormation operations. DEPRECATED: The extension has been deregistered and can no longer be used in CloudFormation operations.
ExecutionRoleArnstringThe Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the extension. For CloudFormation to assume the specified execution role, the role must contain a trust relationship with the CloudFormation service principal (resources.cloudformation.amazonaws.com). For more information about adding trust relationships, see Modifying a role trust policy in the Identity and Access Management User Guide. If your extension calls Amazon Web Services APIs in any of its handlers, you must create an IAM execution role that includes the necessary permissions to call those Amazon Web Services APIs, and provision that execution role in your account. When CloudFormation needs to invoke the resource type handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource type handler, thereby supplying your resource type with the appropriate credentials.
FiltersobjectFilter criteria to use in determining which extensions to return. Filters must be compatible with Visibility to return valid results. For example, specifying AWS_TYPES for Category and PRIVATE for Visibility returns an empty list of types, but specifying PUBLIC for Visibility returns the desired list.
LoggingConfigobjectSpecifies logging configuration information for an extension.
MaxResultsintegerThe maximum number of results to be returned with a single call. If the number of available results exceeds this maximum, the response includes a NextToken value that you can assign to the NextToken request parameter to get the next set of results.
NextTokenstringThe token for the next set of items to return. (You received this token from a previous call.)
ProvisioningTypestringFor resource types, the provisioning behavior of the resource type. CloudFormation determines the provisioning type during registration, based on the types of handlers in the schema handler package submitted. Valid values include: FULLY_MUTABLE: The resource type includes an update handler to process updates to the type during stack update operations. IMMUTABLE: The resource type doesn't include an update handler, so the type can't be updated and must instead be replaced during stack update operations. NON_PROVISIONABLE: The resource type doesn't include create, read, and delete handlers, and therefore can't actually be provisioned. The default is FULLY_MUTABLE.
PublicVersionNumberstringThe version number of a public third-party extension.
PublisherIdstringThe publisher ID of the extension publisher. Extensions provided by Amazon Web Services are not assigned a publisher ID.
TypestringThe kind of extension. Conditional: You must specify either TypeName and Type, or Arn.
TypeArnstringThe Amazon Resource Name (ARN) for the extension in this account and Region. For public extensions, this will be the ARN assigned when you call the ActivateType API operation in this account and Region. For private extensions, this will be the ARN assigned when you call the RegisterType API operation in this account and Region. Do not include the extension versions suffix at the end of the ARN. You can set the configuration for an extension, but not for a specific extension version.
TypeNamestringThe name of the extension. Conditional: You must specify either TypeName and Type, or Arn.
VersionIdstringThe ID of a specific version of the extension. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the extension version when it is registered.
VisibilitystringThe scope at which the extensions are visible and usable in CloudFormation operations. Valid values include: PRIVATE: Extensions that are visible and usable within this account and Region. This includes: Private extensions you have registered in this account and Region. Public extensions that you have activated in this account and Region. PUBLIC: Extensions that are publicly visible and available to be activated within any Amazon Web Services account. This includes extensions from Amazon Web Services and third-party publishers. The default is PRIVATE.

SELECT examples

Returns detailed information about an extension from the CloudFormation registry in your current account and Region. If you specify a VersionId, DescribeType returns information about that specific extension version. Otherwise, it returns information about the default extension version. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide.

SELECT
original_type_name,
publisher_id,
supported_major_versions,
type_name_alias
FROM aws.cloudformation.types
WHERE TypeName = '{{ TypeName }}' -- required
AND region = '{{ region }}' -- required
AND Type = '{{ Type }}'
AND Arn = '{{ Arn }}'
AND VersionId = '{{ VersionId }}'
AND PublisherId = '{{ PublisherId }}'
AND PublicVersionNumber = '{{ PublicVersionNumber }}'
;

INSERT examples

Registers an extension with the CloudFormation service. Registering an extension makes it available for use in CloudFormation templates in your Amazon Web Services account, and includes: Validating the extension schema. Determining which handlers, if any, have been specified for the extension. Making the extension available for use in your account. For more information about how to develop extensions and ready them for registration, see Creating resource types using the CloudFormation CLI in the CloudFormation Command Line Interface (CLI) User Guide. You can have a maximum of 50 resource extension versions registered at a time. This maximum is per account and per Region. Use DeregisterType to deregister specific extension versions if necessary. Once you have initiated a registration request using RegisterType, you can use DescribeTypeRegistration to monitor the progress of the registration request. Once you have registered a private extension in your account and Region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide.

INSERT INTO aws.cloudformation.types (
TypeName,
SchemaHandlerPackage,
region,
Type,
LoggingConfig,
ExecutionRoleArn,
ClientRequestToken
)
SELECT
'{{ TypeName }}',
'{{ SchemaHandlerPackage }}',
'{{ region }}',
'{{ Type }}',
'{{ LoggingConfig }}',
'{{ ExecutionRoleArn }}',
'{{ ClientRequestToken }}'
RETURNING
line_items
;

UPDATE examples

Specifies the configuration data for a CloudFormation extension, such as a resource or Hook, in the given account and Region. For more information, see Edit configuration data for extensions in your account in the CloudFormation User Guide. To view the current configuration data for an extension, refer to the ConfigurationSchema element of DescribeType. It's strongly recommended that you use dynamic references to restrict sensitive configuration definitions, such as third-party credentials. For more information, see Specify values stored in other services using dynamic references in the CloudFormation User Guide. For more information about setting the configuration data for resource types, see Defining the account-level configuration of an extension in the CloudFormation Command Line Interface (CLI) User Guide. For more information about setting the configuration data for Hooks, see the CloudFormation Hooks User Guide.

UPDATE aws.cloudformation.types
SET
-- No updatable properties
WHERE
Configuration = '{{ Configuration }}' --required
AND region = '{{ region }}' --required
AND TypeArn = '{{ TypeArn}}'
AND ConfigurationAlias = '{{ ConfigurationAlias}}'
AND TypeName = '{{ TypeName}}'
AND Type = '{{ Type}}'
RETURNING
line_items;

DELETE examples

Marks an extension or extension version as DEPRECATED in the CloudFormation registry, removing it from active use. Deprecated extensions or extension versions cannot be used in CloudFormation operations. To deregister an entire extension, you must individually deregister all active versions of that extension. If an extension has only a single active version, deregistering that version results in the extension itself being deregistered and marked as deprecated in the registry. You can't deregister the default version of an extension if there are other active version of that extension. If you do deregister the default version of an extension, the extension type itself is deregistered as well and marked as deprecated. To view the deprecation status of an extension or extension version, use DescribeType. For more information, see Remove third-party private extensions from your account in the CloudFormation User Guide.

DELETE FROM aws.cloudformation.types
WHERE region = '{{ region }}' --required
AND Arn = '{{ Arn }}'
AND Type = '{{ Type }}'
AND TypeName = '{{ TypeName }}'
AND VersionId = '{{ VersionId }}'
;