All Downloads are FREE. Search and download functionalities are using the official Maven repository.

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;
	}
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy