3     "template_author": "Brinda Santh Muthuramalingam",
 
   4     "author-email": "brindasanth@in.ibm.com",
 
   5     "user-groups": "ADMIN, OPERATION",
 
   6     "template_name": "baseconfiguration",
 
   7     "template_version": "1.0.0",
 
   8     "template_tags": "brinda, tosca"
 
  12       "file": "Definitions/data_types.json"
 
  15       "file": "Definitions/relationship_types.json"
 
  18       "file": "Definitions/artifact_types.json"
 
  21       "file": "Definitions/node_types.json"
 
  24       "file": "Definitions/policy_types.json"
 
  28     "dynamic-netconf-properties": {
 
  29       "device-name": "netconf device",
 
  30       "host-name": "sample-host"
 
  32     "dynamic-rest-source": {
 
  34       "url": "http://localhost:8080",
 
  36         "get_input": "rest-user-name"
 
  39     "dynamic-db-source": {
 
  41       "url": "jdbc:mysql://localhost:3306/sdnctl",
 
  46           "dynamic-db-source.password"
 
  51   "topology_template": {
 
  71       "resource-assignment-process": {
 
  77               "dg-resource-assignment-process"
 
  80           "dependency-node-templates": [
 
  85           "dg-resource-assignment-process": {
 
  86             "type": "artifact-directed-graph",
 
  87             "file": "Plans/CONFIG_ResourceAssignment_1.0.0.xml"
 
 100           "dependency-node-templates": [
 
 105           "dg-activate-process": {
 
 106             "type": "artifact-directed-graph",
 
 107             "file": "Plans/CONFIG_ActivateNetconf_1.0.0.xml"
 
 111       "assign-activate-process": {
 
 112         "type": "dg-generic",
 
 117               "dg-assign-activate-process"
 
 120           "dependency-node-templates": [
 
 121             "resource-assignment",
 
 126           "dg-assign-activate-process": {
 
 127             "type": "artifact-directed-graph",
 
 128             "file": "Plans/CONFIG_AssignActivateNetconf_1.0.0.xml"
 
 132       "resource-assignment": {
 
 133         "type": "component-resource-resolution",
 
 135           "ResourceResolutionComponent": {
 
 140                     "get_input": "action-name"
 
 142                   "resource-type": "vnf-type",
 
 144                     "get_input": "request-id"
 
 147                     "get_input": "hostname"
 
 149                   "artifact-prefix-names": [
 
 154                   "resource-assignment-params": {
 
 167           "baseconfig-template": {
 
 168             "type": "artifact-template-velocity",
 
 169             "file": "Templates/baseconfig-template.vtl"
 
 171           "baseconfig-mapping": {
 
 172             "type": "artifact-mapping-resource",
 
 173             "file": "Definitions/baseconfig-mapping.json"
 
 177       "resource-assignment-py": {
 
 178         "type": "component-resource-resolution",
 
 180           "ResourceResolutionComponent": {
 
 184                   "primary": "component-script"
 
 188                     "get_input": "action-name"
 
 192                   "resource-assignment-params": "",
 
 200           "component-script": {
 
 201             "type": "artifact-script-jython",
 
 202             "file": "Scripts/python/SamplePythonComponentNode.py"
 
 207         "type": "component-jython-executor",
 
 209           "ComponentJythonExecutor": {
 
 213                   "primary": "component-script"
 
 216                   "instance-dependencies": [
 
 217                     "json-parser-service"
 
 229           "component-script": {
 
 230             "type": "artifact-script-jython",
 
 231             "file": "Scripts/python/SamplePythonComponentNode.py"
 
 235       "activate-netconf": {
 
 236         "type": "component-netconf-executor",
 
 238           "ComponentNetconfExecutor": {
 
 242                   "primary": "component-script"
 
 245                   "script-type": "jython",
 
 246                   "script-class-reference": "Scripts/python/NetconfRpcExample.py",
 
 247                   "instance-dependencies": [
 
 249                   "dynamic-properties": "*dynamic-netconf-properties"
 
 260           "netconf-connection": {
 
 261             "capability": "netconf",
 
 262             "node": "sample-netconf-device",
 
 263             "relationship": "tosca.relationships.ConnectsTo"
 
 267           "hostname-template": {
 
 268             "type": "artifact-template-velocity",
 
 269             "file": "Templates/hostname-template.vtl"
 
 271           "hostname-mapping": {
 
 272             "type": "artifact-mapping-resource",
 
 273             "file": "Definitions/hostname-mapping.json"
 
 275           "component-script": {
 
 276             "type": "artifact-script-jython",
 
 277             "file": "Scripts/python/NetconfRpcExample.py"
 
 281       "sample-netconf-device": {
 
 282         "type": "vnf-netconf-device",
 
 286               "login-key": "sample-key",
 
 287               "login-account": "sample-account",
 
 288               "target-ip-address": {
 
 290                   "resource-assignment",
 
 297               "connection-time-out": 30
 
 304       "resource-assignment": {
 
 306           "resource-assignment-properties": {
 
 308             "type": "dt-resource-assignment-properties"
 
 312           "call-resource-assignment": {
 
 313             "description": "Resource Assignment Workflow",
 
 314             "target": "resource-assignment-process",
 
 317                 "call_operation": "CONFIG.ResourceAssignment"
 
 343           "activate-process": {
 
 344             "description": "Netconf Activation Workflow",
 
 345             "target": "activate-process",
 
 348                 "call_operation": "CONFIG.ActivateProcess"
 
 356           "assign-activate-properties": {
 
 358             "type": "dt-assign-activate-properties"
 
 362           "activate-process": {
 
 363             "description": "Resource Assign and Netconf Activation Workflow",
 
 364             "target": "assign-activate-process",
 
 367                 "call_operation": "CONFIG.AssignActivateProcess"