Is there a way to pass the value of an ec2 tag to a conditional in an
ansible task? Boto is installed and used to determine which tagged ec2
servers the playbook is run against.
For example:
ec2 server with tag name "Application" and value "my_app"
ansible command to run a playbook
$ AWS_PROFILE=paul-dev ansible-playbook playbooks/paul_test.yml -i
inventories/ec2.py -l 'tag_Environment_dev:&tag_Application_my_app' -e
"app=my_app" -u ubuntu -s
works for the simple playbook containing this task because of the extra
variable "app=my_app" on the commandline.
---
- hosts: all
tasks:
- name: tree package is present
apt: name=tree state=present
when: app == 'my_app'
If I want to avoid including an extra variable on the command line, is
there a way to access the ec2 tag name and value in a task conditional? The
tag name and value are referenced in the command to run the playbook,
"&tag_Application_my_app", but I haven't found a way to reference it in a
task.
I get the following error when running the playbook with the following
attempts at conditionals on the ec2 tag
---
- hosts: all
tasks:
- name: tree package is present
apt: name=tree state=present
when: tag_Application == 'my_app'
# when: Application = 'my_app'
# when: tag_Application_my_app
fatal: [10.5.81.130] => ERROR! error while evaluating conditional:
tag_Application_cis_acord_1203
--
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/2a6129a9-760b-4500-83d1-b187b2aa3ebb%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.