Make cloudformation module's template argument not required in case of stack deletion
This commit is contained in:
parent
1c5cef0ee9
commit
8a4e7e5d9f
1 changed files with 19 additions and 5 deletions
|
@ -17,7 +17,7 @@
|
||||||
DOCUMENTATION = '''
|
DOCUMENTATION = '''
|
||||||
---
|
---
|
||||||
module: cloudformation
|
module: cloudformation
|
||||||
short_description: create a AWS CloudFormation stack
|
short_description: Create or delete an AWS CloudFormation stack
|
||||||
description:
|
description:
|
||||||
- Launches an AWS CloudFormation stack and waits for it complete.
|
- Launches an AWS CloudFormation stack and waits for it complete.
|
||||||
version_added: "1.1"
|
version_added: "1.1"
|
||||||
|
@ -50,8 +50,8 @@ options:
|
||||||
aliases: []
|
aliases: []
|
||||||
template:
|
template:
|
||||||
description:
|
description:
|
||||||
- the path of the cloudformation template
|
- The path of the cloudformation template, required if state is "present".
|
||||||
required: true
|
required: false
|
||||||
default: null
|
default: null
|
||||||
aliases: []
|
aliases: []
|
||||||
stack_policy:
|
stack_policy:
|
||||||
|
@ -99,6 +99,13 @@ tasks:
|
||||||
ClusterSize: 3
|
ClusterSize: 3
|
||||||
tags:
|
tags:
|
||||||
Stack: "ansible-cloudformation"
|
Stack: "ansible-cloudformation"
|
||||||
|
|
||||||
|
# Removal example
|
||||||
|
tasks:
|
||||||
|
- name: tear down old deployment
|
||||||
|
cloudformation:
|
||||||
|
stack_name: "ansible-cloudformation-old"
|
||||||
|
state: "absent"
|
||||||
'''
|
'''
|
||||||
|
|
||||||
import json
|
import json
|
||||||
|
@ -191,7 +198,7 @@ def main():
|
||||||
stack_name=dict(required=True),
|
stack_name=dict(required=True),
|
||||||
template_parameters=dict(required=False, type='dict', default={}),
|
template_parameters=dict(required=False, type='dict', default={}),
|
||||||
state=dict(default='present', choices=['present', 'absent']),
|
state=dict(default='present', choices=['present', 'absent']),
|
||||||
template=dict(default=None, required=True),
|
template=dict(default=None, required=False),
|
||||||
stack_policy=dict(default=None, required=False),
|
stack_policy=dict(default=None, required=False),
|
||||||
disable_rollback=dict(default=False, type='bool'),
|
disable_rollback=dict(default=False, type='bool'),
|
||||||
tags=dict(default=None)
|
tags=dict(default=None)
|
||||||
|
@ -206,7 +213,14 @@ def main():
|
||||||
|
|
||||||
state = module.params['state']
|
state = module.params['state']
|
||||||
stack_name = module.params['stack_name']
|
stack_name = module.params['stack_name']
|
||||||
template_body = open(module.params['template'], 'r').read()
|
|
||||||
|
if module.params['template'] is not None:
|
||||||
|
template_body = open(module.params['template'], 'r').read()
|
||||||
|
else:
|
||||||
|
template_body = None
|
||||||
|
if state == 'present':
|
||||||
|
module.fail_json('Module parameter "template" is required if "state" is "present"')
|
||||||
|
|
||||||
if module.params['stack_policy'] is not None:
|
if module.params['stack_policy'] is not None:
|
||||||
stack_policy_body = open(module.params['stack_policy'], 'r').read()
|
stack_policy_body = open(module.params['stack_policy'], 'r').read()
|
||||||
else:
|
else:
|
||||||
|
|
Loading…
Reference in a new issue