From 1bfab5ad5c3a624f74e7d44d2715f703516811ab Mon Sep 17 00:00:00 2001 From: Matthew Jones Date: Thu, 11 Dec 2014 15:30:55 -0500 Subject: [PATCH] Make credential required when launching job template if it isn't provided on the job template --- awx/api/views.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/awx/api/views.py b/awx/api/views.py index ea3695cf71..754ca9c02a 100644 --- a/awx/api/views.py +++ b/awx/api/views.py @@ -1480,11 +1480,13 @@ class JobTemplateLaunch(GenericAPIView): if validation_errors: return Response(dict(errors=validation_errors), status=status.HTTP_400_BAD_REQUEST) + if obj.credential is None and ('credential' not in request.DATA and 'credential_id' not in request.DATA): + return Response(dict(errors="Credential not provided"), status=status.HTTP_400_BAD_REQUEST) new_job = obj.create_unified_job(**request.DATA) result = new_job.signal_start(**request.DATA) if not result: data = dict(passwords_needed_to_start=new_job.passwords_needed_to_start) - # TODO, this scenario leaves an orphaned "new" job. Should we delete it? + new_job.delete() return Response(data, status=status.HTTP_400_BAD_REQUEST) else: data = dict(job=new_job.id)