我有一个comma_delimited_list表示固定IP的列表,在OS::Heat::ResourceGroup
我希望每个节点根据他当前的索引得到一个固定的IP。
我有以下加热模板(我只粘贴了相关内容):
my_fixed_ips:
type: comma_delimited_list
resources:
MyResource:
type: OS::Heat::ResourceGroup
properties:
count: { get_param: my_node_count }
resource_def:
type: MyTemplate.yaml
properties:
fixed_ip: { get_param: [ my_fixed_ips, %index% ] }
name: myName%index%
当我运行命令时:
openstack stack创建TomerProtected -e Environment.env -t Template.yaml -f yaml
我收到错误: 找到了字符'%'无法启动任何令牌
我试图将index_var设置为其他内容(索引而不是%index%),但仍然无法从comma_delimited_list获取任何特定值。
我的问题是 - 如何使用OS::Heat::ResourceGroup
中的%index%来迭代comma_delimited_list?
任何想法?
更新:
我自己找到了一个解决方案,但它并不让我高兴:
我已将index_var更改为:index 将comma_delimited_list和当前索引从此模板传递给MyTemplate.yaml。 从MyTemplate.yaml我可以从comma_delimited_list中获取特定值:
fixed_ips: [ { "ip_address": { get_param: [ my_fixed_ips, get_param: index ] } } ]
但是大部分都有办法从OS :: Heat :: ResourceGroup
执行此操作