use of io.fabric8.kubernetes.api.model.APIGroup in project strimzi by strimzi.
the class PlatformFeaturesAvailabilityTest method buildAPIGroup.
private APIGroup buildAPIGroup(String group, String... versions) {
APIGroup apiGroup = new APIGroupBuilder().withName(group).build();
List<GroupVersionForDiscovery> groupVersions = new ArrayList<>();
for (String version : versions) {
groupVersions.add(new GroupVersionForDiscoveryBuilder().withGroupVersion(group + "/" + version).withVersion(version).build());
}
apiGroup.setVersions(groupVersions);
return apiGroup;
}
use of io.fabric8.kubernetes.api.model.APIGroup in project strimzi-kafka-operator by strimzi.
the class PlatformFeaturesAvailability method checkApiAvailability.
private static Future<Boolean> checkApiAvailability(Vertx vertx, KubernetesClient client, String group, String version) {
Promise<Boolean> promise = Promise.promise();
vertx.executeBlocking(request -> {
try {
APIGroup apiGroup = client.getApiGroup(group);
boolean supported;
if (apiGroup != null) {
supported = apiGroup.getVersions().stream().anyMatch(v -> version.equals(v.getVersion()));
} else {
supported = false;
}
LOGGER.warn("API Group {} is {}supported", group, supported ? "" : "not ");
request.complete(supported);
} catch (Exception e) {
LOGGER.error("Detection of API availability failed.", e);
request.fail(e);
}
}, promise);
return promise.future();
}
Aggregations