From 06e30271064052de497480d17a046b49a58c5711 Mon Sep 17 00:00:00 2001 From: Lukasz Rajewski Date: Fri, 19 Feb 2021 19:23:11 +0100 Subject: K8sPlugin Query API endpoint added K8sPlugin Query API endpoint added Issue-ID: CCSDK-3146 Signed-off-by: Lukasz Rajewski Change-Id: I10abfd986de0df0069b258276fe0ec0fc9b76bff --- .../functions/k8s/instance/K8sPluginInstanceApi.kt | 29 ++++++++++++++++++++++ 1 file changed, 29 insertions(+) (limited to 'ms/blueprintsprocessor') diff --git a/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt b/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt index 120c38044..e0366f994 100644 --- a/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt +++ b/ms/blueprintsprocessor/functions/k8s-connection-plugin/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/k8s/instance/K8sPluginInstanceApi.kt @@ -120,6 +120,35 @@ class K8sPluginInstanceApi( } } + fun queryInstanceStatus(instanceId: String, kind: String, apiVersion: String, name: String?, labels: String?): K8sRbInstanceStatus? { + val rbInstanceService = K8sRbInstanceRestClient(k8sConfiguration, instanceId) + try { + var path: String = "/query?ApiVersion=$apiVersion&Kind=$kind" + if (name != null) + path = path.plus("&Name=$name") + if (labels != null) + path = path.plus("&Labels=$labels") + val result: BlueprintWebClientService.WebClientResponse = rbInstanceService.exchangeResource( + GET.name, + path, + "" + ) + log.debug(result.toString()) + return if (result.status in 200..299) { + val parsedObject: K8sRbInstanceStatus? = JacksonUtils.readValue( + result.body, K8sRbInstanceStatus::class.java + ) + parsedObject + } else if (result.status == 500 && result.body.contains("Error finding master table")) + null + else + throw BlueprintProcessorException(result.body) + } catch (e: Exception) { + log.error("Caught exception trying to get k8s rb instance") + throw BlueprintProcessorException("${e.message}") + } + } + fun getInstanceHealthCheckList(instanceId: String): List? { val rbInstanceService = K8sRbInstanceRestClient(k8sConfiguration, instanceId) try { -- cgit 1.2.3-korg