mirror of
https://github.com/ansible-collections/community.general.git
synced 2026-04-02 08:43:10 +00:00
Add support for tags parameter to cloudformation module
Expose boto.cloudformation.create_stack() tags parameter. Supplied tags will be applied to stack and all it's resources on stack creation. Cannot be updated later (not supported by UpdateStack CloudFormation API).
This commit is contained in:
@@ -60,6 +60,12 @@ options:
|
||||
required: true
|
||||
default: null
|
||||
aliases: []
|
||||
tags:
|
||||
description:
|
||||
- Dictionary of tags to associate with stack and it's resources during stack creation. Cannot be updated later.
|
||||
required: false
|
||||
default: null
|
||||
aliases: []
|
||||
|
||||
requirements: [ "boto" ]
|
||||
author: James S. Martin
|
||||
@@ -79,6 +85,8 @@ tasks:
|
||||
DiskType: ephemeral
|
||||
InstanceType: m1.small
|
||||
ClusterSize: 3
|
||||
tags:
|
||||
Stack: ansible-cloudformation
|
||||
'''
|
||||
|
||||
import json
|
||||
@@ -163,7 +171,8 @@ def main():
|
||||
region=dict(aliases=['aws_region', 'ec2_region'], required=True, choices=AWS_REGIONS),
|
||||
state=dict(default='present', choices=['present', 'absent']),
|
||||
template=dict(default=None, required=True),
|
||||
disable_rollback=dict(default=False)
|
||||
disable_rollback=dict(default=False),
|
||||
tags=dict(default=None)
|
||||
)
|
||||
)
|
||||
|
||||
@@ -173,14 +182,15 @@ def main():
|
||||
template_body = open(module.params['template'], 'r').read()
|
||||
disable_rollback = module.params['disable_rollback']
|
||||
template_parameters = module.params['template_parameters']
|
||||
tags = module.params['tags']
|
||||
|
||||
if not r:
|
||||
if 'AWS_REGION' in os.environ:
|
||||
r = os.environ['AWS_REGION']
|
||||
elif 'EC2_REGION' in os.environ:
|
||||
r = os.environ['EC2_REGION']
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# convert the template parameters ansible passes into a tuple for boto
|
||||
template_parameters_tup = [(k, v) for k, v in template_parameters.items()]
|
||||
@@ -203,7 +213,8 @@ def main():
|
||||
cfn.create_stack(stack_name, parameters=template_parameters_tup,
|
||||
template_body=template_body,
|
||||
disable_rollback=disable_rollback,
|
||||
capabilities=['CAPABILITY_IAM'])
|
||||
capabilities=['CAPABILITY_IAM'],
|
||||
tags=tags)
|
||||
operation = 'CREATE'
|
||||
except Exception, err:
|
||||
error_msg = boto_exception(err)
|
||||
|
||||
Reference in New Issue
Block a user