Hi,
New to ansible and looking for advice.
I have an action inside a task (I think that is correct terminology).
Something like this:
- name: Cloudwatch deploy agent configuration for webserver
template:
src: templates/web-inst.json
dest: “/opt/aws/amazon-cloudwatch-agent/bin/config.json”
mode: 0644
tags: - config
The task is used to install AWS cloudwatch on web servers and this action is to just apply the config. Now I want to extend this task to other types or servers (Lets say app server).
So I want to add another config action like this:
- name: Cloudwatch deploy agent configuration for App Server
template:
src: templates/app-inst.json
dest: “/opt/aws/amazon-cloudwatch-agent/bin/config.json”
mode: 0644
tags: - config
So, now I have two code blocks for configuration (One for each type of server). How do I conditionally apply the correct config based on the host type?
I currently execute it using the following command.
ansible-playbook -i …/inventory/testinstance/ -l webserver playbook.yml --tags cloudwatch
So, the idea is I would execute it with the appserver host instead like this:
ansible-playbook -i …/inventory/testinstance/ -l appserver playbook.yml --tags cloudwatch
Think I can use the “when” statement to do this somehow?
Any help would be greatly received. Alternatively, is this approach just nonsense and there is a better way?