Dick that worked perfectl! 
My next question is how would I get the same response to for several 
subnets without having to use the '0' in the debug message?

    - name: Debug message for ACI
      debug:
        msg:
          - "Subnet : 
{{subnet_output.current.0.fvTenant.children.0.fvBD.children.0
.fvSubnet.attributes.ip}}"
          - "Subnet : 
{{subnet_output.current.0.fvTenant.children.0.fvBD.children.1
.fvSubnet.attributes.ip}}"
          - "Subnet : 
{{subnet_output.current.0.fvTenant.children.0.fvBD.children.2
.fvSubnet.attributes.ip}}"

Regards


On Sunday, 22 March 2020 22:10:24 UTC+2, Dick Visser wrote:
>
> Hi
>
>
> On Sun, 22 Mar 2020 at 19:11, Albert Short <[email protected] 
> <javascript:>> wrote:
>
> The error is pretty clear:
>
> > fatal: [apic2]: FAILED! =>
> >   msg: |-
> >     The task includes an option with an undefined variable. The error 
> was: 'list object' has no attribute 'fvTenant'
> >
> >     The error appears to be in 
> '/home/network_automation/trainer/aci_debug.yml': line 21, column 7, but may
> >     be elsewhere in the file depending on the exact syntax problem.
>
>  Your variable is a list of one item, which itself is deeply nested.
> Try this:
>
>
>     - debug:
>         msg: "Subnet: {{ 
> current.0.fvTenant.children.0.fvBD.children.0.fvSubnet.attributes.ip }}"
>
>
> this is the 'ip' key which has the value that you are looking for -
> not sure if this correct?
>
>
> On Sun, 22 Mar 2020 at 19:11, Albert Short <[email protected] 
> <javascript:>> wrote:
>
>> Hello all, 
>>
>> I hope we are all well in this trying period across the world.
>>
>> I am to debug an ACI query to display a simple output, but having trouble 
>> getting the correct syntax to provide the output I desire.
>>
>> My Ansible Script to query a BD & the debug script to *try *to display 
>> just the subnet information.
>>
>> - name: ACI Subnet query allocated to BD
>>   hosts: apics
>>   gather_facts: no
>>
>>   tasks:
>>     - name: Query BD
>>       aci_bd_subnet:
>>         host: "{{ ansible_host }}"
>>         username: "{{ ansible_user }}"
>>         password: "{{ ansible_password }}"
>>         validate_certs: no
>>         tenant: tn_TRAINER
>>         state: query
>>       register: subnet_output
>>
>>     - name: Debug message for ACI
>>       debug:
>>         msg: "Subnet : {{subnet_output.current}}"
>>
>> Now my output:
>>
>>
>> $ ansible-playbook aci_debug.yml
>>
>> PLAY [ACI Subnet query allocated to BD] 
>> ************************************************************************************************************************************************************************************************
>>
>> TASK [Query BD] 
>> ************************************************************************************************************************************************************************************************************************
>> ok: [apic2]
>>
>> TASK [Debug message for ACI] 
>> ***********************************************************************************************************************************************************************************************************
>> ok: [apic2] =>
>>   msg: 'Subnet : [{u''fvTenant'': {u''attributes'': {u''dn'': 
>> u''uni/tn-tn_TRAINER'', u''lcOwn'': u''local'', u''ownerKey'': u'''', 
>> u''name'': u''tn_TRAINER'', u''descr'': u''Trainer Tenant'', 
>> u''extMngdBy'': u'''', u''annotation'': u'''', u''status'': u'''', 
>> u''monPolDn'': u''uni/tn-common/monepg-default'', u''modTs'': 
>> u''2020-03-21T09:32:40.162+00:00'', u''ownerTag'': u'''', u''childAction'': 
>> u'''', u''nameAlias'': u'''', u''uid'': u''15374''}, u''children'': 
>> [{u''fvBD'': {u''attributes'': {u''uid'': u''15374'', u''extMngdBy'': 
>> u'''', u''arpFlood'': u''yes'', u''seg'': u''16482194'', u''mcastAllow'': 
>> u''no'', u''ipv6McastAllow'': u''no'', u''intersiteL2Stretch'': u''no'', 
>> u''unicastRoute'': u''yes'', u''unkMcastAct'': u''flood'', 
>> u''OptimizeWanBandwidth'': u''no'', u''v6unkMcastAct'': u''flood'', 
>> u''descr'': u'''', u''hostBasedRouting'': u''no'', u''llAddr'': u''::'', 
>> u''monPolDn'': u''uni/tn-common/monepg-default'', u''modTs'': 
>> u''2020-03-22T17:41:28.775+00:00'', u''scope'': u''2228224'',
>>     u''rn'': u''BD-bd_VLAN101'', u''type'': u''regular'', 
>> u''ipLearning'': u''yes'', u''status'': u'''', u''vmac'': 
>> u''not-applicable'', u''nameAlias'': u'''', u''configIssues'': u'''', 
>> u''bcastP'': u''225.1.27.48'', u''mac'': u''00:22:BD:F8:19:FF'', 
>> u''epMoveDetectMode'': u'''', u''ownerTag'': u'''', 
>> u''intersiteBumTrafficAllow'': u''no'', u''annotation'': u'''', 
>> u''childAction'': u'''', u''lcOwn'': u''local'', u''ownerKey'': u'''', 
>> u''name'': u''bd_VLAN101'', u''epClear'': u''no'', u''unkMacUcastAct'': 
>> u''proxy'', u''multiDstPktAct'': u''bd-flood'', u''limitIpLearnToSubnets'': 
>> u''yes'', u''mtu'': u''inherit'', u''pcTag'': u''32771''}, u''children'': 
>> [{u''fvSubnet'': {u''attributes'': {u''status'': u'''', u''lcOwn'': 
>> u''local'', u''uid'': u''15374'', u''descr'': u'''', u''extMngdBy'': u'''', 
>> u''ip'': u''192.168.101.1/24'', u''ctrl'': u'''', u''preferred'': 
>> u''no'', u''name'': u'''', u''virtual'': u''no'', u''nameAlias'': u'''', 
>> u''scope'': u''private'', u''monPolDn'': u''uni/tn-common/monepg-default'',
>>     u''rn'': u''subnet-[192.168.101.1/24]' <http://192.168.101.1/24%5D'>', 
>> u''modTs'': u''2020-03-22T17:41:28.723+00:00'', u''annotation'': u'''', 
>> u''childAction'': u''''}}}]}}]}}]'
>>
>> PLAY RECAP 
>> *****************************************************************************************************************************************************************************************************************************
>> apic2                      : ok=2    changed=0    unreachable=0    failed
>> =0    skipped=0    rescued=0    ignored=0
>>
>> The verbose output for the 'Query BD' task looks as follows:
>>
>> TASK [Query BD] 
>> ************************************************************************************************************************************************************************************************************************
>> ok: [apic2] => changed=false
>>   ansible_facts:
>>     discovered_interpreter_python: /usr/bin/python
>>   current:
>>   - fvTenant:
>>       attributes:
>>         annotation: ''
>>         childAction: ''
>>         descr: Trainer Tenant
>>         dn: uni/tn-tn_TRAINER
>>         extMngdBy: ''
>>         lcOwn: local
>>         modTs: '2020-03-21T09:32:40.162+00:00'
>>         monPolDn: uni/tn-common/monepg-default
>>         name: tn_TRAINER
>>         nameAlias: ''
>>         ownerKey: ''
>>         ownerTag: ''
>>         status: ''
>>         uid: '15374'
>>       children:
>>       - fvBD:
>>           attributes:
>>             OptimizeWanBandwidth: 'no'
>>             annotation: ''
>>             arpFlood: 'yes'
>>             bcastP: 225.1.27.48
>>             childAction: ''
>>             configIssues: ''
>>             descr: ''
>>             epClear: 'no'
>>             epMoveDetectMode: ''
>>             extMngdBy: ''
>>             hostBasedRouting: 'no'
>>             intersiteBumTrafficAllow: 'no'
>>             intersiteL2Stretch: 'no'
>>             ipLearning: 'yes'
>>             ipv6McastAllow: 'no'
>>             lcOwn: local
>>             limitIpLearnToSubnets: 'yes'
>>             llAddr: '::'
>>             mac: 00:22:BD:F8:19:FF
>>             mcastAllow: 'no'
>>             modTs: '2020-03-22T17:41:28.775+00:00'
>>             monPolDn: uni/tn-common/monepg-default
>>             mtu: inherit
>>             multiDstPktAct: bd-flood
>>             name: bd_VLAN101
>>             nameAlias: ''
>>             ownerKey: ''
>>             ownerTag: ''
>>             pcTag: '32771'
>>             rn: BD-bd_VLAN101
>>             scope: '2228224'
>>             seg: '16482194'
>>             status: ''
>>             type: regular
>>             uid: '15374'
>>             unicastRoute: 'yes'
>>             unkMacUcastAct: proxy
>>             unkMcastAct: flood
>>             v6unkMcastAct: flood
>>             vmac: not-applicable
>>           children:
>>           - fvSubnet:
>>               attributes:
>>                 annotation: ''
>>                 childAction: ''
>>                 ctrl: ''
>>                 descr: ''
>>                 extMngdBy: ''
>>                 ip: 192.168.101.1/24
>>                 lcOwn: local
>>                 modTs: '2020-03-22T17:41:28.723+00:00'
>>                 monPolDn: uni/tn-common/monepg-default
>>                 name: ''
>>                 nameAlias: ''
>>                 preferred: 'no'
>>                 rn: subnet-[192.168.101.1/24]
>>                 scope: private
>>                 status: ''
>>                 uid: '15374'
>>                 virtual: 'no'
>>
>>
>>
>>
>> I am trying to get a debug message similar to:
>> msg: 'Subnet : 192.168.101.1/24'
>> But I can't work out how to do that from the registered output
>> I have tried:
>>
>>
>>     - name: Debug message for ACI
>>       debug:
>>         msg: "Subnet : {{subnet_output.current.fvTenant}}"
>>
>> But get this meesage:
>>
>> $ ansible-playbook aci_debug.yml
>>
>> PLAY [ACI Subnet query allocated to BD] 
>> ************************************************************************************************************************************************************************************************
>>
>> TASK [Query BD] 
>> ************************************************************************************************************************************************************************************************************************
>> ok: [apic2]
>>
>> TASK [Debug message for ACI] 
>> ***********************************************************************************************************************************************************************************************************
>> fatal: [apic2]: FAILED! =>
>>   msg: |-
>>     The task includes an option with an undefined variable. The error was
>> : 'list object' has no attribute 'fvTenant'
>>
>>     The error appears to be in 
>> '/home/network_automation/trainer/aci_debug.yml': line 21, column 7, but 
>> may
>>     be elsewhere in the file depending on the exact syntax problem.
>>
>>     The offending line appears to be:
>>
>>
>>         - name: Debug message for ACI
>>           ^ here
>>
>> PLAY RECAP 
>> *****************************************************************************************************************************************************************************************************************************
>> apic2                      : ok=1    changed=0    unreachable=0    failed
>> =1    skipped=0    rescued=0    ignored=0
>>
>>
>> I have tried to find an answer but not managed to get a solution. Anyone 
>> got some guidance?
>>
>> Thanks & be safe
>>
>> -- 
>> 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 [email protected] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/ansible-project/1a14f8d3-1463-44d0-9e49-f36f1a1c22ac%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/ansible-project/1a14f8d3-1463-44d0-9e49-f36f1a1c22ac%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>
>
> -- 
> Dick Visser
> Trust & Identity Service Operations Manager
> GÉANT
>

-- 
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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/a4f79183-1074-48d0-9bd3-c235a5d3b809%40googlegroups.com.

Reply via email to