use of com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation in project fru-paqx-parent by dellemc-symphony.
the class WorkflowResource method discovervCenter.
@POST
@Path("{jobId}/start-vcenter-data-collection")
public void discovervCenter(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
asyncResponse.setTimeout(60, TimeUnit.SECONDS);
final String thisStep = findStepFromPath(uriInfo);
final Job job = workflowService.findJob(UUID.fromString(jobId));
final JobRepresentation jobRepresentation = new JobRepresentation(job);
jobRepresentation.addLink(createRetryStepLink(uriInfo, job, thisStep));
final CompletableFuture<vCenterSystemProperties> vcenterSystemCompletableFuture = vcenterService.showSystem(job.getVcenterCredentials());
vcenterSystemCompletableFuture.thenAccept(vCenterSystemProperties -> {
dataService.saveVcenterData(UUID.fromString(jobId), vCenterSystemProperties);
final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
if (nextStep != null) {
workflowService.advanceToNextStep(job, thisStep);
jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
}
LOG.info("Completing response");
asyncResponse.resume(Response.ok(jobRepresentation).build());
LOG.debug("Completed response");
});
}
use of com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation in project fru-paqx-parent by dellemc-symphony.
the class WorkflowResource method installScaleIOVIB.
@POST
@Path("{jobId}/install-scaleio-vib")
public void installScaleIOVIB(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
asyncResponse.setTimeout(10, TimeUnit.SECONDS);
//
final String thisStep = findStepFromPath(uriInfo);
final Job job = workflowService.findJob(UUID.fromString(jobId));
final JobRepresentation jobRepresentation = new JobRepresentation(job);
final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
if (nextStep != null) {
workflowService.advanceToNextStep(job, thisStep);
jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
}
LOG.info("Completing response");
asyncResponse.resume(Response.ok(jobRepresentation).build());
LOG.debug("Completed response");
}
use of com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation in project fru-paqx-parent by dellemc-symphony.
the class WorkflowResource method getJob.
@GET
@Path("{jobId}")
public Response getJob(@PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
final Job job = workflowService.findJob(UUID.fromString(jobId));
final JobRepresentation jobRepresentation = new JobRepresentation(job);
if (!"completed".equals(job.getCurrentStep())) {
jobRepresentation.addLink(createNextStepLink(uriInfo, job, job.getCurrentStep()), findMethodFromStep((job.getCurrentStep())));
}
return Response.ok(jobRepresentation).build();
}
use of com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation in project fru-paqx-parent by dellemc-symphony.
the class WorkflowResource method startScaleIOAddWorkflow.
@POST
@Path("{jobId}/start-scaleio-add-workflow")
public void startScaleIOAddWorkflow(@Suspended final AsyncResponse asyncResponse, @PathParam("jobId") String jobId, @Context UriInfo uriInfo) {
asyncResponse.setTimeoutHandler(asyncResponse1 -> asyncResponse1.resume(Response.status(Response.Status.SERVICE_UNAVAILABLE).entity("{\"status\":\"timeout\"}").build()));
asyncResponse.setTimeout(10, TimeUnit.SECONDS);
//
final String thisStep = findStepFromPath(uriInfo);
final Job job = workflowService.findJob(UUID.fromString(jobId));
final JobRepresentation jobRepresentation = new JobRepresentation(job);
final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
if (nextStep != null) {
workflowService.advanceToNextStep(job, thisStep);
jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
}
LOG.info("Completing response");
asyncResponse.resume(Response.ok(jobRepresentation).build());
LOG.debug("Completed response");
}
use of com.dell.cpsd.paqx.fru.rest.representation.JobRepresentation in project fru-paqx-parent by dellemc-symphony.
the class WorkflowResource method captureScaleIO.
@POST
@Consumes("application/vnd.dellemc.scaleio.endpoint+json")
@Path("{jobId}/{step}")
public Response captureScaleIO(@PathParam("jobId") String jobId, @PathParam("step") String step, @Context UriInfo uriInfo, EndpointCredentials scaleIOCredentials) {
final String thisStep = findStepFromPath(uriInfo);
final Job job = workflowService.findJob(UUID.fromString(jobId));
final JobRepresentation jobRepresentation = new JobRepresentation(job);
final URL url;
try {
url = new URL(scaleIOCredentials.getEndpointUrl());
} catch (MalformedURLException e) {
jobRepresentation.addLink(createRetryStepLink(uriInfo, job, thisStep));
return Response.status(Response.Status.BAD_REQUEST).entity(jobRepresentation).build();
}
job.addScaleIOCredentials(scaleIOCredentials);
final NextStep nextStep = workflowService.findNextStep(job.getWorkflow(), thisStep);
if (nextStep != null) {
workflowService.advanceToNextStep(job, thisStep);
jobRepresentation.addLink(createNextStepLink(uriInfo, job, nextStep.getNextStep()), findMethodFromStep(nextStep.getNextStep()));
}
return Response.ok(jobRepresentation).build();
}
Aggregations