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)