You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.5 KiB
YAML
54 lines
1.5 KiB
YAML
---
|
|
|
|
- name: "Checking state for server <{{ inventory_hostname }}> is <{{ server_state }}>"
|
|
hetzner.hcloud.hcloud_server:
|
|
api_token: "{{ hetzner_authentication_ansible }}"
|
|
name: "{{ inventory_hostname }}"
|
|
server_type: "{{ hetzner_server_type }}"
|
|
image: "{{ hetzner_server_image }}"
|
|
ssh_keys: "{{ hetzner_ssh_keys }}"
|
|
labels: "{{ hetzner_server_labels }}"
|
|
location: nbg1
|
|
state: "{{ server_state }}"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
async: 300
|
|
poll: 5
|
|
register: hcloud_response
|
|
ignore_errors: yes
|
|
|
|
# poweron server if server not running
|
|
- name: "Ensure Server is STARTED when server_state=present"
|
|
hetzner.hcloud.hcloud_server:
|
|
api_token: "{{ hetzner_authentication_ansible }}"
|
|
name: "{{ inventory_hostname }}"
|
|
state: "started"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
async: 300
|
|
poll: 15
|
|
when:
|
|
- server_state == 'present'
|
|
|
|
# just catching hetzner error and trying to avoid manual interaction
|
|
- name: "DEBUGGING Block for hetzner << message not found >> - error"
|
|
block:
|
|
- name: "DEBUG: hcloud_response"
|
|
debug:
|
|
msg: hcloud_response.msg
|
|
|
|
- name: "Ensure Server is STARTED when server_state=present"
|
|
hetzner.hcloud.hcloud_server:
|
|
api_token: "{{ hetzner_authentication_ansible }}"
|
|
name: "{{ inventory_hostname }}"
|
|
state: "started"
|
|
delegate_to: 127.0.0.1
|
|
become: false
|
|
async: 300
|
|
poll: 15
|
|
when:
|
|
- server_state == 'present'
|
|
|
|
when:
|
|
- hcloud_response.msg is defined
|