Ansible cloudformation更新堆栈

时间:2018-02-01 02:52:43

标签: ansible ansible-template

我尝试使用只需要通过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做的呢?

提前致谢。

1 个答案:

答案 0 :(得分:1)

当前Ansible cloudformation module的作者/维护者。没有一种方法可以重复使用以前的值,必须每次都指定参数。通常这很好,因为你无论如何都将你的参数存储在你的Ansible剧本中。

如果您感到紧张,这些值会在cloudformation控制台中列出,您也可以在Ansible中使用changesets来确保只有预期会发生变化。