我有一个 Web API 调用,可以获取网络设备详细信息并输出一些不同的值。我想从此输出中提取交换机名称和交换机端口,并将它们单独注册为变量以供另一个任务调用。但我不确定如何实现这一点。
Config:
<some task config omitted>
register: spm_results
- debug:
var: spm_results.content
输出:
ok: [localhost] => {
"spm_results.content": "00:1a:1e:cd:84:e2,Aruba a Hewlett Packard Enterprise Compa,M-1-DA,Gi3/0/4,prod,10.7.5.60\n"
}
我想根据这种类型的正则表达式 [a-zA-Z]-[0-999]-D[a-zA-Z] 和交换机端口来匹配交换机名称(上面输出中的 M-1-DA)通过查找 ^Gi 并将它们注册为不同的变量。
任何帮助将不胜感激!
无法找到完成此操作所需的特定代码
分割线。你可以先修剪它
content: "{{ spm_results.content | trim | split(',') }}"
给予
content:
- 00:1a:1e:cd:84:e2
- Aruba a Hewlett Packard Enterprise Compa
- M-1-DA
- Gi3/0/4
- prod
- 10.7.5.60
物品的搭配很简单
mac: "{{ content.0 }}"
vendor: "{{ content.1 }}"
switch: "{{ content.2 }}"
port: "{{ content.3 }}"
env: "{{ content.4 }}"
ip: "{{ content.5 }}"