From ef03bd490adb4483fc0dd0f8726f33ba6187804a Mon Sep 17 00:00:00 2001 From: Brinda Santh Date: Wed, 24 Jul 2019 20:38:36 -0400 Subject: Fix missing capability cli models. Change-Id: Id5ad2f75cf27b7c09dc95a028997847098cd3d2e Issue-ID: CCSDK-1046 Signed-off-by: Brinda Santh --- .../capability_cli/Scripts/kotlin/CapabilityCli.kt | 35 ++++++++- .../Scripts/kotlin/CapabilityCliDefinitions.kt | 86 ++++++++++++++++++++++ 2 files changed, 117 insertions(+), 4 deletions(-) create mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt (limited to 'components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts') diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt index 270184d34..6b1aae45d 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt @@ -16,16 +16,43 @@ package cba.scripts.capability.cli -open class Check : CliComponentFunction() { +import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.ComponentScriptExecutor +import org.onap.ccsdk.cds.blueprintsprocessor.ssh.sshClientService +import org.onap.ccsdk.cds.controllerblueprints.core.* +import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService - private val log = LoggerFactory.getLogger(CliComponentFunction::class.java)!! + +open class Check : AbstractScriptComponentFunction() { + + private val log = logger(Check::class) override fun getName(): String { - return "SimpleCliConfigure" + return "Check" } override suspend fun processNB(executionRequest: ExecutionServiceInput) { - log.info("Executing process") + log.info("Executing process : ${executionRequest.payload}") + + val data = executionRequest.payload.at("/check-request/data") + + log.info("Data : ${data.asJsonString()}") + + val checkCommands = mashTemplateNData("command-template", data.asJsonString()) + + log.info("Check Commands :$checkCommands") + + // Get the Device Information from the DSL Model + val deviceInformation = bluePrintRuntimeService.resolveDSLExpression("device-properties") + + log.info("Device Info :$deviceInformation") + + // Get the Client Service + val sshClientService = BluePrintDependencyService.sshClientService(deviceInformation) + + log.info("Client service is ready") + } override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) { diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt new file mode 100644 index 000000000..057030b22 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt @@ -0,0 +1,86 @@ +/* + * Copyright © 2019 IBM. + * + * 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. + */ + +package cba.scripts.capability.cli + +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.componentScriptExecutor +import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintTypes +import org.onap.ccsdk.cds.controllerblueprints.core.data.ServiceTemplate +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.artifactTypeTemplateVelocity +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.nodeTypeComponent +import org.onap.ccsdk.cds.controllerblueprints.core.dsl.serviceTemplate +import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.AbstractBluePrintDefinitions + +class CapabilityCliDefinitions : AbstractBluePrintDefinitions() { + + override fun serviceTemplate(): ServiceTemplate { + return defaultServiceTemplate() + } +} + +fun CapabilityCliDefinitions.defaultServiceTemplate() = + serviceTemplate(name = "capability-cli", + version = "1.0.0", + author = "Brinda Santh Muthuramalingam", + tags = "brinda, tosca") { + + dsl("device-properties", """" + { + "type": "basic-auth", + "host": { "get_input": "hostname" }, + "username": { "get_input": "username" }, + "password": { "get_input": "password" } + } + """.trimIndent()) + + topologyTemplate { + + workflow(id = "check", description = "CLI Check Workflow") { + inputs { + property(id = "hostname", type = "string", required = true, description = "") + property(id = "username", type = "string", required = true, description = "") + property(id = "password", type = "string", required = true, description = "") + property(id = "data", type = "json", required = true, description = "") + } + outputs { + property(id = "status", required = true, type = "string", description = "") + } + step(id = "check", target = "check", description = "Calling check script node") + + } + + nodeTemplate(id = "check", + type = "component-script-executor", + description = "") { + operation(interfaceName = "process", description = "") { + inputs { + property(id = "script-type", value = "kotlin") + property(id = "script-class-reference", value = "cba.scripts.capability.cli.Check") + } + outputs { + property(id = "response-data", value = "") + property(id = "status", value = "success") + } + } + artifact(id = "command-template", type = "artifact-template-velocity", file = "Templates/check-command-template.vtl") + } + } + + artifactType(BluePrintTypes.artifactTypeTemplateVelocity()) + nodeType(BluePrintTypes.nodeTypeComponent()) + nodeType(BluePrintTypes.componentScriptExecutor()) + + } \ No newline at end of file -- cgit 1.2.3-korg