---
- name: json_query playground
hosts: localhost
gather_facts: no
vars:
application_profiles:
- app_desc: ""
app_name: NCS_Net_inf
epg_name:
- SPAN-destination-analysis
- infra_auth_servers
- netinf_test_servers
- paaa-infra-mgt
- vl2003
- app_desc: "dept: MedIT"
app_name: faculty_of_medicine
epg_name:
- medit_jump_server
- app_desc: ""
app_name: dc_qa_app_fe
epg_name:
- vl3800
epg_bd_list:
- fvAEPg:
attributes:
name: SPAN-destination-analysis
nameAlias: vl2022
- fvAEPg:
attributes:
name: vl72
nameAlias: Bone_Centre
- fvAEPg:
attributes:
name: medit_jump_server
nameAlias: Jumpin_Jiminy
tasks:
- name: Explorations of ways to examine epg_bd_list
debug:
msg:
- "aaa {{ epg_bd_list | map(attribute='fvAEPg') }}"
- "bbb {{ epg_bd_list | map(attribute='fvAEPg.attributes.name') }}"
- "ccc {{ epg_bd_list | map('dict2items') }}"
- "ddd {{ epg_bd_list | map('dict2items') | flatten | map(attribute='value.attributes.name') }}"
- name: isolate the app_name from application_profiles
debug:
msg:
- "aaa {{ application_profiles | map(attribute='app_name') }}"
- name: Uses product of epg_bd_lst.attributes.name and application_profiles to get matching app_names
debug:
msg:
- |
{% set app_names=[] %}
{% for app in application_profiles | product(epg_bd_list| map('dict2items') | flatten | map(attribute='value.attributes.name')) %}
{% if app[1] in app[0]['epg_name'] %}
{% set _ = app_names.append( app[0]['app_name'] ) %}
{% endif %}
{% endfor %}
{{ app_names }}
# - name: Would this ever be handy? Maybe
# debug:
# msg: "{{ item }}: {{ application_profiles | map(attribute='epg_name') }}"
# loop: "{{ epg_bd_list | map('dict2items') | flatten | map(attribute='value.attributes.name') }}"
#
# - name: How about this?
# debug:
# msg: "{{ application_profiles | map(attribute='epg_name') | map('select', 'in', item) }}"
# loop: "{{ epg_bd_list | map('dict2items') | flatten | map(attribute='value.attributes.name') }}"
--
You received this message because you are subscribed to the Google Groups "Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email to ansible-proje...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/039c2014-57ef-4649-a578-ea7aa9134840n%40googlegroups.com.