50 lines
1.5 KiB
YAML
50 lines
1.5 KiB
YAML
- hosts: tag_env_prod
|
|
remote_user: ec2-user
|
|
gather_facts: false # of no use
|
|
connection: local # prevent from trying to ssh into instance
|
|
|
|
vars:
|
|
target_group_arn: "arn:aws:elasticloadbalancing:eu-west-1:440357826049:targetgroup/TestAnsible/c2afd83500139d9a"
|
|
|
|
tasks:
|
|
- name: DEBUG
|
|
debug:
|
|
msg: "{{ hostvars[inventory_hostname].instance_id }}"
|
|
|
|
- name: Start instances
|
|
amazon.aws.ec2:
|
|
instance_ids: "{{ hostvars[inventory_hostname].instance_id }}"
|
|
state: running
|
|
when: targetpractice == "true"
|
|
|
|
- name: Wait for instances to be reachable
|
|
wait_for:
|
|
host: "{{ inventory_hostname }}"
|
|
port: 22
|
|
when: targetpractice == "true"
|
|
|
|
- name: Register targets in TargetGroup
|
|
community.aws.elb_target:
|
|
target_group_arn: "{{ target_group_arn }}"
|
|
state: present
|
|
target_id: "{{ hostvars[inventory_hostname].instance_id }}"
|
|
target_status: "unused"
|
|
when: targetpractice == "true"
|
|
|
|
- name: Deregister targets in TargetGroup
|
|
community.aws.elb_target:
|
|
target_group_arn: "{{ target_group_arn }}"
|
|
state: absent
|
|
target_id: "{{ hostvars[inventory_hostname].instance_id }}"
|
|
target_status: "unused"
|
|
deregister_unused: yes
|
|
when: targetpractice == "false"
|
|
|
|
- name: Stop instances
|
|
amazon.aws.ec2:
|
|
instance_ids: "{{ hostvars[inventory_hostname].instance_id }}"
|
|
#instance_ids: "{{ play_hosts }}"
|
|
state: stopped
|
|
when: targetpractice == "false"
|
|
|