From 5fbf4ac6c0194f9bb4b827db967fc8e1a91a1d12 Mon Sep 17 00:00:00 2001 From: Matthew Cotton Date: Thu, 21 Jul 2016 16:49:35 -0400 Subject: [PATCH] Change API /skipHealthchecks to /skip-healthchecks Done to preserve API URL style. Deprecated @Path's preserved and tagged as @Deprecated. --- Docs/features/expiring-actions.md | 4 +-- Docs/reference/api.md | 4 +-- Docs/reference/apidocs/api-requests.md | 4 +-- .../resources/RequestResource.java | 25 ++++++++++++++++++- SingularityUI/app/models/Request.coffee | 6 ++--- 5 files changed, 33 insertions(+), 10 deletions(-) diff --git a/Docs/features/expiring-actions.md b/Docs/features/expiring-actions.md index 5067a17158..b6a09a0e18 100644 --- a/Docs/features/expiring-actions.md +++ b/Docs/features/expiring-actions.md @@ -116,7 +116,7 @@ This URL accepts a JSON object with this format: **NOTE:** The `user` field has been removed from this object. #### Disabling request healthchecks -- `/requests/request/{requestId}/skipHealthchecks` +- `/requests/request/{requestId}/skip-healthchecks` This URL accepts a JSON object with this format: @@ -130,6 +130,6 @@ This URL accepts a JSON object with this format: ### New endpoints for cancelling actions These endpoints were added in order to support cancelling certain actions: - `DELETE /requests/request/{requestId}/scale` -- Cancel an expiring scale -- `DELETE /requests/request/{requestId}/skipHealthchecks` -- Cancel an expiring skip healthchecks override +- `DELETE /requests/request/{requestId}/skip-healthchecks` -- Cancel an expiring skip healthchecks override - `DELETE /request/{requestId}/pause` -- Cancel (unpause) an expiring pause - `DELETE /request/{requestId}/bounce` -- Cancel a bounce \ No newline at end of file diff --git a/Docs/reference/api.md b/Docs/reference/api.md index 4f4bf38af5..f318a58275 100644 --- a/Docs/reference/api.md +++ b/Docs/reference/api.md @@ -825,7 +825,7 @@ Unpause a Singularity Request, scheduling new tasks immediately - - - -#### **PUT** `/api/requests/request/{requestId}/skipHealthchecks` +#### **PUT** `/api/requests/request/{requestId}/skip-healthchecks` Update the skipHealthchecks field for the request, possibly temporarily @@ -853,7 +853,7 @@ Update the skipHealthchecks field for the request, possibly temporarily - - - -#### **DELETE** `/api/requests/request/{requestId}/skipHealthchecks` +#### **DELETE** `/api/requests/request/{requestId}/skip-healthchecks` Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent. diff --git a/Docs/reference/apidocs/api-requests.md b/Docs/reference/apidocs/api-requests.md index 35ad881933..f5dee9c30e 100644 --- a/Docs/reference/apidocs/api-requests.md +++ b/Docs/reference/apidocs/api-requests.md @@ -29,7 +29,7 @@ Unpause a Singularity Request, scheduling new tasks immediately - - - -#### **PUT** `/api/requests/request/{requestId}/skipHealthchecks` +#### **PUT** `/api/requests/request/{requestId}/skip-healthchecks` Update the skipHealthchecks field for the request, possibly temporarily @@ -57,7 +57,7 @@ Update the skipHealthchecks field for the request, possibly temporarily - - - -#### **DELETE** `/api/requests/request/{requestId}/skipHealthchecks` +#### **DELETE** `/api/requests/request/{requestId}/skip-healthchecks` Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent. diff --git a/SingularityService/src/main/java/com/hubspot/singularity/resources/RequestResource.java b/SingularityService/src/main/java/com/hubspot/singularity/resources/RequestResource.java index 70c15b5c2d..8a9e794576 100644 --- a/SingularityService/src/main/java/com/hubspot/singularity/resources/RequestResource.java +++ b/SingularityService/src/main/java/com/hubspot/singularity/resources/RequestResource.java @@ -43,7 +43,6 @@ import com.hubspot.singularity.SingularityRequestParent; import com.hubspot.singularity.SingularityRequestWithState; import com.hubspot.singularity.SingularityService; -import com.hubspot.singularity.SingularityTask; import com.hubspot.singularity.SingularityTaskId; import com.hubspot.singularity.SingularityTransformHelpers; import com.hubspot.singularity.SingularityUser; @@ -585,9 +584,20 @@ public SingularityRequestParent deleteExpiringScale(@ApiParam("The Request ID") return deleteExpiringObject(SingularityExpiringScale.class, requestId); } + @Deprecated @DELETE @Path("/request/{requestId}/skipHealthchecks") @ApiOperation(value="Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent.", response=SingularityRequestParent.class) + @ApiResponses({ + @ApiResponse(code=404, message="No Request or expiring skipHealthchecks request for that ID"), + }) + public SingularityRequestParent deleteExpiringSkipHealthchecksDeprecated(@ApiParam("The Request ID") @PathParam("requestId") String requestId) { + return deleteExpiringSkipHealthchecks(requestId); + } + + @DELETE + @Path("/request/{requestId}/skip-healthchecks") + @ApiOperation(value="Delete/cancel the expiring skipHealthchecks. This makes the skipHealthchecks request permanent.", response=SingularityRequestParent.class) @ApiResponses({ @ApiResponse(code=404, message="No Request or expiring skipHealthchecks request for that ID"), }) @@ -615,10 +625,23 @@ public SingularityRequestParent deleteExpiringBounce(@ApiParam("The Request ID") return deleteExpiringObject(SingularityExpiringBounce.class, requestId); } + @Deprecated @PUT @Path("/request/{requestId}/skipHealthchecks") @Consumes({ MediaType.APPLICATION_JSON }) @ApiOperation(value="Update the skipHealthchecks field for the request, possibly temporarily", response=SingularityRequestParent.class) + @ApiResponses({ + @ApiResponse(code=404, message="No Request with that ID"), + }) + public SingularityRequestParent skipHealthchecksDeprecated(@ApiParam("The Request ID to scale") @PathParam("requestId") String requestId, + @ApiParam("SkipHealtchecks options") SingularitySkipHealthchecksRequest skipHealthchecksRequest) { + return skipHealthchecks(requestId, skipHealthchecksRequest); + } + + @PUT + @Path("/request/{requestId}/skip-healthchecks") + @Consumes({ MediaType.APPLICATION_JSON }) + @ApiOperation(value="Update the skipHealthchecks field for the request, possibly temporarily", response=SingularityRequestParent.class) @ApiResponses({ @ApiResponse(code=404, message="No Request with that ID"), }) diff --git a/SingularityUI/app/models/Request.coffee b/SingularityUI/app/models/Request.coffee index 65f78349ca..3371f2e3c2 100644 --- a/SingularityUI/app/models/Request.coffee +++ b/SingularityUI/app/models/Request.coffee @@ -145,7 +145,7 @@ class Request extends Model makeSkipHealthchecksPermanent: (callback) => $.ajax( - url: "#{ @url() }/skipHealthchecks" + url: "#{ @url() }/skip-healthchecks" type: "DELETE" ).then () => @unset('expiringSkipHealthchecks') @@ -189,7 +189,7 @@ class Request extends Model data.durationMillis = duration $.ajax type: "PUT" - url: "#{ @url() }/skipHealthchecks" + url: "#{ @url() }/skip-healthchecks" contentType: 'application/json' data: JSON.stringify data @@ -203,7 +203,7 @@ class Request extends Model data.durationMillis = duration $.ajax type: "PUT" - url: "#{ @url() }/skipHealthchecks" + url: "#{ @url() }/skip-healthchecks" contentType: 'application/json' data: JSON.stringify data