diff options
author | Valerij Fredriksen <valerijf@oath.com> | 2018-01-11 14:18:49 +0100 |
---|---|---|
committer | Valerij Fredriksen <valerijf@oath.com> | 2018-01-11 14:18:49 +0100 |
commit | 33ba8ef9adebb09b5e74840b7b2cdd31eb573012 (patch) | |
tree | 6697be955ee4406bfa1ebc6ac7baf9edb0579b7b /controller-api/src/main | |
parent | 985325621dc72673dadd0236e902072a99a52284 (diff) |
Add node-repo/orchestrator commands to ZoneApiV2
Diffstat (limited to 'controller-api/src/main')
-rw-r--r-- | controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java | 107 |
1 files changed, 107 insertions, 0 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java index 1f1350ca001..248d8d3ee28 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java @@ -7,10 +7,15 @@ import com.yahoo.vespa.hosted.controller.api.identifiers.EnvironmentId; import com.yahoo.vespa.hosted.controller.api.identifiers.InstanceId; import com.yahoo.vespa.hosted.controller.api.identifiers.RegionId; import com.yahoo.vespa.hosted.controller.api.identifiers.TenantId; +import com.yahoo.vespa.hosted.controller.api.integration.noderepository.MaintenanceJobList; +import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeList; +import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeRepositoryNode; +import com.yahoo.vespa.hosted.controller.api.integration.noderepository.NodeState; import javax.ws.rs.Consumes; import javax.ws.rs.DELETE; import javax.ws.rs.GET; +import javax.ws.rs.HeaderParam; import javax.ws.rs.POST; import javax.ws.rs.PUT; import javax.ws.rs.Path; @@ -19,6 +24,8 @@ import javax.ws.rs.Produces; import javax.ws.rs.QueryParam; import javax.ws.rs.core.MediaType; import javax.ws.rs.core.Response; +import java.util.Collection; +import java.util.Set; /** * Aka the controller proxy service. @@ -101,4 +108,104 @@ public interface ZoneApiV2 { @PathParam("environmentId") EnvironmentId environmentId, @PathParam("regionId") RegionId regionId, @QueryParam("timeout") long timeoutInSeconds); + + + @POST + @Path("/{environmentId}/{regionId}/nodes/v2/node") + String addNodes(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + Collection<NodeRepositoryNode> node); + + @DELETE + @Path("/{environmentId}/{regionId}/nodes/v2/node/{hostname}") + String deleteNode(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("hostname") String hostname); + + @GET + @Path("/{environmentId}/{regionId}/nodes/v2/node/{hostname}") + NodeRepositoryNode getNode(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("hostname") String hostname); + + @POST + @Path("/{environmentId}/{regionId}/nodes/v2/node/{hostname}") + String patchNode(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("hostname") String hostname, + NodeRepositoryNode patchValues, + @HeaderParam("X-HTTP-Method-Override") String patchOverride); + + @GET + @Path("/{environmentId}/{regionId}/nodes/v2/node/") + NodeList listNodes(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @QueryParam("recursive") boolean recursive); + + @GET + @Path("/{environmentId}/{regionId}/nodes/v2/node/") + NodeList listNodes(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @QueryParam("application") String applicationString, + @QueryParam("recursive") boolean recursive); + + @PUT + @Path("/{environmentId}/{regionId}/nodes/v2/state/{state}/{hostname}") + String setNodeState(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("state") NodeState state, + @PathParam("hostname") String hostname); + + @POST + @Path("/{environmentId}/{regionId}/nodes/v2/command/reboot") + String rebootNode(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @QueryParam("hostname") String hostname); + + @POST + @Path("/{environmentId}/{regionId}/nodes/v2/command/restart") + String restartNode(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @QueryParam("hostname") String hostname); + + @GET + @Path("/{environmentId}/{regionId}/nodes/v2/maintenance/") + MaintenanceJobList listMaintenanceJobs(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId); + + @POST + @Path("/{environmentId}/{regionId}/nodes/v2/maintenance/inactive/{jobname}") + String disableMaintenanceJob(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("jobname") String jobname); + + @DELETE + @Path("/{environmentId}/{regionId}/nodes/v2/maintenance/inactive/{jobname}") + String enableMaintenanceJob(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("jobname") String jobname); + + + @GET + @Path("/{environmentId}/{regionId}/orchestrator/v1/suspensions/applications") + Set<String> getApplications(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId); + + @GET + @Path("/{environmentId}/{regionId}/orchestrator/v1/suspensions/applications/{application}") + void getApplication(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("application") String applicationIdString); + + @POST + @Path("/{environmentId}/{regionId}/orchestrator/v1/suspensions/applications") + void suspendApplication(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + String applicationIdString); + + @DELETE + @Path("/{environmentId}/{regionId}/orchestrator/v1/suspensions/applications/{application}") + void resumeApplication(@PathParam("environmentId") EnvironmentId environmentId, + @PathParam("regionId") RegionId regionId, + @PathParam("application") String applicationIdString); } |