There will be way to do it, but let me tell you that ansible is mainly used for configuration and management not or orchestration, it has module limitations. If you want to do infrastructure orchestration and for AWS specially then I would request you to go for terraform for infrastructure provisioning, it has many feature and easy to use even you can call ansible playbooks to perform post build taks.
https://www.terraform.io/intro/index.html Hope this will help you, I know u had asked for ansible and I am telling you to use terraform, once you use it, will love it. Try it. On Sat, 25 May 2019, 10:09 Tuyen Nguyen, <[email protected]> wrote: > Hi > > I thought variables cannot go across different plays in a playbook ? > > I know how to create a playbook to start up an AWS instance, and register > the instance_id of the new instance, and then use the ec2 module again to > terminate the instance_id. > > Initially to start up the AWS instance, I need to run the play with hosts: > localhost, and I register the instance_id as a variable in Ansible > > If I do > hosts: <ipaddress> > after that, and I can run the task against the client on the IP address, > > but then next, if I do hosts: localhost again to use the ec2 module to > terminate the instance, would I be able to call on the instance_id variable? > > > On Friday, May 24, 2019 at 2:16:09 PM UTC-4, Barun kumar wrote: >> >> You can call facts variable in playbook , >> 1- playbook to create a instace >> 2- register instance instance creation facts and call IP to normal tasks >> adding variable in same play then call terminate playbook below. >> >> I have given you logic, more thought process you need to apply while you >> create a playbook taks. >> >> >> >> >> On Fri, 24 May 2019, 23:02 Tuyen Nguyen, <[email protected]> wrote: >> >>> Hi >>> >>> Currently, to do what I want to do above, I have 3 different playbooks >>> running with a shell script. >>> >>> First the script runs a playbook aws.yml to start up an instance with a >>> static IP address using the ec2 module, and I have it record the instance >>> id to a local file >>> >>> Next, the script runs a normal playbook task to connect to the AWS >>> instance using the static IP address. >>> >>> Lastly, after the tasks are complete on that AWS instance, the script >>> calls a last playbook to terminate AWS instance, and I pass the instance id >>> as a variable using --extra-vars >>> >>> How can I create a single playbook that would run the normal playbook >>> task against the AWS instance? >>> >>> >>> -- >>> 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/77cb5f2c-1277-4042-b43f-14bb40f3c10a%40googlegroups.com >>> <https://groups.google.com/d/msgid/ansible-project/77cb5f2c-1277-4042-b43f-14bb40f3c10a%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > 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/dce09a32-f7fb-42fa-8b63-ecfb0ce756af%40googlegroups.com > <https://groups.google.com/d/msgid/ansible-project/dce09a32-f7fb-42fa-8b63-ecfb0ce756af%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- 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/CADG%3DkoszgN2BYKqe6eL3MA%2Bsw%3DeGnx9Mf4fmpRgqtnXi4P%3DxOA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
