summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorValerij Fredriksen <valerijf@oath.com>2018-01-11 14:18:49 +0100
committerValerij Fredriksen <valerijf@oath.com>2018-01-11 14:18:49 +0100
commit33ba8ef9adebb09b5e74840b7b2cdd31eb573012 (patch)
tree6697be955ee4406bfa1ebc6ac7baf9edb0579b7b /controller-api
parent985325621dc72673dadd0236e902072a99a52284 (diff)
Add node-repo/orchestrator commands to ZoneApiV2
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/zone/v2/ZoneApiV2.java107
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);
}