Piece of code is as follow:

*# Manual accessing sub-elements*
   - debug: var=ec2_snap
   - debug: var=ec2_snap.results[0].invocation.module_args.device_name
   - debug: var=ec2_snap.results[0].item
   - debug: var=ec2_snap.results[0].volume_id
   - debug: var=ec2_snap.results[0].snapshot_id
   - debug: var=ec2_snap.results[1].invocation.module_args.device_name
   - debug: var=ec2_snap.results[1].item
   - debug: var=ec2_snap.results[1].volume_id
   - debug: var=ec2_snap.results[1].snapshot_id

*# Works fine, Output for above code is as follow:*
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[0].invocation.module_args.device_name": "/dev/sda1"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:27
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[0].item": "i-037b59606518XXXXX"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:28
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[0].volume_id": "vol-09aec429dfcXXXXX"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:29
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[0].snapshot_id": "snap-0fe95f5d794XXXXX"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:30
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[1].invocation.module_args.device_name": "/dev/sda1"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:31
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[1].item": "i-04452f010e4cXXXXX"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:32
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[1].volume_id": "vol-0e0516ea962XXXXX"
}

TASK [debug] 
***********************************************************************************************************************************************************
task path: /home/ansible/playbooks/rol1.yml:33
ok: [localhost] => {
    "changed": false,
    "ec2_snap.results[1].snapshot_id": "snap-0fa1ec99d379XXXXX"
}

*When trying to access with_items, with following code:*

   - name: "Task 3: Add string instance_id to file for each instance"
     shell: 'printf "{{ item.volume_id }}"'
     #shell: 'printf "{{ item.volume_id }}" > 
/home/ansible/playbooks/common/variables/"{{ item.item }}"'
     with_items:
       - "{{ ec2_snap.results }}"

*Rather than giving proper output, as appeared in above manual access, it 
gives garbrage as follow:*
changed: [localhost] => (item={'_ansible_parsed': True, u'changed': True, 
'_ansible_no_log': False, 'item': u'i-04452f010e4cXXXXX', 
'_ansible_item_result': True, u'volume_size': 15, u'snapshot_id': 
u'snap-0fa1ec99d379XXXXX', u'volume_id': u'vol-0e0516ea9623XXXXX', 
u'invocation': {u'module_args': {u'aws_secret_key': None, u'profile': None, 
u'aws_access_key': None, u'description': u'snapshot of /dev/sda1 from 
i-04452f010e4cXXXXX taken 2017/03/22-19:58', u'security_token': None, 
u'snapshot_tags': {u'source': u'/dev/sda1', u'frequency': u'daily'}, 
u'region': u'us-east-1', u'snapshot_id': None, u'device_name': 
u'/dev/sda1', u'instance_id': u'i-04452f010e4cXXXXX', u'state': u'present', 
u'wait_timeout': 0, u'ec2_url': None, u'last_snapshot_min_age': 0, 
u'validate_certs': True, u'volume_id': None, u'wait': True}}, u'tags': 
{u'source': u'/dev/sda1', u'frequency': u'daily'}}) => {
    "changed": true,
    "cmd": "printf \"vol-0e0516ea9623XXXXX\"",
    "delta": "0:00:00.002131",
    "end": "2017-03-22 19:58:13.225366",
    "invocation": {
        "module_args": {
            "_raw_params": "printf \"vol-0e0516ea962XXXXX\"",
            "_uses_shell": true,
            "chdir": null,
            "creates": null,
            "executable": null,
            "removes": null,
            "warn": true
        }
    },
    "item": {
        "changed": true,
        "invocation": {
            "module_args": {
                "aws_access_key": null,
                "aws_secret_key": null,
                "description": "snapshot of /dev/sda1 from 
i-04452f010e4cacb0b taken 2017/03/22-19:58",
                "device_name": "/dev/sda1",
                "ec2_url": null,
                "instance_id": "i-04452f010e4cXXXXX",
                "last_snapshot_min_age": 0,
                "profile": null,
                "region": "us-east-1",
                "security_token": null,
                "snapshot_id": null,
                "snapshot_tags": {
                    "frequency": "daily",
                    "source": "/dev/sda1"
                },
                "state": "present",
                "validate_certs": true,
                "volume_id": null,
                "wait": true,
                "wait_timeout": 0
            }
        },
        "item": "i-04452f010e4XXXXX",
        "snapshot_id": "snap-0fa1ec99d379XXXXX",
        "tags": {
            "frequency": "daily",
            "source": "/dev/sda1"
        },
        "volume_id": "vol-0e0516ea9623XXXXX",
        "volume_size": 15
    },
    "rc": 0,
    "start": "2017-03-22 19:58:13.223235",
    "stderr": "",
    "stderr_lines": [],
    "stdout": "vol-0e0516ea962XXXXX",
    "stdout_lines": [
        "vol-0e0516ea9623XXXXX"
    ]
}

On Wednesday, March 22, 2017 at 11:14:10 PM UTC+5:30, Bhavin Parmar wrote:
>
> The output (i.e. module: ec2_snapshot) of a registered variable (i.e. 
> ec2_snap) returns multiple members.
>
> Playbook is:
> --- # Take Snapshot of EC2s
>  - name: Take snapshot of EC2s
>    hosts: local
>    become: no
>    connection: local
>    gather_facts: yes
>    vars:
>      region: "us-east-1"
>      awsec2id: ["i-037b596065189XXXXX","i-04452f010e4cXXXXX"]
>      devname: "/dev/sda1"
>      date: "{{ lookup('pipe', 'date +%Y/%m/%d-%H:%M') }}"
>    tasks:
>    - name: Create Root snapshots
>      ec2_snapshot:
>        region: '{{ region }}'
>        instance_id: '{{ item }}'
>        device_name: '{{ devname }}'
>        description: 'snapshot of /dev/sda1 from {{ item }} taken {{ date 
> }}'
>        state: present
>        snapshot_tags:
>          frequency: daily
>          source: '{{ devname }}'
>      register: ec2_snap
>      with_items: '{{ awsec2id }}'
>    - debug: var=ec2_snap
>    - debug: var=ec2_snap.results[0].invocation.module_args.device_name
>    - debug: var=ec2_snap.results[0].item
>    - debug: var=ec2_snap.results[0].volume_id
>    - debug: var=ec2_snap.results[0].snapshot_id
>    - name: "Task 2: Create files for each instance"
>      command: touch /home/ansible/playbooks/common/variables/'{{ item 
> }}.yml'
>      with_items: "{{ awsec2id }}"
>
>    - name: "Task 3: Add string instance_id to file for each instance"
>      shell: 'printf "{{ item.volume_id }}" > 
> /home/ansible/playbooks/common/variables/"{{ item.item }}"'
>      with_items: "{{ ec2_snap.results }}"
> ...
>
> *Error making code:*
>    - name: "Task 3: Add string instance_id to file for each instance"
>      shell: 'printf "{{ item.volume_id }}" > 
> /home/ansible/playbooks/common/variables/"{{ item.item }}"'
>      with_items: "{{ ec2_snap.results }}"
>
> ec2_snap registered variable is having details of each of two snapshots in 
> a relevant array element. How to create loop on them?
>
>
>  
> *Short Output is as follow:*
>
> {  
>    "changed":false,
>    "ec2_snap":{  
>       "changed":true,
>       "msg":"All items completed",
>       "results":[  
>          {  },
>          {  }
>       ]
>    }
> }
>
> *The extended output is as follow:*
> ok: [localhost] => {
>     "changed": false,
>     "ec2_snap": {
>         "changed": true,
>         "msg": "All items completed",
>         "results": [
>             {
>                 "_ansible_item_result": true,
>                 "_ansible_no_log": false,
>                 "_ansible_parsed": true,
>                 "changed": true,
>                 "invocation": {
>                     "module_args": {
>                         "aws_access_key": null,
>                         "aws_secret_key": null,
>                         "description": "snapshot of /dev/sda1 from 
> i-037b5960651XXXXX taken 2017/03/22-17:19",
>                         "device_name": "/dev/sda1",
>                         "ec2_url": null,
>                         "instance_id": "i-037b59606518XXXXX",
>                         "last_snapshot_min_age": 0,
>                         "profile": null,
>                         "region": "us-east-1",
>                         "security_token": null,
>                         "snapshot_id": null,
>                         "snapshot_tags": {
>                             "frequency": "daily",
>                             "source": "/dev/sda1"
>                         },
>                         "state": "present",
>                         "validate_certs": true,
>                         "volume_id": null,
>                         "wait": true,
>                         "wait_timeout": 0
>                     }
>                 },
>                 "item": "i-037b59606518XXXXX",
>                 "snapshot_id": "snap-08d7aeda75dbXXXXX",
>                 "tags": {
>                     "frequency": "daily",
>                     "source": "/dev/sda1"
>                 },
>                 "volume_id": "vol-09aec429dfcfXXXXX",
>                 "volume_size": 8
>             },
>             {
>                 "_ansible_item_result": true,
>                 "_ansible_no_log": false,
>                 "_ansible_parsed": true,
>                 "changed": true,
>                 "invocation": {
>                     "module_args": {
>                         "aws_access_key": null,
>                         "aws_secret_key": null,
>                         "description": "snapshot of /dev/sda1 from 
> i-04452f010e4XXXXX taken 2017/03/22-17:20",
>                         "device_name": "/dev/sda1",
>                         "ec2_url": null,
>                         "instance_id": "i-04452f010e4cXXXXX",
>                         "last_snapshot_min_age": 0,
>                         "profile": null,
>                         "region": "us-east-1",
>                         "security_token": null,
>                         "snapshot_id": null,
>                         "snapshot_tags": {
>                             "frequency": "daily",
>                             "source": "/dev/sda1"
>                         },
>                         "state": "present",
>                         "validate_certs": true,
>                         "volume_id": null,
>                         "wait": true,
>                         "wait_timeout": 0
>                     }
>                 },
>                 "item": "i-04452f010e4caXXXXX",
>                 "snapshot_id": "snap-0f8cb9b9d7b4XXXXX",
>                 "tags": {
>                     "frequency": "daily",
>                     "source": "/dev/sda1"
>                 },
>                 "volume_id": "vol-0e0516ea9623XXXXX",
>                 "volume_size": 15
>             }
>         ]
>     }
> }
>
>
>
>
>
>

-- 
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 post to this group, send email to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/b813d5c4-26c7-4af1-b00d-913e3e588239%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to