首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Ansible更新带有屏蔽参数的CloudFormation堆栈?

如何使用Ansible更新带有屏蔽参数的CloudFormation堆栈?
EN

Stack Overflow用户
提问于 2019-02-22 01:22:54
回答 1查看 161关注 0票数 1

我有一个使用Ansible cloudformation module创建的CloudFormation堆栈,然后我有一些被屏蔽的参数,这些参数是由一个单独的运营团队手动更新的。

现在我想更新堆栈以执行版本升级,虽然这很容易在AWS控制台和AWS CLI中完成,但我似乎找不到通过Ansible模块执行此操作的方法。

根据另一篇here文章,有人指出升级是不可能的,唯一的方法就是干脆不使用Ansible。

我已经尝试使用Ansible cloudformation_facts module来尝试获取参数,但无济于事。有没有其他方法可以从CloudFormation获取这些数据,或者我必须接受我不能使用Ansible的事实?

提前谢谢你。

EN

回答 1

Stack Overflow用户

发布于 2019-04-12 22:51:17

您可以使用Ansbile从cloudformation获取所有参数,如下所示:

代码语言:javascript
复制
---
- name: Get CloudFormation stats
  cloudformation_facts:
    stack_name: "{{ stack_name }}"
    region: "{{ region }}"
  register: my_stack

如果您有一个名为"subnet-id“的参数,您可以查看返回结果如下所示:

代码语言:javascript
复制
---
- name: Get CloudFormation stats
  cloudformation_facts:
    stack_name: "{{ stack_name }}"
    region: "{{ region }}"
  register: my_stack

- debug: msg="{{ my_stack.ansible_facts.cloudformation[stack_name].stack_parameters.subnet-id }}"

返回值如下所示:

代码语言:javascript
复制
ok: [localhost] => {
    "msg": "subnet12345"
}

然而,如果值被散列出来,你将不能看到它们的值是什么-所以答案是,在这种情况下,如果你试图转移到Ansbile,你不应该直接更新cloudformation。而是在源代码控制上的加密文件中更新这些值,并使用Ansible从那里进行构建。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54812851

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档