uri#
Расширение тестирования ansible.builtin.uri проверяет, является ли строка корректным URI.
Описание применения расширений тестирования приведено в документе Тестирование.
Особенности работы#
Для проверки строки используйте конструкцию:
<uri> is ansible.builtin.uri
Для инверсии результата сравнения добавьте not:
<uri> is not ansible.builtin.uri
Входные значения#
Расширение принимает единственный входной параметр Input – проверяемая строка.
Выходные значения#
Расширение возвращает значение True или False в зависимости от результата проверки:
False– строка не является корректным URI;True– строка является корректным URI.
Параметры#
Расширение принимает единственный параметр schemes – список схем, на соответствие которым проверяется входное значение.
Если значение параметра не задано, модуль проверяет строку на совпадение с любой из возможных схем.
Примеры#
Ниже приведены примеры использования расширения ansible.builtin.uri в различных сценариях.
Проверка URI на корректность#
Следующий пример демонстрирует использование ansible.builtin.uri для простой проверки URI на корректность:
---
# ...
tasks:
- name: Validate URI
ansible.builtin.debug:
msg: "URI is valid"
vars:
download_url: https://example.com/downloads/installer.deb
when: download_url is ansible.builtin.uri
Результаты выполнения задачи:
Ограничение на использование схем#
Следующий пример демонстрирует использование ansible.builtin.uri для проверки URI с ограничением по схемам:
---
# ...
tasks:
- name: Validate URI
ansible.builtin.debug:
msg: "{{ item }} is a valid FTP URI: {{ item is ansible.builtin.uri(schemes=['ftp', 'sftp']) }}"
loop:
- http://ftp.gnu.org/pub/gnu/wget/wget-1.25.0.tar.gz
- ftp://example.com/pub/file.txt
- sftp://admin:password@example.com:5432/secret/file.tar.gz
Результаты выполнения задачи: