*Same way another looping issue is as follow (actual code):*
  - name: "Task 2: Fetch EC2 details"
    ec2_remote_facts:
      aws_access_key: '{{ AwsAccesskey }}'
      aws_secret_key: '{{ AwsSecretkey }}'
      region: '{{ region }}'
      filters:
        instance_id: '{{ item }}'
    register: ec2_hosts
    with_items: "{{ awsec2id }}"
  - debug: var=ec2_hosts
  - debug: var=ec2_hosts.results[0].instances[0].private_ip_address
  - debug: var=ec2_hosts.results[1].instances[0].private_ip_address

*with_items: Looping for the above:*
  - name: looping
    shell: 'printf "{{ item.instance[0].private_ip_address }}"'
    with_items: "{{ ec2_hosts.results }}"

*Error:*
TASK [awsAtachEBSvolume : looping] 
*************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"failed": true, "msg": "the field 'args' 
has an invalid value, which appears to include a variable that is 
undefined. The error was: 'dict object' has no attribute 'instance'\n\nThe 
error appears to have been in 
'/home/ansible/playbooks/roles/awsAtachEBSvolume/tasks/main.yml': line 30, 
column 5, but may\nbe elsewhere in the file depending on the exact syntax 
problem.\n\nThe offending line appears to be:\n\n  - debug: var=awsec2id\n 
 - name: looping\n    ^ here\n"}
        to retry, use: --limit @/home/ansible/playbooks/rol.retry

*Output registered variable ec2_hosts, follow:*
ok: [localhost] => {
    "changed": false,
    "ec2_hosts": {
        "changed": false,
        "msg": "All items completed",
        "results": [
            {
                "_ansible_item_result": true,
                "_ansible_no_log": false,
                "_ansible_parsed": true,
                "changed": false,
                "instances": [
                    {
                        "ami_launch_index": "0",
                        "architecture": "x86_64",
                        "block_device_mapping": [
                            {
                                "attach_time": "2017-03-17T08:02:13.000Z",
                                "delete_on_termination": false,
                                "device_name": "/dev/xvda",
                                "status": "attached",
                                "volume_id": "vol-0573516d4320XXXXX"
                            },
                            {
                                "attach_time": "2017-03-21T08:32:27.000Z",
                                "delete_on_termination": false,
                                "device_name": "/dev/xvdl",
                                "status": "attached",
                                "volume_id": "vol-07556df02e90XXXXX"
                            }
                        ],
                        "client_token": "IQNIH14887952XXXXX",
                        "ebs_optimized": false,
                        "groups": [
                            {
                                "id": "sg-dbcXXXXX",
                                "name": "launch-wizard-14"
                            }
                        ],
                        "hypervisor": "xen",
                        "id": "i-0003df8d26bXXXXX",
                        "image_id": "ami-0b33XXXXX",
                        "instance_profile": null,
                        "interfaces": [
                            {
                                "id": "eni-8fdfbXXXXX",
                                "mac_address": "0e:df:73:4c:67:e6"
                            }
                        ],
                        "kernel": null,
                        "key_name": "XXXXX",
                        "launch_time": "2017-03-21T04:02:10.000Z",
                        "monitoring_state": "disabled",
                        "persistent": false,
                        "placement": {
                            "tenancy": "default",
                            "zone": "us-east-1c"
                        },
                        "private_dns_name": "ip-XXXXX.ec2.internal",
                        "private_ip_address": "172.XXXXX",
                        "public_dns_name": 
"ec2-XXXXX-156.compute-1.amazonaws.com",
                        "public_ip_address": "54.89.XXXXX",
                        "ramdisk": null,
                        "region": "us-east-1",
                        "requester_id": null,
                        "root_device_type": "ebs",
                        "source_destination_check": "true",
                        "spot_instance_request_id": null,
                        "state": "running",
                        "tags": {
                            "Name": "XXXXX"
                        },
                        "virtualization_type": "hvm",
                        "vpc_id": "vpc-76XXXXX"
                    }
                ],
                "invocation": {
                    "module_args": {
                        "aws_access_key": "AKIAIGKMK7EXXXXX",
                        "aws_secret_key": "VALUE_SPECIFIED_IN_NOXXXXX",
                        "ec2_url": null,
                        "filters": {
                            "instance_id": "i-0003df8d26XXXXX"
                        },
                        "profile": null,
                        "region": "us-east-1",
                        "security_token": null,
                        "validate_certs": true
                    }
                },
                "item": "i-0003df8d26b5XXXXX"
            },
            {
                "_ansible_item_result": true,
                "_ansible_no_log": false,
                "_ansible_parsed": true,
                "changed": false,
                "instances": [
                    {
                        "ami_launch_index": "0",
                        "architecture": "x86_64",
                        "block_device_mapping": [
                            {
                                "attach_time": "2017-03-21T08:32:38.000Z",
                                "delete_on_termination": false,
                                "device_name": "/dev/xvdl",
                                "status": "attached",
                                "volume_id": "vol-0118435137XXXXX"
                            },
                            {
                                "attach_time": "2017-03-22T08:28:47.000Z",
                                "delete_on_termination": false,
                                "device_name": "/dev/sda1",
                                "status": "attached",
                                "volume_id": "vol-0e0516ea96XXXXX"
                            }
                        ],
                        "client_token": "CrBZB1489737XXXXX",
                        "ebs_optimized": false,
                        "groups": [
                            {
                                "id": "sg-13d8076c",
                                "name": "launch-wizard-19"
                            }
                        ],
                        "hypervisor": "xen",
                        "id": "i-04452f010e4cXXXXX",
                        "image_id": "ami-2051XXXXX",
                        "instance_profile": null,
                        "interfaces": [
                            {
                                "id": "eni-4c0efXXXXX",
                                "mac_address": "0e:d9:48:XXXXX"
                            }
                        ],
                        "kernel": null,
                        "key_name": "bparmaXXXXX",
                        "launch_time": "2017-03-22T10:23:26.000Z",
                        "monitoring_state": "disabled",
                        "persistent": false,
                        "placement": {
                            "tenancy": "default",
                            "zone": "us-east-1c"
                        },
                        "private_dns_name": "ip-172-31-XXXXX.ec2.internal",
                        "private_ip_address": "172.31XXXXX",
                        "public_dns_name": 
"ec2-34-207-XXXXX.compute-1.amazonaws.com",
                        "public_ip_address": "34.207.XXXXX",
                        "ramdisk": null,
                        "region": "us-east-1",
                        "requester_id": null,
                        "root_device_type": "ebs",
                        "source_destination_check": "true",
                        "spot_instance_request_id": null,
                        "state": "running",
                        "tags": {
                            "Name": "XXXXX"
                        },
                        "virtualization_type": "hvm",
                        "vpc_id": "vpc-76b6XXXXX"
                    }
                ],
                "invocation": {
                    "module_args": {
                        "aws_access_key": "AKIAIGKMK7E3O2RXXXXX",
                        "aws_secret_key": "VALUE_SPECIFIED_IN_NO_XXXXX",
                        "ec2_url": null,
                        "filters": {
                            "instance_id": "i-04452f010XXXXX"
                        },
                        "profile": null,
                        "region": "us-east-1",
                        "security_token": null,
                        "validate_certs": true
                    }
                },
                "item": "i-04452f010e4cXXXXX"
            }
        ]
    }
}


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/d402a476-992a-4f10-a3c9-40facb6c4f97%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to