Loop over list of dicts in ansible

26 views
Skip to first unread message

BIJAY PARIDA

unread,
Jun 24, 2020, 9:02:02 AM6/24/20
to Ansible Project
I have a list of dicst like this -

"lv": [
    {
      "CreatedDate": "2020-06-23T16:49:55.504+0000", 
      "Description": "Layer 0", 
      "LayerVersionArn": "arn:aws:lambda:us-east-1", 
      "Version": 10
    }, 
    {
      "CreatedDate": "2020-06-23T16:44:26.011+0000", 
      "Description": "Layer 1", 
      "LayerVersionArn": "arn:aws:lambda:us-east-1", 
      "Version": 9
    }
  ]

I want to get the list of Version (10 and 9 above) field from the list. Note - Number of elements in the list is not static.

Vladimir Botka

unread,
Jun 24, 2020, 10:50:01 AM6/24/20
to BIJAY PARIDA, ansible...@googlegroups.com
On Wed, 24 Jun 2020 06:02:02 -0700 (PDT)
BIJAY PARIDA <bijay...@gmail.com> wrote:

Try this

- set_fact:
versions: "{{ lv|map(attribute='Version')|list }}"

--
Vladimir Botka

BIJAY PARIDA

unread,
Jun 24, 2020, 4:47:22 PM6/24/20
to Ansible Project
Thanks Vladimir.

This also worked-

  - set_fact: 
      versions: "{{ (lv | json_query('[*].Version') }}"
Reply all
Reply to author
Forward
0 new messages