我尝试使用只需要通过Ansible更改的参数值来更新云形式堆栈。堆栈是先前创建的,有大约20个输入参数,但我只需更新一个值。我尝试了以下方法:
- name: update
cloudformation:
stack_name: "{{ stack_name }}"
state: present
region: "{{ region }}"
disable_rollback: false
args:
template_parameters:
CreateAlarms: "{{ create_alarms }}"
当我运行它时,播放会抛出一个错误,指出它需要其他模板参数的值。从这里的ansible文档http://docs.ansible.com/ansible/latest/cloudformation_module.html,它说"如果存在state
,则堆栈确实存在,并且既未指定template
也未指定template_url
,前一个模板将被重用。"如何告诉cloudformation模块也使用以前的值?我知道aws cli通过usePreviousValue标志支持它,但我是如何使用Ansible cloudformation做的呢?
提前致谢。
答案 0 :(得分:1)
当前Ansible cloudformation
module的作者/维护者。没有一种方法可以重复使用以前的值,必须每次都指定参数。通常这很好,因为你无论如何都将你的参数存储在你的Ansible剧本中。
如果您感到紧张,这些值会在cloudformation控制台中列出,您也可以在Ansible中使用changesets来确保只有预期会发生变化。