Я пытаюсь создать один список, используя ansible set_fact Jinja2, но создается два разных списка
Переменная: lb_listeners имеет значение [80, 443]
код:
- name: "Build listeners map"
set_fact:
lb_lstnr_map: >-
{%- set lb_lstnr_map = [] -%}
{%- for port in lb_listeners -%}
{%- if port|int == 443 and cert_arn.startswith('arn:') -%}
{{ lb_lstnr_map + [{
'Protocol': 'HTTPS',
'Port': 443,
'DefaultActions': [ { 'Type': 'forward', 'TargetGroupName': tg_name } ],
'SslPolicy': ssl_policy,
'Certificates': [ { 'CertificateArn': cert_arn } ]
}]
}}
{%- elif port|int != 443 -%}
{{ lb_lstnr_map + [{
'Protocol': 'TCP' if lb_type == 'network' else 'HTTP',
'Port': port,
'DefaultActions': [ { 'Type': 'forward', 'TargetGroupName': tg_name } ]
}]
}}
{%- endif -%}
{%- endfor -%}
Фактический результат
[{'Protocol': 'HTTP', 'Port': 8080, 'DefaultActions': [{'Type': 'forward', 'TargetGroupName': 'dev-sample-app-tga'}]}]
[{'Protocol': 'HTTPS', 'Port': 443, 'DefaultActions': [{'Type': 'forward', 'TargetGroupName': 'dev-sample-app-tga'}], 'SslPolicy': 'ELBSecurityPolicy-2016-08', 'Certificates': [{'CertificateArn': 'arn:aws:x:x'}]}]
Как получить это в одном списке?