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 / Service.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 org.immutables.value.Value;
9
10 import java.util.List;
11
12 @Value.Immutable
13 @JsonSerialize(as = ImmutableService.class)
14 @JsonDeserialize(as = ImmutableService.class)
15 @JsonIgnoreProperties(ignoreUnknown = true)
16 public abstract class Service {
17
18         @JsonProperty("ID")
19         public abstract String getId();
20
21         @JsonProperty("Service")
22         public abstract String getService();
23
24         @JsonProperty("Tags")
25         @JsonDeserialize(as = ImmutableList.class, contentAs = String.class)
26         public abstract List<String> getTags();
27
28         @JsonProperty("Address")
29         public abstract String getAddress();
30
31         @JsonProperty("Port")
32         public abstract int getPort();
33
34         @JsonProperty("CreateIndex")
35         public abstract int getCreateIndex();
36
37         @JsonProperty("ModifyIndex")
38         public abstract int getModifyIndex();
39 }