有一个 AWS CloudFormation 堆栈定义 SNS 主题和 SNS 订阅。在另一个 Ansible 任务中,我想更新另一个订阅,但这是不可能的,因为 SNS 订阅无法更新。
使用Ansible执行CloudFormation。有哪些替代方案?
- 使用 Ansible 加入 AWS CLI,然后执行包含 AWS CLI 内容的播放?
- 使用
boto
在 Ansible 中创建自定义模块?但这会很困难,因为我应该存储 SNS ARN 并将其提供给自定义模块。
最佳答案
Ansible v2.0 添加了对 sns_topic 模块的支持。您可以提供要聚合的现有 SNS 主题的名称或 ARN。您可能还希望将 purge_subscriptions 设置为 False,这样任何现有订阅都不会被删除。
- name: Update SNS topic subscriptions
sns_topic:
name: "my-topic"
purge_subscriptions: False
subscriptions:
- endpoint: "<a href="https://stackoverflow.com/cdn-cgi/l/email-protection" class="__cf_email__" data-cfemail="88fbe7e5eda5ede5e9e1e4c8edf0e9e5f8e4eda6ebe7e5" rel="noreferrer noopener nofollow">[email protected]</a>"
protocol: "email"
关于amazon-web-services - 使用 AWS CloudFormation 更新 SNS 订阅的替代方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32883337/