use of org.onosproject.k8snetworking.api.K8sIngressService in project onos by opennetworkinglab.
the class K8sIngressListCommand method doExecute.
@Override
protected void doExecute() {
K8sIngressService service = get(K8sIngressService.class);
List<Ingress> ingresses = Lists.newArrayList(service.ingresses());
ingresses.sort(Comparator.comparing(p -> p.getMetadata().getName()));
String format = genFormatString(ImmutableList.of(CLI_NAME_LENGTH, CLI_NAMESPACE_LENGTH, CLI_IP_ADDRESS_LENGTH));
if (outputJson()) {
print("%s", json(ingresses));
} else {
print(format, "Name", "Namespace", "LB Addresses");
for (Ingress ingress : ingresses) {
List<String> lbIps = Lists.newArrayList();
ingress.getStatus().getLoadBalancer().getIngress().forEach(i -> lbIps.add(i.getIp()));
print(format, StringUtils.substring(ingress.getMetadata().getName(), 0, CLI_NAME_LENGTH - CLI_MARGIN_LENGTH), StringUtils.substring(ingress.getMetadata().getNamespace(), 0, CLI_NAMESPACE_LENGTH - CLI_MARGIN_LENGTH), lbIps.isEmpty() ? "" : lbIps);
}
}
}
Aggregations