From 3049353a78d9de97be514fde8d753e311737f9d3 Mon Sep 17 00:00:00 2001 From: Sawyer Bergeron Date: Fri, 29 Oct 2021 15:27:32 -0400 Subject: Start adding cloud config support to booking api Signed-off-by: Sawyer Bergeron Change-Id: Idbad76db40b08e41cdc41789b487c9d476852c57 Signed-off-by: Sawyer Bergeron --- src/api/views.py | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) (limited to 'src/api/views.py') diff --git a/src/api/views.py b/src/api/views.py index 84d19cc..a10b3ec 100644 --- a/src/api/views.py +++ b/src/api/views.py @@ -606,6 +606,25 @@ def all_users(request): return JsonResponse(users, safe=False) +def create_ci_file(request): + token = auth_and_log(request, 'booking/makeCloudConfig') + + if isinstance(token, HttpResponse): + return token + + try: + cconf = request.body + d = yaml.load(cconf) + if not (type(d) is dict): + raise Exception() + + cconf = CloudInitFile.create(text=cconf, priority=CloudInitFile.objects.count()) + + return JsonResponse({"id": cconf.id}) + except Exception: + return JsonResponse({"error": "Provided config file was not valid yaml or was not a dict at the top level"}) + + """ Lab API Views """ -- cgit 1.2.3-korg