api
                  
                  
                    master_database_port: "3306"
                  
                  
                  
                  
                  
                  common:
                  
                  
                    default_branch_name: stage
                  
                  
                    default_image_tag: latest
                  
                  
                  
                  
                  
                  eu-central-1:
                  
                  
                    region_name: frankfurt
                  
                  
                    region_cache: "true"
                  
                  
                    time_zone: Europe/Berlin
                  
                  
                  
                  
                  
                  В  template.j2 хочу сделать, что -то типа:
                  
                  
                  В переменной ansible_ec2_placement_region, текущий регион инстанса (eu-central-1)
                  
                  
                  {% set core = core_data|combine(common, ansible_ec2_placement_region ) %}
                  
                  
                  
                  
                  
                  Но:
                  
                  
                  FAILED! => {"changed": false, "msg": "AnsibleFilterError: |combine expects dictionaries, got 'eu-central-1'"}
                  
                  
                  Как правильно сделать, чтобы не стринга подставлялась, а хеш из group_vars?
                  
                  
                
Что подставить хочешь
Если кому-то интересно, то решение: {% set core = core_data|combine(common, lookup('vars', ansible_ec2_placement_region) ) %} @gecube
Обсуждают сегодня