Template
- class aws_cdk.assertions.Template(*args: Any, **kwargs)
Bases:
object
Suite of assertions that can be run on a CDK stack.
Typically used, as part of unit tests, to validate that the rendered CloudFormation template has expected resources and properties.
- ExampleMetadata:
nofixture infused
Example:
from aws_cdk import Stack from aws_cdk.assertions import Template stack = Stack() # ... template = Template.from_stack(stack)
Methods
- all_resources(type, props)
Assert that all resources of the given type contain the given definition in the CloudFormation template.
By default, performs partial matching on the resource, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – the entire definition of the resources as they should be expected in the template.
- Return type:
None
- all_resources_properties(type, props)
Assert that all resources of the given type contain the given properties CloudFormation template.
By default, performs partial matching on the
Properties
key of the resource, via theMatch.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – the ‘Properties’ section of the resource as should be expected in the template.
- Return type:
None
- find_conditions(logical_id, props=None)
Get the set of matching Conditions that match the given properties in the CloudFormation template.
- Parameters:
logical_id (
str
) – the name of the condition, provide'*'
to match all conditions in the template.props (
Any
) – by default, matches all Conditions in the template. When a literal object is provided, performs a partial match viaMatch.objectLike()
. Use theMatch
APIs to configure a different behaviour.
- Return type:
Mapping
[str
,Mapping
[str
,Any
]]
- find_mappings(logical_id, props=None)
Get the set of matching Mappings that match the given properties in the CloudFormation template.
- Parameters:
logical_id (
str
) – the name of the mapping, provide'*'
to match all mappings in the template.props (
Any
) – by default, matches all Mappings in the template. When a literal object is provided, performs a partial match viaMatch.objectLike()
. Use theMatch
APIs to configure a different behaviour.
- Return type:
Mapping
[str
,Mapping
[str
,Any
]]
- find_outputs(logical_id, props=None)
Get the set of matching Outputs that match the given properties in the CloudFormation template.
- Parameters:
logical_id (
str
) – the name of the output, provide'*'
to match all outputs in the template.props (
Any
) – by default, matches all Outputs in the template. When a literal object is provided, performs a partial match viaMatch.objectLike()
. Use theMatch
APIs to configure a different behaviour.
- Return type:
Mapping
[str
,Mapping
[str
,Any
]]
- find_parameters(logical_id, props=None)
Get the set of matching Parameters that match the given properties in the CloudFormation template.
- Parameters:
logical_id (
str
) – the name of the parameter, provide'*'
to match all parameters in the template.props (
Any
) – by default, matches all Parameters in the template. When a literal object is provided, performs a partial match viaMatch.objectLike()
. Use theMatch
APIs to configure a different behaviour.
- Return type:
Mapping
[str
,Mapping
[str
,Any
]]
- find_resources(type, props=None)
Get the set of matching resources of a given type and properties in the CloudFormation template.
- Parameters:
type (
str
) – the type to match in the CloudFormation template.props (
Any
) – by default, matches all resources with the given type. When a literal is provided, performs a partial match viaMatch.objectLike()
. Use theMatch
APIs to configure a different behaviour.
- Return type:
Mapping
[str
,Mapping
[str
,Any
]]
- get_resource_id(type, props=None)
Get the Resource ID of a matching resource, expects only to find one match.
Throws AssertionError if none or multiple resources were found.
- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – by default, matches all resources with the given type.
- Return type:
str
- Returns:
The resource id of the matched resource. Performs a partial match via
Match.objectLike()
.
- has_condition(logical_id, props)
Assert that a Condition with the given properties exists in the CloudFormation template.
By default, performs partial matching on the resource, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
logical_id (
str
) – the name of the mapping, provide'*'
to match all conditions in the template.props (
Any
) – the output as should be expected in the template.
- Return type:
None
- has_mapping(logical_id, props)
Assert that a Mapping with the given properties exists in the CloudFormation template.
By default, performs partial matching on the resource, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
logical_id (
str
) – the name of the mapping, provide'*'
to match all mappings in the template.props (
Any
) – the output as should be expected in the template.
- Return type:
None
- has_output(logical_id, props)
Assert that an Output with the given properties exists in the CloudFormation template.
By default, performs partial matching on the resource, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
logical_id (
str
) – the name of the output, provide'*'
to match all outputs in the template.props (
Any
) – the output as should be expected in the template.
- Return type:
None
- has_parameter(logical_id, props)
Assert that a Parameter with the given properties exists in the CloudFormation template.
By default, performs partial matching on the parameter, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
logical_id (
str
) – the name of the parameter, provide'*'
to match all parameters in the template.props (
Any
) – the parameter as should be expected in the template.
- Return type:
None
- has_resource(type, props)
Assert that a resource of the given type and given definition exists in the CloudFormation template.
By default, performs partial matching on the resource, via the
Match.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – the entire definition of the resource as should be expected in the template.
- Return type:
None
- has_resource_properties(type, props)
Assert that a resource of the given type and properties exists in the CloudFormation template.
By default, performs partial matching on the
Properties
key of the resource, via theMatch.objectLike()
. To configure different behavior, use other matchers in theMatch
class.- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – the ‘Properties’ section of the resource as should be expected in the template.
- Return type:
None
- resource_count_is(type, count)
Assert that the given number of resources of the given type exist in the template.
- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
count (
Union
[int
,float
]) – number of expected instances.
- Return type:
None
- resource_properties_count_is(type, props, count)
Assert that the given number of resources of the given type and properties exists in the CloudFormation template.
- Parameters:
type (
str
) – the resource type; ex:AWS::S3::Bucket
props (
Any
) – the ‘Properties’ section of the resource as should be expected in the template.count (
Union
[int
,float
]) – number of expected instances.
- Return type:
None
- template_matches(expected)
Assert that the CloudFormation template matches the given value.
- Parameters:
expected (
Any
) – the expected CloudFormation template as key-value pairs.- Return type:
None
- to_json()
The CloudFormation template deserialized into an object.
- Return type:
Mapping
[str
,Any
]
Static Methods
- classmethod from_json(template, *, skip_cyclical_dependencies_check=None)
Base your assertions from an existing CloudFormation template formatted as an in-memory JSON object.
- Parameters:
template (
Mapping
[str
,Any
]) – the CloudFormation template formatted as a nested set of records.skip_cyclical_dependencies_check (
Optional
[bool
]) – If set to true, will skip checking for cyclical / circular dependencies. Should be set to false other than for templates that are valid despite containing cycles, such as unprocessed transform stacks. Default: false
- Return type:
- classmethod from_stack(stack, *, skip_cyclical_dependencies_check=None)
Base your assertions on the CloudFormation template synthesized by a CDK
Stack
.- Parameters:
stack (
Stack
) – the CDK Stack to run assertions on.skip_cyclical_dependencies_check (
Optional
[bool
]) – If set to true, will skip checking for cyclical / circular dependencies. Should be set to false other than for templates that are valid despite containing cycles, such as unprocessed transform stacks. Default: false
- Return type:
- classmethod from_string(template, *, skip_cyclical_dependencies_check=None)
Base your assertions from an existing CloudFormation template formatted as a JSON string.
- Parameters:
template (
str
) – the CloudFormation template in.skip_cyclical_dependencies_check (
Optional
[bool
]) – If set to true, will skip checking for cyclical / circular dependencies. Should be set to false other than for templates that are valid despite containing cycles, such as unprocessed transform stacks. Default: false
- Return type: