1 package org.onap.msb.apiroute.wrapper.consulextend.model.health;
3 import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
4 import com.fasterxml.jackson.annotation.JsonProperty;
5 import com.fasterxml.jackson.databind.annotation.JsonDeserialize;
6 import com.fasterxml.jackson.databind.annotation.JsonSerialize;
7 import com.google.common.collect.ImmutableList;
8 import com.orbitz.consul.model.health.HealthCheck;
9 import com.orbitz.consul.model.health.Node;
11 import org.immutables.value.Value;
13 import java.util.List;
15 @JsonSerialize(as = ImmutableServiceHealth.class)
16 @JsonDeserialize(as = ImmutableServiceHealth.class)
17 @JsonIgnoreProperties(ignoreUnknown = true)
18 public abstract class ServiceHealth {
21 public abstract Node getNode();
23 @JsonProperty("Service")
24 public abstract Service getService();
26 @JsonProperty("Checks")
27 @JsonDeserialize(as = ImmutableList.class, contentAs = HealthCheck.class)
28 public abstract List<HealthCheck> getChecks();