From cc424171f742a7dc08e6f4412b28d43efd85ff7d Mon Sep 17 00:00:00 2001 From: Robert Kaussow Date: Sun, 28 Mar 2021 13:02:30 +0200 Subject: [PATCH] feat: add task to attach host to local networks --- defaults/main.yml | 8 ++++++++ tasks/setup.yml | 22 +++++++++++++++++----- 2 files changed, 25 insertions(+), 5 deletions(-) diff --git a/defaults/main.yml b/defaults/main.yml index a12116c..365d197 100644 --- a/defaults/main.yml +++ b/defaults/main.yml @@ -22,6 +22,14 @@ hcloud_server_default_ssh_keys: [] # @var hcloud_server_default_api_token: $ "_unset_" +hcloud_server_networks: [] +# @var hcloud_server_networks:example: > +# hcloud_server_networks: +# - name: network-1 +# ip: 10.0.0.1 +# state: present +# @end + hcloud_server_volumes: [] # @var hcloud_server_volumes:example: > # hcloud_server_volumes: diff --git a/tasks/setup.yml b/tasks/setup.yml index fd0f86f..11c59b1 100644 --- a/tasks/setup.yml +++ b/tasks/setup.yml @@ -28,11 +28,23 @@ - name: Populate instance config set_fact: - hcloud_instance: { - 'instance': "{{ __hcloud_job.hcloud_server.name }}", - 'ipv4': "{{ __hcloud_job.hcloud_server.ipv4_address }}", - 'ipv6': "{{ __hcloud_job.hcloud_server.ipv6 }}", - } + hcloud_instance: + { + "instance": "{{ __hcloud_job.hcloud_server.name }}", + "ipv4": "{{ __hcloud_job.hcloud_server.ipv4_address }}", + "ipv6": "{{ __hcloud_job.hcloud_server.ipv6 }}", + } + delegate_to: localhost + +- name: Attach server to local networks + hcloud_server_network: + network: "{{ item.name }}" + server: "{{ hcloud_server.name }}" + ip: "{{ item.ip }}" + state: "{{ item.state | default('present') }}" + loop: "{{ hcloud_server_networks }}" + loop_control: + label: "{{ hcloud_server.name }}:{{ item.name }}" delegate_to: localhost - name: Create volumes