如何引用和取消引用命令和参数
当使用 community.routeros.command 模块 或 community.routeros.api 模块 时,你需要以带引号的形式传递文本数据。虽然在某些情况下不需要引号(例如,当传递不带空格的 IP 地址或名称时),但在其他情况下是必需的,例如当传递包含空格的注释时。
community.routeros 集合提供了一组 Jinja2 过滤器插件,可帮助你完成这些任务
community.routeros.quote_argument_value 过滤器 引用参数值:
'this is a "comment"' | community.routeros.quote_argument_value == '"this is a \\"comment\\""'
。community.routeros.quote_argument 过滤器 引用带或不带值的参数:
'comment=this is a "comment"' | community.routeros.quote_argument == 'comment="this is a \\"comment\\""'
。community.routeros.join 过滤器 引用一个参数列表,并将它们连接成一个字符串:
['foo=bar', 'comment=foo is bar'] | community.routeros.join == 'foo=bar comment="foo is bar"'
。community.routeros.split 过滤器 将命令拆分为一个参数列表(带或不带值):
'foo=bar comment="foo is bar"' | community.routeros.split == ['foo=bar', 'comment=foo is bar']
community.routeros.list_to_dict 过滤器 将带值的参数列表拆分为字典:
['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
)允许跳过值为空的参数。