AWS CloudFormation

2016/11/01 - AWS CloudFormation - 1 new 7 updated api methods

Changes  Adding ResourcesToSkip parameter to ContinueUpdateRollback API, adding support for ListExports, new ChangeSet types and Transforms.

ListExports (new) Link ¶

Lists all exported output values in the account and region in which you call this action. Use this action to see the exported output values that you can import into other stacks. To import values, use the Fn::ImportValue function.

For more information, see AWS CloudFormation Export Stack Output Values.

Request Syntax

client.list_exports(
    NextToken='string'
)
type NextToken

string

param NextToken

A string (provided by the ListExports response output) that identifies the next page of exported output values that you asked to retrieve.

rtype

dict

returns

Response Syntax

{
    'Exports': [
        {
            'ExportingStackId': 'string',
            'Name': 'string',
            'Value': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    • Exports (list) --

      The output for the ListExports action.

      • (dict) --

        The Export structure describes the exported output values for a stack.

        • ExportingStackId (string) --

          The stack that contains the exported output name and value.

        • Name (string) --

          The name of exported output value. Use this name and the Fn::ImportValue function to import the associated value into other stacks. The name is defined in the Export field in the associated stack's Outputs section.

        • Value (string) --

          The value of the exported output, such as a resource physical ID. This value is defined in the Export field in the associated stack's Outputs section.

    • NextToken (string) --

      If the output exceeds 100 exported output values, a string that identifies the next page of exports. If there is no additional page, this value is null.

ContinueUpdateRollback (updated) Link ¶
Changes (request)
{'ResourcesToSkip': ['string']}

For a specified stack that is in the UPDATE_ROLLBACK_FAILED state, continues rolling it back to the UPDATE_ROLLBACK_COMPLETE state. Depending on the cause of the failure, you can manually fix the error and continue the rollback. By continuing the rollback, you can return your stack to a working state (the UPDATE_ROLLBACK_COMPLETE state), and then try to update the stack again.

A stack goes into the UPDATE_ROLLBACK_FAILED state when AWS CloudFormation cannot roll back all changes after a failed stack update. For example, you might have a stack that is rolling back to an old database instance that was deleted outside of AWS CloudFormation. Because AWS CloudFormation doesn't know the database was deleted, it assumes that the database instance still exists and attempts to roll back to it, causing the update rollback to fail.

Request Syntax

client.continue_update_rollback(
    StackName='string',
    RoleARN='string',
    ResourcesToSkip=[
        'string',
    ]
)
type StackName

string

param StackName

[REQUIRED]

The name or the unique ID of the stack that you want to continue rolling back.

Note

Don't specify the name of a nested stack (a stack that was created by using the AWS::CloudFormation::Stack resource). Instead, use this operation on the parent stack (the stack that contains the AWS::CloudFormation::Stack resource).

type RoleARN

string

param RoleARN

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes to roll back the stack. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

type ResourcesToSkip

list

param ResourcesToSkip

A list of the logical IDs of the resources that AWS CloudFormation skips during the continue update rollback operation. You can specify only resources that are in the UPDATE_FAILED state because a rollback failed. You can't specify resources that are in the UPDATE_FAILED state for other reasons, for example, because an update was canceled. To check why a resource update failed, use the DescribeStackResources action, and view the resource status reason.

Warning

Specify this property to skip rolling back resources that AWS CloudFormation can't successfully roll back. We recommend that you troubleshoot resources before skipping them. AWS CloudFormation sets the status of the specified resources to UPDATE_COMPLETE and continues to roll back the stack. After the rollback is complete, the state of the skipped resources will be inconsistent with the state of the resources in the stack template. Before performing another stack update, you must update the stack or resources to be consistent with each other. If you don't, subsequent stack updates might fail, and the stack will become unrecoverable.

Specify the minimum number of resources required to successfully roll back your stack. For example, a failed resource update might cause dependent resources to fail. In this case, it might not be necessary to skip the dependent resources.

To specify resources in a nested stack, use the following format: NestedStackName.ResourceLogicalID . You can specify a nested stack resource (the logical ID of an AWS::CloudFormation::Stack resource) only if it's in one of the following states: DELETE_IN_PROGRESS , DELETE_COMPLETE , or DELETE_FAILED .

  • (string) --

rtype

dict

returns

Response Syntax

{}

Response Structure

  • (dict) --

    The output for a ContinueUpdateRollback action.

CreateChangeSet (updated) Link ¶
Changes (request, response)
Request
{'ChangeSetType': 'CREATE | UPDATE'}
Response
{'StackId': 'string'}

Creates a list of changes for a stack. AWS CloudFormation generates the change set by comparing the template's information with the information that you submit. A change set can help you understand which resources AWS CloudFormation will change, and how it will change them, before you update your stack. Change sets allow you to check before making a change to avoid deleting or replacing critical resources.

AWS CloudFormation doesn't make any changes to the stack when you create a change set. To make the specified changes, you must execute the change set by using the ExecuteChangeSet action.

After the call successfully completes, AWS CloudFormation starts creating the change set. To check the status of the change set, use the DescribeChangeSet action.

Request Syntax

client.create_change_set(
    StackName='string',
    TemplateBody='string',
    TemplateURL='string',
    UsePreviousTemplate=True|False,
    Parameters=[
        {
            'ParameterKey': 'string',
            'ParameterValue': 'string',
            'UsePreviousValue': True|False
        },
    ],
    Capabilities=[
        'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM',
    ],
    ResourceTypes=[
        'string',
    ],
    RoleARN='string',
    NotificationARNs=[
        'string',
    ],
    Tags=[
        {
            'Key': 'string',
            'Value': 'string'
        },
    ],
    ChangeSetName='string',
    ClientToken='string',
    Description='string',
    ChangeSetType='CREATE'|'UPDATE'
)
type StackName

string

param StackName

[REQUIRED]

The name or the unique ID of the stack for which you are creating a change set. AWS CloudFormation generates the change set by comparing this stack's information with the information that you submit, such as a modified template or different parameter input values.

type TemplateBody

string

param TemplateBody

A structure that contains the body of the revised template, with a minimum length of 1 byte and a maximum length of 51,200 bytes. AWS CloudFormation generates the change set by comparing this template with the template of the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL .

type TemplateURL

string

param TemplateURL

The location of the file that contains the revised template. The URL must point to a template (max size: 460,800 bytes) that is located in an S3 bucket. AWS CloudFormation generates the change set by comparing this template with the stack that you specified.

Conditional: You must specify only TemplateBody or TemplateURL .

type UsePreviousTemplate

boolean

param UsePreviousTemplate

Whether to reuse the template that is associated with the stack to create the change set.

type Parameters

list

param Parameters

A list of Parameter structures that specify input parameters for 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 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.

type Capabilities

list

param Capabilities

A list of values that you must specify before AWS CloudFormation can update certain stacks. Some stack templates might include resources that can affect permissions in your AWS account, for example, by creating new AWS Identity and Access Management (IAM) users. For those stacks, you must explicitly acknowledge their capabilities by specifying this parameter.

The only valid values are CAPABILITY_IAM and CAPABILITY_NAMED_IAM . The following resources require you to specify this parameter: AWS::IAM::AccessKey, AWS::IAM::Group, AWS::IAM::InstanceProfile, AWS::IAM::Policy, AWS::IAM::Role, AWS::IAM::User, and AWS::IAM::UserToGroupAddition. If your stack template contains these resources, we recommend that you review all permissions associated with them and edit their permissions if necessary.

If you have IAM resources, you can specify either capability. If you have IAM resources with custom names, you must specify CAPABILITY_NAMED_IAM . If you don't specify this parameter, this action returns an InsufficientCapabilities error.

For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

  • (string) --

type ResourceTypes

list

param ResourceTypes

The template resource types that you have permissions to work with if you execute this change set, such as AWS::EC2::Instance , AWS::EC2::* , or Custom::MyCustomInstance .

If the list of resource types doesn't include a resource type that you're updating, the stack update fails. By default, AWS CloudFormation grants permissions to all resource types. AWS Identity and Access Management (IAM) uses this parameter for condition keys in IAM policies for AWS CloudFormation. For more information, see Controlling Access with AWS Identity and Access Management in the AWS CloudFormation User Guide.

  • (string) --

type RoleARN

string

param RoleARN

The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that AWS CloudFormation assumes when executing the change set. AWS CloudFormation uses the role's credentials to make calls on your behalf. AWS CloudFormation always uses this role for all future operations on the stack. As long as users have permission to operate on the stack, AWS CloudFormation uses this role even if the users don't have permission to pass it. Ensure that the role grants least privilege.

If you don't specify a value, AWS CloudFormation uses the role that was previously associated with the stack. If no role is available, AWS CloudFormation uses a temporary session that is generated from your user credentials.

type NotificationARNs

list

param NotificationARNs

The Amazon Resource Names (ARNs) of Amazon Simple Notification Service (Amazon SNS) topics that AWS CloudFormation associates with the stack. To remove all associated notification topics, specify an empty list.

  • (string) --

type Tags

list

param Tags

Key-value pairs to associate with this stack. AWS CloudFormation also propagates these tags to resources in the stack. You can specify a maximum of 10 tags.

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

type ChangeSetName

string

param ChangeSetName

[REQUIRED]

The name of the change set. The name must be unique among all change sets that are associated with the specified stack.

A change set name can contain only alphanumeric, case sensitive characters and hyphens. It must start with an alphabetic character and cannot exceed 128 characters.

type ClientToken

string

param ClientToken

A unique identifier for this CreateChangeSet request. Specify this token if you plan to retry requests so that AWS CloudFormation knows that you're not attempting to create another change set with the same name. You might retry CreateChangeSet requests to ensure that AWS CloudFormation successfully received them.

type Description

string

param Description

A description to help you identify this change set.

type ChangeSetType

string

param ChangeSetType

The type of change set operation. Valid values are CREATE and UPDATE :

  • CREATE - Specify for a change set for a stack that does not yet exist. The stack has an expected unique ID, but no template or resources. It can include multiple change sets.

  • UPDATE - Specify for a change set for an existing stack.

rtype

dict

returns

Response Syntax

{
    'Id': 'string',
    'StackId': 'string'
}

Response Structure

  • (dict) --

    The output for the CreateChangeSet action.

    • Id (string) --

      The Amazon Resource Name (ARN) of the change set.

    • StackId (string) --

      The unique ID of the stack.

DescribeStacks (updated) Link ¶
Changes (response)
{'Stacks': {'ChangeSetId': 'string', 'StackStatus': {'REVIEW_IN_PROGRESS'}}}

Returns the description for the specified stack; if no stack name was specified, then it returns the description for all the stacks created.

Note

If the stack does not exist, an AmazonCloudFormationException is returned.

Request Syntax

client.describe_stacks(
    StackName='string',
    NextToken='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.

type NextToken

string

param NextToken

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

rtype

dict

returns

Response Syntax

{
    'Stacks': [
        {
            'StackId': 'string',
            'StackName': 'string',
            'ChangeSetId': 'string',
            'Description': 'string',
            'Parameters': [
                {
                    'ParameterKey': 'string',
                    'ParameterValue': 'string',
                    'UsePreviousValue': True|False
                },
            ],
            'CreationTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'StackStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_FAILED'|'ROLLBACK_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'UPDATE_IN_PROGRESS'|'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_COMPLETE'|'UPDATE_ROLLBACK_IN_PROGRESS'|'UPDATE_ROLLBACK_FAILED'|'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_ROLLBACK_COMPLETE'|'REVIEW_IN_PROGRESS',
            'StackStatusReason': 'string',
            'DisableRollback': True|False,
            'NotificationARNs': [
                'string',
            ],
            'TimeoutInMinutes': 123,
            'Capabilities': [
                'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM',
            ],
            'Outputs': [
                {
                    'OutputKey': 'string',
                    'OutputValue': 'string',
                    'Description': 'string'
                },
            ],
            'RoleARN': 'string',
            'Tags': [
                {
                    'Key': 'string',
                    'Value': 'string'
                },
            ]
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    The output for a DescribeStacks action.

    • Stacks (list) --

      A list of stack structures.

      • (dict) --

        The Stack data type.

        • StackId (string) --

          Unique identifier of the stack.

        • StackName (string) --

          The name associated with the stack.

        • ChangeSetId (string) --

          The unique ID of the change set.

        • Description (string) --

          A user-defined description associated with the stack.

        • Parameters (list) --

          A list of Parameter structures.

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

        • CreationTime (datetime) --

          The time at which the stack was created.

        • LastUpdatedTime (datetime) --

          The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

        • StackStatus (string) --

          Current status of the stack.

        • StackStatusReason (string) --

          Success/failure message associated with the stack status.

        • DisableRollback (boolean) --

          Boolean to enable or disable rollback on stack creation failures:

          • true : disable rollback

          • false : enable rollback

        • NotificationARNs (list) --

          SNS topic ARNs to which stack related events are published.

          • (string) --

        • TimeoutInMinutes (integer) --

          The amount of time within which stack creation should complete.

        • Capabilities (list) --

          The capabilities allowed in the stack.

          • (string) --

        • Outputs (list) --

          A list of output structures.

          • (dict) --

            The Output data type.

            • OutputKey (string) --

              The key associated with the output.

            • OutputValue (string) --

              The value associated with the output.

            • Description (string) --

              User defined description associated with the output.

        • RoleARN (string) --

          The Amazon Resource Name (ARN) of an AWS Identity and Access Management (IAM) role that is associated with the stack. During a stack operation, AWS CloudFormation uses this role's credentials to make calls on your behalf.

        • Tags (list) --

          A list of Tag s that specify information about 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.

    • NextToken (string) --

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

GetTemplate (updated) Link ¶
Changes (request, response)
Request
{'ChangeSetName': 'string', 'TemplateStage': 'Original | Processed'}
Response
{'StagesAvailable': ['Original | Processed']}

Returns the template body for a specified stack. You can get the template for running or deleted stacks.

For deleted stacks, GetTemplate returns the template for up to 90 days after the stack has been deleted.

Note

If the template does not exist, a ValidationError is returned.

Request Syntax

client.get_template(
    StackName='string',
    ChangeSetName='string',
    TemplateStage='Original'|'Processed'
)
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.

type ChangeSetName

string

param ChangeSetName

Returns the template for a change set using the Amazon Resource Name (ARN) or name of the change set. If you specify a name, you must also specify the StackName .

type TemplateStage

string

param TemplateStage

The stage of the template that is returned. Valid values are Original and Processed :

  • Original - Use to return the specified pre-transform template.

  • Processed - Use to return the template after all transforms have been processed.

rtype

dict

returns

Response Syntax

{
    'TemplateBody': 'string',
    'StagesAvailable': [
        'Original'|'Processed',
    ]
}

Response Structure

  • (dict) --

    The output for GetTemplate action.

    • TemplateBody (string) --

      Structure containing the template body. (For more information, go to Template Anatomy in the AWS CloudFormation User Guide.)

      AWS CloudFormation returns the same template that was used when the stack was created.

    • StagesAvailable (list) --

      The available template type. For stacks, both the Original and Processed template types are always available. For change sets, the Original template is always available. After the transforms are processed, the Processed template becomes available.

      • (string) --

GetTemplateSummary (updated) Link ¶
Changes (response)
{'DeclaredTransforms': ['string']}

Returns information about a new or existing template. The GetTemplateSummary action is useful for viewing parameter information, such as default parameter values and parameter types, before you create or update a stack.

You can use the GetTemplateSummary action when you submit a template, or you can get template information for a running or deleted stack.

For deleted stacks, GetTemplateSummary returns the template information for up to 90 days after the stack has been deleted. If the template does not exist, a ValidationError is returned.

Request Syntax

client.get_template_summary(
    TemplateBody='string',
    TemplateURL='string',
    StackName='string'
)
type TemplateBody

string

param TemplateBody

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .

type TemplateURL

string

param TemplateURL

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information about templates, see Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .

type StackName

string

param StackName

The name or the stack ID that is associated with the stack, which are not always interchangeable. For running stacks, you can specify either the stack's name or its unique stack ID. For deleted stack, you must specify the unique stack ID.

Conditional: You must specify only one of the following parameters: StackName , TemplateBody , or TemplateURL .

rtype

dict

returns

Response Syntax

{
    'Parameters': [
        {
            'ParameterKey': 'string',
            'DefaultValue': 'string',
            'ParameterType': 'string',
            'NoEcho': True|False,
            'Description': 'string',
            'ParameterConstraints': {
                'AllowedValues': [
                    'string',
                ]
            }
        },
    ],
    'Description': 'string',
    'Capabilities': [
        'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM',
    ],
    'CapabilitiesReason': 'string',
    'ResourceTypes': [
        'string',
    ],
    'Version': 'string',
    'Metadata': 'string',
    'DeclaredTransforms': [
        'string',
    ]
}

Response Structure

  • (dict) --

    The output for the GetTemplateSummary action.

    • Parameters (list) --

      A list of parameter declarations that describe various properties for each parameter.

      • (dict) --

        The ParameterDeclaration data type.

        • ParameterKey (string) --

          The name that is associated with the parameter.

        • DefaultValue (string) --

          The default value of the parameter.

        • ParameterType (string) --

          The type of parameter.

        • NoEcho (boolean) --

          Flag that indicates whether the parameter value is shown as plain text in logs and in the AWS Management Console.

        • Description (string) --

          The description that is associate with the parameter.

        • ParameterConstraints (dict) --

          The criteria that AWS CloudFormation uses to validate parameter values.

          • AllowedValues (list) --

            A list of values that are permitted for a parameter.

            • (string) --

    • Description (string) --

      The value that is defined in the Description property of the template.

    • Capabilities (list) --

      The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

      For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

      • (string) --

    • CapabilitiesReason (string) --

      The list of resources that generated the values in the Capabilities response element.

    • ResourceTypes (list) --

      A list of all the template resource types that are defined in the template, such as AWS::EC2::Instance , AWS::Dynamo::Table , and Custom::MyCustomInstance .

      • (string) --

    • Version (string) --

      The AWS template format version, which identifies the capabilities of the template.

    • Metadata (string) --

      The value that is defined for the Metadata property of the template.

    • DeclaredTransforms (list) --

      A list of the transforms that have been declared in the template.

      • (string) --

ListStacks (updated) Link ¶
Changes (request, response)
Request
{'StackStatusFilter': {'REVIEW_IN_PROGRESS'}}
Response
{'StackSummaries': {'StackStatus': {'REVIEW_IN_PROGRESS'}}}

Returns the summary information for stacks whose status matches the specified StackStatusFilter. Summary information for stacks that have been deleted is kept for 90 days after the stack is deleted. If no StackStatusFilter is specified, summary information for all stacks is returned (including existing stacks and stacks that have been deleted).

Request Syntax

client.list_stacks(
    NextToken='string',
    StackStatusFilter=[
        'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_FAILED'|'ROLLBACK_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'UPDATE_IN_PROGRESS'|'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_COMPLETE'|'UPDATE_ROLLBACK_IN_PROGRESS'|'UPDATE_ROLLBACK_FAILED'|'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_ROLLBACK_COMPLETE'|'REVIEW_IN_PROGRESS',
    ]
)
type NextToken

string

param NextToken

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

type StackStatusFilter

list

param StackStatusFilter

Stack status to use as a filter. Specify one or more stack status codes to list only stacks with the specified status codes. For a complete list of stack status codes, see the StackStatus parameter of the Stack data type.

  • (string) --

rtype

dict

returns

Response Syntax

{
    'StackSummaries': [
        {
            'StackId': 'string',
            'StackName': 'string',
            'TemplateDescription': 'string',
            'CreationTime': datetime(2015, 1, 1),
            'LastUpdatedTime': datetime(2015, 1, 1),
            'DeletionTime': datetime(2015, 1, 1),
            'StackStatus': 'CREATE_IN_PROGRESS'|'CREATE_FAILED'|'CREATE_COMPLETE'|'ROLLBACK_IN_PROGRESS'|'ROLLBACK_FAILED'|'ROLLBACK_COMPLETE'|'DELETE_IN_PROGRESS'|'DELETE_FAILED'|'DELETE_COMPLETE'|'UPDATE_IN_PROGRESS'|'UPDATE_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_COMPLETE'|'UPDATE_ROLLBACK_IN_PROGRESS'|'UPDATE_ROLLBACK_FAILED'|'UPDATE_ROLLBACK_COMPLETE_CLEANUP_IN_PROGRESS'|'UPDATE_ROLLBACK_COMPLETE'|'REVIEW_IN_PROGRESS',
            'StackStatusReason': 'string'
        },
    ],
    'NextToken': 'string'
}

Response Structure

  • (dict) --

    The output for ListStacks action.

    • StackSummaries (list) --

      A list of StackSummary structures containing information about the specified stacks.

      • (dict) --

        The StackSummary Data Type

        • StackId (string) --

          Unique stack identifier.

        • StackName (string) --

          The name associated with the stack.

        • TemplateDescription (string) --

          The template description of the template used to create the stack.

        • CreationTime (datetime) --

          The time the stack was created.

        • LastUpdatedTime (datetime) --

          The time the stack was last updated. This field will only be returned if the stack has been updated at least once.

        • DeletionTime (datetime) --

          The time the stack was deleted.

        • StackStatus (string) --

          The current status of the stack.

        • StackStatusReason (string) --

          Success/Failure message associated with the stack status.

    • NextToken (string) --

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

ValidateTemplate (updated) Link ¶
Changes (response)
{'DeclaredTransforms': ['string']}

Validates a specified template. AWS CloudFormation first checks if the template is valid JSON. If it isn't, AWS CloudFormation checks if the template is valid YAML. If both these checks fail, AWS CloudFormation returns a template validation error.

Request Syntax

client.validate_template(
    TemplateBody='string',
    TemplateURL='string'
)
type TemplateBody

string

param TemplateBody

Structure containing the template body with a minimum length of 1 byte and a maximum length of 51,200 bytes. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody . If both are passed, only TemplateBody is used.

type TemplateURL

string

param TemplateURL

Location of file containing the template body. The URL must point to a template (max size: 460,800 bytes) that is located in an Amazon S3 bucket. For more information, go to Template Anatomy in the AWS CloudFormation User Guide.

Conditional: You must pass TemplateURL or TemplateBody . If both are passed, only TemplateBody is used.

rtype

dict

returns

Response Syntax

{
    'Parameters': [
        {
            'ParameterKey': 'string',
            'DefaultValue': 'string',
            'NoEcho': True|False,
            'Description': 'string'
        },
    ],
    'Description': 'string',
    'Capabilities': [
        'CAPABILITY_IAM'|'CAPABILITY_NAMED_IAM',
    ],
    'CapabilitiesReason': 'string',
    'DeclaredTransforms': [
        'string',
    ]
}

Response Structure

  • (dict) --

    The output for ValidateTemplate action.

    • Parameters (list) --

      A list of TemplateParameter structures.

      • (dict) --

        The TemplateParameter data type.

        • ParameterKey (string) --

          The name associated with the parameter.

        • DefaultValue (string) --

          The default value associated with the parameter.

        • NoEcho (boolean) --

          Flag indicating whether the parameter should be displayed as plain text in logs and UIs.

        • Description (string) --

          User defined description associated with the parameter.

    • Description (string) --

      The description found within the template.

    • Capabilities (list) --

      The capabilities found within the template. If your template contains IAM resources, you must specify the CAPABILITY_IAM or CAPABILITY_NAMED_IAM value for this parameter when you use the CreateStack or UpdateStack actions with your template; otherwise, those actions return an InsufficientCapabilities error.

      For more information, see Acknowledging IAM Resources in AWS CloudFormation Templates.

      • (string) --

    • CapabilitiesReason (string) --

      The list of resources that generated the values in the Capabilities response element.

    • DeclaredTransforms (list) --

      A list of the transforms that have been declared in the template.

      • (string) --