Skip to content

Instantly share code, notes, and snippets.

@tonymorony
Created January 25, 2020 17:34
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tonymorony/727bc6171d8e5e41d3ec0ea43fcdef35 to your computer and use it in GitHub Desktop.
Save tonymorony/727bc6171d8e5e41d3ec0ea43fcdef35 to your computer and use it in GitHub Desktop.
import requests
import json
header = {"Authorization": "Bearer putyourAPItokenthere", 'Content-type': 'Application/JSON'}
servers_list1 = requests.get("https://api.hetzner.cloud/v1/servers?page=1&per_page=50", headers=header).json()
servers_list2 = requests.get("https://api.hetzner.cloud/v1/servers?page=2&per_page=50", headers=header).json()
servers_ips = []
servers_ids = []
for server in servers_list1["servers"]:
servers_ids.append(server["id"])
servers_ips.append(server["public_net"]["ipv4"]["ip"])
for server in servers_list2["servers"]:
servers_ids.append(server["id"])
servers_ips.append(server["public_net"]["ipv4"]["ip"])
def delete_servers(servers_ids, header):
for server_id in servers_ids:
deletion_link = "https://api.hetzner.cloud/v1/servers/" + str(server_id)
print(requests.delete(deletion_link, headers=header).json())
def print_ips():
print(len(servers_ips))
print(servers_ips)
def spin_servers(amount, header):
for servers in range(0,amount):
spin_data = {"name": "my-server", "server_type": "cx21", "location": "nbg1", "start_after_create": True, "image": "ubuntu-18.04", "ssh_keys": [1215055], "volumes": [1], "networks": [1], "user_data": "#cloud-config\nruncmd:\n- [touch, /root/cloud-init-worked]\n", "automount": False}
print(spin_data)
print(requests.post("https://api.hetzner.cloud/v1/servers", headers=header, data=spin_data).json())
def get_ssh_keys(header):
print(requests.get("https://api.hetzner.cloud/v1/ssh_keys", headers=header).json())
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment