@ PATCH @ Path ( "/{host}/jobs/{job}" ) @ Produces ( APPLICATION_JSON ) @ Timed @ ExceptionMetered public SetGoalResponse jobPatch ( @ PathParam ( "host" ) final String host , @ PathParam ( "job" ) final JobId jobId , @ Valid final Deployment deployment , @ QueryParam ( "token" ) @ DefaultValue ( "" ) final String token ) { if ( ! deployment . getJobId ( ) . equals ( jobId ) ) { throw badRequest ( new SetGoalResponse ( SetGoalResponse . Status . ID_MISMATCH , host , jobId ) ) ; } try { model . updateDeployment ( host , deployment , token ) ; } catch ( HostNotFoundException e ) { throw notFound ( new SetGoalResponse ( SetGoalResponse . Status . HOST_NOT_FOUND , host , jobId ) ) ; } catch ( JobNotDeployedException e ) { throw notFound ( new SetGoalResponse ( SetGoalResponse . Status . JOB_NOT_DEPLOYED , host , jobId ) ) ; } catch ( TokenVerificationException e ) { throw forbidden ( new SetGoalResponse ( SetGoalResponse . Status . FORBIDDEN , host , jobId ) ) ; } log . info ( "patched job {} on host {}" , deployment , host ) ; return new SetGoalResponse ( SetGoalResponse . Status . OK , host , jobId ) ; }
Alters the current deployment of a deployed job identified by its job id on the specified host .