Ansible AWS Cloudformation 创建 EC2 实例。我无法将引号添加到安全组 ID

Ansible AWS Cloudformation 创建 EC2 实例。我无法将引号添加到安全组 ID

我尽可能地搜索,并尝试了大量不同的选项来实现这一点,但我完全陷入了困境。
从 Ansible 脚本中,我创建了由网络堆栈和实例堆栈组成的 Cloudformation 堆栈。在网络堆栈中,我创建了一个安全组,然后在创建实例时查找安全组并获取 ID,这样我就可以将其传递给实例堆栈。

我遇到的问题是安全组 ID 需要采用“字符串列表”类型的格式。
安全组 ID 是:sg-c5bfa4bd所以我传递的参数应该是这样的:["sg-c5bfa4bd"]

我遇到的问题在于引号。这是我认为可以工作的代码,作为sg_group_id参数传递给 cloudformation 模板:

- set_fact:  
  sg_group_id: '["{{ sg_group_ida }}"]'  

但是当它到达 AWS 时,双引号会转换为单引号['sg-c5bfa4bd']

如果我将事实设置为在开头有两个双引号:'[""{{ sg_group_ida }}"]'我会在 AWS 上的参数中得到双引号,并在末尾得到一个双引号:["sg-c5bfa4bd"]

如此迷茫。

谢谢你的帮助。

大卫

答案1

如果sg_group_ida是字符串sg-c5bfa4bd, 然后:

- set_fact:
    sg_group_id: '{{ [sg_group_ida] }}'

将产生一个列表["sg-c5bfa4bd"]作为 的值sg_group_id

相关内容