diff options
Diffstat (limited to 'components/model-catalog/blueprint-model')
8 files changed, 253 insertions, 25 deletions
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json index eae69245b..5530b7c71 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json +++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json @@ -309,6 +309,29 @@ } } }, + "activate-cli": { + "type": "component-cli-executor", + "interfaces": { + "ComponentCliExecutor": { + "operations": { + "process": { + "implementation": { + "primary": "component-script" + }, + "inputs": { + "script-type": "kotlin", + "script-class-reference": "InternalSimpleCli_cba$TestCliScriptFunction", + "instance-dependencies": [] + }, + "outputs": { + "response-data": "", + "status": "success" + } + } + } + } + } + }, "sample-netconf-device": { "type": "vnf-netconf-device", "capabilities": { @@ -410,6 +433,19 @@ } } }, + "activate-cli": { + "steps": { + "activate-process": { + "description": "Activate CLI flow", + "target": "activate-cli", + "activities": [ + { + "call_operation": "ComponentCliExecutor.process" + } + ] + } + } + }, "assign-activate": { "inputs": { "assign-activate-properties": { diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json index 8e9d13e3a..ceb18b273 100644 --- a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json +++ b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/node_types.json @@ -1,5 +1,70 @@ { "node_types": { + "component-cli-executor": { + "description": "This is CLI Transaction Configuration Component API", + "version": "1.0.0", + "capabilities": { + "component-node": { + "type": "tosca.capabilities.Node" + } + }, + "interfaces": { + "ComponentCliExecutor": { + "operations": { + "process": { + "inputs": { + "script-type": { + "description": "Script type, kotlin type is supported", + "required": true, + "type": "string", + "constraints": [ + { + "valid_values": [ + "kotlin", + "jython", + "internal" + ] + } + ], + "default": "internal" + }, + "script-class-reference": { + "description": "Kotlin Script class name or jython script name.", + "required": true, + "type": "string" + }, + "instance-dependencies": { + "description": "Instance names to inject to Jython or Kotlin Script.", + "required": true, + "type": "list", + "entry_schema": { + "type": "string" + } + }, + "dynamic-properties": { + "description": "Dynamic Json Content or DSL Json reference.", + "required": false, + "type": "json" + } + }, + "outputs": { + "response-data": { + "description": "Execution Response Data.", + "required": false, + "type": "string" + }, + "status": { + "description": "Status of the Component Execution ( success or failure )", + "required": true, + "type": "string" + } + } + } + } + } + }, + "derived_from": "tosca.nodes.Component" + }, "component-jython-executor": { "description": "This is Jython Execution Component.", "version": "1.0.0", @@ -43,7 +108,7 @@ } } }, - "derived_from": "tosca.nodes.component.Jython" + "derived_from": "tosca.nodes.Component" }, "component-netconf-executor": { "description": "This is Netconf Transaction Configuration Component API", @@ -322,22 +387,16 @@ }, "derived_from": "tosca.nodes.ResourceSource" }, + "source-default": { + "description": "This is Default Resource Source Node Type", + "version": "1.0.0", + "properties": {}, + "derived_from": "tosca.nodes.ResourceSource" + }, "source-input": { "description": "This is Input Resource Source Node Type", "version": "1.0.0", - "properties": { - "key": { - "required": false, - "type": "string" - }, - "key-dependencies": { - "required": true, - "type": "list", - "entry_schema": { - "type": "string" - } - } - }, + "properties": {}, "derived_from": "tosca.nodes.ResourceSource" }, "source-processor-db": { @@ -393,7 +452,7 @@ "version": "1.0.0", "properties": { "type": { - "required": false, + "required": true, "type": "string", "constraints": [ { @@ -405,7 +464,7 @@ "default": "JSON" }, "verb": { - "required": false, + "required": true, "type": "string", "constraints": [ { @@ -478,11 +537,6 @@ "version": "1.0.0", "derived_from": "tosca.nodes.Root" }, - "tosca.nodes.Workflow": { - "description": "This is Directed Graph Node Type", - "version": "1.0.0", - "derived_from": "tosca.nodes.Root" - }, "tosca.nodes.ResourceSource": { "description": "TOSCA base type for Resource Sources", "version": "1.0.0", @@ -493,8 +547,8 @@ "version": "1.0.0", "derived_from": "tosca.nodes.Root" }, - "tosca.nodes.component.Jython": { - "description": "This is Jython Component", + "tosca.nodes.Workflow": { + "description": "This is Directed Graph Node Type", "version": "1.0.0", "derived_from": "tosca.nodes.Root" }, 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 new file mode 100644 index 000000000..c66bb6ef2 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Definitions/capability-cli-blueprint.json @@ -0,0 +1,83 @@ +{ + "tosca_definitions_version": "controller_blueprint_1_0_0", + "metadata": { + "template_author": "Brinda Santh Muthuramalingam", + "author-email": "brindasanth@in.ibm.com", + "user-groups": "ADMIN, OPERATION", + "template_name": "capability-cli", + "template_version": "1.0.0", + "template_tags": "brinda, tosca" + }, + "imports": [ + { + "file": "Definitions/data_types.json" + }, + { + "file": "Definitions/relationship_types.json" + }, + { + "file": "Definitions/artifact_types.json" + }, + { + "file": "Definitions/node_types.json" + }, + { + "file": "Definitions/policy_types.json" + } + ], + "dsl_definitions": { + "config-deploy-properties": { + "resolution-key": { + "get_input": "resolution-key" + } + } + }, + "topology_template": { + "workflows": { + "check": { + "steps": { + "activate-process": { + "description": "Check CLI", + "target": "check", + "activities": [ + { + "call_operation": "ComponentCliExecutor.process" + } + ] + } + } + } + }, + "node_templates": { + "check": { + "type": "component-cli-executor", + "interfaces": { + "ComponentCliExecutor": { + "operations": { + "process": { + "implementation": { + "primary": "component-script" + }, + "inputs": { + "script-type": "kotlin", + "script-class-reference": "InternalSimpleCli_cba$TestCliScriptFunction", + "instance-dependencies": [] + }, + "outputs": { + "response-data": "", + "status": "success" + } + } + } + } + }, + "artifacts": { + "command-template": { + "type": "artifact-template-velocity", + "file": "Templates/check-command-template.vtl" + } + } + } + } + } +}
\ No newline at end of file diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.cba.kts b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.cba.kts new file mode 100644 index 000000000..e22fd7ef0 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/Scripts/kotlin/CapabilityCli.cba.kts @@ -0,0 +1,34 @@ +/* + * 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. + */ + + + +open class Check : CliComponentFunction() { + + private val log = LoggerFactory.getLogger(CliComponentFunction::class.java)!! + + override fun getName(): String { + return "SimpleCliConfigure" + } + + override suspend fun processNB(executionRequest: ExecutionServiceInput) { + log.info("Executing process") + } + + 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/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/TOSCA-Metadata/TOSCA.meta new file mode 100644 index 000000000..001889672 --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_cli/TOSCA-Metadata/TOSCA.meta @@ -0,0 +1,5 @@ +TOSCA-Meta-File-Version: 1.0.0 +CSAR-Version: 1.0 +Created-By: Brinda Santh +Entry-Definitions: Definitions/capability-cli-blueprint.json +Template-Tags: capability-cli-blueprint diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/activation-blueprint.json index b02397e85..9ce89a97b 100755 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/activation-blueprint.json +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/activation-blueprint.json @@ -19,6 +19,19 @@ }, { "file" : "Definitions/policy_types.json" } ], + "dsl_definitions": { + "dynamic-db-source": { + "type": "maria-db", + "url": "jdbc:mysql://localhost:3306/sdnctl", + "username": "sdnctl", + "password": { + "get_attribute": [ + "BPP", + "dynamic-db-source.password" + ] + } + } + }, "topology_template" : { "inputs" : { "request-id" : { diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/resources_definition_types.json index 265377be4..3d10a7c5f 100755 --- a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/resources_definition_types.json +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Definitions/resources_definition_types.json @@ -15,12 +15,14 @@ "primary-db": { "type": "source-processor-db", "properties": { - "query": "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"", + "endpoint-selector": "dynamic-db-source", + "query": "SELECT artifact_name FROM sdnctl.BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"", "input-key-mapping": { }, "output-key-mapping": { "service-instance-id": "artifact_name" - } + }, + "key-dependencies" : [] } }, "capability": { diff --git a/components/model-catalog/blueprint-model/test-blueprint/capability_python/Environments/source-db.properties b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Environments/source-db.properties new file mode 100644 index 000000000..49a7eb47b --- /dev/null +++ b/components/model-catalog/blueprint-model/test-blueprint/capability_python/Environments/source-db.properties @@ -0,0 +1 @@ +dynamic-db-source.password=sdnctl
\ No newline at end of file |