Как заключать команды и аргументы в кавычки и убирать кавычки
При использовании модулей community.routeros.command module или community.routeros.api module необходимо передавать текстовые данные в кавычках. В некоторых случаях кавычки не нужны (например, при передаче IP-адресов или имён без пробелов), но в других случаях они обязательны, например при передаче комментария, содержащего пробел.
Коллекция community.routeros предоставляет набор плагинов фильтров Jinja2, которые помогают выполнять эти задачи:
- Фильтр community.routeros.quote_argument_value filter заключает значение аргумента в кавычки:
'this is a "comment"' | community.routeros.quote_argument_value == '"this is a \\"comment\\""'. - Фильтр community.routeros.quote_argument filter заключает аргумент в кавычки, независимо от наличия значения:
'comment=this is a "comment"' | community.routeros.quote_argument == 'comment="this is a \\"comment\\""'. - Фильтр community.routeros.join filter заключает список аргументов в кавычки и объединяет их в одну строку:
['foo=bar', 'comment=foo is bar'] | community.routeros.join == 'foo=bar comment="foo is bar"'. - Фильтр community.routeros.split filter разбивает команду на список аргументов (с значениями или без них):
'foo=bar comment="foo is bar"' | community.routeros.split == ['foo=bar', 'comment=foo is bar'] - Фильтр community.routeros.list_to_dict filter разбивает список аргументов со значениями на словарь:
['foo=bar', 'comment=foo is bar'] | community.routeros.list_to_dict == {'foo': 'bar', 'comment': 'foo is bar'}. У него есть два необязательных аргумента:require_assignment(значение по умолчаниюtrue) позволяет принимать аргументы без значений, если задано значениеfalse; аskip_empty_values(значение по умолчаниюfalse) позволяет пропускать аргументы с пустыми значениями.
© 2012–2018 Michael DeHaan
© 2018–2025 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/projects/ansible/latest/collections/community/routeros/docsite/quoting.html