AWS CloudFormation

2020/11/24 - AWS CloudFormation - 13 updated api methods

Changes  Adds support for the new Modules feature for CloudFormation. A module encapsulates one or more resources and their respective configurations for reuse across your organization.

DeregisterType (updated) Link ¶
Changes (request)
{'Type': {'MODULE'}}

Removes a type or type version from active use in the CloudFormation registry. If a type or type version is deregistered, it cannot be used in CloudFormation operations.

To deregister a type, you must individually deregister all registered versions of that type. If a type has only a single registered version, deregistering that version results in the type itself being deregistered.

You cannot deregister the default version of a type, unless it is the only registered version of that type, in which case the type itself is deregistered as well.

See also: AWS API Documentation

Request Syntax

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

string

param Arn

The Amazon Resource Name (ARN) of the type.

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

type Type

string

param Type

The kind of type.

Currently the only valid value is RESOURCE .

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

type TypeName

string

param TypeName

The name of the type.

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

type VersionId

string

param VersionId

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

DescribeChangeSet (updated) Link ¶
Changes (response)
{'Changes': {'ResourceChange': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                               'TypeHierarchy': 'string'}}}}

Returns the inputs for the change set and a list of changes that AWS CloudFormation will make if you execute the change set. For more information, see Updating Stacks Using Change Sets in the AWS CloudFormation User Guide.

See also: AWS API Documentation

Request Syntax

client.describe_change_set(
    ChangeSetName='string',
    StackName='string',
    NextToken='string'
)
type ChangeSetName

string

param ChangeSetName

[REQUIRED]

The name or Amazon Resource Name (ARN) of the change set that you want to describe.

type StackName

string

param StackName

If you specified the name of a change set, specify the stack name or ID (ARN) of the change set you want to describe.

type NextToken

string

param NextToken

A string (provided by the DescribeChangeSet response output) that identifies the next page of information that you want to retrieve.

rtype

dict

returns

Response Syntax

{
    'ChangeSetName': 'string',
    'ChangeSetId': 'string',
    'StackId': 'string',
    'StackName': 'string',
    'Description': 'string',
    'Parameters': [
        {
            'ParameterKey': 'string',
            'ParameterValue': 'string',
            'UsePreviousValue': True|False,
            'ResolvedValue': 'string'
        },
    ],
    'CreationTime': datetime(2015, 1, 1),
    'ExecutionStatus': 'UNAVAILABLE'|'AVAILABLE'|'EXECUTE_IN_PROGRESS'|'EXECUTE_COMPLETE'|'EXECUTE_FAILED'|'OBSOLETE',
    'Status': 'CREATE_PENDING'|'CREATE_IN_PROGRESS'|'CREATE_COMPLETE'|'DELETE_PENDING'|'DELETE_IN_PROGRESS'|'DELETE_COMPLETE'|'DELETE_FAILED'|'FAILED',
    'StatusReason': 'string',
    'NotificationARNs': [
        'string',
    ],
    'RollbackConfiguration': {
        'RollbackTriggers': [
            {
                'Arn': 'string',
                'Type': 'string'
            },
        ],
        'MonitoringTimeInMinutes': 123
    },
    'Capabilities': [
        'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM'|'CAPABILITY_AUTO_EXPAND',
    ],
    'Tags': [
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    'Changes': [
        {
            'Type': 'Resource',
            'ResourceChange': {
                'Action': 'Add'|'Modify'|'Remove'|'Import'|'Dynamic',
                'LogicalResourceId': 'string',
                'PhysicalResourceId': 'string',
                'ResourceType': 'string',
                'Replacement': 'True'|'False'|'Conditional',
                'Scope': [
                    'Properties'|'Metadata'|'CreationPolicy'|'UpdatePolicy'|'DeletionPolicy'|'Tags',
                ],
                'Details': [
                    {
                        'Target': {
                            'Attribute': 'Properties'|'Metadata'|'CreationPolicy'|'UpdatePolicy'|'DeletionPolicy'|'Tags',
                            'Name': 'string',
                            'RequiresRecreation': 'Never'|'Conditionally'|'Always'
                        },
                        'Evaluation': 'Static'|'Dynamic',
                        'ChangeSource': 'ResourceReference'|'ParameterReference'|'ResourceAttribute'|'DirectModification'|'Automatic',
                        'CausingEntity': 'string'
                    },
                ],
                'ChangeSetId': 'string',
                'ModuleInfo': {
                    'TypeHierarchy': 'string',
                    'LogicalIdHierarchy': 'string'
                }
            }
        },
    ],
    'NextToken': 'string',
    'IncludeNestedStacks': True|False,
    'ParentChangeSetId': 'string',
    'RootChangeSetId': 'string'
}

Response Structure

  • (dict) --

    The output for the DescribeChangeSet action.

    • ChangeSetName (string) --

      The name of the change set.

    • ChangeSetId (string) --

      The ARN of the change set.

    • StackId (string) --

      The ARN of the stack that is associated with the change set.

    • StackName (string) --

      The name of the stack that is associated with the change set.

    • Description (string) --

      Information about the change set.

    • Parameters (list) --

      A list of Parameter structures that describes the input parameters and their values used to create the change set. For more information, see the Parameter data type.

      • (dict) --

        The Parameter data type.

        • ParameterKey (string) --

          The key associated with the parameter. If you don't specify a key and value for a particular parameter, AWS CloudFormation uses the default value that is specified in your template.

        • ParameterValue (string) --

          The input value associated with the parameter.

        • UsePreviousValue (boolean) --

          During a stack update, use the existing parameter value that the stack is using for a given parameter key. If you specify true , do not specify a parameter value.

        • ResolvedValue (string) --

          Read-only. The value that corresponds to a Systems Manager parameter key. This field is returned only for SSMparameter types in the template.

    • CreationTime (datetime) --

      The start time when the change set was created, in UTC.

    • ExecutionStatus (string) --

      If the change set execution status is AVAILABLE , you can execute the change set. If you can’t execute the change set, the status indicates why. For example, a change set might be in an UNAVAILABLE state because AWS CloudFormation is still creating it or in an OBSOLETE state because the stack was already updated.

    • Status (string) --

      The current status of the change set, such as CREATE_IN_PROGRESS , CREATE_COMPLETE , or FAILED .

    • StatusReason (string) --

      A description of the change set's status. For example, if your attempt to create a change set failed, AWS CloudFormation shows the error message.

    • NotificationARNs (list) --

      The ARNs of the Amazon Simple Notification Service (Amazon SNS) topics that will be associated with the stack if you execute the change set.

      • (string) --

    • RollbackConfiguration (dict) --

      The rollback triggers for AWS CloudFormation to monitor during stack creation and updating operations, and for the specified monitoring period afterwards.

      • RollbackTriggers (list) --

        The triggers to monitor during stack creation or update actions.

        By default, AWS CloudFormation saves the rollback triggers specified for a stack and applies them to any subsequent update operations for the stack, unless you specify otherwise. If you do specify rollback triggers for this parameter, those triggers replace any list of triggers previously specified for the stack. This means:

        • To use the rollback triggers previously specified for this stack, if any, don't specify this parameter.

        • To specify new or updated rollback triggers, you must specify all the triggers that you want used for this stack, even triggers you've specifed before (for example, when creating the stack or during a previous stack update). Any triggers that you don't include in the updated list of triggers are no longer applied to the stack.

        • To remove all currently specified triggers, specify an empty list for this parameter.

        If a specified trigger is missing, the entire stack operation fails and is rolled back.

        • (dict) --

          A rollback trigger AWS CloudFormation monitors during creation and updating of stacks. If any of the alarms you specify goes to ALARM state during the stack operation or within the specified monitoring period afterwards, CloudFormation rolls back the entire stack operation.

          • Arn (string) --

            The Amazon Resource Name (ARN) of the rollback trigger.

            If a specified trigger is missing, the entire stack operation fails and is rolled back.

          • Type (string) --

            The resource type of the rollback trigger. Currently, AWS::CloudWatch::Alarm is the only supported resource type.

      • MonitoringTimeInMinutes (integer) --

        The amount of time, in minutes, during which CloudFormation should monitor all the rollback triggers after the stack creation or update operation deploys all necessary resources.

        The default is 0 minutes.

        If you specify a monitoring period but do not specify any rollback triggers, CloudFormation still waits the specified period of time before cleaning up old resources after update operations. You can use this monitoring period to perform any manual stack validation desired, and manually cancel the stack creation or update (using CancelUpdateStack, for example) as necessary.

        If you specify 0 for this parameter, CloudFormation still monitors the specified rollback triggers during stack creation and update operations. Then, for update operations, it begins disposing of old resources immediately once the operation completes.

    • Capabilities (list) --

      If you execute the change set, the list of capabilities that were explicitly acknowledged when the change set was created.

      • (string) --

    • Tags (list) --

      If you execute the change set, the tags that will be associated with the stack.

      • (dict) --

        The Tag type enables you to specify a key-value pair that can be used to store information about an AWS CloudFormation stack.

        • Key (string) --

          Required . A string used to identify this tag. You can specify a maximum of 128 characters for a tag key. Tags owned by Amazon Web Services (AWS) have the reserved prefix: aws: .

        • Value (string) --

          Required . A string containing the value for this tag. You can specify a maximum of 256 characters for a tag value.

    • Changes (list) --

      A list of Change structures that describes the resources AWS CloudFormation changes if you execute the change set.

      • (dict) --

        The Change structure describes the changes AWS CloudFormation will perform if you execute the change set.

        • Type (string) --

          The type of entity that AWS CloudFormation changes. Currently, the only entity type is Resource .

        • ResourceChange (dict) --

          A ResourceChange structure that describes the resource and action that AWS CloudFormation will perform.

          • Action (string) --

            The action that AWS CloudFormation takes on the resource, such as Add (adds a new resource), Modify (changes a resource), Remove (deletes a resource), Import (imports a resource), or Dynamic (exact action for the resource cannot be determined).

          • LogicalResourceId (string) --

            The resource's logical ID, which is defined in the stack's template.

          • PhysicalResourceId (string) --

            The resource's physical ID (resource name). Resources that you are adding don't have physical IDs because they haven't been created.

          • ResourceType (string) --

            The type of AWS CloudFormation resource, such as AWS::S3::Bucket .

          • Replacement (string) --

            For the Modify action, indicates whether AWS CloudFormation will replace the resource by creating a new one and deleting the old one. This value depends on the value of the RequiresRecreation property in the ResourceTargetDefinition structure. For example, if the RequiresRecreation field is Always and the Evaluation field is Static , Replacement is True . If the RequiresRecreation field is Always and the Evaluation field is Dynamic , Replacement is Conditionally .

            If you have multiple changes with different RequiresRecreation values, the Replacement value depends on the change with the most impact. A RequiresRecreation value of Always has the most impact, followed by Conditionally , and then Never .

          • Scope (list) --

            For the Modify action, indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata , Properties , or Tags .

            • (string) --

          • Details (list) --

            For the Modify action, a list of ResourceChangeDetail structures that describes the changes that AWS CloudFormation will make to the resource.

            • (dict) --

              For a resource with Modify as the action, the ResourceChange structure describes the changes AWS CloudFormation will make to that resource.

              • Target (dict) --

                A ResourceTargetDefinition structure that describes the field that AWS CloudFormation will change and whether the resource will be recreated.

                • Attribute (string) --

                  Indicates which resource attribute is triggering this update, such as a change in the resource attribute's Metadata , Properties , or Tags .

                • Name (string) --

                  If the Attribute value is Properties , the name of the property. For all other attributes, the value is null.

                • RequiresRecreation (string) --

                  If the Attribute value is Properties , indicates whether a change to this property causes the resource to be recreated. The value can be Never , Always , or Conditionally . To determine the conditions for a Conditionally recreation, see the update behavior for that property in the AWS CloudFormation User Guide.

              • Evaluation (string) --

                Indicates whether AWS CloudFormation can determine the target value, and whether the target value will change before you execute a change set.

                For Static evaluations, AWS CloudFormation can determine that the target value will change, and its value. For example, if you directly modify the InstanceType property of an EC2 instance, AWS CloudFormation knows that this property value will change, and its value, so this is a Static evaluation.

                For Dynamic evaluations, cannot determine the target value because it depends on the result of an intrinsic function, such as a Ref or Fn::GetAtt intrinsic function, when the stack is updated. For example, if your template includes a reference to a resource that is conditionally recreated, the value of the reference (the physical ID of the resource) might change, depending on if the resource is recreated. If the resource is recreated, it will have a new physical ID, so all references to that resource will also be updated.

              • ChangeSource (string) --

                The group to which the CausingEntity value belongs. There are five entity groups:

                • ResourceReference entities are Ref intrinsic functions that refer to resources in the template, such as { "Ref" : "MyEC2InstanceResource" } .

                • ParameterReference entities are Ref intrinsic functions that get template parameter values, such as { "Ref" : "MyPasswordParameter" } .

                • ResourceAttribute entities are Fn::GetAtt intrinsic functions that get resource attribute values, such as { "Fn::GetAtt" : [ "MyEC2InstanceResource", "PublicDnsName" ] } .

                • DirectModification entities are changes that are made directly to the template.

                • Automatic entities are AWS::CloudFormation::Stack resource types, which are also known as nested stacks. If you made no changes to the AWS::CloudFormation::Stack resource, AWS CloudFormation sets the ChangeSource to Automatic because the nested stack's template might have changed. Changes to a nested stack's template aren't visible to AWS CloudFormation until you run an update on the parent stack.

              • CausingEntity (string) --

                The identity of the entity that triggered this change. This entity is a member of the group that is specified by the ChangeSource field. For example, if you modified the value of the KeyPairName parameter, the CausingEntity is the name of the parameter ( KeyPairName ).

                If the ChangeSource value is DirectModification , no value is given for CausingEntity .

          • ChangeSetId (string) --

            The change set ID of the nested change set.

          • ModuleInfo (dict) --

            Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

            • TypeHierarchy (string) --

              A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

              In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

              AWS::First::Example::MODULE/AWS::Second::Example::MODULE

            • LogicalIdHierarchy (string) --

              A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

              In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

              moduleA/moduleB

              For more information, see Referencing resources in a module in the CloudFormation User Guide .

    • NextToken (string) --

      If the output exceeds 1 MB, a string that identifies the next page of changes. If there is no additional page, this value is null.

    • IncludeNestedStacks (boolean) --

      Verifies if IncludeNestedStacks is set to True .

    • ParentChangeSetId (string) --

      Specifies the change set ID of the parent change set in the current nested change set hierarchy.

    • RootChangeSetId (string) --

      Specifies the change set ID of the root change set in the current nested change set hierarchy.

DescribeStackResource (updated) Link ¶
Changes (response)
{'StackResourceDetail': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                        'TypeHierarchy': 'string'}}}

Returns a description of the specified resource in the specified stack.

For deleted stacks, DescribeStackResource returns resource information for up to 90 days after the stack has been deleted.

See also: AWS API Documentation

Request Syntax

client.describe_stack_resource(
    StackName='string',
    LogicalResourceId='string'
)
type StackName

string

param StackName

[REQUIRED]

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

type LogicalResourceId

string

param LogicalResourceId

[REQUIRED]

The logical name of the resource as specified in the template.

Default: There is no default value.

rtype

dict

returns

Response Syntax

{
    'StackResourceDetail': {
        'StackName': 'string',
        'StackId': 'string',
        'LogicalResourceId': 'string',
        'PhysicalResourceId': 'string',
        'ResourceType': 'string',
        'LastUpdatedTimestamp': datetime(2015, 1, 1),
        'ResourceStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'DELETE_SKIPPED'|'UPDATE_IN_PROGRESS'|'UPDATE_FAILED'|'UPDATE_COMPLETE'|'IMPORT_FAILED'|'IMPORT_COMPLETE'|'IMPORT_IN_PROGRESS'|'IMPORT_ROLLBACK_IN_PROGRESS'|'IMPORT_ROLLBACK_FAILED'|'IMPORT_ROLLBACK_COMPLETE',
        'ResourceStatusReason': 'string',
        'Description': 'string',
        'Metadata': 'string',
        'DriftInformation': {
            'StackResourceDriftStatus': 'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
            'LastCheckTimestamp': datetime(2015, 1, 1)
        },
        'ModuleInfo': {
            'TypeHierarchy': 'string',
            'LogicalIdHierarchy': 'string'
        }
    }
}

Response Structure

  • (dict) --

    The output for a DescribeStackResource action.

    • StackResourceDetail (dict) --

      A StackResourceDetail structure containing the description of the specified resource in the specified stack.

      • StackName (string) --

        The name associated with the stack.

      • StackId (string) --

        Unique identifier of the stack.

      • LogicalResourceId (string) --

        The logical name of the resource specified in the template.

      • PhysicalResourceId (string) --

        The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

      • ResourceType (string) --

        Type of resource. ((For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

      • LastUpdatedTimestamp (datetime) --

        Time the status was updated.

      • ResourceStatus (string) --

        Current status of the resource.

      • ResourceStatusReason (string) --

        Success/failure message associated with the resource.

      • Description (string) --

        User defined description associated with the resource.

      • Metadata (string) --

        The content of the Metadata attribute declared for the resource. For more information, see Metadata Attribute in the AWS CloudFormation User Guide.

      • DriftInformation (dict) --

        Information about whether the resource's actual configuration differs, or has drifted , from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

        • StackResourceDriftStatus (string) --

          Status of the resource's actual configuration compared to its expected configuration

          • DELETED : The resource differs from its expected configuration in that it has been deleted.

          • MODIFIED : The resource differs from its expected configuration.

          • NOT_CHECKED : AWS CloudFormation has not checked if the resource differs from its expected configuration. Any resources that do not currently support drift detection have a status of NOT_CHECKED . For more information, see Resources that Support Drift Detection.

          • IN_SYNC : The resources's actual configuration matches its expected configuration.

        • LastCheckTimestamp (datetime) --

          When AWS CloudFormation last checked if the resource had drifted from its expected configuration.

      • ModuleInfo (dict) --

        Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

        • TypeHierarchy (string) --

          A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

          In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

          AWS::First::Example::MODULE/AWS::Second::Example::MODULE

        • LogicalIdHierarchy (string) --

          A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

          In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

          moduleA/moduleB

          For more information, see Referencing resources in a module in the CloudFormation User Guide .

DescribeStackResourceDrifts (updated) Link ¶
Changes (response)
{'StackResourceDrifts': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                        'TypeHierarchy': 'string'}}}

Returns drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects configuration drift.

For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all supported resources for a given stack.

See also: AWS API Documentation

Request Syntax

client.describe_stack_resource_drifts(
    StackName='string',
    StackResourceDriftStatusFilters=[
        'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
    ],
    NextToken='string',
    MaxResults=123
)
type StackName

string

param StackName

[REQUIRED]

The name of the stack for which you want drift information.

type StackResourceDriftStatusFilters

list

param StackResourceDriftStatusFilters

The resource drift status values to use as filters for the resource drift results returned.

  • DELETED : The resource differs from its expected template configuration in that the resource has been deleted.

  • MODIFIED : One or more resource properties differ from their expected template values.

  • IN_SYNC : The resources's actual configuration matches its expected template configuration.

  • NOT_CHECKED : AWS CloudFormation does not currently return this value.

  • (string) --

type NextToken

string

param NextToken

A string that identifies the next page of stack resource drift 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.

rtype

dict

returns

Response Syntax

{
    'StackResourceDrifts': [
        {
            'StackId': 'string',
            'LogicalResourceId': 'string',
            'PhysicalResourceId': 'string',
            'PhysicalResourceIdContext': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ],
            'ResourceType': 'string',
            'ExpectedProperties': 'string',
            'ActualProperties': 'string',
            'PropertyDifferences': [
                {
                    'PropertyPath': 'string',
                    'ExpectedValue': 'string',
                    'ActualValue': 'string',
                    'DifferenceType': 'ADD'|'REMOVE'|'NOT_EQUAL'
                },
            ],
            'StackResourceDriftStatus': 'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
            'Timestamp': datetime(2015, 1, 1),
            'ModuleInfo': {
                'TypeHierarchy': 'string',
                'LogicalIdHierarchy': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • StackResourceDrifts (list) --

      Drift information for the resources that have been checked for drift in the specified stack. This includes actual and expected configuration values for resources where AWS CloudFormation detects drift.

      For a given stack, there will be one StackResourceDrift for each stack resource that has been checked for drift. Resources that have not yet been checked for drift are not included. Resources that do not currently support drift detection are not checked, and so not included. For a list of resources that support drift detection, see Resources that Support Drift Detection.

      • (dict) --

        Contains the drift information for a resource that has been checked for drift. This includes actual and expected property values for resources in which AWS CloudFormation has detected drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

        Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

        Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

        • StackId (string) --

          The ID of the stack.

        • LogicalResourceId (string) --

          The logical name of the resource specified in the template.

        • PhysicalResourceId (string) --

          The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

        • PhysicalResourceIdContext (list) --

          Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a unique resource that contains the targeted resource.

          • (dict) --

            Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a resource that contains the targeted resource.

            • Key (string) --

              The resource context key.

            • Value (string) --

              The resource context value.

        • ResourceType (string) --

          The type of the resource.

        • ExpectedProperties (string) --

          A JSON structure containing the expected property values of the stack resource, as defined in the stack template and any values specified as template parameters.

          For resources whose StackResourceDriftStatus is DELETED , this structure will not be present.

        • ActualProperties (string) --

          A JSON structure containing the actual property values of the stack resource.

          For resources whose StackResourceDriftStatus is DELETED , this structure will not be present.

        • PropertyDifferences (list) --

          A collection of the resource properties whose actual values differ from their expected values. These will be present only for resources whose StackResourceDriftStatus is MODIFIED .

          • (dict) --

            Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED . For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

            • PropertyPath (string) --

              The fully-qualified path to the resource property.

            • ExpectedValue (string) --

              The expected property value of the resource property, as defined in the stack template and any values specified as template parameters.

            • ActualValue (string) --

              The actual property value of the resource property.

            • DifferenceType (string) --

              The type of property difference.

              • ADD : A value has been added to a resource property that is an array or list data type.

              • REMOVE : The property has been removed from the current resource configuration.

              • NOT_EQUAL : The current property value differs from its expected value (as defined in the stack template and any values specified as template parameters).

        • StackResourceDriftStatus (string) --

          Status of the resource's actual configuration compared to its expected configuration

          • DELETED : The resource differs from its expected template configuration because the resource has been deleted.

          • MODIFIED : One or more resource properties differ from their expected values (as defined in the stack template and any values specified as template parameters).

          • IN_SYNC : The resources's actual configuration matches its expected template configuration.

          • NOT_CHECKED : AWS CloudFormation does not currently return this value.

        • Timestamp (datetime) --

          Time at which AWS CloudFormation performed drift detection on the stack resource.

        • ModuleInfo (dict) --

          Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

          • TypeHierarchy (string) --

            A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

            AWS::First::Example::MODULE/AWS::Second::Example::MODULE

          • LogicalIdHierarchy (string) --

            A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

            moduleA/moduleB

            For more information, see Referencing resources in a module 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 DescribeStackResourceDrifts again and assign that token to the request object's NextToken parameter. If the request returns all results, NextToken is set to null .

DescribeStackResources (updated) Link ¶
Changes (response)
{'StackResources': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                   'TypeHierarchy': 'string'}}}

Returns AWS resource descriptions for running and deleted stacks. If StackName is specified, all the associated resources that are part of the stack are returned. If PhysicalResourceId is specified, the associated resources of the stack that the resource belongs to are returned.

Note

Only the first 100 resources will be returned. If your stack has more resources than this, you should use ListStackResources instead.

For deleted stacks, DescribeStackResources returns resource information for up to 90 days after the stack has been deleted.

You must specify either StackName or PhysicalResourceId , but not both. In addition, you can specify LogicalResourceId to filter the returned result. For more information about resources, the LogicalResourceId and PhysicalResourceId , go to the AWS CloudFormation User Guide.

Note

A ValidationError is returned if you specify both StackName and PhysicalResourceId in the same request.

See also: AWS API Documentation

Request Syntax

client.describe_stack_resources(
    StackName='string',
    LogicalResourceId='string',
    PhysicalResourceId='string'
)
type StackName

string

param StackName

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

Required: Conditional. If you do not specify StackName , you must specify PhysicalResourceId .

type LogicalResourceId

string

param LogicalResourceId

The logical name of the resource as specified in the template.

Default: There is no default value.

type PhysicalResourceId

string

param PhysicalResourceId

The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

For example, for an Amazon Elastic Compute Cloud (EC2) instance, PhysicalResourceId corresponds to the InstanceId . You can pass the EC2 InstanceId to DescribeStackResources to find which stack the instance belongs to and what other resources are part of the stack.

Required: Conditional. If you do not specify PhysicalResourceId , you must specify StackName .

Default: There is no default value.

rtype

dict

returns

Response Syntax

{
    'StackResources': [
        {
            'StackName': 'string',
            'StackId': 'string',
            'LogicalResourceId': 'string',
            'PhysicalResourceId': 'string',
            'ResourceType': 'string',
            'Timestamp': datetime(2015, 1, 1),
            'ResourceStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'DELETE_SKIPPED'|'UPDATE_IN_PROGRESS'|'UPDATE_FAILED'|'UPDATE_COMPLETE'|'IMPORT_FAILED'|'IMPORT_COMPLETE'|'IMPORT_IN_PROGRESS'|'IMPORT_ROLLBACK_IN_PROGRESS'|'IMPORT_ROLLBACK_FAILED'|'IMPORT_ROLLBACK_COMPLETE',
            'ResourceStatusReason': 'string',
            'Description': 'string',
            'DriftInformation': {
                'StackResourceDriftStatus': 'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
                'LastCheckTimestamp': datetime(2015, 1, 1)
            },
            'ModuleInfo': {
                'TypeHierarchy': 'string',
                'LogicalIdHierarchy': 'string'
            }
        },
    ]
}

Response Structure

  • (dict) --

    The output for a DescribeStackResources action.

    • StackResources (list) --

      A list of StackResource structures.

      • (dict) --

        The StackResource data type.

        • StackName (string) --

          The name associated with the stack.

        • StackId (string) --

          Unique identifier of the stack.

        • LogicalResourceId (string) --

          The logical name of the resource specified in the template.

        • PhysicalResourceId (string) --

          The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

        • ResourceType (string) --

          Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

        • Timestamp (datetime) --

          Time the status was updated.

        • ResourceStatus (string) --

          Current status of the resource.

        • ResourceStatusReason (string) --

          Success/failure message associated with the resource.

        • Description (string) --

          User defined description associated with the resource.

        • DriftInformation (dict) --

          Information about whether the resource's actual configuration differs, or has drifted , from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

          • StackResourceDriftStatus (string) --

            Status of the resource's actual configuration compared to its expected configuration

            • DELETED : The resource differs from its expected configuration in that it has been deleted.

            • MODIFIED : The resource differs from its expected configuration.

            • NOT_CHECKED : AWS CloudFormation has not checked if the resource differs from its expected configuration. Any resources that do not currently support drift detection have a status of NOT_CHECKED . For more information, see Resources that Support Drift Detection.

            • IN_SYNC : The resources's actual configuration matches its expected configuration.

          • LastCheckTimestamp (datetime) --

            When AWS CloudFormation last checked if the resource had drifted from its expected configuration.

        • ModuleInfo (dict) --

          Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

          • TypeHierarchy (string) --

            A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

            AWS::First::Example::MODULE/AWS::Second::Example::MODULE

          • LogicalIdHierarchy (string) --

            A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

            moduleA/moduleB

            For more information, see Referencing resources in a module in the CloudFormation User Guide .

DescribeType (updated) Link ¶
Changes (both)
{'Type': {'MODULE'}}

Returns detailed information about a type that has been registered.

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

See also: AWS API Documentation

Request Syntax

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

string

param Type

The kind of type.

Currently the only valid value is RESOURCE .

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

type TypeName

string

param TypeName

The name of the type.

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

type Arn

string

param Arn

The Amazon Resource Name (ARN) of the type.

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

type VersionId

string

param VersionId

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

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

rtype

dict

returns

Response Syntax

{
    'Arn': 'string',
    'Type': 'RESOURCE'|'MODULE',
    'TypeName': 'string',
    'DefaultVersionId': 'string',
    'IsDefaultVersion': True|False,
    'Description': 'string',
    'Schema': 'string',
    'ProvisioningType': 'NON_PROVISIONABLE'|'IMMUTABLE'|'FULLY_MUTABLE',
    'DeprecatedStatus': 'LIVE'|'DEPRECATED',
    'LoggingConfig': {
        'LogRoleArn': 'string',
        'LogGroupName': 'string'
    },
    'ExecutionRoleArn': 'string',
    'Visibility': 'PUBLIC'|'PRIVATE',
    'SourceUrl': 'string',
    'DocumentationUrl': 'string',
    'LastUpdated': datetime(2015, 1, 1),
    'TimeCreated': datetime(2015, 1, 1)
}

Response Structure

  • (dict) --

    • Arn (string) --

      The Amazon Resource Name (ARN) of the type.

    • Type (string) --

      The kind of type.

      Currently the only valid value is RESOURCE .

    • TypeName (string) --

      The name of the registered type.

    • DefaultVersionId (string) --

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

      To set the default version of a type, use SetTypeDefaultVersion .

    • IsDefaultVersion (boolean) --

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

    • Description (string) --

      The description of the registered type.

    • Schema (string) --

      The schema that defines the type.

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

    • ProvisioningType (string) --

      The provisioning behavior of the 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 type includes an update handler to process updates to the type during stack update operations.

      • IMMUTABLE : The 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 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 type.

      Valid values include:

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

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

    • LoggingConfig (dict) --

      Contains logging configuration information for a type.

      • 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 type's handlers.

    • ExecutionRoleArn (string) --

      The Amazon Resource Name (ARN) of the IAM execution role used 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.

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

    • SourceUrl (string) --

      The URL of the source code for the type.

    • DocumentationUrl (string) --

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

    • LastUpdated (datetime) --

      When the specified type version was registered.

    • TimeCreated (datetime) --

      When the specified type version was registered.

DetectStackResourceDrift (updated) Link ¶
Changes (response)
{'StackResourceDrift': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                       'TypeHierarchy': 'string'}}}

Returns information about whether a resource's actual configuration differs, or has drifted , from it's expected configuration, as defined in the stack template and any values specified as template parameters. This information includes actual and expected property values for resources in which AWS CloudFormation detects drift. Only resource properties explicitly defined in the stack template are checked for drift. For more information about stack and resource drift, see Detecting Unregulated Configuration Changes to Stacks and Resources.

Use DetectStackResourceDrift to detect drift on individual resources, or DetectStackDrift to detect drift on all resources in a given stack that support drift detection.

Resources that do not currently support drift detection cannot be checked. For a list of resources that support drift detection, see Resources that Support Drift Detection.

See also: AWS API Documentation

Request Syntax

client.detect_stack_resource_drift(
    StackName='string',
    LogicalResourceId='string'
)
type StackName

string

param StackName

[REQUIRED]

The name of the stack to which the resource belongs.

type LogicalResourceId

string

param LogicalResourceId

[REQUIRED]

The logical name of the resource for which to return drift information.

rtype

dict

returns

Response Syntax

{
    'StackResourceDrift': {
        'StackId': 'string',
        'LogicalResourceId': 'string',
        'PhysicalResourceId': 'string',
        'PhysicalResourceIdContext': [
            {
                'Key': 'string',
                'Value': 'string'
            },
        ],
        'ResourceType': 'string',
        'ExpectedProperties': 'string',
        'ActualProperties': 'string',
        'PropertyDifferences': [
            {
                'PropertyPath': 'string',
                'ExpectedValue': 'string',
                'ActualValue': 'string',
                'DifferenceType': 'ADD'|'REMOVE'|'NOT_EQUAL'
            },
        ],
        'StackResourceDriftStatus': 'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
        'Timestamp': datetime(2015, 1, 1),
        'ModuleInfo': {
            'TypeHierarchy': 'string',
            'LogicalIdHierarchy': 'string'
        }
    }
}

Response Structure

  • (dict) --

    • StackResourceDrift (dict) --

      Information about whether the resource's actual configuration has drifted from its expected template configuration, including actual and expected property values and any differences detected.

      • StackId (string) --

        The ID of the stack.

      • LogicalResourceId (string) --

        The logical name of the resource specified in the template.

      • PhysicalResourceId (string) --

        The name or unique identifier that corresponds to a physical instance ID of a resource supported by AWS CloudFormation.

      • PhysicalResourceIdContext (list) --

        Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a unique resource that contains the targeted resource.

        • (dict) --

          Context information that enables AWS CloudFormation to uniquely identify a resource. AWS CloudFormation uses context key-value pairs in cases where a resource's logical and physical IDs are not enough to uniquely identify that resource. Each context key-value pair specifies a resource that contains the targeted resource.

          • Key (string) --

            The resource context key.

          • Value (string) --

            The resource context value.

      • ResourceType (string) --

        The type of the resource.

      • ExpectedProperties (string) --

        A JSON structure containing the expected property values of the stack resource, as defined in the stack template and any values specified as template parameters.

        For resources whose StackResourceDriftStatus is DELETED , this structure will not be present.

      • ActualProperties (string) --

        A JSON structure containing the actual property values of the stack resource.

        For resources whose StackResourceDriftStatus is DELETED , this structure will not be present.

      • PropertyDifferences (list) --

        A collection of the resource properties whose actual values differ from their expected values. These will be present only for resources whose StackResourceDriftStatus is MODIFIED .

        • (dict) --

          Information about a resource property whose actual value differs from its expected value, as defined in the stack template and any values specified as template parameters. These will be present only for resources whose StackResourceDriftStatus is MODIFIED . For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

          • PropertyPath (string) --

            The fully-qualified path to the resource property.

          • ExpectedValue (string) --

            The expected property value of the resource property, as defined in the stack template and any values specified as template parameters.

          • ActualValue (string) --

            The actual property value of the resource property.

          • DifferenceType (string) --

            The type of property difference.

            • ADD : A value has been added to a resource property that is an array or list data type.

            • REMOVE : The property has been removed from the current resource configuration.

            • NOT_EQUAL : The current property value differs from its expected value (as defined in the stack template and any values specified as template parameters).

      • StackResourceDriftStatus (string) --

        Status of the resource's actual configuration compared to its expected configuration

        • DELETED : The resource differs from its expected template configuration because the resource has been deleted.

        • MODIFIED : One or more resource properties differ from their expected values (as defined in the stack template and any values specified as template parameters).

        • IN_SYNC : The resources's actual configuration matches its expected template configuration.

        • NOT_CHECKED : AWS CloudFormation does not currently return this value.

      • Timestamp (datetime) --

        Time at which AWS CloudFormation performed drift detection on the stack resource.

      • ModuleInfo (dict) --

        Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

        • TypeHierarchy (string) --

          A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

          In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

          AWS::First::Example::MODULE/AWS::Second::Example::MODULE

        • LogicalIdHierarchy (string) --

          A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

          In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

          moduleA/moduleB

          For more information, see Referencing resources in a module in the CloudFormation User Guide .

ListStackResources (updated) Link ¶
Changes (response)
{'StackResourceSummaries': {'ModuleInfo': {'LogicalIdHierarchy': 'string',
                                           'TypeHierarchy': 'string'}}}

Returns descriptions of all resources of the specified stack.

For deleted stacks, ListStackResources returns resource information for up to 90 days after the stack has been deleted.

See also: AWS API Documentation

Request Syntax

client.list_stack_resources(
    StackName='string',
    NextToken='string'
)
type StackName

string

param StackName

[REQUIRED]

The name or the unique stack ID that is associated with the stack, which are not always interchangeable:

  • Running stacks: You can specify either the stack's name or its unique stack ID.

  • Deleted stacks: You must specify the unique stack ID.

Default: There is no default value.

type NextToken

string

param NextToken

A string that identifies the next page of stack resources that you want to retrieve.

rtype

dict

returns

Response Syntax

{
    'StackResourceSummaries': [
        {
            'LogicalResourceId': 'string',
            'PhysicalResourceId': 'string',
            'ResourceType': 'string',
            'LastUpdatedTimestamp': datetime(2015, 1, 1),
            'ResourceStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'DELETE_SKIPPED'|'UPDATE_IN_PROGRESS'|'UPDATE_FAILED'|'UPDATE_COMPLETE'|'IMPORT_FAILED'|'IMPORT_COMPLETE'|'IMPORT_IN_PROGRESS'|'IMPORT_ROLLBACK_IN_PROGRESS'|'IMPORT_ROLLBACK_FAILED'|'IMPORT_ROLLBACK_COMPLETE',
            'ResourceStatusReason': 'string',
            'DriftInformation': {
                'StackResourceDriftStatus': 'IN_SYNC'|'MODIFIED'|'DELETED'|'NOT_CHECKED',
                'LastCheckTimestamp': datetime(2015, 1, 1)
            },
            'ModuleInfo': {
                'TypeHierarchy': 'string',
                'LogicalIdHierarchy': 'string'
            }
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    The output for a ListStackResources action.

    • StackResourceSummaries (list) --

      A list of StackResourceSummary structures.

      • (dict) --

        Contains high-level information about the specified stack resource.

        • LogicalResourceId (string) --

          The logical name of the resource specified in the template.

        • PhysicalResourceId (string) --

          The name or unique identifier that corresponds to a physical instance ID of the resource.

        • ResourceType (string) --

          Type of resource. (For more information, go to AWS Resource Types Reference in the AWS CloudFormation User Guide.)

        • LastUpdatedTimestamp (datetime) --

          Time the status was updated.

        • ResourceStatus (string) --

          Current status of the resource.

        • ResourceStatusReason (string) --

          Success/failure message associated with the resource.

        • DriftInformation (dict) --

          Information about whether the resource's actual configuration differs, or has drifted , from its expected configuration, as defined in the stack template and any values specified as template parameters. For more information, see Detecting Unregulated Configuration Changes to Stacks and Resources.

          • StackResourceDriftStatus (string) --

            Status of the resource's actual configuration compared to its expected configuration

            • DELETED : The resource differs from its expected configuration in that it has been deleted.

            • MODIFIED : The resource differs from its expected configuration.

            • NOT_CHECKED : AWS CloudFormation has not checked if the resource differs from its expected configuration. Any resources that do not currently support drift detection have a status of NOT_CHECKED . For more information, see Resources that Support Drift Detection. If you performed an ContinueUpdateRollback operation on a stack, any resources included in ResourcesToSkip will also have a status of NOT_CHECKED . For more information on skipping resources during rollback operations, see Continue Rolling Back an Update in the AWS CloudFormation User Guide.

            • IN_SYNC : The resources's actual configuration matches its expected configuration.

          • LastCheckTimestamp (datetime) --

            When AWS CloudFormation last checked if the resource had drifted from its expected configuration.

        • ModuleInfo (dict) --

          Contains information about the module from which the resource was created, if the resource was created from a module included in the stack template.

          • TypeHierarchy (string) --

            A concantenated list of the the module type or types containing the resource. Module types are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module of type AWS::First::Example::MODULE , that is nested inside a parent module of type AWS::Second::Example::MODULE .

            AWS::First::Example::MODULE/AWS::Second::Example::MODULE

          • LogicalIdHierarchy (string) --

            A concantenated list of the logical IDs of the module or modules containing the resource. Modules are listed starting with the inner-most nested module, and separated by / .

            In the following example, the resource was created from a module, moduleA , that is nested inside a parent module, moduleB .

            moduleA/moduleB

            For more information, see Referencing resources in a module in the CloudFormation User Guide .

    • NextToken (string) --

      If the output exceeds 1 MB, a string that identifies the next page of stack resources. If no additional page exists, this value is null.

ListTypeRegistrations (updated) Link ¶
Changes (request)
{'Type': {'MODULE'}}

Returns a list of registration tokens for the specified type(s).

See also: AWS API Documentation

Request Syntax

client.list_type_registrations(
    Type='RESOURCE'|'MODULE',
    TypeName='string',
    TypeArn='string',
    RegistrationStatusFilter='COMPLETE'|'IN_PROGRESS'|'FAILED',
    MaxResults=123,
    NextToken='string'
)
type Type

string

param Type

The kind of type.

Currently the only valid value is RESOURCE .

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

type TypeName

string

param TypeName

The name of the type.

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

type TypeArn

string

param TypeArn

The Amazon Resource Name (ARN) of the type.

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

type RegistrationStatusFilter

string

param RegistrationStatusFilter

The current status of the type registration request.

The default is IN_PROGRESS .

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

{
    'RegistrationTokenList': [
        'string',
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • RegistrationTokenList (list) --

      A list of type registration tokens.

      Use DescribeTypeRegistration to return detailed information about a type registration request.

      • (string) --

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

ListTypeVersions (updated) Link ¶
Changes (request, response)
Request
{'Type': {'MODULE'}}
Response
{'TypeVersionSummaries': {'Type': {'MODULE'}}}

Returns summary information about the versions of a type.

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'
)
type Type

string

param Type

The kind of the type.

Currently the only valid value is RESOURCE .

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

type TypeName

string

param TypeName

The name of the type 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 type 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 type versions that you want to get summary information about.

Valid values include:

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

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

The default is LIVE .

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'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • TypeVersionSummaries (list) --

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

      • (dict) --

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

        • Type (string) --

          The kind of type.

        • TypeName (string) --

          The name of the type.

        • VersionId (string) --

          The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

        • IsDefaultVersion (boolean) --

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

        • Arn (string) --

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

        • TimeCreated (datetime) --

          When the version was registered.

        • Description (string) --

          The description of the type version.

    • 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
{'Type': 'RESOURCE | MODULE'}
Response
{'TypeSummaries': {'Type': {'MODULE'}}}

Returns summary information about types 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',
    MaxResults=123,
    NextToken='string'
)
type Visibility

string

param Visibility

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 create as PRIVATE .

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

The default is PRIVATE .

type ProvisioningType

string

param ProvisioningType

The provisioning behavior of the 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 type includes an update handler to process updates to the type during stack update operations.

  • IMMUTABLE : The 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 type does not include create, read, and delete handlers, and therefore cannot actually be provisioned.

type DeprecatedStatus

string

param DeprecatedStatus

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

Valid values include:

  • LIVE : The type is registered for use in CloudFormation operations.

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

type Type

string

param Type

The type of extension.

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'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • TypeSummaries (list) --

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

      • (dict) --

        Contains summary information about the specified CloudFormation type.

        • Type (string) --

          The kind of type.

        • TypeName (string) --

          The name of the type.

        • DefaultVersionId (string) --

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

          To set the default version of a type, use SetTypeDefaultVersion .

        • TypeArn (string) --

          The Amazon Resource Name (ARN) of the type.

        • LastUpdated (datetime) --

          When the current default version of the type was registered.

        • Description (string) --

          The description of the type.

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

RegisterType (updated) Link ¶
Changes (request)
{'Type': {'MODULE'}}

Registers a type with the CloudFormation service. Registering a type makes it available for use in CloudFormation templates in your AWS account, and includes:

  • Validating the resource schema

  • Determining which handlers have been specified for the resource

  • Making the resource type available for use in your account

For more information on how to develop types and ready them for registeration, see Creating Resource Providers in the CloudFormation CLI User Guide .

You can have a maximum of 50 resource type versions registered at a time. This maximum is per account and per region. Use DeregisterType to deregister specific resource type versions if necessary.

Once you have initiated a registration request using RegisterType , you can use DescribeTypeRegistration to monitor the progress of the registration request.

See also: AWS API Documentation

Request Syntax

client.register_type(
    Type='RESOURCE'|'MODULE',
    TypeName='string',
    SchemaHandlerPackage='string',
    LoggingConfig={
        'LogRoleArn': 'string',
        'LogGroupName': 'string'
    },
    ExecutionRoleArn='string',
    ClientRequestToken='string'
)
type Type

string

param Type

The kind of type.

Currently, the only valid value is RESOURCE .

type TypeName

string

param TypeName

[REQUIRED]

The name of the type being registered.

We recommend that type names adhere to the following pattern: company_or_organization ::service ::type .

Note

The following organization namespaces are reserved and cannot be used in your resource type names:

  • Alexa

  • AMZN

  • Amazon

  • AWS

  • Custom

  • Dev

type SchemaHandlerPackage

string

param SchemaHandlerPackage

[REQUIRED]

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 .

Note

The user registering the resource provider type must be able to access the the schema handler package in the S3 bucket. That is, 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 AWS Identity and Access Management User Guide .

type LoggingConfig

dict

param LoggingConfig

Specifies logging configuration information for a type.

  • 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 type's handlers.

type ExecutionRoleArn

string

param ExecutionRoleArn

The Amazon Resource Name (ARN) of the IAM role for CloudFormation to assume when invoking the resource provider. 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. When CloudFormation needs to invoke the resource provider handler, CloudFormation assumes this execution role to create a temporary session token, which it then passes to the resource provider handler, thereby supplying your resource provider with the appropriate credentials.

type ClientRequestToken

string

param ClientRequestToken

A 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 a type from the same registeration request, even if the request is submitted multiple times.

rtype

dict

returns

Response Syntax

{
    'RegistrationToken': 'string'
}

Response Structure

  • (dict) --

    • RegistrationToken (string) --

      The identifier for this registration request.

      Use this registration token when calling DescribeTypeRegistration , which returns information about the status and IDs of the type registration.

SetTypeDefaultVersion (updated) Link ¶
Changes (request)
{'Type': {'MODULE'}}

Specify the default version of a type. The default version of a type will be used in CloudFormation operations.

See also: AWS API Documentation

Request Syntax

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

string

param Arn

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

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

type Type

string

param Type

The kind of type.

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

type TypeName

string

param TypeName

The name of the type.

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

type VersionId

string

param VersionId

The ID of a specific version of the type. The version ID is the value at the end of the Amazon Resource Name (ARN) assigned to the type version when it is registered.

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --