url#
Расширение тестирования ansible.builtin.url проверяет, является ли строка корректным URL.
Описание применения расширений тестирования приведено в документе Тестирование.
Особенности работы#
Для проверки строки используйте конструкцию:
<url> is ansible.builtin.url
Для инверсии результата сравнения добавьте not:
<url> is not ansible.builtin.url
Входные значения#
Расширение принимает единственный входной параметр Input – проверяемая строка.
Выходные значения#
Расширение возвращает значение True или False в зависимости от результата проверки:
False– строка не является корректным URL;True– строка является корректным URL.
Параметры#
Расширение принимает единственный параметр schemes – список схем, на соответствие которым проверяется входное значение.
Если значение параметра не задано, модуль проверяет строку на совпадение с любой из возможных схем.
Примеры#
Ниже приведены примеры использования расширения ansible.builtin.url в различных сценариях.
Проверка URL на корректность#
Следующий пример демонстрирует использование ansible.builtin.url для простой проверки URL на корректность:
---
# ...
tasks:
- name: Validate URL
ansible.builtin.debug:
msg: "URL is valid"
vars:
download_url: https://example.com/downloads/installer.deb
when: download_url is ansible.builtin.url
Результаты выполнения задачи:
Ограничение на использование схем#
Следующий пример демонстрирует использование ansible.builtin.url для проверки URL с ограничением по схемам:
---
# ...
tasks:
- name: Validate URL
ansible.builtin.debug:
msg: "{{ item }} is a valid FTP URL: {{ item is ansible.builtin.url(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
Результаты выполнения задачи: