.. _amazon.aws.cloudformation_module: ************************* amazon.aws.cloudformation ************************* **Create or delete an AWS CloudFormation stack** Version added: 1.0.0 .. contents:: :local: :depth: 1 Synopsis -------- - Launches or updates an AWS CloudFormation stack and waits for it complete. Requirements ------------ The below requirements are needed on the host that executes this module. - python >= 3.6 - boto3 >= 1.15.0 - botocore >= 1.18.0 Parameters ---------- .. raw:: html
| Parameter | Choices/Defaults | Comments |
|---|---|---|
|
aws_access_key
string
|
AWS access key. If not set then the value of the AWS_ACCESS_KEY_ID, AWS_ACCESS_KEY or EC2_ACCESS_KEY environment variable is used.If profile is set this parameter is ignored.
Passing the aws_access_key and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.
aliases: ec2_access_key, access_key |
|
|
aws_ca_bundle
path
|
The location of a CA Bundle to use when validating SSL certificates.
Not used by boto 2 based modules.
Note: The CA Bundle is read 'module' side and may need to be explicitly copied from the controller if not run locally.
|
|
|
aws_config
dictionary
|
A dictionary to modify the botocore configuration.
Parameters can be found at https://botocore.amazonaws.com/v1/documentation/api/latest/reference/config.html#botocore.config.Config.
Only the 'user_agent' key is used for boto modules. See http://boto.cloudhackers.com/en/latest/boto_config_tut.html#boto for more boto configuration.
|
|
|
aws_secret_key
string
|
AWS secret key. If not set then the value of the AWS_SECRET_ACCESS_KEY, AWS_SECRET_KEY, or EC2_SECRET_KEY environment variable is used.If profile is set this parameter is ignored.
Passing the aws_secret_key and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.
aliases: ec2_secret_key, secret_key |
|
|
backoff_delay
integer
|
Default: 3
|
Number of seconds to wait for the next retry.
|
|
backoff_max_delay
integer
|
Default: 30
|
Maximum amount of time to wait between retries.
|
|
backoff_retries
integer
|
Default: 10
|
Number of times to retry operation.
AWS API throttling mechanism fails CloudFormation module so we have to retry a couple of times.
|
|
capabilities
list
/ elements=string
|
Default: ["CAPABILITY_IAM", "CAPABILITY_NAMED_IAM"]
|
Specify capabilities that stack template contains.
Valid values are
CAPABILITY_IAM, CAPABILITY_NAMED_IAM and CAPABILITY_AUTO_EXPAND. |
|
changeset_name
string
|
Name given to the changeset when creating a changeset.
Only used when create_changeset=true.
By default a name prefixed with Ansible-STACKNAME is generated based on input parameters. See the AWS Change Sets docs for more information https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html
|
|
|
create_changeset
boolean
|
|
If stack already exists create a changeset instead of directly applying changes. See the AWS Change Sets docs https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-cfn-updating-stacks-changesets.html.
WARNING: if the stack does not exist, it will be created without changeset. If state=absent, the stack will be deleted immediately with no changeset.
|
|
create_timeout
integer
|
The amount of time (in minutes) that can pass before the stack status becomes CREATE_FAILED
|
|
|
debug_botocore_endpoint_logs
boolean
|
|
Use a botocore.endpoint logger to parse the unique (rather than total) "resource:action" API calls made during a task, outputing the set to the resource_actions key in the task results. Use the aws_resource_action callback to output to total list made during a playbook. The ANSIBLE_DEBUG_BOTOCORE_LOGS environment variable may also be used.
|
|
disable_rollback
boolean
|
|
If a stacks fails to form, rollback will remove the stack.
|
|
ec2_url
string
|
URL to use to connect to EC2 or your Eucalyptus cloud (by default the module will use EC2 endpoints). Ignored for modules where region is required. Must be specified for all other modules if region is not used. If not set then the value of the EC2_URL environment variable, if any, is used.
aliases: aws_endpoint_url, endpoint_url |
|
|
events_limit
integer
|
Default: 200
|
Maximum number of CloudFormation events to fetch from a stack when creating or updating it.
|
|
notification_arns
string
|
A comma separated list of Simple Notification Service (SNS) topic ARNs to publish stack related events.
|
|
|
on_create_failure
string
|
|
Action to take upon failure of stack creation. Incompatible with the disable_rollback option.
|
|
profile
string
|
Using profile will override aws_access_key, aws_secret_key and security_token and support for passing them at the same time as profile has been deprecated.
aws_access_key, aws_secret_key and security_token will be made mutually exclusive with profile after 2022-06-01.
aliases: aws_profile |
|
|
region
string
|
The AWS region to use. If not specified then the value of the AWS_REGION or EC2_REGION environment variable, if any, is used. See http://docs.aws.amazon.com/general/latest/gr/rande.html#ec2_region
aliases: aws_region, ec2_region |
|
|
role_arn
string
|
The role that AWS CloudFormation assumes to create the stack. See the AWS CloudFormation Service Role docs https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/using-iam-servicerole.html
|
|
|
security_token
string
|
AWS STS security token. If not set then the value of the AWS_SECURITY_TOKEN or EC2_SECURITY_TOKEN environment variable is used.If profile is set this parameter is ignored.
Passing the security_token and profile options at the same time has been deprecated and the options will be made mutually exclusive after 2022-06-01.
aliases: aws_security_token, access_token |
|
|
stack_name
string
/ required
|
Name of the CloudFormation stack.
|
|
|
stack_policy
string
|
The path of the file containing the CloudFormation stack policy. A policy cannot be removed once placed, but it can be modified. for instance, allow all updates https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051
|
|
|
stack_policy_body
json
added in 1.5.0
|
The CloudFormation stack policy in JSON. A policy cannot be removed once placed, but it can be modified. for instance, allow all updates https://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/protect-stack-resources.html#d0e9051
|
|
|
stack_policy_on_update_body
json
added in 1.5.0
|
the body of the cloudformation stack policy only applied during this update.
|
|
|
state
string
|
|
If state=present, stack will be created.
If state=present and if stack exists and template has changed, it will be updated.
If state=absent, stack will be removed.
|
|
tags
dictionary
|
Dictionary of tags to associate with stack and its resources during stack creation.
Can be updated later, updating tags removes previous entries.
|
|
|
template
path
|
The local path of the CloudFormation template.
This must be the full path to the file, relative to the working directory. If using roles this may look like
roles/cloudformation/files/cloudformation-example.json.If state=present and the stack does not exist yet, either template, template_body or template_url must be specified (but only one of them).
If state=present, the stack does exist, and neither template, template_body nor template_url are specified, the previous template will be reused.
|
|
|
template_body
string
|
Template body. Use this to pass in the actual body of the CloudFormation template.
If state=present and the stack does not exist yet, either template, template_body or template_url must be specified (but only one of them).
If state=present, the stack does exist, and neither template, template_body nor template_url are specified, the previous template will be reused.
|
|
|
template_format
string
|
This parameter is ignored since Ansible 2.3 and will be removed after 2022-06-01.
Templates are now passed raw to CloudFormation regardless of format.
|
|
|
template_parameters
dictionary
|
Default: {}
|
A list of hashes of all the template variables for the stack. The value can be a string or a dict.
Dict can be used to set additional template parameter attributes like UsePreviousValue (see example).
|
|
template_url
string
|
Location of file containing the template body. The URL must point to a template (max size 307,200 bytes) located in an S3 bucket in the same region as the stack.
If state=present and the stack does not exist yet, either template, template_body or template_url must be specified (but only one of them).
If state=present, the stack does exist, and neither template, template_body nor template_url are specified, the previous template will be reused.
|
|
|
termination_protection
boolean
|
|
Enable or disable termination protection on the stack.
|
|
validate_certs
boolean
|
|
When set to "no", SSL certificates will not be validated for communication with the AWS APIs.
|