diff --git a/examples/server-with-private-ip-only.yml b/examples/server-with-private-ip-only.yml new file mode 100644 index 0000000..67cf47e --- /dev/null +++ b/examples/server-with-private-ip-only.yml @@ -0,0 +1,50 @@ +--- +- name: Demonstrate creating a server that only has a private ip + hosts: localhost + connection: local + + vars: + servers: + - name: my-server1 + private_ip: 10.0.0.2 + - name: my-server2 + private_ip: 10.0.0.3 + + tasks: + - name: Create a network + hetzner.hcloud.network: + name: my-network + ip_range: 10.0.0.0/8 + state: present + + - name: Create a subnetwork + hetzner.hcloud.subnetwork: + network: my-network + ip_range: 10.0.0.0/16 + network_zone: eu-central + type: cloud + state: present + + - name: Create servers without public IPs + hetzner.hcloud.server: + name: "{{ item.name }}" + server_type: cx11 + image: debian-12 + enable_ipv4: false + enable_ipv6: false + state: stopped # A server without networking cannot be started! + loop: "{{ servers }}" + + - name: Attach private IP to servers + hetzner.hcloud.server_network: + network: my-network + server: "{{ item.name }}" + ip: "{{ item.private_ip }}" + state: present + loop: "{{ servers }}" + + - name: Start servers + hetzner.hcloud.server: + name: "{{ item.name }}" + state: started + loop: "{{ servers }}"