1
0
Files
hetzner-automation/create.py
Philipp Klüter c8248ef7bf Added Argparse
2020-05-17 23:25:02 +02:00

37 lines
1.1 KiB
Python
Executable File

#!/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
# Get Servername
parser = argparse.ArgumentParser()
parser.add_argument("serverName")
parser.add_argument("serverType")
parser.add_argument("serverImage")
parser.add_argument("apiKey")
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)