From d07d4be9323a94fabe629fb05b311a355a10d571 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Philipp=20Kl=C3=BCter?= Date: Fri, 22 May 2020 17:04:07 +0200 Subject: [PATCH] Added ssh_key option --- create.py | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/create.py b/create.py index e4f41d0..b638b88 100755 --- a/create.py +++ b/create.py @@ -10,6 +10,7 @@ parser.add_argument("serverName") parser.add_argument("serverType") parser.add_argument("serverImage") parser.add_argument('-ci', '--cloudInit', dest='ciFile', metavar='cloud-init filepath') +parser.add_argument('-s', '--sshKeys', dest='sshKeys', metavar='ssh keys (comma separated)') parser.add_argument("apiKey") @@ -20,20 +21,31 @@ serverType = args.serverType serverImage = args.serverImage apiKey = args.apiKey ciFile = args.ciFile +sshKeys = args.sshKeys +ssh_keys = []; + try: + client = Client(token=apiKey) + if ciFile: with open(ciFile, 'r') as file: cloud_init = file.read() else: cloud_init='' - client = Client(token=apiKey) + if sshKeys: + for sshKey in sshKeys.split(','): + ssh_keys.append(client.ssh_keys.get_by_name(sshKey)) + else: + ssh_keys='' + response = client.servers.create(name=serverName, server_type=ServerType( - name=serverType), image=Image(name=serverImage), user_data=cloud_init) + name=serverType), image=Image(name=serverImage), user_data=cloud_init, ssh_keys=ssh_keys) server = response.server - print(server) - print("Root Password: " + response.root_password) + + if response.root_password: + print("Root Password: " + response.root_password) print("IP: " + response.server.public_net.ipv4.ip) except APIException as e: