1
0
Files
hetzner-automation/upscale_server.py
Philipp Klüter e02e6272d2 initial dev commit
2020-05-17 22:44:14 +02:00

45 lines
1.4 KiB
Python

from hcloud import Client
from hcloud.server_types.domain import ServerType
import time
# Please paste your API token here between the quotes
client = Client(
token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f")
serverName="my-server"
server = client.servers.get_by_name(name=serverName)
if server.status != "off":
print("Stopping: ", server.name)
response = client.servers.power_off(server)
while server.status != "off":
print("Server not yet powerd off, waiting 2 seconds")
time.sleep(2)
server = client.servers.get_by_name(name=serverName)
print("Change server type : ", server.name, " to: CPX31")
response = client.servers.change_type(
server, server_type=ServerType(name="cpx31"), upgrade_disk="false")
print("Change server type initiated. Waiting 10 seconds.")
time.sleep(10)
server = client.servers.get_by_name(name=serverName)
while server.status == "migrating":
print("Server is migrating, waiting 10 seconds.")
time.sleep(10)
server = client.servers.get_by_name(name=serverName)
while server.status == "starting":
print("Server is starting, waiting 5 seconds.")
time.sleep(5)
server = client.servers.get_by_name(name=serverName)
if server.status == "running":
print("Server finished migration successfully")
else:
print("Server finished migration with unexpected status.")
print("Server status: ", server.status)