【发布时间】:2021-02-09 11:10:21
【问题描述】:
- name: Use Collections
hosts: all
connection: local
gather_facts: no
vars:
ansible_python_interpreter: /usr/local/bin/python3.9
tasks:
- name: Collect BIG-IP information
bigip_device_info:
gather_subset:
- virtual-servers
provider:
server: y.y.y.y
user: abc
password: abc1
validate_certs: False
delegate_to: localhost
register: output
- name: debug
debug: msg={{output.ansible_facts| json_query(jmesquery)}}
vars:
jmesquery: "[*].{Satus: item.availability_status, Destinationaddress: item.destination_address, Destination: item.destination}"
我得到低于输出,空消息
ansible-playbook -i inv bigipfacts.yml
PLAY [Use Collections] ***************************************************************************************************************************************************************************
TASK [Collect BIG-IP information] ****************************************************************************************************************************************************************
ok: [y.y.y.y]
TASK [debug] *************************************************************************************************************************************************************************************
ok: [y.y.y.y] => {
"msg": ""
}
PLAY RECAP ***************************************************************************************************************************************************************************************
y.y.y.y : ok=2 changed=0 unreachable=0 failed=0 skipped=0 rescued=0 ignored=0
必需/想要的输出-将来我想从底部输出中解析更多。但是现在这三个值。
"availability_status": "available",
"destination": "/1.1.1..1:8080",
"destination_address": "2.2.2.2",
"availability_status": "available",
"destination": "/3.3.3.3.3%22:8080",
"destination_address": "4.4.4.4",
output.ansible_facts 有以下信息,我想解析下面的输出并只提取列表中的几个值,如上所示
任务[调试] ********************************************** ****************************************************** ****************************************************** *********************************** 好的:[x.x.x.x] => { “味精”:{ “ansible_net_queried”:是的, “ansible_net_virtual_servers”:[ { "auto_lasthop": "默认", “availability_status”:“可用”, “client_side_bits_in”:0, “client_side_bits_out”:0, “client_side_current_connections”:0, “client_side_evicted_connections”:0, “client_side_max_connections”:0, “client_side_pkts_in”:0, “client_side_pkts_out”:0, “client_side_slow_killed”:0, “client_side_total_connections”:0, “cmp_enabled”:“是”, "cmp_mode": "所有 CPU", “连接限制”:0, “connection_mirror_enabled”:“否”, “cpu_usage_ratio_last_1_min”:0, “cpu_usage_ratio_last_5_min”:0, “cpu_usage_ratio_last_5_sec”:0, “current_syn_cache”:0, "default_pool": "/POOL01", "目的地": "/1.1.1..1:8080", "destination_address": "2.2.2.2", “目的地端口”:8080, “启用”:“否”, “ephemeral_bits_in”:0, “ephemeral_bits_out”:0, “ephemeral_current_connections”:0, “ephemeral_evicted_connections”:0, “ephemeral_max_connections”:0, “ephemeral_pkts_in”:0, “ephemeral_pkts_out”:0, “ephemeral_slow_killed”:0, “ephemeral_total_connections”:0, "full_path": "/p1/VS01", “gtm_score”:0, “hardware_syn_cookie_instances”:0, “max_conn_duration”:0, “mean_conn_duration”:0, “min_conn_duration”:0, “名称”:“vs01”, "nat64_enabled": "否", “个人资料”:[ { “上下文”:“所有”, "full_path": "/Common/http", “名称”:“http” }, { “上下文”:“所有”, "full_path": "/Common/oneconnect", “名称”:“一个连接” }, { “上下文”:“所有”, "full_path": "/Common/tcp", “名称”:“tcp” } ], “协议”:“tcp”, “rate_limit”:-1, “rate_limit_destination_mask”:0, “rate_limit_mode”:“对象”, “rate_limit_source_mask”:0, "snat_type": "自动地图", “software_syn_cookie_instances”:0, "source_address": "0.0.0.0%22/0", “source_port_behavior”:“保留”, "status_reason": "虚拟服务器可用", “syn_cache_overflow”:0, "syn_cookies_status": "未激活", “total_hardware_accepted_syn_cookies”:0, “total_hardware_syn_cookies”:0, “total_requests”:0, “total_software_accepted_syn_cookies”:0, “total_software_rejected_syn_cookies”:0, “total_software_syn_cookies”:0, "translate_address": "是的", "translate_port": "是的", “类型”:“标准”, “vlan”:[ “/通用/VLAN” ] }, { "auto_lasthop": "默认", “availability_status”:“可用”, “client_side_bits_in”:0, “client_side_bits_out”:0, “client_side_current_connections”:0, “client_side_evicted_connections”:0, “client_side_max_connections”:0, “client_side_pkts_in”:0, “client_side_pkts_out”:0, “client_side_slow_killed”:0, “client_side_total_connections”:0, “cmp_enabled”:“是”, "cmp_mode": "所有 CPU", “连接限制”:0, “connection_mirror_enabled”:“否”, “cpu_usage_ratio_last_1_min”:0, “cpu_usage_ratio_last_5_min”:0, “cpu_usage_ratio_last_5_sec”:0, “current_syn_cache”:0, "default_pool": "/POOL01", "目的地": "/3.3.3.3.3%22:8080", "destination_address": "4.4.4.4", “目的地端口”:8080, “启用”:“否”, “ephemeral_bits_in”:0, “ephemeral_bits_out”:0, “ephemeral_current_connections”:0, “ephemeral_evicted_connections”:0, “ephemeral_max_connections”:0, “ephemeral_pkts_in”:0, “ephemeral_pkts_out”:0, “ephemeral_slow_killed”:0, “ephemeral_total_connections”:0, "full_path": "/p1/VS01", “gtm_score”:0, “hardware_syn_cookie_instances”:0, “max_conn_duration”:0, “mean_conn_duration”:0, “min_conn_duration”:0, “名称”:“vs02”, "nat64_enabled": "否", “个人资料”:[ { “上下文”:“所有”, "full_path": "/Common/http", “名称”:“http” }, { “上下文”:“所有”, "full_path": "/Common/oneconnect", “名称”:“一个连接” }, { “上下文”:“所有”, "full_path": "/Common/tcp", “名称”:“tcp” } ], “协议”:“tcp”, “rate_limit”:-1, “rate_limit_destination_mask”:0, “rate_limit_mode”:“对象”, “rate_limit_source_mask”:0, "snat_type": "自动地图", “software_syn_cookie_instances”:0, "source_address": "0.0.0.0%22/0", “source_port_behavior”:“保留”, "status_reason": "虚拟服务器可用", “syn_cache_overflow”:0, "syn_cookies_status": "未激活", “total_hardware_accepted_syn_cookies”:0, “total_hardware_syn_cookies”:0, “total_requests”:0, “total_software_accepted_syn_cookies”:0, “total_software_rejected_syn_cookies”:0, “total_software_syn_cookies”:0, "translate_address": "是的", "translate_port": "是的", “类型”:“标准”, “vlan”:[ “/普通/vlan” ] } ] } }【问题讨论】:
标签: list dictionary parsing ansible