1
0

Added Argparse

This commit is contained in:
Philipp Klüter
2020-05-17 23:25:02 +02:00
parent e02e6272d2
commit c8248ef7bf
7 changed files with 127 additions and 110 deletions

39
create.py Normal file → Executable file
View File

@@ -1,13 +1,36 @@
#!/usr/bin/env python3
from hcloud import Client
from hcloud import APIException
from hcloud.server_types.domain import ServerType
from hcloud.images.domain import Image
import argparse
with open('/Users/Philipp/Documents/Server/cloud-init/default.yaml', 'r') as file:
cloud_init = file.read()
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
parser.add_argument("serverType")
parser.add_argument("serverImage")
parser.add_argument("apiKey")
client = Client(token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f") # Please paste your API token here between the quotes
response = client.servers.create(name="my-server", server_type=ServerType(name="cx11"), image=Image(name="centos-8"), user_data=cloud_init)
server = response.server
print(server)
print("Root Password: " + response.root_password)
print("IP: " + response.server.public_net.ipv4.ip)
args = parser.parse_args()
serverName = args.serverName
serverType = args.serverType
serverImage = args.serverImage
apiKey = args.apiKey
try:
with open('/Users/Philipp/Documents/Server/cloud-init/default.yaml', 'r') as file:
cloud_init = file.read()
# Please paste your API token here between the quotes
client = Client(token=apiKey)
response = client.servers.create(name=serverName, server_type=ServerType(
name=serverType), image=Image(name=serverImage), user_data=cloud_init)
server = response.server
print(server)
print("Root Password: " + response.root_password)
print("IP: " + response.server.public_net.ipv4.ip)
except APIException as e:
print("API Error ", e)

17
delete.py Normal file → Executable file
View File

@@ -1,13 +1,24 @@
#!/usr/bin/env python3
from hcloud import Client
import argparse
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
parser.add_argument("apiKey")
client = Client(token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f") # Please paste your API token here between the quotes
args = parser.parse_args()
server = client.servers.get_by_name(name="my-server")
serverName = args.serverName
apiKey = args.apiKey
# Please paste your API token here between the quotes
client = Client(token=apiKey)
server = client.servers.get_by_name(name=serverName)
print("Deleting: ", server.name)
response = client.servers.delete(server)
print("Remaining servers: ")
servers = client.servers.get_all()
for server in servers:

13
details.py Normal file → Executable file
View File

@@ -1,13 +1,20 @@
#!/usr/bin/env python3
from hcloud import Client
import argparse
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
parser.add_argument("apiKey")
args = parser.parse_args()
serverName = args.serverName
print(serverName)
client = Client(token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f") # Please paste your API token here between the quotes
apiKey = args.apiKey
# Please paste your API token here between the quotes
client = Client(token=apiKey)
server = client.servers.get_by_name(serverName)
print("Name: ", server.name)
print("Status: ", server.status)
print("Type: ", server.server_type.name)

View File

@@ -1,49 +0,0 @@
from hcloud import Client
from hcloud.server_types.domain import ServerType
import time
import argparse
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
serverName = parser.parse_args()
print args.serverName
# Please paste your API token here between the quotes
client = Client(
token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f")
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: cx11")
response = client.servers.change_type(
server, server_type=ServerType(name="cx11"), 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)

12
list.py Normal file → Executable file
View File

@@ -1,6 +1,16 @@
#!/usr/bin/env python3
from hcloud import Client
import argparse
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("apiKey")
args = parser.parse_args()
apiKey = args.apiKey
# Please paste your API token here between the quotes
client = Client(token=apiKey)
client = Client(token="JalvbaPbizgErC2PoBSmDiFX0TKW0WLzbarxwFyNtJpx1xCvnEx3LI1B2Thl836f") # Please paste your API token here between the quotes
servers = client.servers.get_all()
for server in servers:
print("Servername:", server.name)

59
rescale_server.py Executable file
View File

@@ -0,0 +1,59 @@
#!/usr/bin/env python3
from hcloud import Client
from hcloud.server_types.domain import ServerType
import time
import argparse
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
parser.add_argument("serverType")
parser.add_argument("apiKey")
args = parser.parse_args()
serverName = args.serverName
serverType = args.serverType
apiKey = args.apiKey
try:
# Please paste your API token here between the quotes
client = Client(token=apiKey)
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: ", serverType)
response = client.servers.change_type(
server, server_type=ServerType(name=serverType), 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)
except APIException as e:
print("API Error ", e)

View File

@@ -1,44 +0,0 @@
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)