ansible.builtin.path_join filter – Join one or more path components
Note
This filter plugin is part of ansible-core
and included in all Ansible
installations. In most cases, you can use the short
plugin name
path_join
.
However, we recommend you use the Fully Qualified Collection Name (FQCN) ansible.builtin.path_join
for easy linking to the
plugin documentation and to avoid conflicting with other collections that may have
the same filter plugin name.
New in ansible-base 2.10
Synopsis
Returns a path obtained by joining one or more path components.
If a path component is an absolute path, then all previous components are ignored and joining continues from the absolute path. See examples for details.
Input
This describes the input of the filter, the value before | ansible.builtin.path_join
.
Parameter |
Comments |
---|---|
A path, or a list of paths. |
Examples
# If path == 'foo/bar' and file == 'baz.txt', the result is '/etc/foo/bar/subdir/baz.txt'
{{ ('/etc', path, 'subdir', file) | path_join }}
# equivalent to '/etc/subdir/{{filename}}'
wheremyfile: "{{ ['/etc', 'subdir', filename] | path_join }}"
# trustme => '/etc/apt/trusted.d/mykey.gpg'
trustme: "{{ ['/etc', 'apt', 'trusted.d', 'mykey.gpg'] | path_join }}"
# If one of the paths is absolute, then path_join ignores all previous path components
# If backup_dir == '/tmp' and backup_file == '/sample/baz.txt', the result is '/sample/baz.txt'
# backup_path => "/sample/baz.txt"
backup_path: "{{ ('/etc', backup_dir, backup_file) | path_join }}"
Return Value
Key |
Description |
---|---|
The concatenated path. Returned: success |