Divide the MSB source codes into two repos
[msb/apigateway.git] / apiroute / apiroute-service / src / main / java / org / onap / msb / apiroute / wrapper / consulextend / model / health / ServiceHealth.java
1 package org.onap.msb.apiroute.wrapper.consulextend.model.health;
2
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;
10
11 import org.immutables.value.Value;
12
13 import java.util.List;
14 @Value.Immutable
15 @JsonSerialize(as = ImmutableServiceHealth.class)
16 @JsonDeserialize(as = ImmutableServiceHealth.class)
17 @JsonIgnoreProperties(ignoreUnknown = true)
18 public abstract class ServiceHealth {
19
20     @JsonProperty("Node")
21     public abstract Node getNode();
22
23     @JsonProperty("Service")
24     public abstract Service getService();
25
26     @JsonProperty("Checks")
27     @JsonDeserialize(as = ImmutableList.class, contentAs = HealthCheck.class)
28     public abstract List<HealthCheck> getChecks();
29     
30 }