在ansible中将表达式用作筛选器参数
我想在本地文件系统中搜索与glob模式匹配的文件,并获取相对于父目录的路径。下面是代码在ansible中将表达式用作筛选器参数,ansible,jinja2,Ansible,Jinja2,我想在本地文件系统中搜索与glob模式匹配的文件,并获取相对于父目录的路径。下面是代码 - name: check for local configuration files debug: var: - "{{ item | relpath('{{ playbook_dir }}/templates/httpd/{{ vhost.user }}') }}" with_fileglob: "{{ playbook_dir }}/templates/httpd/{{ vh
- name: check for local configuration files
debug:
var:
- "{{ item | relpath('{{ playbook_dir }}/templates/httpd/{{ vhost.user }}') }}"
with_fileglob: "{{ playbook_dir }}/templates/httpd/{{ vhost.user }}/*.j2"
由于Ansible无法解析嵌套表达式,因此上述代码不起作用
我计划使用set\u fact
将表达式预计算为变量,并将其传递给relpath
在没有这个额外变量声明的情况下,是否有可能实现结果?是否可以将表达式用作筛选器的参数?您可以在jinja表达式中按名称访问变量:
"{{ item | relpath(playbook_dir+'/templates/httpd/'+vhost.user) }}"
您可以在jinja表达式中按名称访问变量:
"{{ item | relpath(playbook_dir+'/templates/httpd/'+vhost.user) }}"