我想创建一个复杂的变量(nginx_ssl_vhosts_list),并使用另一个简单变量(reverse_proxy_ssl)的循环,但我无法让它工作。是否可以有类似以下代码的内容,或者我应该使用自定义插件吗?
这是我认为它会如何工作的:
- hosts: localhost
gather_facts: no
connection: local
vars:
reverse_proxy_ssl:
- name: foo.org
frontport: 443
fronturl : /
backend: http://192.168.1.1:8080
- name: bar.org
frontport: 443
fronturl : /
backend: http://192.168.1.2:443
nginx_ssl_vhosts_list:
- listen: "{{ item.frontport }} ssl"
server_name: "{{ item.name }}"
access_log: "{{ item.name }}.access.log"
error_log: "{{ item.name }}.error.log"
extra_parameters: |
location {{ item.fronturl }} {
proxy_pass {{ item.backend }};
}
ssl_certificate {{ item.name }}.crt;
ssl_certificate_key {{ item.name }}.key;
with_items: "{{ reverse_proxy_ssl }}"
tasks:
- debug: msg="{{ nginx_ssl_vhosts_list }}"
Run Code Online (Sandbox Code Playgroud) ansible ×1