24367e6e4dcc096fc6d3e2e4b33cc3a4473b1679
[portal.git] / ecomp-portal-BE-common / src / main / java / org / openecomp / portalapp / portal / service / ConsulHealthService.java
1 /*-
2  * ================================================================================
3  * ECOMP Portal
4  * ================================================================================
5  * Copyright (C) 2017 AT&T Intellectual Property
6  * ================================================================================
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  * 
11  *      http://www.apache.org/licenses/LICENSE-2.0
12  * 
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  * ================================================================================
19  */
20 package org.openecomp.portalapp.portal.service;
21
22 import java.util.List;
23
24 import org.openecomp.portalapp.portal.exceptions.NoHealthyServiceException;
25 import com.ecwid.consul.ConsulException;
26 import com.orbitz.consul.model.health.ServiceHealth;
27
28 public interface ConsulHealthService {
29         /**
30          * This method returns the location of one healthy node if found in Consul -
31          * If not found in / by Consul, it falls back to 'localhost'
32          * 
33          * @param service
34          * @param fallbackPortOnLocalhost
35          *            value provided by the calling service
36          * @return Service location
37          */
38         public String getServiceLocation(String service, String fallbackPortOnLocalhost) throws NoHealthyServiceException;
39
40         public List<ServiceHealth> getAllHealthyNodes(String service) throws ConsulException;
41
42         public List<ServiceHealth> getAllNodes(String service) throws ConsulException;
43 }