Greetings everyone!
For a given reason, I need to handle some Route53 records for my EC2's
EIPs.
The instances are part of the [all] group in my hosts file.
Obviously, the 'setup' module is not aware of EIPs. But the ec2_facts
module is.
Right now, I'm trying to wrap my head around this design, although there
will soon be a VPN tunnel that's gonna simply render Ansible to interact
with a Bind server, thus making this whole playbook obsolete, but
nevertheless, something nice to have around.
I know I could probably achieve what I want with an external inventory tool
like ec2.py but I want to see first if I can do it the "normal" way.
I only need to touch one zone in Route53, essentially by creating/updating
an A record like so:
- name: updating Route53 records
hosts: localhost
connection: local
gather_facts: False
tasks:
# if we have the records, replace them if they do not match. if we
don't have them, just create them.
- local_action: route53 command=create zone=domain.com record={{
??ansible_hostname?? }}.zone.com type=A value={{
??item.ansible_ec2_public_ipv4?? }} overwrite=yes ttl=300
with_items: facts
register: dnsrec_update
- name: showing the results of the create task
debug: var=dnsrec_update
The above would be included by the following:
---
- name: list all ec2 instances
hosts: all:!localhost
tasks:
- name: gather facts
action: ec2_facts
register: facts
- debug: var=facts
- name: get the hostname
action: setup
- debug: var={{ ansible_hostname }}
###here's where I'm stuck
- include: route53.yml
You can see that all I was doing is to simply play around with no direction
in mind.
Ansible will not like the include because of the gather_facts and so on and
so forth.
Maybe someone can share some tips. If it's not desirable like intended, I
will just go for ec2.py
Thanks!
--
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/9e434b81-1d82-4ccc-8596-3800fab5210b%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.