Я не знаком с модулями Bigip Ansible, и у меня определенно нет ни одного комплекта F5 для тестирования :) Прежде чем сказать что-либо еще, следует отметить, что в документах говорится, что bigip_facts устарела, иВы должны использовать 'bigip_device_facts'.Но если вы хотите использовать этот модуль, вы можете сделать пару вещей:
1) Отредактируйте исходный вопрос, чтобы добавить детали, которые вы опубликовали в своем ответе.Лучше продолжать редактировать исходный вопрос с дополнительной информацией, а не добавлять ответы, так как это упрощает понимание всей ситуации.
2) Создайте новую пьесу, содержащую:
---
- hosts: F5
gather_facts: no
connection: local
vars:
username: '{{ cpt_username }}'
password: '{{ cpt_password }}'
tasks:
- name: Get virtual-servers
bigip_facts:
include:
- virtual_server
server: '{{ inventory_hostname }}'
user: '{{ username }}'
password: '{{ password }}'
validate_certs: no
register: bigip_facts_data
- name: Display collected data
debug:
var: bigip_facts_data
Это покажет нам данные, с которыми фактически работает Ansible.Вставьте вывод в исходный ответ вместо того JSON, который вы изначально вставили.Это может выглядеть так:
"/Common/vs_portailopal_wi_https_virtual_server":
last_hop_pool: ''
name: vs_portailopal_wi_https_virtual_server
nat64_state: STATE_DISABLED
object_status:
availability_status: AVAILABILITY_STATUS_RED
enabled_status: ENABLED_STATUS_DISABLED
status_description: The children pool member(s) are down
profile:
- profile_context: PROFILE_CONTEXT_TYPE_CLIENT
profile_name: "/Common/vs_portailopal_wi_clientssl_profile"
profile_type: PROFILE_TYPE_CLIENT_SSL
- profile_context: PROFILE_CONTEXT_TYPE_ALL
profile_name: "/Common/vs_portailopal_wi_http_profile"
profile_type: PROFILE_TYPE_HTTP
- profile_context: PROFILE_CONTEXT_TYPE_ALL
profile_name: "/Common/vs_portailopal_wi_http_profile-cache"
profile_type: PROFILE_TYPE_WEBACCELERATION
Если это так, то это может привести к получению нужного вам результата (хотя я до сих пор не уверен, что полностью понимаю, что вам нужно - надеюсь, мы ближе):
- name: filter on VIP_nommage when VIP_partition is OK
lineinfile:
line:
- "{{ inventory_hostname }} Virtual Server : {{ item.0.name }} => POOL: {{ item.1.profile_name }}"
dest: "/home/ADMB0002194/F5/file.csv"
state: present
with_subelements:
- "{{ bigip_fact_data }}"
- profile
Действительно, with_subelements теперь устарела вместе с другими конструкциями with_, но если вы используете 'bigip_facts', я думаю, вы используете более старую версию Ansible.