private void createResourcePrefixNameSelectionTask(ContainerAllocationTaskState state,
ContainerDescription containerDescription) {
if (containerDescription == null) {
getContainerDescription(state,
(contDesc) -> this.createResourcePrefixNameSelectionTask(state, contDesc));
return;
}
ResourceNamePrefixTaskState namePrefixTask = new ResourceNamePrefixTaskState();
namePrefixTask.documentSelfLink = getSelfId();
namePrefixTask.resourceCount = state.resourceCount;
namePrefixTask.baseResourceNameFormat = ResourceNamePrefixService
.getDefaultResourceNameFormat(containerDescription.name);
namePrefixTask.tenantLinks = state.tenantLinks;
namePrefixTask.customProperties = state.customProperties;
namePrefixTask.serviceTaskCallback = ServiceTaskCallback.create(getSelfLink(),
TaskStage.STARTED, SubStage.RESOURCES_NAMED,
TaskStage.STARTED, SubStage.ERROR);
namePrefixTask.requestTrackerLink = state.requestTrackerLink;
sendRequest(Operation.createPost(this, ResourceNamePrefixTaskService.FACTORY_LINK)
.setBody(namePrefixTask)
.setCompletion((o, e) -> {
if (e != null) {
failTask("Failure creating resource name prefix task", e);
return;
}
}));
}