@Override public void handlePost(Operation post) { if (!post.hasBody()) { post.fail(new LocalizableValidationException("body is required", "compute.body" + ".required")); return; } List<String> kubernetesDefinitions = splitYaml(post.getBody(String.class)); OperationJoin.create(createOperations(kubernetesDefinitions)) .setCompletion((ops, errors) -> { List<String> resourceLinks = new ArrayList<>(); ops.values().forEach(o -> { if (o == null) { return; } KubernetesDescription desc = o.getBody(KubernetesDescription.class); if (!isNullOrEmpty(desc.documentSelfLink)) { resourceLinks.add(desc.documentSelfLink); } }); if (errors != null) { errors.values().forEach(e -> logWarning("Failed to create " + "KubernetesDescription: %s", Utils.toString(e))); cleanKubernetesDescriptionsAndFail(resourceLinks, errors, post); } else { post.setBody(resourceLinks); post.complete(); } }).sendWith(this); }