У меня есть список с разделителями-запятыми, который представляет собой список фиксированных 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 создать TomerProtected -e Environment.env -t Template.yaml -f yaml
Я получаю сообщение об ошибке: найден символ '%', который не может запустить ни один токен
Я пытался установить для index_var что-то другое (индекс, а не %index%), но все равно не могу получить какое-либо конкретное значение из списка comma_delimited_list.
мой вопрос: как перебрать comma_delimited_list, используя %index% из OS::Heat::ResourceGroup
?
Любые идеи?
ОБНОВИТЬ:
Я нашел решение сам, но оно меня не радует:
Я изменил index_var на: index Передал список с разделителями-запятыми и текущий индекс из этого шаблона в MyTemplate.yaml. Из MyTemplate.yaml я мог получить конкретное значение из списка comma_delimited_list:
fixed_ips: [ { "ip_address": { get_param: [ my_fixed_ips, get_param: index ] } } ]
но есть способ сделать это из OS::Heat::ResourceGroup