У меня есть YAML-файл, который имеет значение по умолчанию для двух dict, определенных следующим образом:
sample:
high:
name: high-volume
alias: hi-vl
hi-vl:
ab1:
add:
range: 0
range1: 0
remove:
range: -1
range1: -1
Чтобы выполнить итерацию и получить значения из шаблона jinja2, я использую код ниже:
{% for key, value in sample.iteritems() %}
{% set al = value.alias %}
{% for key1, value1 in al.iteritems() %}
Когда я выполняю этот шаблон для генерации файла YAML, я получаю сообщение об ошибке:
"msg": "AnsibleUndefinedVariable: 'unicode object' has no attribute 'iteritems'"}
Переменная set изменяет переменную как юникод.Если я подставлю прямое value
вместо value.alias
в операторе set, итерация будет работать нормально.
Я попытался использовать фильтры типа to_yaml
, tojson
, но они конвертируются в строку и не отображаются как dict.