org.macrocloud.kernel.prometheus.data.ServiceHealth Maven / Gradle / Ivy
package org.macrocloud.kernel.prometheus.data;
import com.fasterxml.jackson.annotation.JsonProperty;
import lombok.Builder;
import lombok.Getter;
import java.util.List;
import java.util.Map;
/**
* model details see
* https://www.consul.io/api/health.html#list-nodes-for-service
*
* @author consul
*/
@Getter
@Builder
public class ServiceHealth {
@JsonProperty("Node")
private Node node;
@JsonProperty("Service")
private Service service;
@JsonProperty("Checks")
private List checks;
@Getter
@Builder
public static class Node {
@JsonProperty("Node")
private String name;
@JsonProperty("Address")
private String address;
@JsonProperty("Meta")
private Map meta;
}
@Getter
@Builder
public static class Service {
@JsonProperty("ID")
private String id;
@JsonProperty("Service")
private String name;
@JsonProperty("Tags")
private List tags;
@JsonProperty("Address")
private String address;
@JsonProperty("Meta")
private Map meta;
@JsonProperty("Port")
private int port;
}
@Getter
@Builder
public static class Check {
@JsonProperty("Node")
private String node;
@JsonProperty("CheckID")
private String checkId;
@JsonProperty("Name")
private String name;
@JsonProperty("Status")
private String status;
}
}