Hi,
I am having issues with passing ec2 instance provisioning results to other
tasks in a playbook.
I can launch instances, and then use "
register: ec2
" to register a dictionary of the results. But I cannot seem to extract the
instance id later.
Using debug I can see i get valid results:
TASK [debug]
> *******************************************************************
>
>
>
> ok: [localhost] => {
>
> "ec2.results": [
>
> {
>
> "_ansible_no_log": false,
>
> "changed": true,
>
> "instance_ids": [
>
> "i-5bbc7cee"
>
> ],
>
> "instances": [
>
> {
>
> "ami_launch_index": "0",
>
> "architecture": "x86_64",
>
> "block_device_mapping": {
>
> "/dev/xvda": {
>
> "delete_on_termination": true,
>
> "status": "attached",
>
> "volume_id": "vol-352da188"
>
> }
>
> },
>
> "dns_name": "",
>
> "ebs_optimized": false,
>
> "groups": {
>
> "sg-2b37d84f": "mongo"
>
> },
>
> "hypervisor": "xen",
>
> "id": "i-5bbc7cee",
>
> "image_id": "ami-d1f482b1",
>
> "instance_type": "t2.micro",
>
> "kernel": null,
>
> "key_name": "keypair",
>
> "launch_time": "2016-03-11T13:33:09.000Z",
>
> "placement": "us-west-1c",
>
> "private_dns_name":
> "ip-172-x-x-x.us-west-1.compute.internal",
>
> "private_ip": "x.x.x.x",
>
> "public_dns_name": "",
>
> "public_ip": null,
>
> "ramdisk": null,
>
> "region": "us-west-1",
>
> "root_device_name": "/dev/xvda",
>
> "root_device_type": "ebs",
>
> "state": "running",
>
> "state_code": 16,
>
> "tags": {
>
> "Name": "mongo",
> },
>
> "tenancy": "default",
>
> "virtualization_type": "hvm"
>
> }
>
> ],
>
> "invocation": {
>
> "module_args": {
>
> "assign_public_ip": false,
>
> "aws_access_key": "xxxxxxxxxxxxxxxxxxxxxx",
>
> "aws_secret_key":
> "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
>
> "count": 1,
>
> "count_tag": {
>
> "volumes": "data"
>
> },
>
> "ebs_optimized": false,
>
> "ec2_url": null,
>
> "exact_count": null,
>
> "group": [
>
> "mongo"
>
> ],
>
> "group_id": null,
>
> "id": null,
>
> "image": "ami-d1f482b1",
>
> "instance_ids": null,
>
> "instance_profile_name": null,
>
> "instance_tags": {
>
> "Name": "mongo",
>
> },
>
> "instance_type": "t2.micro",
>
> "kernel": null,
>
> "key_name": "keypair",
>
> "monitoring": false,
>
> "network_interfaces": null,
>
> "placement_group": null,
>
> "private_ip": null,
>
> "profile": null,
>
> "ramdisk": null,
>
> "region": "us-west-1",
>
> "security_token": null,
>
> "source_dest_check": true,
>
> "spot_price": null,
>
> "spot_type": "one-time",
>
> "spot_wait_timeout": 600,
>
> "state": "present",
>
> "tenancy": "default",
>
> "termination_protection": false,
>
> "user_data": null,
>
> "validate_certs": true,
>
> "volumes": null,
>
> "vpc_subnet_id": "subnet-703aa229",
>
> "wait": true,
>
> "wait_timeout": 300,
>
> "zone": null
>
> },
>
> "module_name": "ec2"
>
> },
>
> "item": "mongo",
>
> "tagged_instances": []
>
> }
>
> ]
>
> }
>
>
>
>
> TASK [debug]
> *******************************************************************
>
> ok: [localhost] => {
>
> "ec2.results.instances": "VARIABLE IS NOT DEFINED!"
>
> }
>
>
>
>
> TASK [debug]
> *******************************************************************
>
> ok: [localhost] => {
>
> "ec2.results.instance_ids": "VARIABLE IS NOT DEFINED!"
>
> }
>
>
>
>
> TASK [debug]
> *******************************************************************
>
> ok: [localhost] => {
>
> "ec2.results.tagged_instances": "VARIABLE IS NOT DEFINED!"
>
> }
>
>
>
>
> TASK [debug]
> *******************************************************************
>
> ok: [localhost] => {
>
> "ec2.results.0.instances.0.id": "i-5bbc7cee"
>
> }
>
>
> The ec2 examples show using:
>
- ec2_vol:
instance: "{{ item.id }} "
volume_size: 5
with_items: ec2.instances
register: ec2_vol
But that does not work, based on the above debugs, I tried:
- ec2_vol:
instance: "{{ item.id }}"
volume_size: 10
with_items: ec2.results.0.instances
register: ec2_vol
--
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/98625c1b-b79a-4b23-b8fd-51aa9b9c7b11%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.