def show_human_readable_service_list(self):
if self.result:
items = self.result.get("results")[0].get("data").get("items")
table = PrettyTable(["NAME", "CLUSTER-IP", "EXTERNAL", "HOST", "PORT(S)", "AGE"])
table.align = "l"
items = sorted(items, key=lambda x: parser.parse(x.get("metadata")["creationTimestamp"]))
for i in items:
name = i.get("metadata").get("name")
is_external = i.get("metadata").get("labels").get("external")
cluster_ip = i.get("spec").get("clusterIP")
if i.get("spec").get("domainHosts") and is_external == "true":
external_host = " ,\n".join(i.get("spec").get("domainHosts"))
else:
external_host = "--"
ports = i.get("spec").get("ports")
for p in range(len(ports)):
if ports[p].get("port") == ports[p].get("targetPort"):
ports[p] = ("%s/%s" % (ports[p].get("port"), ports[p].get("protocol")))
else:
ports[p] = ("%s:%s/%s" % (ports[p].get("port"), ports[p].get("targetPort"), ports[p].get("protocol")))
sum_ports = " ,\n".join(ports)
time = get_datetime_diff(i.get("metadata").get("creationTimestamp"))
if not self.kwargs.get("deploy") or self.kwargs.get("deploy") in i.get("metadata").get("labels").values():
table.add_row([name, cluster_ip, is_external, external_host, sum_ports, time])
print(table)
评论列表
文章目录