Added Argparse
This commit is contained in:
39
create.py
Normal file → Executable file
39
create.py
Normal file → Executable 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)
|
||||
|
||||
Reference in New Issue
Block a user