aboutsummaryrefslogtreecommitdiffstats
path: root/ccsdk-app-common/src/main/java/org/onap/ccsdk/dashboard/model/ConsulNodeInfo.java
blob: 617830c0e0393b5a8e24c06ba00d997e4467e852 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
/*******************************************************************************
 * =============LICENSE_START=========================================================
 *
 * =================================================================================
 *  Copyright (c) 2019 AT&T Intellectual Property. All rights reserved.
 * ================================================================================
 *  Licensed under the Apache License, Version 2.0 (the "License");
 *  you may not use this file except in compliance with the License.
 *  You may obtain a copy of the License at
 *  
 *      http://www.apache.org/licenses/LICENSE-2.0
 *  
 *  Unless required by applicable law or agreed to in writing, software
 *  distributed under the License is distributed on an "AS IS" BASIS,
 *  WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 *  See the License for the specific language governing permissions and
 *  limitations under the License.
 * ============LICENSE_END=========================================================
 *
 *  ECOMP is a trademark and service mark of AT&T Intellectual Property.
 *******************************************************************************/
package org.onap.ccsdk.dashboard.model;

import java.util.Map;

import com.fasterxml.jackson.annotation.JsonCreator;
import com.fasterxml.jackson.annotation.JsonProperty;

/**
 * Model for message returned by Consul about a node registered for health monitoring.
 * 
 * <pre>
  {
	"ID":"a2788806-6e2e-423e-8ee7-6cad6f3d3de6",
	"Node":"cjlvmcnsl00",
	"Address":"10.170.8.13",
	"TaggedAddresses":{"lan":"10.170.8.13","wan":"10.170.8.13"},
	"Meta":{},
	"CreateIndex":6,
	"ModifyIndex":179808
   }
	</pre>
 */
public final class ConsulNodeInfo extends ECTransportModel {

	public final String id;
	public final String node;
	public final String address;	
	public final Map<String,Object> taggedAddresses;
	public final Map<String,Object> meta;
	public final int createIndex;
	public final int modifyIndex;

	@JsonCreator
	public ConsulNodeInfo(
			@JsonProperty("ID") String id,
			@JsonProperty("Node") String node,
			@JsonProperty("Address") String address,
			@JsonProperty("TaggedAddresses") Map<String,Object> taggedAddresses,
			@JsonProperty("Meta") Map<String,Object> meta,
			@JsonProperty("CreateIndex") int createIndex,
			@JsonProperty("ModifyIndex") int modifyIndex) {
		this.id = id;
		this.node = node;
		this.address = address;
		this.taggedAddresses = taggedAddresses;
		this.meta = meta;
		this.createIndex = createIndex;
		this.modifyIndex = modifyIndex;
	}

}