diff --git a/examples/server-assign-to-subnetwork.yml b/examples/server-assign-to-subnetwork.yml new file mode 100644 index 0000000..efc9fc1 --- /dev/null +++ b/examples/server-assign-to-subnetwork.yml @@ -0,0 +1,54 @@ +--- +- name: Demonstrate assigning a server to a specific subnetwork + hosts: localhost + connection: local + + vars: + servers: + - name: my-server1 + subnetwork: 10.0.2.0/24 + - name: my-server2 + subnetwork: 10.0.1.0/24 + - name: my-server3 + subnetwork: 10.0.2.0/24 + + tasks: + - name: Create a network + hetzner.hcloud.network: + name: my-network + ip_range: 10.0.0.0/8 + state: present + + - name: Create first subnetwork + hetzner.hcloud.subnetwork: + network: my-network + ip_range: 10.0.1.0/24 + network_zone: eu-central + type: cloud + state: present + + - name: Create second subnetwork + hetzner.hcloud.subnetwork: + network: my-network + ip_range: 10.0.2.0/24 + network_zone: eu-central + type: cloud + state: present + + - name: Create servers + hetzner.hcloud.server: + name: "{{ item.name }}" + server_type: cx22 + image: debian-12 + state: present + loop: "{{ servers }}" + + - name: Attach servers to subnetworks + hetzner.hcloud.server_network: + network: my-network + server: "{{ item.name }}" + ip: "{{ item.subnetwork | ansible.utils.nthhost(index+1) }}" + state: present + loop: "{{ servers }}" + loop_control: + index_var: index