2 * Copyright © 2019 IBM.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 package cba.capability.cli
19 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
20 import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
21 import org.onap.ccsdk.cds.blueprintsprocessor.ssh.sshClientService
22 import org.onap.ccsdk.cds.controllerblueprints.core.BlueprintProcessorException
23 import org.onap.ccsdk.cds.controllerblueprints.core.asJsonString
24 import org.onap.ccsdk.cds.controllerblueprints.core.logger
25 import org.onap.ccsdk.cds.controllerblueprints.core.service.BlueprintDependencyService
27 open class Check : AbstractScriptComponentFunction() {
29 private val log = logger(Check::class)
31 override fun getName(): String {
35 override suspend fun processNB(executionRequest: ExecutionServiceInput) {
36 log.info("Executing process : ${executionRequest.payload}")
38 val data = requestPayloadActionProperty("data")?.first()
39 ?: throw BlueprintProcessorException("Failed to load payload data properties.")
41 log.info("Data : ${data.asJsonString()}")
43 val checkCommands = mashTemplateNData("command-template", data.asJsonString())
45 log.info("Check Commands :$checkCommands")
47 // Get the Device Information from the Relationship Model
48 val deviceInformation = relationshipProperty("ssh-connection-config", "connection-config")
50 log.info("Device Info :$deviceInformation")
52 // Get the Client Service
53 val sshClientService = BlueprintDependencyService.sshClientService(deviceInformation)
55 log.info("Client service is ready")
58 override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
59 log.info("Executing Recovery")