AWS CloudFormation

2021/06/21 - AWS CloudFormation - 8 new4 updated api methods

Changes  CloudFormation registry service now supports 3rd party public type sharing

ActivateType (new) Link ¶

Activates a public third-party extension, making it available for use in stack templates. For more information, see Using public extensions in the CloudFormation User Guide.

Once you have activated a public third-party extension in your account and region, use SetTypeConfiguration to specify configuration properties for the extension. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

See also: AWS API Documentation

Request Syntax

client.activate_type(
    Type='RESOURCE'|'MODULE',
    PublicTypeArn='string',
    PublisherId='string',
    TypeName='string',
    TypeNameAlias='string',
    AutoUpdate=True|False,
    LoggingConfig={
        'LogRoleArn': 'string',
        'LogGroupName': 'string'
    },
    ExecutionRoleArn='string',
    VersionBump='MAJOR'|'MINOR',
    MajorVersion=123
)
type Type:

string

param Type:

The extension type.

Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId.

type PublicTypeArn:

string

param PublicTypeArn:

The Amazon Resource Number (ARN) of the public extension.

Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId.

type PublisherId:

string

param PublisherId:

The ID of the extension publisher.

Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId.

type TypeName:

string

param TypeName:

The name of the extension.

Conditional: You must specify PublicTypeArn, or TypeName, Type, and PublisherId.

type TypeNameAlias:

string

param TypeNameAlias:

An alias to assign 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.

An extension alias must be unique within a given account and region. You can activate the same public resource multiple times in the same account and region, using different type name aliases.

type AutoUpdate:

boolean

param AutoUpdate:

Whether to automatically update the extension in this account and region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated.

The default is true.

type LoggingConfig:

dict

param LoggingConfig:

Contains logging configuration information for an extension.

  • LogRoleArn (string) -- [REQUIRED]

    The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.

  • LogGroupName (string) -- [REQUIRED]

    The Amazon CloudWatch log group to which CloudFormation sends error logging information when invoking the extension's handlers.

type ExecutionRoleArn:

string

param ExecutionRoleArn:

The name of the IAM execution role to use to activate the extension.

type VersionBump:

string

param VersionBump:

Manually updates a previously-activated type to a new major or minor version, if available. You can also use this parameter to update the value of AutoUpdate.

  • MAJOR: CloudFormation updates the extension to the newest major version, if one is available.

  • MINOR: CloudFormation updates the extension to the newest minor version, if one is available.

type MajorVersion:

integer

param MajorVersion:

The major version of this extension you want to activate, if multiple major versions are available. The default is the latest major version. CloudFormation uses the latest available minor version of the major version selected.

You can specify MajorVersion or VersionBump, but not both.

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string'
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Number (ARN) of the activated extension, in this account and region.

DeactivateType (new) Link ¶

Deactivates a public extension that was previously activated in this account and region.

Once deactivated, an extension cannot be used in any CloudFormation operation. This includes stack update operations where the stack template includes the extension, even if no updates are being made to the extension. In addition, deactivated extensions are not automatically updated if a new version of the extension is released.

See also: AWS API Documentation

Request Syntax

client.deactivate_type(
    TypeName='string',
    Type='RESOURCE'|'MODULE',
    Arn='string'
)
type TypeName:

string

param TypeName:

The type name of the extension, in this account and region. If you specified a type name alias when enabling the extension, use the type name alias.

Conditional: You must specify either Arn, or TypeName and Type.

type Type:

string

param Type:

The extension type.

Conditional: You must specify either Arn, or TypeName and Type.

type Arn:

string

param Arn:

The Amazon Resource Name (ARN) for the extension, in this account and region.

Conditional: You must specify either Arn, or TypeName and Type.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --

BatchDescribeTypeConfigurations (new) Link ¶

Returns configuration data for the specified CloudFormation extensions, from the CloudFormation registry for the account and region.

For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

See also: AWS API Documentation

Request Syntax

client.batch_describe_type_configurations(
    TypeConfigurationIdentifiers=[
        {
            'TypeArn': 'string',
            'TypeConfigurationAlias': 'string',
            'TypeConfigurationArn': 'string',
            'Type': 'RESOURCE'|'MODULE',
            'TypeName': 'string'
        },
    ]
)
type TypeConfigurationIdentifiers:

list

param TypeConfigurationIdentifiers:

[REQUIRED]

The list of identifiers for the desired extension configurations.

  • (dict) --

    Identifying information for the configuration of a CloudFormation extension.

    • TypeArn (string) --

      The Amazon Resource Name (ARN) for the extension, in this account and region.

      For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.

    • TypeConfigurationAlias (string) --

      The alias specified for this configuration, if one was specified when the configuration was set.

    • TypeConfigurationArn (string) --

      The Amazon Resource Name (ARN) for the configuration, in this account and region.

    • Type (string) --

      The type of extension.

    • TypeName (string) --

      The name of the extension type to which this configuration applies.

rtype:

dict

returns:

Response Syntax

{
    'Errors': [
        {
            'ErrorCode': 'string',
            'ErrorMessage': 'string',
            'TypeConfigurationIdentifier': {
                'TypeArn': 'string',
                'TypeConfigurationAlias': 'string',
                'TypeConfigurationArn': 'string',
                'Type': 'RESOURCE'|'MODULE',
                'TypeName': 'string'
            }
        },
    ],
    'UnprocessedTypeConfigurations': [
        {
            'TypeArn': 'string',
            'TypeConfigurationAlias': 'string',
            'TypeConfigurationArn': 'string',
            'Type': 'RESOURCE'|'MODULE',
            'TypeName': 'string'
        },
    ],
    'TypeConfigurations': [
        {
            'Arn': 'string',
            'Alias': 'string',
            'Configuration': 'string',
            'LastUpdated': datetime(2015, 1, 1),
            'TypeArn': 'string',
            'TypeName': 'string',
            'IsDefaultConfiguration': True|False
        },
    ]
}

Response Structure

  • (dict) --

    • Errors (list) --

      A list of information concerning any errors generated during the setting of the specified configurations.

      • (dict) --

        Detailed information concerning an error generated during the setting of configuration data for a CloudFormation extension.

        • ErrorCode (string) --

          The error code.

        • ErrorMessage (string) --

          The error message.

        • TypeConfigurationIdentifier (dict) --

          Identifying information for the configuration of a CloudFormation extension.

          • TypeArn (string) --

            The Amazon Resource Name (ARN) for the extension, in this account and region.

            For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.

          • TypeConfigurationAlias (string) --

            The alias specified for this configuration, if one was specified when the configuration was set.

          • TypeConfigurationArn (string) --

            The Amazon Resource Name (ARN) for the configuration, in this account and region.

          • Type (string) --

            The type of extension.

          • TypeName (string) --

            The name of the extension type to which this configuration applies.

    • UnprocessedTypeConfigurations (list) --

      A list of any of the specified extension configurations that CloudFormation could not process for any reason.

      • (dict) --

        Identifying information for the configuration of a CloudFormation extension.

        • TypeArn (string) --

          The Amazon Resource Name (ARN) for the extension, in this account and region.

          For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.

        • TypeConfigurationAlias (string) --

          The alias specified for this configuration, if one was specified when the configuration was set.

        • TypeConfigurationArn (string) --

          The Amazon Resource Name (ARN) for the configuration, in this account and region.

        • Type (string) --

          The type of extension.

        • TypeName (string) --

          The name of the extension type to which this configuration applies.

    • TypeConfigurations (list) --

      A list of any of the specified extension configurations from the CloudFormation registry.

      • (dict) --

        Detailed information concerning the specification of a CloudFormation extension in a given account and region.

        For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

        • Arn (string) --

          The Amazon Resource Name (ARN) for the configuration data, in this account and region.

        • Alias (string) --

          The alias specified for this configuration, if one was specified when the configuration was set.

        • Configuration (string) --

          A JSON string specifying the configuration data for the extension, in this account and region.

          If a configuration has not been set for a specified extension, CloudFormation returns {}.

        • LastUpdated (datetime) --

          When the configuration data was last updated for this extension.

          If a configuration has not been set for a specified extension, CloudFormation returns null.

        • TypeArn (string) --

          The Amazon Resource Name (ARN) for the extension, in this account and region.

          For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type in this account and region.

        • TypeName (string) --

          The name of the extension.

        • IsDefaultConfiguration (boolean) --

          Whether or not this configuration data is the default configuration for the extension.

PublishType (new) Link ¶

Publishes the specified extension to the CloudFormation registry as a public extension in this region. Public extensions are available for use by all CloudFormation users. For more information on publishing extensions, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.

To publish an extension, you must be registered as a publisher with CloudFormation. For more information, see RegisterPublisher.

See also: AWS API Documentation

Request Syntax

client.publish_type(
    Type='RESOURCE'|'MODULE',
    Arn='string',
    TypeName='string',
    PublicVersionNumber='string'
)
type Type:

string

param Type:

The type of the extension.

Conditional: You must specify Arn, or TypeName and Type.

type Arn:

string

param Arn:

The Amazon Resource Number (ARN) of the extension.

Conditional: You must specify Arn, or TypeName and Type.

type TypeName:

string

param TypeName:

The name of the extension.

Conditional: You must specify Arn, or TypeName and Type.

type PublicVersionNumber:

string

param PublicVersionNumber:

The version number to assign to this version of the extension.

Use the following format, and adhere to semantic versioning when assigning a version number to your extension:

MAJOR.MINOR.PATCH

For more information, see Semantic Versioning 2.0.0.

If you do not specify a version number, CloudFormation increments the version number by one minor version release.

rtype:

dict

returns:

Response Syntax

{
    'PublicTypeArn': 'string'
}

Response Structure

  • (dict) --

    • PublicTypeArn (string) --

      The Amazon Resource Number (ARN) assigned to the public extension upon publication.

RegisterPublisher (new) Link ¶

Registers your account as a publisher of public extensions in the CloudFormation registry. Public extensions are available for use by all CloudFormation users. This publisher ID applies to your account in all AWS regions.

For information on requirements for registering as a public extension publisher, see Registering your account to publish CloudFormation extensions in the CloudFormation CLI User Guide.

See also: AWS API Documentation

Request Syntax

client.register_publisher(
    AcceptTermsAndConditions=True|False,
    ConnectionArn='string'
)
type AcceptTermsAndConditions:

boolean

param AcceptTermsAndConditions:

Whether you accept the terms and conditions for publishing extensions in the CloudFormation registry. You must accept the terms and conditions in order to register to publish public extensions to the CloudFormation registry.

The default is false.

type ConnectionArn:

string

param ConnectionArn:

If you are using a Bitbucket or GitHub account for identity verification, the Amazon Resource Name (ARN) for your connection to that account.

For more information, see Registering your account to publish CloudFormation extensions in the CloudFormation CLI User Guide.

rtype:

dict

returns:

Response Syntax

{
    'PublisherId': 'string'
}

Response Structure

  • (dict) --

    • PublisherId (string) --

      The ID assigned this account by CloudFormation for publishing extensions.

DescribePublisher (new) Link ¶

Returns information about a CloudFormation extension publisher.

If you do not supply a PublisherId, and you have registered as an extension publisher, DescribePublisher returns information about your own publisher account.

For more information on registering as a publisher, see:

See also: AWS API Documentation

Request Syntax

client.describe_publisher(
    PublisherId='string'
)
type PublisherId:

string

param PublisherId:

The ID of the extension publisher.

If you do not supply a PublisherId, and you have registered as an extension publisher, DescribePublisher returns information about your own publisher account.

rtype:

dict

returns:

Response Syntax

{
    'PublisherId': 'string',
    'PublisherStatus': 'VERIFIED'|'UNVERIFIED',
    'IdentityProvider': 'AWS_Marketplace'|'GitHub'|'Bitbucket',
    'PublisherProfile': 'string'
}

Response Structure

  • (dict) --

    • PublisherId (string) --

      The ID of the extension publisher.

    • PublisherStatus (string) --

      Whether the publisher is verified. Currently, all registered publishers are verified.

    • IdentityProvider (string) --

      The type of account used as the identity provider when registering this publisher with CloudFormation.

    • PublisherProfile (string) --

      The URL to the publisher's profile with the identity provider.

SetTypeConfiguration (new) Link ¶

Specifies the configuration data for a registered CloudFormation extension, in the given account and region.

To view the current configuration data for an extension, refer to the ConfigurationSchema element of DescribeType. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

See also: AWS API Documentation

Request Syntax

client.set_type_configuration(
    TypeArn='string',
    Configuration='string',
    ConfigurationAlias='string',
    TypeName='string',
    Type='RESOURCE'|'MODULE'
)
type TypeArn:

string

param TypeArn:

The Amazon Resource Name (ARN) for the extension, in this account and region.

For public extensions, this will be the ARN assigned when you activate the type in this account and region. For private extensions, this will be the ARN assigned when you register the type 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.

type Configuration:

string

param Configuration:

[REQUIRED]

The configuration data for the extension, in this account and region.

The configuration data must be formatted as JSON, and validate against the schema returned in the ConfigurationSchema response element of API_DescribeType. For more information, see Defining account-level configuration data for an extension in the CloudFormation CLI User Guide.

type ConfigurationAlias:

string

param ConfigurationAlias:

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

type TypeName:

string

param TypeName:

The name of the extension.

Conditional: You must specify ConfigurationArn, or Type and TypeName.

type Type:

string

param Type:

The type of extension.

Conditional: You must specify ConfigurationArn, or Type and TypeName.

rtype:

dict

returns:

Response Syntax

{
    'ConfigurationArn': 'string'
}

Response Structure

  • (dict) --

    • ConfigurationArn (string) --

      The Amazon Resource Name (ARN) for the configuration data, in this account and region.

      Conditional: You must specify ConfigurationArn, or Type and TypeName.

TestType (new) Link ¶

Tests a registered extension to make sure it meets all necessary requirements for being published in the CloudFormation registry.

  • For resource types, this includes passing all contracts tests defined for the type.

  • For modules, this includes determining if the module's model meets all necessary requirements.

For more information, see Testing your public extension prior to publishing in the CloudFormation CLI User Guide.

If you do not specify a version, CloudFormation uses the default version of the extension in your account and region for testing.

To perform testing, CloudFormation assumes the execution role specified when the test was registered. For more information, see RegisterType.

Once you've initiated testing on an extension using TestType, you can use DescribeType to monitor the current test status and test status description for the extension.

An extension must have a test status of PASSED before it can be published. For more information, see Publishing extensions to make them available for public use in the CloudFormation CLI User Guide.

See also: AWS API Documentation

Request Syntax

client.test_type(
    Arn='string',
    Type='RESOURCE'|'MODULE',
    TypeName='string',
    VersionId='string',
    LogDeliveryBucket='string'
)
type Arn:

string

param Arn:

The Amazon Resource Number (ARN) of the extension.

Conditional: You must specify Arn, or TypeName and Type.

type Type:

string

param Type:

The type of the extension to test.

Conditional: You must specify Arn, or TypeName and Type.

type TypeName:

string

param TypeName:

The name of the extension to test.

Conditional: You must specify Arn, or TypeName and Type.

type VersionId:

string

param VersionId:

The version of the extension to test.

You can specify the version id with either Arn, or with TypeName and Type.

If you do not specify a version, CloudFormation uses the default version of the extension in this account and region for testing.

type LogDeliveryBucket:

string

param LogDeliveryBucket:

The S3 bucket to which CloudFormation delivers the contract test execution logs.

CloudFormation delivers the logs by the time contract testing has completed and the extension has been assigned a test type status of PASSED or FAILED.

The user calling TestType must be able to access items in the specified S3 bucket. Specifically, the user needs the following permissions:

  • GetObject

  • PutObject

For more information, see Actions, Resources, and Condition Keys for Amazon S3 in the AWS Identity and Access Management User Guide.

rtype:

dict

returns:

Response Syntax

{
    'TypeVersionArn': 'string'
}

Response Structure

  • (dict) --

    • TypeVersionArn (string) --

      The Amazon Resource Number (ARN) of the extension.

DescribeType (updated) Link ¶
Changes (request, response)
Request
{'PublicVersionNumber': 'string', 'PublisherId': 'string'}
Response
{'AutoUpdate': 'boolean',
 'ConfigurationSchema': 'string',
 'IsActivated': 'boolean',
 'LatestPublicVersion': 'string',
 'OriginalTypeArn': 'string',
 'OriginalTypeName': 'string',
 'PublicVersionNumber': 'string',
 'PublisherId': 'string',
 'RequiredActivatedTypes': [{'OriginalTypeName': 'string',
                             'PublisherId': 'string',
                             'SupportedMajorVersions': ['integer'],
                             'TypeNameAlias': 'string'}],
 'TypeTestsStatus': 'PASSED | FAILED | IN_PROGRESS | NOT_TESTED',
 'TypeTestsStatusDescription': 'string'}

Returns detailed information about an extension that has been registered.

If you specify a VersionId, DescribeType returns information about that specific extension version. Otherwise, it returns information about the default extension version.

See also: AWS API Documentation

Request Syntax

client.describe_type(
    Type='RESOURCE'|'MODULE',
    TypeName='string',
    Arn='string',
    VersionId='string',
    PublisherId='string',
    PublicVersionNumber='string'
)
type Type:

string

param Type:

The kind of extension.

Conditional: You must specify either TypeName and Type, or Arn.

type TypeName:

string

param TypeName:

The name of the extension.

Conditional: You must specify either TypeName and Type, or Arn.

type Arn:

string

param Arn:

The Amazon Resource Name (ARN) of the extension.

Conditional: You must specify either TypeName and Type, or Arn.

type VersionId:

string

param VersionId:

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

If you specify a VersionId, DescribeType returns information about that specific extension version. Otherwise, it returns information about the default extension version.

type PublisherId:

string

param PublisherId:

The publisher ID of the extension publisher.

Extensions provided by Amazon are not assigned a publisher ID.

type PublicVersionNumber:

string

param PublicVersionNumber:

The version number of a public third-party extension.

rtype:

dict

returns:

Response Syntax

{
    'Arn': 'string',
    'Type': 'RESOURCE'|'MODULE',
    'TypeName': 'string',
    'DefaultVersionId': 'string',
    'IsDefaultVersion': True|False,
    'TypeTestsStatus': 'PASSED'|'FAILED'|'IN_PROGRESS'|'NOT_TESTED',
    'TypeTestsStatusDescription': 'string',
    'Description': 'string',
    'Schema': 'string',
    'ProvisioningType': 'NON_PROVISIONABLE'|'IMMUTABLE'|'FULLY_MUTABLE',
    'DeprecatedStatus': 'LIVE'|'DEPRECATED',
    'LoggingConfig': {
        'LogRoleArn': 'string',
        'LogGroupName': 'string'
    },
    'RequiredActivatedTypes': [
        {
            'TypeNameAlias': 'string',
            'OriginalTypeName': 'string',
            'PublisherId': 'string',
            'SupportedMajorVersions': [
                123,
            ]
        },
    ],
    'ExecutionRoleArn': 'string',
    'Visibility': 'PUBLIC'|'PRIVATE',
    'SourceUrl': 'string',
    'DocumentationUrl': 'string',
    'LastUpdated': datetime(2015, 1, 1),
    'TimeCreated': datetime(2015, 1, 1),
    'ConfigurationSchema': 'string',
    'PublisherId': 'string',
    'OriginalTypeName': 'string',
    'OriginalTypeArn': 'string',
    'PublicVersionNumber': 'string',
    'LatestPublicVersion': 'string',
    'IsActivated': True|False,
    'AutoUpdate': True|False
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) of the extension.

    • Type (string) --

      The kind of extension.

    • TypeName (string) --

      The name of the extension.

      If the extension is a public third-party type you have activated with a type name alias, CloudFormation returns the type name alias. For more information, see ActivateType.

    • DefaultVersionId (string) --

      The ID of the default version of the extension. The default version is used when the extension version is not specified.

      This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon and published by third parties, CloudFormation returns null. For more information, see RegisterType.

      To set the default version of an extension, use ``SetTypeDefaultVersion ``.

    • IsDefaultVersion (boolean) --

      Whether the specified extension version is set as the default version.

      This applies only to private extensions you have registered in your account, and extensions published by Amazon. For public third-party extensions, whether or not they are activated in your account, CloudFormation returns null.

    • TypeTestsStatus (string) --

      The contract test status of the registered extension version. To return the extension test status of a specifc extension version, you must specify VersionId.

      This applies only to registered private extension versions. CloudFormation does not return this information for public extensions, whether or not they are activated in your account.

      • PASSED: The extension has passed all its contract tests. An extension must have a test status of PASSED before it can be published. For more information, see Publishing extensions to make them available for public use in the CloudFormation Command Line Interface User Guide.

      • FAILED: The extension has failed one or more contract tests.

      • IN_PROGRESS: Contract tests are currently being performed on the extension.

      • NOT_TESTED: Contract tests have not been performed on the extension.

    • TypeTestsStatusDescription (string) --

      The description of the test status. To return the extension test status of a specifc extension version, you must specify VersionId.

      This applies only to registered private extension versions. CloudFormation does not return this information for public extensions, whether or not they are activated in your account.

    • Description (string) --

      The description of the extension.

    • Schema (string) --

      The schema that defines the extension.

      For more information on extension schemas, see Resource Provider Schema in the CloudFormation CLI User Guide.

    • ProvisioningType (string) --

      For resource type extensions, the provisioning behavior of the resource type. AWS 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 does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

      • NON_PROVISIONABLE: The resource type does not include all of the following handlers, and therefore cannot actually be provisioned.

        • create

        • read

        • delete

    • DeprecatedStatus (string) --

      The deprecation status of the extension version.

      Valid values include:

      • LIVE: The extension is activated or registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

      • DEPRECATED: The extension has been deactivated or deregistered and can no longer be used in CloudFormation operations.

      For public third-party extensions, CloudFormation returns null.

    • LoggingConfig (dict) --

      Contains logging configuration information for private extensions. This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon and published by third parties, CloudFormation returns null. For more information, see RegisterType.

      • LogRoleArn (string) --

        The ARN of the role that CloudFormation should assume when sending log entries to CloudWatch logs.

      • LogGroupName (string) --

        The Amazon CloudWatch log group to which CloudFormation sends error logging information when invoking the extension's handlers.

    • RequiredActivatedTypes (list) --

      For extensions that are modules, the public third-party extensions that must be activated in your account in order for the module itself to be activated.

      • (dict) --

        For extensions that are modules, a public third-party extension that must be activated in your account in order for the module itself to be activated.

        For more information, see Activating public modules for use in your account in the AWS CloudFormation User Guide.

        • TypeNameAlias (string) --

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

        • OriginalTypeName (string) --

          The 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 Specifying aliases to refer to extensions in the CloudFormation User Guide.

        • PublisherId (string) --

          The publisher ID of the extension publisher.

        • SupportedMajorVersions (list) --

          A list of the major versions of the extension type that the macro supports.

          • (integer) --

    • ExecutionRoleArn (string) --

      The Amazon Resource Name (ARN) of the IAM execution role used to register the extension. This applies only to private extensions you have registered in your account. For more information, see RegisterType.

      If the registered extension calls any AWS APIs, 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 extension with the appropriate credentials.

    • Visibility (string) --

      The scope at which the extension is visible and usable in CloudFormation operations.

      Valid values include:

      • PRIVATE: The extension is only visible and usable within the account in which it is registered. AWS CloudFormation marks any extensions you register as PRIVATE.

      • PUBLIC: The extension is publically visible and usable within any Amazon account.

    • SourceUrl (string) --

      The URL of the source code for the extension.

    • DocumentationUrl (string) --

      The URL of a page providing detailed documentation for this extension.

    • LastUpdated (datetime) --

      When the specified extension version was registered. This applies only to:

      • Private extensions you have registered in your account. For more information, see RegisterType.

      • Public extensions you have activated in your account with auto-update specified. For more information, see ActivateType.

    • TimeCreated (datetime) --

      When the specified private extension version was registered or activated in your account.

    • ConfigurationSchema (string) --

      A JSON string that represent the current configuration data for the extension in this account and region.

      To set the configuration data for an extension, use SetTypeConfiguration. For more information, see Configuring extensions at the account level in the CloudFormation User Guide.

    • PublisherId (string) --

      The publisher ID of the extension publisher.

      This applies only to public third-party extensions. For private registered extensions, and extensions provided by Amazon, CloudFormation returns null.

    • OriginalTypeName (string) --

      For public extensions that have been activated for this account and region, the 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 Specifying aliases to refer to extensions in the CloudFormation User Guide.

    • OriginalTypeArn (string) --

      For public extensions that have been activated for this account and region, the Amazon Resource Name (ARN) of the public extension.

    • PublicVersionNumber (string) --

      The version number of a public third-party extension.

      This applies only if you specify a public extension you have activated in your account, or specify a public extension without specifying a version. For all other extensions, CloudFormation returns null.

    • LatestPublicVersion (string) --

      The latest version of a public extension that is available for use.

      This only applies if you specify a public extension, and you do not specify a version. For all other requests, CloudFormation returns null.

    • IsActivated (boolean) --

      Whether or not the extension is activated in the account and region.

      This only applies to public third-party extensions. For all other extensions, CloudFormation returns null.

    • AutoUpdate (boolean) --

      Whether CloudFormation automatically updates the extension in this account and region when a new minor version is published by the extension publisher. Major versions released by the publisher must be manually updated. For more information, see Activating public extensions for use in your account in the AWS CloudFormation User Guide.

ListTypeVersions (updated) Link ¶
Changes (request, response)
Request
{'PublisherId': 'string'}
Response
{'TypeVersionSummaries': {'PublicVersionNumber': 'string'}}

Returns summary information about the versions of an extension.

See also: AWS API Documentation

Request Syntax

client.list_type_versions(
    Type='RESOURCE'|'MODULE',
    TypeName='string',
    Arn='string',
    MaxResults=123,
    NextToken='string',
    DeprecatedStatus='LIVE'|'DEPRECATED',
    PublisherId='string'
)
type Type:

string

param Type:

The kind of the extension.

Conditional: You must specify either TypeName and Type, or Arn.

type TypeName:

string

param TypeName:

The name of the extension for which you want version summary information.

Conditional: You must specify either TypeName and Type, or Arn.

type Arn:

string

param Arn:

The Amazon Resource Name (ARN) of the extension for which you want version summary information.

Conditional: You must specify either TypeName and Type, or Arn.

type MaxResults:

integer

param MaxResults:

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

type NextToken:

string

param NextToken:

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

type DeprecatedStatus:

string

param DeprecatedStatus:

The deprecation status of the extension versions that you want to get summary information about.

Valid values include:

  • LIVE: The extension version is registered and can be used in CloudFormation operations, dependent on its provisioning behavior and visibility scope.

  • DEPRECATED: The extension version has been deregistered and can no longer be used in CloudFormation operations.

The default is LIVE.

type PublisherId:

string

param PublisherId:

The publisher ID of the extension publisher.

Extensions published by Amazon are not assigned a publisher ID.

rtype:

dict

returns:

Response Syntax

{
    'TypeVersionSummaries': [
        {
            'Type': 'RESOURCE'|'MODULE',
            'TypeName': 'string',
            'VersionId': 'string',
            'IsDefaultVersion': True|False,
            'Arn': 'string',
            'TimeCreated': datetime(2015, 1, 1),
            'Description': 'string',
            'PublicVersionNumber': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • TypeVersionSummaries (list) --

      A list of TypeVersionSummary structures that contain information about the specified extension's versions.

      • (dict) --

        Contains summary information about a specific version of a CloudFormation extension.

        • Type (string) --

          The kind of extension.

        • TypeName (string) --

          The name of the extension.

        • VersionId (string) --

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

        • IsDefaultVersion (boolean) --

          Whether the specified extension version is set as the default version.

          This applies only to private extensions you have registered in your account, and extensions published by Amazon. For public third-party extensions, whether or not they are activated in your account, CloudFormation returns null.

        • Arn (string) --

          The Amazon Resource Name (ARN) of the extension version.

        • TimeCreated (datetime) --

          When the version was registered.

        • Description (string) --

          The description of the extension version.

        • PublicVersionNumber (string) --

          For public extensions that have been activated for this account and region, the version of the public extension to be used for CloudFormation operations in this account and region. For any extensions other than activated third-arty extensions, CloudFormation returns null.

          How you specified AutoUpdate when enabling the extension affects whether CloudFormation automatically updates the extention in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.

    • NextToken (string) --

      If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

ListTypes (updated) Link ¶
Changes (request, response)
Request
{'Filters': {'Category': 'REGISTERED | ACTIVATED | THIRD_PARTY | AWS_TYPES',
             'PublisherId': 'string',
             'TypeNamePrefix': 'string'}}
Response
{'TypeSummaries': {'IsActivated': 'boolean',
                   'LatestPublicVersion': 'string',
                   'OriginalTypeName': 'string',
                   'PublicVersionNumber': 'string',
                   'PublisherId': 'string',
                   'PublisherIdentity': 'AWS_Marketplace | GitHub | Bitbucket',
                   'PublisherName': 'string'}}

Returns summary information about extension that have been registered with CloudFormation.

See also: AWS API Documentation

Request Syntax

client.list_types(
    Visibility='PUBLIC'|'PRIVATE',
    ProvisioningType='NON_PROVISIONABLE'|'IMMUTABLE'|'FULLY_MUTABLE',
    DeprecatedStatus='LIVE'|'DEPRECATED',
    Type='RESOURCE'|'MODULE',
    Filters={
        'Category': 'REGISTERED'|'ACTIVATED'|'THIRD_PARTY'|'AWS_TYPES',
        'PublisherId': 'string',
        'TypeNamePrefix': 'string'
    },
    MaxResults=123,
    NextToken='string'
)
type Visibility:

string

param Visibility:

The 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 account. This includes extensions from Amazon, as well as third-party publishers.

The default is PRIVATE.

type ProvisioningType:

string

param ProvisioningType:

For resource types, the provisioning behavior of the resource type. AWS 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 does not include an update handler, so the type cannot be updated and must instead be replaced during stack update operations.

  • NON_PROVISIONABLE: The resource type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

The default is FULLY_MUTABLE.

type DeprecatedStatus:

string

param DeprecatedStatus:

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

type Type:

string

param Type:

The type of extension.

type Filters:

dict

param Filters:

Filter criteria to use in determining which extensions to return.

If you specify a filter, CloudFormation ignores any specified Visibility value when returning the list of types.

  • Category (string) --

    The category of extensions to return.

    • REGISTERED: Private extensions that have been registered for this account and region.

    • ACTIVATED: Public extensions that have been activated for this account and region.

    • THIRD-PARTY: Extensions available for use from publishers other than Amazon. This includes:

      • Private extensions registered in the account.

      • Public extensions from publishers other than Amazon, whether activated or not.

    • AWS-TYPES: Extensions available for use from Amazon.

  • PublisherId (string) --

    The id of the publisher of the extension.

    Extensions published by Amazon are not assigned a publisher ID. Use the AWS-TYPES category to specify a list of types published by Amazon.

  • TypeNamePrefix (string) --

    A prefix to use as a filter for results.

type MaxResults:

integer

param MaxResults:

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

type NextToken:

string

param NextToken:

If the previous paginated request didn't return all of the remaining results, the response object's NextToken parameter value is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If there are no remaining results, the previous response object's NextToken parameter is set to null.

rtype:

dict

returns:

Response Syntax

{
    'TypeSummaries': [
        {
            'Type': 'RESOURCE'|'MODULE',
            'TypeName': 'string',
            'DefaultVersionId': 'string',
            'TypeArn': 'string',
            'LastUpdated': datetime(2015, 1, 1),
            'Description': 'string',
            'PublisherId': 'string',
            'OriginalTypeName': 'string',
            'PublicVersionNumber': 'string',
            'LatestPublicVersion': 'string',
            'PublisherIdentity': 'AWS_Marketplace'|'GitHub'|'Bitbucket',
            'PublisherName': 'string',
            'IsActivated': True|False
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • TypeSummaries (list) --

      A list of TypeSummary structures that contain information about the specified extensions.

      • (dict) --

        Contains summary information about the specified CloudFormation extension.

        • Type (string) --

          The kind of extension.

        • TypeName (string) --

          The name of the extension.

          If you specified a TypeNameAlias when you activate this extension in your account and region, CloudFormation considers that alias as the type name.

        • DefaultVersionId (string) --

          The ID of the default version of the extension. The default version is used when the extension version is not specified.

          This applies only to private extensions you have registered in your account. For public extensions, both those provided by Amazon and published by third parties, CloudFormation returns null. For more information, see RegisterType.

          To set the default version of an extension, use ``SetTypeDefaultVersion ``.

        • TypeArn (string) --

          The Amazon Resource Name (ARN) of the extension.

        • LastUpdated (datetime) --

          When the specified extension version was registered. This applies only to:

          • Private extensions you have registered in your account. For more information, see RegisterType.

          • Public extensions you have activated in your account with auto-update specified. For more information, see ActivateType.

          For all other extension types, CloudFormation returns null.

        • Description (string) --

          The description of the extension.

        • PublisherId (string) --

          The ID of the extension publisher, if the extension is published by a third party. Extensions published by Amazon do not return a publisher ID.

        • OriginalTypeName (string) --

          For public extensions that have been activated for this account and region, the 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 Specifying aliases to refer to extensions in the CloudFormation User Guide.

        • PublicVersionNumber (string) --

          For public extensions that have been activated for this account and region, the version of the public extension to be used for CloudFormation operations in this account and region.

          How you specified AutoUpdate when enabling the extension affects whether CloudFormation automatically updates the extention in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.

        • LatestPublicVersion (string) --

          For public extensions that have been activated for this account and region, the latest version of the public extension that is available. For any extensions other than activated third-arty extensions, CloudFormation returns null.

          How you specified AutoUpdate when enabling the extension affects whether CloudFormation automatically updates the extention in this account and region when a new version is released. For more information, see Setting CloudFormation to automatically use new versions of extensions in the CloudFormation User Guide.

        • PublisherIdentity (string) --

          The service used to verify the publisher identity.

          For more information, see Registering your account to publish CloudFormation extensions in the CFN-CLI User Guide for Extension Development.

        • PublisherName (string) --

          The publisher name, as defined in the public profile for that publisher in the service used to verify the publisher identity.

        • IsActivated (boolean) --

          Whether or not the extension is activated for this account and region.

          This applies only to third-party public extensions. Extensions published by Amazon are activated by default.

    • NextToken (string) --

      If the request doesn't return all of the remaining results, NextToken is set to a token. To retrieve the next set of results, call this action again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null.

RecordHandlerProgress (updated) Link ¶
Changes (request)
{'ErrorCode': {'InvalidTypeConfiguration'}}

Reports progress of a resource handler to CloudFormation.

Reserved for use by the CloudFormation CLI. Do not use this API in your code.

See also: AWS API Documentation

Request Syntax

client.record_handler_progress(
    BearerToken='string',
    OperationStatus='PENDING'|'IN_PROGRESS'|'SUCCESS'|'FAILED',
    CurrentOperationStatus='PENDING'|'IN_PROGRESS'|'SUCCESS'|'FAILED',
    StatusMessage='string',
    ErrorCode='NotUpdatable'|'InvalidRequest'|'AccessDenied'|'InvalidCredentials'|'AlreadyExists'|'NotFound'|'ResourceConflict'|'Throttling'|'ServiceLimitExceeded'|'NotStabilized'|'GeneralServiceException'|'ServiceInternalError'|'NetworkFailure'|'InternalFailure'|'InvalidTypeConfiguration',
    ResourceModel='string',
    ClientRequestToken='string'
)
type BearerToken:

string

param BearerToken:

[REQUIRED]

Reserved for use by the CloudFormation CLI.

type OperationStatus:

string

param OperationStatus:

[REQUIRED]

Reserved for use by the CloudFormation CLI.

type CurrentOperationStatus:

string

param CurrentOperationStatus:

Reserved for use by the CloudFormation CLI.

type StatusMessage:

string

param StatusMessage:

Reserved for use by the CloudFormation CLI.

type ErrorCode:

string

param ErrorCode:

Reserved for use by the CloudFormation CLI.

type ResourceModel:

string

param ResourceModel:

Reserved for use by the CloudFormation CLI.

type ClientRequestToken:

string

param ClientRequestToken:

Reserved for use by the CloudFormation CLI.

rtype:

dict

returns:

Response Syntax

{}

Response Structure

  • (dict) --