From f70690830c018b1a0a0ada113eb0df33c52965f8 Mon Sep 17 00:00:00 2001 From: Brinda Santh Date: Thu, 1 Aug 2019 15:53:07 -0400 Subject: Add CBA parent pom. Change-Id: Iddfb27d271bbb58375190c506173edccdd60b9e0 Issue-ID: CCSDK-1576 Signed-off-by: Brinda Santh --- .../Definitions/capability-cli-blueprint.json | 2 +- .../capability_cli/Distribution/cba_zip.xml | 43 +++++++++++ .../capability_cli/Scripts/kotlin/CapabilityCli.kt | 61 --------------- .../Scripts/kotlin/CapabilityCliDefinitions.kt | 87 ---------------------- .../kotlin/cba/capability/cli/CapabilityCli.kt | 61 +++++++++++++++ .../cba/capability/cli/CapabilityCliDefinitions.kt | 87 ++++++++++++++++++++++ .../test-blueprint/capability_cli/pom.xml | 62 +++++++++++++++ 7 files changed, 254 insertions(+), 149 deletions(-) create mode 100755 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml delete mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt delete mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt create mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCli.kt create mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCliDefinitions.kt create mode 100644 components/model-catalog/blueprint-model/test-blueprint/capability_cli/pom.xml (limited to 'components/model-catalog') diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Definitions/capability-cli-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Definitions/capability-cli-blueprint.json index ceb705127..df50fea44 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Definitions/capability-cli-blueprint.json +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Definitions/capability-cli-blueprint.json @@ -90,7 +90,7 @@ }, "inputs": { "script-type": "kotlin", - "script-class-reference": "cba.scripts.capability.cli.Check" + "script-class-reference": "cba.capability.cli.Check" }, "outputs": { "response-data": "", diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml new file mode 100755 index 000000000..c6c3bde71 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Distribution/cba_zip.xml @@ -0,0 +1,43 @@ + + + + + + cba + + zip + + false + + + ${project.basedir} + + Definitions/** + Distribution/** + Environments/** + Plans/** + Others/** + Scripts/** + Templates/** + TOSCA-Metadata/** + pom.xml + + + + \ No newline at end of file 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 deleted file mode 100644 index 6b1aae45d..000000000 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.kt +++ /dev/null @@ -1,61 +0,0 @@ -/* - * 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.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 - - -open class Check : AbstractScriptComponentFunction() { - - private val log = logger(Check::class) - - override fun getName(): String { - return "Check" - } - - override suspend fun processNB(executionRequest: ExecutionServiceInput) { - 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) { - log.info("Executing Recovery") - } -} \ No newline at end of file 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 deleted file mode 100644 index 27f9cddcf..000000000 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCliDefinitions.kt +++ /dev/null @@ -1,87 +0,0 @@ -/* - * 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.nodeTemplateComponentScriptExecutor -import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.nodeTypeComponentScriptExecutor -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.getAttribute -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 = "") { - value("success") - } - } - step(id = "check", target = "check", description = "Calling check script node") - } - - val checkComponent = BluePrintTypes.nodeTemplateComponentScriptExecutor(id = "check", description = "") { - operation(description = "") { - inputs { - type("kotlin") - scriptClassReference("cba.scripts.capability.cli.Check") - } - outputs { - status(getAttribute("status")) - responseData("""{ "data" : "Here I am "}""") - } - } - artifact(id = "command-template", type = "artifact-template-velocity", - file = "Templates/check-command-template.vtl") - } - nodeTemplate(checkComponent) - } - - artifactType(BluePrintTypes.artifactTypeTemplateVelocity()) - nodeType(BluePrintTypes.nodeTypeComponent()) - nodeType(BluePrintTypes.nodeTypeComponentScriptExecutor()) - - } \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCli.kt b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCli.kt new file mode 100644 index 000000000..d29abb0d2 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCli.kt @@ -0,0 +1,61 @@ +/* + * 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.capability.cli + +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.ssh.sshClientService +import org.onap.ccsdk.cds.controllerblueprints.core.asJsonString +import org.onap.ccsdk.cds.controllerblueprints.core.logger +import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintDependencyService + + +open class Check : AbstractScriptComponentFunction() { + + private val log = logger(Check::class) + + override fun getName(): String { + return "Check" + } + + override suspend fun processNB(executionRequest: ExecutionServiceInput) { + 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) { + log.info("Executing Recovery") + } +} \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCliDefinitions.kt b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCliDefinitions.kt new file mode 100644 index 000000000..d67dc4b5d --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/cba/capability/cli/CapabilityCliDefinitions.kt @@ -0,0 +1,87 @@ +/* + * 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.capability.cli + +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.nodeTemplateComponentScriptExecutor +import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.nodeTypeComponentScriptExecutor +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.getAttribute +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 = "") { + value("success") + } + } + step(id = "check", target = "check", description = "Calling check script node") + } + + val checkComponent = BluePrintTypes.nodeTemplateComponentScriptExecutor(id = "check", description = "") { + operation(description = "") { + inputs { + type("kotlin") + scriptClassReference("cba.capability.cli.Check") + } + outputs { + status(getAttribute("status")) + responseData("""{ "data" : "Here I am "}""") + } + } + artifact(id = "command-template", type = "artifact-template-velocity", + file = "Templates/check-command-template.vtl") + } + nodeTemplate(checkComponent) + } + + artifactType(BluePrintTypes.artifactTypeTemplateVelocity()) + nodeType(BluePrintTypes.nodeTypeComponent()) + nodeType(BluePrintTypes.nodeTypeComponentScriptExecutor()) + + } \ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/pom.xml b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/pom.xml new file mode 100644 index 000000000..2cb19bc14 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/pom.xml @@ -0,0 +1,62 @@ + + + + + 4.0.0 + + org.onap.ccsdk.cds.blueprintsprocessor + cba-parent + 0.5.2-SNAPSHOT + + org.onap.ccsdk.cds.components.cba + capability_cli + CBA Capability CLI + CBA Capability CLI + + + + org.onap.ccsdk.cds.blueprintsprocessor.functions + cli-executor + + + + + + + maven-assembly-plugin + 3.1.0 + + + cba + package + + single + + + false + + Distribution/cba_zip.xml + + + + + + + + \ No newline at end of file -- cgit 1.2.3-korg