use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.
the class ResourceGroomerTaskService method getDocumentTemplate.
@Override
public ServiceDocument getDocumentTemplate() {
EndpointResourceDeletionRequest template = (EndpointResourceDeletionRequest) super.getDocumentTemplate();
template.documentDescription.serializedStateSizeLimit = MAX_SERIALIZED_STATE_SIZE_BYTES;
return template;
}
use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.
the class ResourceGroomerTaskService method handleStart.
@Override
public void handleStart(Operation post) {
EndpointResourceDeletionRequest state = post.getBody(EndpointResourceDeletionRequest.class);
if (state.tenantLinks == null || state.tenantLinks.isEmpty()) {
post.fail(new IllegalArgumentException("tenantLinks is required."));
return;
}
if (state.endpointLink == null) {
logInfo("Starting resource groomer task for [tenant = %s].", state.tenantLinks.iterator().next());
} else if (state.endpointLink != null && (state.endpointLink.isEmpty() || !state.endpointLink.startsWith(EndpointService.FACTORY_LINK))) {
post.fail(new IllegalArgumentException(String.format("endpointLink (%s) is malformed.", state.endpointLink)));
} else {
logInfo("Starting resource groomer task for [endpoint = %s].", state.endpointLink);
}
super.handleStart(post);
}
use of com.vmware.photon.controller.model.tasks.ResourceGroomerTaskService.EndpointResourceDeletionRequest in project photon-model by vmware.
the class ResourceGroomerTaskService method handlePatch.
@Override
public void handlePatch(Operation patch) {
EndpointResourceDeletionRequest currentTask = getState(patch);
EndpointResourceDeletionRequest patchBody = getBody(patch);
if (!validateTransition(patch, currentTask, patchBody)) {
return;
}
updateState(currentTask, patchBody);
patch.complete();
switch(currentTask.taskInfo.stage) {
case STARTED:
handleSubStage(currentTask);
break;
case FINISHED:
logInfo("Successfully finished stale document deletion.");
break;
case FAILED:
logWarning("Task failed: %s", (currentTask.failureMessage == null ? "No reason given" : currentTask.failureMessage));
break;
default:
logWarning("Unexpected subStage: %s", currentTask.taskInfo.stage);
break;
}
}
Aggregations