Controller Design Studio
authorMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Sat, 10 Nov 2018 16:54:05 +0000 (11:54 -0500)
committerMuthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
Sat, 10 Nov 2018 20:55:03 +0000 (15:55 -0500)
Upgrade Spring Boot and Kotlin versions.

Change-Id: If0d7d0f476d8cfd23916013ff1ab554b26bc6b7a
Issue-ID: CCSDK-658
Signed-off-by: Muthuramalingam, Brinda Santh(bs2796) <bs2796@att.com>
112 files changed:
components/core/pom.xml
components/core/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/core/BluePrintConstants.kt
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/TOSCA-Metadata/TOSCA.meta [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base_template.vtl [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vFW_vNF_Artifact.vtl [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw.vtl [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg.vtl [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn.vtl [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta [new file with mode: 0644]
components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-bpmn-camunda.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-directed-graph.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-mapping-resource.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-python.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-velocity.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/artifact_type/tosca.artifacts.Implementation.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/data_type/datatype-property.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/data_type/datatype-resource-assignment.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/data_type/dt-license-key.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/data_type/dt-v4-aggregate.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/data_type/tosca.datatypes.Credential.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/artifact-config-template.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/component-config-generator.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/component-netconf-executor.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/component-resource-assignment.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/dg-activate-netconf.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/dg-config-generator.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/dg-resource-assign-activate.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/dg-resource-assignment.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/source-db.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/source-default.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/source-input.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/source-rest.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Artifact.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Component.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.DG.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.ResourceSource.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Vnf.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Python.json [new file with mode: 0644]
components/model-catalog/definition-type/starter-type/node_type/vnf-netconf-device.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/address.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/aic-cloud-region.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/aic_clli.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/availability_zone_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/db-source.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/default-source.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/image_name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/input-source.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/key_name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/mdsal-source.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/name_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/nexus_artifact_repo.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/nf-role.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/nfc-naming-code.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_cidr.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/onap_private_subnet_id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/private-prefix-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/protected-prefix-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/protected_private_net_cidr.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/protected_private_subnet_id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/pub_key.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/public_net_id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/sample-db-source.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sample-default-source.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sample-input-source.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sample-licenses.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sample-mdsal-source.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sample-v4-ip-type.json [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/sec_group.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/service-instance-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/status.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/unprotected-prefix-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_net_cidr.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_subnet_id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-label.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-model-customization-uuid.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-type.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-naming-policy.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf-nf-code.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vf_module_name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vfccustomizationuuid.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vfw_name_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_1.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_2.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vm-type.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnf-id.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnf-model-customization-uuid.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnf-name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnf_name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-invariant-uuid.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-version.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/volume-name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/volume_group_name.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vpg_name_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_1.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vsn_name_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_0.json [new file with mode: 0755]
components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_1.json [new file with mode: 0755]
components/parent/pom.xml
components/resource-dict/pom.xml
components/resource-dict/src/main/kotlin/org/onap/ccsdk/apps/controllerblueprints/resource/dict/service/ResourceDefinitionRepoService.kt
components/resource-dict/src/test/java/org/onap/ccsdk/apps/controllerblueprints/resource/dict/service/ResourceDefinitionRepoServiceTest.java

index 7c41165..2e0ab54 100644 (file)
         </dependency>\r
         <dependency>\r
             <groupId>org.jetbrains.kotlin</groupId>\r
-            <artifactId>kotlin-test</artifactId>\r
+            <artifactId>kotlin-test-junit</artifactId>\r
             <scope>test</scope>\r
         </dependency>\r
-        <dependency>\r
-            <groupId>junit</groupId>\r
-            <artifactId>junit</artifactId>\r
-        </dependency>\r
     </dependencies>\r
 \r
 </project>\r
index d4bd20a..2590d6d 100644 (file)
@@ -60,7 +60,7 @@ object BluePrintConstants {
     const val PATH_ATTRIBUTES: String = "attributes"\r
     const val PATH_ARTIFACTS: String = "artifacts"\r
 \r
-    const val MODEL_DIR_MODEL_TYPE: String = "model_type"\r
+    const val MODEL_DIR_MODEL_TYPE: String = "definition-type"\r
 \r
     const val MODEL_DEFINITION_TYPE_NODE_TYPE: String = "node_type"\r
     const val MODEL_DEFINITION_TYPE_ARTIFACT_TYPE: String = "artifact_type"\r
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
new file mode 100644 (file)
index 0000000..d5416c0
--- /dev/null
@@ -0,0 +1,3613 @@
+{
+  "metadata": {
+    "template_author": "aa0419",
+    "template_name": "vFW_spinup",
+    "template_version": "1.0.0",
+    "service-type": "vFW",
+    "template_tags": "vFW, ONAP",
+    "release": "1810",
+    "vnf-type": "VFW"
+  },
+  "topology_template": {
+    "inputs": {
+      "request-id": {
+        "required": true,
+        "type": "string"
+      },
+      "service-instance-id": {
+        "required": true,
+        "type": "string"
+      },
+      "scope-type": {
+        "required": true,
+        "type": "string"
+      },
+      "action-name": {
+        "required": true,
+        "type": "string"
+      },
+      "hostname": {
+        "required": true,
+        "type": "string"
+      },
+      "resource-assignment-request": {
+        "description": "This is Dynamic Data type for the receipe resource-assignment-action.",
+        "required": false,
+        "type": "dt-resource-assignment-request"
+      }
+    },
+    "node_templates": {
+      "resource-assignment-ra-component": {
+        "type": "component-resource-assignment",
+        "interfaces": {
+          "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "action-name": "{ \"get_input\" : \"action-name\" }",
+                  "service-template-name": "{ \"get_attribute\" : \"service-template-name\" }",
+                  "template-names": [
+                    "vFW_vNF_Artifact",
+                    "base_template",
+                    "vfw",
+                    "vsn",
+                    "vpg"
+                  ],
+                  "service-template-version": "{ \"get_attribute\" : \"service-template-version\" }",
+                  "resource-type": "vnf-type",
+                  "request-id": "{ \"get_input\" : \"request-id\" }",
+                  "resource-id": "{ \"get_input\" : \"hostname\" }"
+                },
+                "outputs": {
+                  "resource-assignment-params": "Success",
+                  "status": "status"
+                }
+              }
+            }
+          }
+        },
+        "capabilities": {
+          "component-node": {
+            
+          }
+        }
+      },
+      "resource-assignment-action": {
+        "type": "dg-resource-assignment",
+        "properties": {
+          "mode": "sync",
+          "version": "LATEST",
+          "is-start-flow": false
+        },
+        "interfaces": {
+          "CONFIG": {
+            "operations": {
+              "ResourceAssignment": {
+                "inputs": {
+                  "params": [
+                    
+                  ]
+                }
+              }
+            }
+          }
+        },
+        "capabilities": {
+          "dg-node": {
+            
+          },
+          "content": {
+            "properties": {
+              "type": "json"
+            }
+          }
+        },
+        "requirements": {
+          "component-dependency": {
+            "capability": "component-node",
+            "node": "resource-assignment-ra-component",
+            "relationship": "tosca.relationships.DependsOn"
+          }
+        }
+      },
+      "vFW_vNF_Artifact": {
+        "type": "artifact-config-template",
+        "properties": {
+          "action-names": [
+            "resource-assignment-action"
+          ]
+        },
+        "capabilities": {
+          "content": {
+            "properties": {
+              "content": "vFW_vNF_Artifact"
+            }
+          },
+          "mapping": {
+            "properties": {
+              "mapping": [
+                {
+                  "name": "service-instance-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "service-instance-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "aic-cloud-region",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "aic-cloud-region",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_subnet_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_subnet_id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "key_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "key_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "image_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "Ubuntu 14.04 LTS Generic"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "image_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "pub_key",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDKXDgoo3+WOqcUG8/5uUbk81+yczgwC4Y8ywTmuQqbNxlY1oQ0YxdMUqUnhitSXs5S/yRuAVOYHwGg2mCs20oAINrP+mxBI544AMIb9itPjCtgqtE2EWo6MmnFGbHB4Sx3XioE7F4VPsh7japsIwzOjbrQe+Mua1TGQ5d4nfEOQaaglXLLPFfuc7WbhbJbK6Q7rHqZfRcOwAMXgDoBqlyqKeiKwnumddo2RyNT8ljYmvB6buz7KnMinzo7qB0uktVT05FH9Rg0CTWH5norlG5qXgP2aukL0gk1ph8iAt7uYLf1ktp+LJI2gaF6L0/qli9EmVCSLr1uJ38Q8CBflhkh"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "pub_key",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-naming-policy",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "SDNC_Policy.Config_MS_ONAP_VFW_NAMING_TIMESTAMP"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-naming-policy",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nf-role",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nf-role",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_private_ip_1",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_private_ip_1",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_private_ip_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vpg_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vpg_private_ip_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vsn_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vsn_private_ip_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "protected-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "protected-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "unprotected-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "unprotected-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-nf-code",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-nf-code",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                }
+              ]
+            }
+          }
+        }
+      },
+      "vfw": {
+        "type": "artifact-config-template",
+        "capabilities": {
+          "content": {
+            "properties": {
+              "content": "vfw"
+            }
+          },
+          "mapping": {
+            "properties": {
+              "mapping": [
+                {
+                  "name": "service-instance-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "service-instance-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-name",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-type",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfccustomizationuuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfccustomizationuuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "aic-cloud-region",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "aic-cloud-region",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vm-type",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vm-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-invariant-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-invariant-uuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-version",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-version",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nf-role",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "vFW"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nf-role",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nfc-naming-code",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nfc-naming-code",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "public_net_id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "public_net_id"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "public_net_id",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "image_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "image_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "key_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "key_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "pub_key",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "pub_key",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_subnet_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_subnet_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "unprotected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "unprotected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "protected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "protected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nexus_artifact_repo",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "nexus_artifact_repo"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nexus_artifact_repo",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "sec_group",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "onap_sg_PUhf"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "sec_group",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_name_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_name_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-naming-policy",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "SDNC_Policy.Config_MS_ONAP_VFW_NAMING_TIMESTAMP"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-naming-policy",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf_module_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf_module_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-label",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-label",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "private-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "private-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_private_ip_2",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_private_ip_2",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                }
+              ]
+            }
+          }
+        }
+      },
+      "vpg": {
+        "type": "artifact-config-template",
+        "capabilities": {
+          "content": {
+            "properties": {
+              "content": "vpg"
+            }
+          },
+          "mapping": {
+            "properties": {
+              "mapping": [
+                {
+                  "name": "service-instance-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "service-instance-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-name",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-type",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfccustomizationuuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfccustomizationuuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "aic-cloud-region",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "aic-cloud-region",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vm-type",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vm-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-invariant-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-invariant-uuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-version",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-version",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nf-role",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "vPG"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nf-role",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nfc-naming-code",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nfc-naming-code",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "public_net_id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "public_net_id"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "public_net_id",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "image_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "image_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "key_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "key_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "pub_key",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "pub_key",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_subnet_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_subnet_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "unprotected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "unprotected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_private_ip_0",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vsn_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vsn_private_ip_0",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nexus_artifact_repo",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "nexus_artifact_repo"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nexus_artifact_repo",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "sec_group",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "onap_sg_PUhf"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "sec_group",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vpg_private_ip_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vpg_private_ip_0",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vpg_name_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vpg_name_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-naming-policy",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "SDNC_Policy.Config_MS_ONAP_VPG_NAMING_TIMESTAMP"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-naming-policy",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf_module_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf_module_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-label",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-label",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "private-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "private-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vpg_private_ip_1",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vpg_private_ip_1",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                }
+              ]
+            }
+          }
+        }
+      },
+      "vsn": {
+        "type": "artifact-config-template",
+        "capabilities": {
+          "content": {
+            "properties": {
+              "content": "vsn"
+            }
+          },
+          "mapping": {
+            "properties": {
+              "mapping": [
+                {
+                  "name": "service-instance-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "service-instance-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-name",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-type",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfccustomizationuuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfccustomizationuuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "aic-cloud-region",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "aic-cloud-region",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vm-type",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vm-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-invariant-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-invariant-uuid",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnfc-model-version",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnfc-model-version",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nf-role",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "vSN"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nf-role",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nfc-naming-code",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nfc-naming-code",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vfccustomizationuuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "image_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "image_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "public_net_id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "value": "public_net_id",
+                    "default": "public_net_id"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "public_net_id",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "key_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "key_name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "pub_key",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "pub_key",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_subnet_id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_subnet_id",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "unprotected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "unprotected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "protected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "protected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "onap_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "onap_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nexus_artifact_repo",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "value": "nexus_artifact_repo",
+                    "default": "nexus_artifact_repo"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nexus_artifact_repo",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "sec_group",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "onap_sg_PUhf"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "sec_group",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vfw_private_ip_1",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vfw_private_ip_1",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vsn_name_0",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vsn_name_0",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-naming-policy",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    },
+                    "default": "SDNC_Policy.Config_MS_ONAP_VSN_NAMING_TIMESTAMP"
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-naming-policy",
+                  "dictionary-source": "default",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf_module_name",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf_module_name",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-label",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-label",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "private-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "private-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vsn_private_ip_1",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vsn_private_ip_1",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "protected-prefix-id",
+                  "property": {
+                    "description": "",
+                    "required": false,
+                    "type": "integer",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "protected-prefix-id",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                }
+              ]
+            }
+          }
+        }
+      },
+      "base_template": {
+        "type": "artifact-config-template",
+        "capabilities": {
+          "content": {
+            "properties": {
+              "content": "base_template"
+            }
+          },
+          "mapping": {
+            "properties": {
+              "mapping": [
+                {
+                  "name": "service-instance-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "service-instance-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-type",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-type",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vf-module-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vf-module-id",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vf-module-id",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-model-customization-uuid",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-model-customization-uuid",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "aic-cloud-region",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "aic-cloud-region",
+                  "dictionary-source": "input",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "nf-role",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "nf-role",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    "vnf-model-customization-uuid"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "vnf-name",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "vnf-name",
+                  "dictionary-source": "mdsal",
+                  "dependencies": [
+                    "service-instance-id",
+                    "vnf-id"
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "unprotected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "unprotected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                },
+                {
+                  "name": "protected_private_net_cidr",
+                  "property": {
+                    "description": "",
+                    "required": true,
+                    "type": "string",
+                    "status": "",
+                    "constraints": [
+                      {
+                        
+                      }
+                    ],
+                    "entry_schema": {
+                      "type": ""
+                    }
+                  },
+                  "input-param": false,
+                  "dictionary-name": "protected_private_net_cidr",
+                  "dictionary-source": "db",
+                  "dependencies": [
+                    
+                  ],
+                  "version": 0
+                }
+              ]
+            }
+          }
+        }
+      }
+    }
+  },
+  "node_types": {
+    "tosca.nodes.Component": {
+      "description": "This is default Component Node",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "tosca.nodes.DG": {
+      "description": "This is Directed Graph Node Type",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "tosca.nodes.Artifact": {
+      "description": "This is Deprecated Artifact Node Type.",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "component-resource-assignment": {
+      "description": "This is Resource Assignment Component API",
+      "version": "1.0.0",
+      "capabilities": {
+        "component-node": {
+          "type": "tosca.capabilities.Node"
+        }
+      },
+      "interfaces": {
+        "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {
+          "operations": {
+            "process": {
+              "inputs": {
+                "action-name": {
+                  "description": "Action Name of the process",
+                  "required": true,
+                  "type": "string"
+                },
+                "service-template-name": {
+                  "description": "Service Template Name.",
+                  "required": true,
+                  "type": "string"
+                },
+                "service-template-version": {
+                  "description": "Service Template Version.",
+                  "required": true,
+                  "type": "string"
+                },
+                "resource-type": {
+                  "description": "Request type.",
+                  "required": true,
+                  "type": "string"
+                },
+                "template-names": {
+                  "description": "Name of the artifact Node Templates, to get the template Content.",
+                  "required": true,
+                  "type": "list",
+                  "entry_schema": {
+                    "type": "string"
+                  }
+                },
+                "request-id": {
+                  "description": "Request Id, Unique Id for the request.",
+                  "required": true,
+                  "type": "string"
+                },
+                "resource-id": {
+                  "description": "Resource Id.",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "outputs": {
+                "resource-assignment-params": {
+                  "required": true,
+                  "type": "string"
+                },
+                "status": {
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Component"
+    },
+    "dg-resource-assignment": {
+      "description": "This is Resource Assignment Directed Graph",
+      "version": "1.0.0",
+      "properties": {
+        "mode": {
+          "required": false,
+          "type": "string",
+          "default": "sync"
+        },
+        "version": {
+          "required": false,
+          "type": "string",
+          "default": "LATEST"
+        },
+        "is-start-flow": {
+          "required": false,
+          "type": "boolean",
+          "default": "false"
+        }
+      },
+      "capabilities": {
+        "dg-node": {
+          "type": "tosca.capabilities.Node"
+        },
+        "content": {
+          "type": "tosca.capabilities.Content",
+          "properties": {
+            "type": {
+              "required": false,
+              "type": "string",
+              "default": "json"
+            },
+            "content": {
+              "required": false,
+              "type": "string"
+            }
+          }
+        }
+      },
+      "requirements": {
+        "component-dependency": {
+          "capability": "component-node",
+          "node": "component-resource-assignment",
+          "relationship": "tosca.relationships.DependsOn"
+        }
+      },
+      "interfaces": {
+        "CONFIG": {
+          "operations": {
+            "ResourceAssignment": {
+              "inputs": {
+                "params": {
+                  "required": false,
+                  "type": "list",
+                  "entry_schema": {
+                    "type": "datatype-property"
+                  }
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.DG"
+    },
+    "artifact-config-template": {
+      "description": "This is Configuration Velocity Template",
+      "version": "1.0.0",
+      "properties": {
+        "action-names": {
+          "required": true,
+          "type": "list",
+          "entry_schema": {
+            "type": "string"
+          }
+        }
+      },
+      "capabilities": {
+        "content": {
+          "type": "tosca.capabilities.Content",
+          "properties": {
+            "content": {
+              "required": true,
+              "type": "string"
+            }
+          }
+        },
+        "mapping": {
+          "type": "tosca.capabilities.Mapping",
+          "properties": {
+            "mapping": {
+              "required": false,
+              "type": "list",
+              "entry_schema": {
+                "type": "datatype-resource-assignment"
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Artifact"
+    }
+  },
+  "data_types": {
+    "datatype-property": {
+      "version": "1.0.0",
+      "description": "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",
+      "properties": {
+        "type": {
+          "required": true,
+          "type": "string"
+        },
+        "description": {
+          "required": false,
+          "type": "string"
+        },
+        "required": {
+          "required": false,
+          "type": "boolean"
+        },
+        "default": {
+          "required": false,
+          "type": "string"
+        },
+        "entry_schema": {
+          "required": false,
+          "type": "string"
+        }
+      },
+      "derived_from": "tosca.datatypes.Root"
+    },
+    "datatype-resource-assignment": {
+      "version": "1.0.0",
+      "description": "This is Resource Assignment Data Type",
+      "properties": {
+        "property": {
+          "required": true,
+          "type": "datatype-property"
+        },
+        "input-param": {
+          "required": true,
+          "type": "boolean"
+        },
+        "dictionary-name": {
+          "required": false,
+          "type": "string"
+        },
+        "dictionary-source": {
+          "required": false,
+          "type": "string"
+        },
+        "dependencies": {
+          "required": true,
+          "type": "list",
+          "entry_schema": {
+            "type": "string"
+          }
+        },
+        "status": {
+          "required": false,
+          "type": "string"
+        },
+        "message": {
+          "required": false,
+          "type": "string"
+        },
+        "updated-date": {
+          "required": false,
+          "type": "string"
+        },
+        "updated-by": {
+          "required": false,
+          "type": "string"
+        }
+      },
+      "derived_from": "tosca.datatypes.Root"
+    },
+    "dt-resource-assignment-request": {
+      "version": "1.0.0",
+      "description": "This is Dynamic Data type definition generated from resource mapping for the config template name activate-template.",
+      "properties": {
+        "password-user-ftap-nsm": {
+          "required": true,
+          "type": "string",
+          "default": "password-user-ftap"
+        },
+        "reservation-id": {
+          "required": true,
+          "type": "string",
+          "value": "123"
+        },
+        "security-manager-resource-key": {
+          "required": true,
+          "type": "string",
+          "value": "sdnc"
+        },
+        "password-user-ftap": {
+          "description": "",
+          "required": true,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {
+              
+            }
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/service-blueprint/vFW/TOSCA-Metadata/TOSCA.meta
new file mode 100644 (file)
index 0000000..7918c11
--- /dev/null
@@ -0,0 +1,6 @@
+TOSCA-Meta-File-Version: 1.0.0
+CSAR-Version: 1.0
+Created-By: ONAP
+Entry-Definitions: Definitions/vFW_spinup.json
+Template-Tags: ONAP, vFW
+Content-Type: application/vnd.oasis.bpmn
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base_template.vtl b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base_template.vtl
new file mode 100644 (file)
index 0000000..1f8298c
--- /dev/null
@@ -0,0 +1,56 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vnf_name",
+      "param-value": "${vnf-name}"
+    },
+    {
+      "param-name": "vnf_model_customization_uuid",
+      "param-value": "${vnf-model-customization-uuid}"
+    },
+    {
+      "param-name": "vf_module_id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "vf_module_type",
+      "param-value": "${vf-module-type}"
+    },
+    {
+      "param-name": "unprotected_private_net_id",
+      "param-value": "${vnf-name}_unprotected"
+    },
+    {
+      "param-name": "unprotected_private_subnet_id",
+      "param-value": "${vnf-name}_unprotected_sub"
+    },
+    {
+      "param-name": "unprotected_private_net_cidr",
+      "param-value": "${unprotected_private_net_cidr}"
+    },
+    {
+      "param-name": "protected_private_net_id",
+      "param-value": "${vnf-name}_protected"
+    },
+    {
+      "param-name": "protected_private_subnet_id",
+      "param-value": "${vnf-name}_protected_sub"
+    },
+    {
+      "param-name": "protected_private_net_cidr",
+      "param-value": "${protected_private_net_cidr}"
+    },
+    {
+      "param-name": "vf_module_name",
+      "param-value": "${vnf-name}_base"
+    }
+  ]
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vFW_vNF_Artifact.vtl b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vFW_vNF_Artifact.vtl
new file mode 100644 (file)
index 0000000..ca09046
--- /dev/null
@@ -0,0 +1,203 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vnf-model-customization-uuid",
+      "param-value": "${vnf-model-customization-uuid}"
+    },
+    {
+      "param-name": "aic-cloud-region",
+      "param-value": "${aic-cloud-region}"
+    },
+    {
+      "param-name": "onap_private_net_id",
+      "param-value": "${onap_private_net_id}"
+    },
+    {
+      "param-name": "pub_key",
+      "param-value": "${pub_key}"
+    },
+    {
+      "param-name": "image_name",
+      "param-value": "${image_name}"
+    },
+    {
+      "param-name": "onap_private_subnet_id",
+      "param-value": "${onap_private_net_id}_sub"
+    }
+  ],
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vnf_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vnf-id}_vnf_name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VNF"
+            },
+            {
+              "param-name": "AIC_CLOUD_REGION",
+              "param-value": "${aic-cloud-region}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vnf_name",
+              "resource-value": "${vnf_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "netbox-ip-assign",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${protected-prefix-id}"
+            },
+            {
+              "param-name": "vnf-id",
+              "param-value": "${vnf-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vnf-id}-vfw_private_ip_1"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vfw_private_ip_1",
+              "resource-value": "${vfw_private_ip_1}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${unprotected-prefix-id}"
+            },
+            {
+              "param-name": "vnf-id",
+              "param-value": "${vnf-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vnf-id}-vfw_private_ip_0"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vfw_private_ip_0",
+              "resource-value": "${vfw_private_ip_0}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${unprotected-prefix-id}"
+            },
+            {
+              "param-name": "vnf-id",
+              "param-value": "${vnf-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vnf-id}-vpg_private_ip_0"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vpg_private_ip_0",
+              "resource-value": "${vpg_private_ip_0}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${protected-prefix-id}"
+            },
+            {
+              "param-name": "vnf-id",
+              "param-value": "${vnf-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vnf-id}-vsn_private_ip_0"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vsn_private_ip_0",
+              "resource-value": "${vsn_private_ip_0}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "key_name",
+              "resource-value": "${vnf_name}_key"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw.vtl b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw.vtl
new file mode 100644 (file)
index 0000000..06a91d3
--- /dev/null
@@ -0,0 +1,315 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vnf_name",
+      "param-value": "${vnf-name}"
+    },
+    {
+      "param-name": "vnf_model_customization_uuid",
+      "param-value": "${vnf-model-customization-uuid}"
+    },
+    {
+      "param-name": "vf_module_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vf_module_type",
+      "param-value": "${vf-module-type}"
+    },
+    {
+      "param-name": "vf_module_customization_uuid",
+      "param-value": "${vf-module-model-customization-uuid}"
+    },
+    {
+      "param-name": "vfc_customization_uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "aic-cloud-region",
+      "param-value": "${aic-cloud-region}"
+    },
+    {
+      "param-name": "vm-type",
+      "param-value": "${vm-type}"
+    },
+    {
+      "param-name": "vnfc-model-customization-uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "vnfc-model-invariant-uuid",
+      "param-value": "${vnfc-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vnfc-model-version",
+      "param-value": "${vnfc-model-version}"
+    },
+    {
+      "param-name": "nfc-function",
+      "param-value": "${nf-role}"
+    },
+    {
+      "param-name": "nfc-naming-code",
+      "param-value": "${nfc-naming-code}"
+    },
+    {
+      "param-name": "cloud_env",
+      "param-value": "openstack"
+    },
+    {
+      "param-name": "repo_url_artifacts",
+      "param-value": "https://nexus.onap.org/content/groups/staging"
+    },
+    {
+      "param-name": "repo_url_blob",
+      "param-value": "https://nexus.onap.org/content/repositories/raw"
+    },
+    {
+      "param-name": "dcae_collector_port",
+      "param-value": "8080"
+    },
+    {
+      "param-name": "image_name",
+      "param-value": "${image_name}"
+    },
+    {
+      "param-name": "flavor_name",
+      "param-value": "m1.medium"
+    },
+    {
+      "param-name": "install_script_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "demo_artifacts_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "dcae_collector_ip",
+      "param-value": "10.0.4.1"
+    },
+    {
+      "param-name": "key_name",
+      "param-value": "${key_name}"
+    },
+    {
+      "param-name": "pub_key",
+      "param-value": "${pub_key}"
+    },
+    {
+      "param-name": "public_net_id",
+      "param-value": "${public_net_id}"
+    },
+    {
+      "param-name": "unprotected_private_net_id",
+      "param-value": "${vnf-name}_unprotected"
+    },
+    {
+      "param-name": "protected_private_net_id",
+      "param-value": "${vnf-name}_protected"
+    },
+    {
+      "param-name": "onap_private_net_id",
+      "param-value": "${onap_private_net_id}"
+    },
+    {
+      "param-name": "onap_private_subnet_id",
+      "param-value": "${onap_private_subnet_id}"
+    },
+    {
+      "param-name": "unprotected_private_net_cidr",
+      "param-value": "${unprotected_private_net_cidr}"
+    },
+    {
+      "param-name": "protected_private_net_cidr",
+      "param-value": "${protected_private_net_cidr}"
+    },
+    {
+      "param-name": "unprotected_private_subnet_id",
+      "param-value": "${vnf-name}_unprotected_sub"
+    },
+    {
+      "param-name": "unprotected_private_net_cidr",
+      "param-value": "${unprotected_private_net_cidr}"
+    },
+    {
+      "param-name": "protected_private_subnet_id",
+      "param-value": "${vnf-name}_protected_sub"
+    },
+    {
+      "param-name": "nexus_artifact_repo",
+      "param-value": "${nexus_artifact_repo}"
+    },
+    {
+      "param-name": "sec_group",
+      "param-value": "${sec_group}"
+    },
+    {
+      "param-name": "onap_private_net_cidr",
+      "param-value": "${onap_private_net_cidr}"
+    }
+  ],
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vfw_name_0"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vfw_name_0}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vfw_name_0"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VNFC"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "NFC_NAMING_CODE",
+              "param-value": "${nfc-naming-code}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vfw_name_0",
+              "resource-value": "${vfw_name_0}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf_module_name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf_module_name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            },
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "${vf-module-type}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "netbox-ip-assign",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${private-prefix-id}"
+            },
+            {
+              "param-name": "vf-module-id",
+              "param-value": "${vf-module-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vf-module-id}-vfw_private_ip_2"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vfw_private_ip_2",
+              "resource-value": "${vfw_private_ip_2}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "KEY",
+              "resource-value": "${vnf_name}"
+            },
+            {
+              "resource-name": "vf-module-name",
+              "resource-value": "${vf_module_name}"
+            },
+            {
+              "resource-name": "vnfc-name",
+              "resource-value": "${vfw_name_0}"
+            },
+            {
+              "resource-name": "ipv4-oam-address",
+              "resource-value": "${vfw_private_ip_2}"
+            },
+            {
+              "resource-name": "ipv4-oam-address-prefix",
+              "resource-value": "${onap_private_net_cidr}"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg.vtl b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg.vtl
new file mode 100644 (file)
index 0000000..f7e3780
--- /dev/null
@@ -0,0 +1,315 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vnf_name",
+      "param-value": "${vnf-name}"
+    },
+    {
+      "param-name": "vnf_model_customization_uuid",
+      "param-value": "${vnf-model-customization-uuid}"
+    },
+    {
+      "param-name": "vf_module_id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "vf_module_type",
+      "param-value": "${vf-module-type}"
+    },
+    {
+      "param-name": "vf_module_customization_uuid",
+      "param-value": "${vf-module-model-customization-uuid}"
+    },
+    {
+      "param-name": "vfc_customization_uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "aic-cloud-region",
+      "param-value": "${aic-cloud-region}"
+    },
+    {
+      "param-name": "vm-type",
+      "param-value": "${vm-type}"
+    },
+    {
+      "param-name": "vnfc-model-customization-uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "vnfc-model-invariant-uuid",
+      "param-value": "${vnfc-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vnfc-model-version",
+      "param-value": "${vnfc-model-version}"
+    },
+    {
+      "param-name": "nfc-function",
+      "param-value": "${nf-role}"
+    },
+    {
+      "param-name": "nfc-naming-code",
+      "param-value": "${nfc-naming-code}"
+    },
+    {
+      "param-name": "cloud_env",
+      "param-value": "openstack"
+    },
+    {
+      "param-name": "repo_url_artifacts",
+      "param-value": "https://nexus.onap.org/content/groups/staging"
+    },
+    {
+      "param-name": "repo_url_blob",
+      "param-value": "https://nexus.onap.org/content/repositories/raw"
+    },
+    {
+      "param-name": "dcae_collector_port",
+      "param-value": "8080"
+    },
+    {
+      "param-name": "image_name",
+      "param-value": "${image_name}"
+    },
+    {
+      "param-name": "flavor_name",
+      "param-value": "m1.medium"
+    },
+    {
+      "param-name": "key_name",
+      "param-value": "${key_name}"
+    },
+    {
+      "param-name": "pub_key",
+      "param-value": "${pub_key}"
+    },
+    {
+      "param-name": "install_script_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "demo_artifacts_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "dcae_collector_ip",
+      "param-value": "10.0.4.1"
+    },
+    {
+      "param-name": "public_net_id",
+      "param-value": "${public_net_id}"
+    },
+    {
+      "param-name": "protected_private_net_id",
+      "param-value": "zdfw1fwl01_protected"
+    },
+    {
+      "param-name": "onap_private_net_id",
+      "param-value": "${onap_private_net_id}"
+    },
+    {
+      "param-name": "onap_private_subnet_id",
+      "param-value": "${onap_private_subnet_id}"
+    },
+    {
+      "param-name": "unprotected_private_net_id",
+      "param-value": "${vnf-name}_unprotected"
+    },
+    {
+      "param-name": "unprotected_private_subnet_id",
+      "param-value": "${vnf-name}_unprotected_sub"
+    },
+    {
+      "param-name": "unprotected_private_net_cidr",
+      "param-value": "${unprotected_private_net_cidr}"
+    },
+    {
+      "param-name": "protected_private_subnet_id",
+      "param-value": "${vnf-name}_protected_sub"
+    },
+    {
+      "param-name": "protected_private_net_id",
+      "param-value": "${vnf-name}_protected"
+    },
+    {
+      "param-name": "onap_private_net_cidr",
+      "param-value": "${onap_private_net_cidr}"
+    },
+    {
+      "param-name": "vfw_private_ip_0",
+      "param-value": "${vfw_private_ip_0}"
+    },
+    {
+      "param-name": "vsn_private_ip_0",
+      "param-value": "${vsn_private_ip_0}"
+    },
+    {
+      "param-name": "nexus_artifact_repo",
+      "param-value": "${nexus_artifact_repo}"
+    },
+    {
+      "param-name": "sec_group",
+      "param-value": "${sec_group}"
+    },
+    {
+      "param-name": "vpg_private_ip_0",
+      "param-value": "${vpg_private_ip_0}"
+    }
+  ],
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vpg_name_0"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vpg_name_0}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vpg_name_0"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VNFC"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "NFC_NAMING_CODE",
+              "param-value": "${nfc-naming-code}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vpg_name_0",
+              "resource-value": "${vpg_name_0}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf_module_name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf_module_name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            },
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "${vf-module-type}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "netbox-ip-assign",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${private-prefix-id}"
+            },
+            {
+              "param-name": "vf-module-id",
+              "param-value": "${vf-module-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vf-module-id}-vpg_private_ip_1"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vpg_private_ip_1",
+              "resource-value": "${vpg_private_ip_1}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vf-module-name",
+              "resource-value": "${vf_module_name}"
+            },
+            {
+              "resource-name": "vnfc-name",
+              "resource-value": "${vpg_name_0}"
+            },
+            {
+              "resource-name": "ipv4-oam-address-prefix",
+              "resource-value": "${onap_private_net_cidr}"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn.vtl b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn.vtl
new file mode 100644 (file)
index 0000000..727427a
--- /dev/null
@@ -0,0 +1,311 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf_id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vnf_name",
+      "param-value": "${vnf-name}"
+    },
+    {
+      "param-name": "vnf_model_customization_uuid",
+      "param-value": "${vnf-model-customization-uuid}"
+    },
+    {
+      "param-name": "vf_module_id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "vf_module_type",
+      "param-value": "${vf-module-type}"
+    },
+    {
+      "param-name": "vf_module_customization_uuid",
+      "param-value": "${vf-module-model-customization-uuid}"
+    },
+    {
+      "param-name": "vfc_customization_uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "aic-cloud-region",
+      "param-value": "${aic-cloud-region}"
+    },
+    {
+      "param-name": "vm-type",
+      "param-value": "${vm-type}"
+    },
+    {
+      "param-name": "vnfc-model-customization-uuid",
+      "param-value": "${vfccustomizationuuid}"
+    },
+    {
+      "param-name": "vnfc-model-invariant-uuid",
+      "param-value": "${vnfc-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vnfc-model-version",
+      "param-value": "${vnfc-model-version}"
+    },
+    {
+      "param-name": "nfc-function",
+      "param-value": "${nf-role}"
+    },
+    {
+      "param-name": "nfc-naming-code",
+      "param-value": "${nfc-naming-code}"
+    },
+    {
+      "param-name": "cloud_env",
+      "param-value": "openstack"
+    },
+    {
+      "param-name": "repo_url_artifacts",
+      "param-value": "https://nexus.onap.org/content/groups/staging"
+    },
+    {
+      "param-name": "repo_url_blob",
+      "param-value": "https://nexus.onap.org/content/repositories/raw"
+    },
+    {
+      "param-name": "dcae_collector_port",
+      "param-value": "8080"
+    },
+    {
+      "param-name": "image_name",
+      "param-value": "${image_name}"
+    },
+    {
+      "param-name": "flavor_name",
+      "param-value": "m1.medium"
+    },
+    {
+      "param-name": "install_script_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "key_name",
+      "param-value": "${key_name}"
+    },
+    {
+      "param-name": "pub_key",
+      "param-value": "${pub_key}"
+    },
+    {
+      "param-name": "demo_artifacts_version",
+      "param-value": "1.2.1-SNAPSHOT"
+    },
+    {
+      "param-name": "dcae_collector_ip",
+      "param-value": "10.0.4.1"
+    },
+    {
+      "param-name": "public_net_id",
+      "param-value": "${public_net_id}"
+    },
+    {
+      "param-name": "unprotected_private_net_id",
+      "param-value": "${vnf-name}_unprotected"
+    },
+    {
+      "param-name": "protected_private_subnet_id",
+      "param-value": "${vnf-name}_protected_sub"
+    },
+    {
+      "param-name": "protected_private_net_id",
+      "param-value": "${vnf-name}_protected"
+    },
+    {
+      "param-name": "onap_private_net_id",
+      "param-value": "${onap_private_net_id}"
+    },
+    {
+      "param-name": "onap_private_subnet_id",
+      "param-value": "${onap_private_subnet_id}"
+    },
+    {
+      "param-name": "unprotected_private_net_cidr",
+      "param-value": "${unprotected_private_net_cidr}"
+    },
+    {
+      "param-name": "protected_private_net_cidr",
+      "param-value": "${protected_private_net_cidr}"
+    },
+    {
+      "param-name": "onap_private_net_cidr",
+      "param-value": "${onap_private_net_cidr}"
+    },
+    {
+      "param-name": "nexus_artifact_repo",
+      "param-value": "${nexus_artifact_repo}"
+    },
+    {
+      "param-name": "sec_group",
+      "param-value": "${sec_group}"
+    },
+    {
+      "param-name": "vfw_private_ip_1",
+      "param-value": "${vfw_private_ip_1}"
+    }
+  ],
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vsn_name_0"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vsn_name_0}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vsn_name_0"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VNFC"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "NFC_NAMING_CODE",
+              "param-value": "${nfc-naming-code}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vsn_name_0",
+              "resource-value": "${vsn_name_0}"
+            }
+          ]
+        },
+        {
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf_module_name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf_module_name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "nf-role",
+              "param-value": "${nf-role}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf-name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            },
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "${vf-module-type}"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "netbox-ip-assign",
+      "key-mapping": [
+        {
+          "payload": [
+            {
+              "param-name": "service-instance-id",
+              "param-value": "${service-instance-id}"
+            },
+            {
+              "param-name": "prefix-id",
+              "param-value": "${private-prefix-id}"
+            },
+            {
+              "param-name": "vf-module-id",
+              "param-value": "${vf-module-id}"
+            },
+            {
+              "param-name": "external_key",
+              "param-value": "${vf-module-id}-vsn_private_ip_1"
+            }
+          ],
+          "output-key-mapping": [
+            {
+              "resource-name": "vsn_private_ip_1",
+              "resource-value": "${vsn_private_ip_1}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "volume-group-name",
+              "resource-value": "${volume_group_name}"
+            },
+            {
+              "resource-name": "vf-module-name",
+              "resource-value": "${vf_module_name}"
+            },
+            {
+              "resource-name": "vnfc-name",
+              "resource-value": "${vsn_name_0}"
+            },
+            {
+              "resource-name": "ipv4-oam-address",
+              "resource-value": "${vsn_private_ip_1}"
+            },
+            {
+              "resource-name": "ipv4-oam-address-prefix",
+              "resource-value": "${onap_private_net_cidr}"
+            }
+          ]
+        }
+      ]
+    }
+  ]
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Definitions/activation-blueprint.json
new file mode 100644 (file)
index 0000000..4c1ca4a
--- /dev/null
@@ -0,0 +1,388 @@
+{
+  "metadata": {
+    "template_author": "Brinda Santh Muthuramalingam",
+    "author-email": "brindasanth@gmail.com",
+    "user-groups": "ADMIN, OPERATION",
+    "template_name": "baseconfiguration",
+    "template_version": "1.0.0",
+    "template_tags": "brinda, tosca"
+  },
+  "topology_template": {
+    "inputs": {
+      "request-id": {
+        "required": true,
+        "type": "string"
+      },
+      "action-name": {
+        "required": true,
+        "type": "string"
+      },
+      "scope-type": {
+        "required": true,
+        "type": "string"
+      },
+      "hostname": {
+        "required": true,
+        "type": "string"
+      }
+    },
+    "node_templates": {
+      "activate-process": {
+        "type": "bpmn-activate",
+        "properties": {
+          "process-name": {
+            "get_input": "action-name"
+          },
+          "version": {
+            "get_property": [
+              "SELF",
+              "process-name"
+            ]
+          },
+          "content": {
+            "get_artifact": [
+              "SELF",
+              "activate-process"
+            ]
+          }
+        },
+        "artifacts": {
+          "activate-process": {
+            "type": "artifact-bpmn-camunda",
+            "file": "Plans/ActivateProcess.bpmn"
+          }
+        }
+      },
+      "resource-assignment": {
+        "type": "component-resource-assignment",
+        "properties": {
+          "request-id": "1234"
+        },
+        "interfaces": {
+          "DefaultComponentNode": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "action-name": {
+                    "get_input": "action-name"
+                  },
+                  "resource-type": "vnf-type",
+                  "request-id": {
+                    "get_input": "request-id"
+                  },
+                  "resource-id": {
+                    "get_input": "hostname"
+                  },
+                  "template-content": {
+                    "get_artifact": [
+                      "SELF",
+                      "baseconfig-template"
+                    ]
+                  },
+                  "mapping-content": {
+                    "get_artifact": [
+                      "SELF",
+                      "baseconfig-mapping"
+                    ]
+                  }
+                },
+                "outputs": {
+                  "resource-assignment-params": "",
+                  "status": ""
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "baseconfig-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/baseconfig-template.vtl"
+          },
+          "baseconfig-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Mappings/baseconfig-mapping.json"
+          }
+        }
+      },
+      "resource-assignment-py": {
+        "type": "component-resource-assignment",
+        "properties": {
+          "request-id": "1234"
+        },
+        "interfaces": {
+          "DefaultComponentNode": {
+            "operations": {
+              "process": {
+                "implementation": {
+                  "primary": "component-script"
+                },
+                "inputs": {
+                  "action-name": {
+                    "get_input": "action-name"
+                  }
+                },
+                "outputs": {
+                  "resource-assignment-params": "",
+                  "status": ""
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "component-script": {
+            "type": "artifact-script-python",
+            "file": "Scripts/baseconfig-template.vtl"
+          }
+        }
+      }
+    },
+    "workflows": {
+      "activate-process": {
+        "steps": {
+          "call-resource-assignment": {
+            "description": "Invoke Resource Assignment Component",
+            "target": "resource-assignment",
+            "activities": [
+              {
+                "call_operation": "ResourceAssignmentNode.process"
+              }
+            ],
+            "on_success": [
+              "download-baseconfig"
+            ]
+          },
+          "download-baseconfig": {
+            "description": "Call Download Base Config Component",
+            "target": "activate-netconf",
+            "activities": [
+              {
+                "call_operation": "NetconfTransactionNode.process"
+              }
+            ],
+            "on_success": [
+              "download-licence"
+            ]
+          },
+          "download-licence": {
+            "description": "Call Download Licence Component",
+            "target": "activate-netconf",
+            "activities": [
+              {
+                "call_operation": "NetconfTransactionNode.process"
+              }
+            ]
+          }
+        }
+      }
+    }
+  },
+  "artifact_types": {
+    "artifact-template-velocity": {
+      "description": " Velocity Template used for Configuration",
+      "version": "1.0.0",
+      "file_ext": [
+        "vtl"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-mapping-resource": {
+      "description": " Velocity Template Resource Mapping File used along with Configuration template",
+      "version": "1.0.0",
+      "file_ext": [
+        "json"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-script-kotlin": {
+      "description": " Kotlin Script Template used for Configuration",
+      "version": "1.0.0",
+      "file_ext": [
+        "kt"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-script-python": {
+      "description": " Kotlin Script Template used for Configuration",
+      "version": "1.0.0",
+      "file_ext": [
+        "py"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-bpmn-camunda": {
+      "description": " Camunda BPM File",
+      "version": "1.0.0",
+      "file_ext": [
+        "bpmn"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    },
+    "artifact-component-jar": {
+      "description": "Component Jar",
+      "version": "1.0.0",
+      "file_ext": [
+        "jar"
+      ],
+      "derived_from": "tosca.artifacts.Implementation"
+    }
+  },
+  "node_types": {
+    "bpmn-activate": {
+      "description": "This is BPMN Activate node type",
+      "version": "1.0.0",
+      "properties": {
+        "content": {
+          "required": false,
+          "type": "string"
+        },
+        "process-name": {
+          "required": false,
+          "type": "string"
+        },
+        "version": {
+          "required": false,
+          "type": "string",
+          "default": "LATEST"
+        }
+      },
+      "derived_from": "tosca.nodes.DG"
+    },
+    "tosca.nodes.Component": {
+      "description": "This is Resource Assignment Component API",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "tosca.nodes.DG": {
+      "description": "This is Directed Graph Node Type",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "tosca.nodes.component.Python": {
+      "description": "This is Resource Assignment Python Component API",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    },
+    "component-resource-assignment": {
+      "description": "This is Resource Assignment Component API",
+      "version": "1.0.0",
+      "properties": {
+        "request-id": {
+          "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+          "required": true,
+          "type": "string"
+        }
+      },
+      "interfaces": {
+        "DefaultComponentNode": {
+          "operations": {
+            "process": {
+              "inputs": {
+                "action-name": {
+                  "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+                  "required": false,
+                  "type": "string"
+                },
+                "resource-type": {
+                  "required": false,
+                  "type": "string"
+                },
+                "request-id": {
+                  "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+                  "required": true,
+                  "type": "string"
+                },
+                "resource-id": {
+                  "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+                  "required": true,
+                  "type": "string"
+                },
+                "template-content": {
+                  "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+                  "required": true,
+                  "type": "string"
+                },
+                "mapping-content": {
+                  "description": "Id used to pull the data content from the data base. Either template-data or resource-id should be present",
+                  "required": true,
+                  "type": "string"
+                }
+              },
+              "outputs": {
+                "resource-assignment-params": {
+                  "required": true,
+                  "type": "string"
+                },
+                "status": {
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Component"
+    },
+    "component-resource-assignment-python": {
+      "description": "This is Resource Assignment Component API",
+      "version": "1.0.0",
+      "properties": {
+        "request-id": {
+          "description": "Request Id used to store the generated configuration, in the database along with the template-name",
+          "required": true,
+          "type": "string"
+        }
+      },
+      "interfaces": {
+        "DefaultComponentNode": {
+          "operations": {
+            "process": {
+              "inputs": {
+                "action-name": {
+                  "description": "Recipe Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",
+                  "required": false,
+                  "type": "string"
+                }
+              },
+              "outputs": {
+                "resource-assignment-params": {
+                  "required": true,
+                  "type": "string"
+                },
+                "status": {
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.component.Python"
+    }
+  },
+  "data_types": {
+    "sample-property": {
+      "description": "This is sample data type",
+      "version": "1.0.0",
+      "properties": {
+        "content": {
+          "required": false,
+          "type": "string"
+        },
+        "process-name": {
+          "required": false,
+          "type": "string"
+        },
+        "version": {
+          "required": false,
+          "type": "string",
+          "default": "LATEST"
+        }
+      },
+      "derived_from": "tosca.datatypes.Root"
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Mappings/baseconfig-mapping.json
new file mode 100644 (file)
index 0000000..caee773
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "assignments": "Sample Assignments"
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Plans/ActivateProcess.bpmn
new file mode 100644 (file)
index 0000000..89ae342
--- /dev/null
@@ -0,0 +1,66 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL"
+                  xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI"
+                  xmlns:di="http://www.omg.org/spec/DD/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC"
+                  xmlns:camunda="http://camunda.org/schema/1.0/bpmn"
+                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" id="Definitions_1"
+                  targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="1.11.2">
+    <bpmn:process id="ActivateProcess" isExecutable="true">
+        <bpmn:startEvent id="StartEvent_1">
+            <bpmn:outgoing>SequenceFlow_0l0dq58</bpmn:outgoing>
+        </bpmn:startEvent>
+        <bpmn:endEvent id="EndEvent_1pr0kil">
+            <bpmn:incoming>SequenceFlow_1ay0k6p</bpmn:incoming>
+        </bpmn:endEvent>
+        <bpmn:sequenceFlow id="SequenceFlow_0l0dq58" sourceRef="StartEvent_1" targetRef="activate_device_task"/>
+        <bpmn:sequenceFlow id="SequenceFlow_1ay0k6p" sourceRef="activate_device_task" targetRef="EndEvent_1pr0kil"/>
+        <bpmn:serviceTask id="activate_device_task" name="Activate Device"
+                          camunda:delegateExpression="${componentDelegateService}">
+            <bpmn:extensionElements>
+                <camunda:inputOutput>
+                    <camunda:inputParameter name="selector"><![CDATA[resource-assignment
+]]></camunda:inputParameter>
+                </camunda:inputOutput>
+            </bpmn:extensionElements>
+            <bpmn:incoming>SequenceFlow_0l0dq58</bpmn:incoming>
+            <bpmn:outgoing>SequenceFlow_1ay0k6p</bpmn:outgoing>
+        </bpmn:serviceTask>
+    </bpmn:process>
+    <bpmndi:BPMNDiagram id="BPMNDiagram_1">
+        <bpmndi:BPMNPlane id="BPMNPlane_1" bpmnElement="ActivateProcess">
+            <bpmndi:BPMNShape id="_BPMNShape_StartEvent_2" bpmnElement="StartEvent_1">
+                <dc:Bounds x="175" y="143" width="36" height="36"/>
+                <bpmndi:BPMNLabel>
+                    <dc:Bounds x="148" y="179" width="90" height="20"/>
+                </bpmndi:BPMNLabel>
+            </bpmndi:BPMNShape>
+            <bpmndi:BPMNShape id="EndEvent_1pr0kil_di" bpmnElement="EndEvent_1pr0kil">
+                <dc:Bounds x="575" y="114" width="36" height="36"/>
+                <bpmndi:BPMNLabel>
+                    <dc:Bounds x="593" y="154" width="0" height="12"/>
+                </bpmndi:BPMNLabel>
+            </bpmndi:BPMNShape>
+            <bpmndi:BPMNEdge id="SequenceFlow_0l0dq58_di" bpmnElement="SequenceFlow_0l0dq58">
+                <di:waypoint xsi:type="dc:Point" x="211" y="161"/>
+                <di:waypoint xsi:type="dc:Point" x="273" y="161"/>
+                <di:waypoint xsi:type="dc:Point" x="273" y="149"/>
+                <di:waypoint xsi:type="dc:Point" x="334" y="149"/>
+                <bpmndi:BPMNLabel>
+                    <dc:Bounds x="288" y="149" width="0" height="12"/>
+                </bpmndi:BPMNLabel>
+            </bpmndi:BPMNEdge>
+            <bpmndi:BPMNEdge id="SequenceFlow_1ay0k6p_di" bpmnElement="SequenceFlow_1ay0k6p">
+                <di:waypoint xsi:type="dc:Point" x="434" y="149"/>
+                <di:waypoint xsi:type="dc:Point" x="505" y="149"/>
+                <di:waypoint xsi:type="dc:Point" x="505" y="132"/>
+                <di:waypoint xsi:type="dc:Point" x="575" y="132"/>
+                <bpmndi:BPMNLabel>
+                    <dc:Bounds x="520" y="134.5" width="0" height="12"/>
+                </bpmndi:BPMNLabel>
+            </bpmndi:BPMNEdge>
+            <bpmndi:BPMNShape id="ServiceTask_0e8ek4f_di" bpmnElement="activate_device_task">
+                <dc:Bounds x="334" y="109" width="100" height="80"/>
+            </bpmndi:BPMNShape>
+        </bpmndi:BPMNPlane>
+    </bpmndi:BPMNDiagram>
+</bpmn:definitions>
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/SamplePythonComponentNode.py
new file mode 100644 (file)
index 0000000..fc51513
--- /dev/null
@@ -0,0 +1,8 @@
+from com.brvith.orchestrator.core.interfaces import ComponentNode
+
+class SamplePythonComponentNode(ComponentNode):
+    def prepare(self, context, componentContext):
+        return None
+
+    def prepare(self, context, componentContext):
+        return None
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Scripts/__init__.py
new file mode 100644 (file)
index 0000000..e69de29
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/TOSCA-Metadata/TOSCA.meta
new file mode 100644 (file)
index 0000000..9066e48
--- /dev/null
@@ -0,0 +1,8 @@
+TOSCA-Meta-File-Version: 1.0.0
+CSAR-Version: 1.0
+Created-By: Brinda Santh M
+Entry-Definitions: Definitions/activation-blueprint.json
+Template-Tags: Brinda Santh, activation-blueprint
+
+Name: Plans/ActivateProcess.bpmn
+Content-Type: application/vnd.oasis.bpmn
diff --git a/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl b/components/model-catalog/blueprint-model/starter-blueprint/baseconfiguration/Templates/baseconfig-template.vtl
new file mode 100644 (file)
index 0000000..026c591
--- /dev/null
@@ -0,0 +1 @@
+This is Sample Velocity Template
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-bpmn-camunda.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-bpmn-camunda.json
new file mode 100644 (file)
index 0000000..ac76b4f
--- /dev/null
@@ -0,0 +1,8 @@
+{\r
+  "description": " Camunda BPM File",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "bpmn"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-directed-graph.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-directed-graph.json
new file mode 100644 (file)
index 0000000..7ab3a54
--- /dev/null
@@ -0,0 +1,9 @@
+{\r
+  "description": "Directed Graph File",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "json",\r
+    "xml"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-mapping-resource.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-mapping-resource.json
new file mode 100644 (file)
index 0000000..0a3261b
--- /dev/null
@@ -0,0 +1,8 @@
+{\r
+  "description": " Velocity Template Resource Mapping File used along with Configuration template",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "json"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-python.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-script-python.json
new file mode 100644 (file)
index 0000000..b48d2b6
--- /dev/null
@@ -0,0 +1,8 @@
+{\r
+  "description": " Kotlin Script Template used for Configuration",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "py"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-velocity.json b/components/model-catalog/definition-type/starter-type/artifact_type/artifact-template-velocity.json
new file mode 100644 (file)
index 0000000..9395d39
--- /dev/null
@@ -0,0 +1,8 @@
+{\r
+  "description": " Velocity Template used for Configuration",\r
+  "version": "1.0.0",\r
+  "file_ext": [\r
+    "vtl"\r
+  ],\r
+  "derived_from": "tosca.artifacts.Implementation"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/artifact_type/tosca.artifacts.Implementation.json b/components/model-catalog/definition-type/starter-type/artifact_type/tosca.artifacts.Implementation.json
new file mode 100644 (file)
index 0000000..5a7c956
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "TOSCA base type for implementation artifacts",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.artifacts.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/data_type/datatype-property.json b/components/model-catalog/definition-type/starter-type/data_type/datatype-property.json
new file mode 100644 (file)
index 0000000..5584b10
--- /dev/null
@@ -0,0 +1,27 @@
+{\r
+       "version": "1.0.0",\r
+       "description": "This is Entry point Input Data Type, which is dynamic datatype, The parameter names will be populated during the Design time for each inputs",\r
+       "properties": {\r
+               "type": {\r
+                       "required": true,\r
+                       "type": "string"\r
+               },\r
+               "description": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "required": {\r
+                       "required": false,\r
+                       "type": "boolean"\r
+               },\r
+               "default": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "entry_schema": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               }\r
+       },\r
+       "derived_from": "tosca.datatypes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/data_type/datatype-resource-assignment.json b/components/model-catalog/definition-type/starter-type/data_type/datatype-resource-assignment.json
new file mode 100644 (file)
index 0000000..cc9816e
--- /dev/null
@@ -0,0 +1,46 @@
+{\r
+       "version": "1.0.0",\r
+       "description": "This is Resource Assignment Data Type",\r
+       "properties": {\r
+               "property": {\r
+                       "required": true,\r
+                       "type": "datatype-property"\r
+               },\r
+               "input-param": {\r
+                       "required": true,\r
+                       "type": "boolean"\r
+               },\r
+               "dictionary-name": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "dictionary-source": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "dependencies": {\r
+                       "required": true,\r
+                       "type": "list",\r
+                       "entry_schema": {\r
+                               "type": "string"\r
+                       }\r
+               },\r
+               "status": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "message": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "updated-date": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               },\r
+               "updated-by": {\r
+                       "required": false,\r
+                       "type": "string"\r
+               }\r
+       },\r
+       "derived_from": "tosca.datatypes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/data_type/dt-license-key.json b/components/model-catalog/definition-type/starter-type/data_type/dt-license-key.json
new file mode 100644 (file)
index 0000000..e9c312b
--- /dev/null
@@ -0,0 +1,11 @@
+{\r
+       "version": "1.0.0",\r
+       "description": "This is dt-plicense-key Data Type",\r
+       "properties": {\r
+               "license-key": {\r
+                       "required": true,\r
+                       "type": "string"\r
+               }\r
+       },\r
+       "derived_from": "tosca.datatypes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/data_type/dt-v4-aggregate.json b/components/model-catalog/definition-type/starter-type/data_type/dt-v4-aggregate.json
new file mode 100644 (file)
index 0000000..842a7f8
--- /dev/null
@@ -0,0 +1,15 @@
+{\r
+       "version": "1.0.0",\r
+       "description": "This is dt-v4-aggregate Data Type",\r
+       "properties": {\r
+               "ipv4-address": {\r
+                       "required": true,\r
+                       "type": "string"\r
+               },\r
+               "ipv4-plen": {\r
+                       "required": false,\r
+                       "type": "integer"\r
+               }\r
+       },\r
+       "derived_from": "tosca.datatypes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/data_type/tosca.datatypes.Credential.json b/components/model-catalog/definition-type/starter-type/data_type/tosca.datatypes.Credential.json
new file mode 100644 (file)
index 0000000..820a551
--- /dev/null
@@ -0,0 +1,31 @@
+{\r
+  "version": "1.0.0",\r
+  "description": "Credential",\r
+  "properties": {\r
+    "protocol": {\r
+      "required": false,\r
+      "type": "string"\r
+    },\r
+    "token_type": {\r
+      "required": true,\r
+      "type": "string",\r
+      "default" : "password"\r
+    },\r
+    "token": {\r
+      "required": false,\r
+      "type": "string"\r
+    },\r
+    "keys": {\r
+      "required": false,\r
+      "type": "list",\r
+      "entry_schema": {\r
+        "type": "string"\r
+      }\r
+    },\r
+    "user": {\r
+      "required": false,\r
+      "type": "string"\r
+    }\r
+  },\r
+  "derived_from": "tosca.datatypes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/artifact-config-template.json b/components/model-catalog/definition-type/starter-type/node_type/artifact-config-template.json
new file mode 100644 (file)
index 0000000..af99d75
--- /dev/null
@@ -0,0 +1,37 @@
+{\r
+       "description": "This is Configuration Velocity Template",\r
+       "version": "1.0.0",\r
+       "properties": {\r
+               "action-names": {\r
+                       "required": true,\r
+                       "type": "list",\r
+                       "entry_schema": {\r
+                               "type": "string"\r
+                       }\r
+               }\r
+       },\r
+       "capabilities": {\r
+               "content": {\r
+                       "type": "tosca.capabilities.Content",\r
+                       "properties": {\r
+                               "content": {\r
+                                       "required": true,\r
+                                       "type": "string"\r
+                               }\r
+                       }\r
+               },\r
+               "mapping": {\r
+                       "type": "tosca.capabilities.Mapping",\r
+                       "properties": {\r
+                               "mapping": {\r
+                                       "required": false,\r
+                                       "type": "list",\r
+                                       "entry_schema": {\r
+                                               "type": "datatype-resource-assignment"\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.Artifact"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-config-generator.json b/components/model-catalog/definition-type/starter-type/node_type/component-config-generator.json
new file mode 100644 (file)
index 0000000..764f9e8
--- /dev/null
@@ -0,0 +1,72 @@
+{\r
+       "description": "This is Generate Configuration Component API",\r
+       "version": "1.0.0",\r
+       "capabilities": {\r
+               "component-node": {\r
+                       "type": "tosca.capabilities.Node"\r
+               }\r
+       },\r
+       "interfaces": {\r
+               "org-openecomp-sdnc-config-generator-service-ConfigGeneratorNode": {\r
+                       "operations": {\r
+                               "process": {\r
+                                       "inputs": {\r
+                                               "template-data": {\r
+                                                       "description": "Conditional : JSON string which is used to mash with template. Either template-data or ( resource-id and resource-type ) should be present",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "template-content": {\r
+                                                       "description": "Conditional : Dynamic Template used to generate Configuration.",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "resource-type": {\r
+                                                       "description": "Conditional : resource-type used to pull the data content from the data base. Either template-data or ( resource-id and resource-type ) should be present",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "request-id": {\r
+                                                       "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
+                                                       "required": true,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "resource-id": {\r
+                                                       "description": "Conditional : Id used to pull the data content from the data base. Either template-data or ( resource-id and resource-type ) should be present",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "action-name": {\r
+                                                       "description": "Conditional : Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "template-name": {\r
+                                                       "description": "Conditional : Name of the Artifact Node Template, to get the template Content. If template-content is present, then content wont be reterived from the Artifact Node Template.",\r
+                                                       "required": true,\r
+                                                       "type": "string"\r
+                                               }\r
+                                       },\r
+                                       "outputs": {\r
+                                               "generated-config": {\r
+                                                       "description": "Generated Configuration for the Template adn Resource Data",\r
+                                                       "required": true,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "mask-info": {\r
+                                                       "description": "If template contains mask encription keys, then this mask-info field will be generated, This JSON Content alligns to the bean org.onap.ccsdk.apps.controllerblueprints.core.data.custom.MaskInfo ",\r
+                                                       "required": false,\r
+                                                       "type": "string"\r
+                                               },\r
+                                               "status": {\r
+                                                       "description": "Status of the Component Execution ( success or failure )",\r
+                                                       "required": true,\r
+                                                       "type": "string"\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.Component"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-netconf-executor.json b/components/model-catalog/definition-type/starter-type/node_type/component-netconf-executor.json
new file mode 100644 (file)
index 0000000..240caf3
--- /dev/null
@@ -0,0 +1,79 @@
+{\r
+  "description": "This is Netconf Transaction Configuration Component API",\r
+  "version": "1.0.0",\r
+  "capabilities": {\r
+    "component-node": {\r
+      "type": "tosca.capabilities.Node"\r
+    }\r
+  },\r
+  "requirements": {\r
+    "netconf-connection": {\r
+      "capability": "netconf",\r
+      "node": "vnf-netconf-device",\r
+      "relationship": "tosca.relationships.ConnectsTo"\r
+    }\r
+  },\r
+  "interfaces": {\r
+    "org-openecomp-sdnc-netconf-adaptor-service-NetconfExecutorNode": {\r
+      "operations": {\r
+        "process": {\r
+          "inputs": {\r
+            "request-id": {\r
+              "description": "Request Id used to store the generated configuration, in the database along with the template-name",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "template-name": {\r
+              "description": "Service Template Name",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "template-version": {\r
+              "description": "Service Template Version",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "action-name": {\r
+              "description": "Action Name to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
+              "required": false,\r
+              "type": "string"\r
+            },\r
+            "resource-type": {\r
+              "description": "Resource Type to get from Database, Either (message & mask-info ) or( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
+              "required": false,\r
+              "type": "string"\r
+            },\r
+            "resource-id": {\r
+              "description": "Resource Id to get from Database, Either (message & mask-info ) or ( resource-id & resource-type & action-name & template-name ) should be present. Message will be given higest priority",\r
+              "required": false,\r
+              "type": "string"\r
+            },\r
+            "reservation-id": {\r
+                               "description": "Reservation Id used to send to NPM",\r
+                               "required": false,\r
+                               "type": "string"\r
+                       },\r
+            "execution-script": {\r
+              "description": "Python Script to Execute for this Component action, It should refer any one of Prython Artifact Definition for this Node Template.",\r
+              "required": true,\r
+              "type": "string"\r
+            }\r
+          },\r
+          "outputs": {\r
+            "response-data": {\r
+              "description": "Execution Response Data in JSON format.",\r
+              "required": false,\r
+              "type": "string"\r
+            },\r
+            "status": {\r
+              "description": "Status of the Component Execution ( success or failure )",\r
+              "required": true,\r
+              "type": "string"\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+  },\r
+  "derived_from": "tosca.nodes.Component"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/component-resource-assignment.json b/components/model-catalog/definition-type/starter-type/node_type/component-resource-assignment.json
new file mode 100644 (file)
index 0000000..d424a8e
--- /dev/null
@@ -0,0 +1,68 @@
+{\r
+  "description": "This is Resource Assignment Component API",\r
+  "version": "1.0.0",\r
+  "capabilities": {\r
+    "component-node": {\r
+      "type": "tosca.capabilities.Node"\r
+    }\r
+  },\r
+  "interfaces": {\r
+    "org-onap-ccsdk-config-assignment-service-ConfigAssignmentNode": {\r
+      "operations": {\r
+        "process": {\r
+          "inputs": {\r
+           "template-name": {\r
+              "description": "Service Template Name.",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+           "template-version": {\r
+              "description": "Service Template Version.",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "resource-type": {\r
+              "description": "Request type.",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "template-names": {\r
+              "description": "Name of the artifact Node Templates, to get the template Content.",\r
+              "required": true,\r
+              "type": "list",\r
+              "entry_schema": {\r
+                "type": "string"\r
+              }\r
+            },\r
+            "request-id": {\r
+              "description": "Request Id, Unique Id for the request.",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "resource-id": {\r
+              "description": "Resource Id.",\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "action-name": {\r
+              "description": "Action Name of the process",\r
+              "required": true,\r
+              "type": "string"\r
+            }\r
+          },\r
+          "outputs": {\r
+            "resource-assignment-params": {\r
+              "required": true,\r
+              "type": "string"\r
+            },\r
+            "status": {\r
+              "required": true,\r
+              "type": "string"\r
+            }\r
+          }\r
+        }\r
+      }\r
+    }\r
+  },\r
+  "derived_from": "tosca.nodes.Component"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/dg-activate-netconf.json b/components/model-catalog/definition-type/starter-type/node_type/dg-activate-netconf.json
new file mode 100644 (file)
index 0000000..57667de
--- /dev/null
@@ -0,0 +1,52 @@
+{
+       "description": "This is Download Netconf Directed Graph",
+       "version": "1.0.0",
+       "properties": {
+               "mode": {
+                       "required": false,
+                       "type": "string",
+                       "default": "sync"
+               },
+               "version": {
+                       "required": false,
+                       "type": "string",
+                       "default": "LATEST"
+               },
+               "is-start-flow": {
+                       "required": false,
+                       "type": "boolean",
+                       "default": false
+               }
+       },
+       "capabilities": {
+               "dg-node": {
+                       "type": "tosca.capabilities.Node"
+               }
+       },
+       "requirements": {
+               "component-dependency": {
+                       "capability": "component-node",
+                       "node": "component-netconf-executor",
+                       "relationship": "tosca.relationships.DependsOn"
+               }
+       },
+       "interfaces": {
+               "CONFIG": {
+                       "operations": {
+                               "ActivateNetconf": {
+                                       "inputs": {
+                                               "params": {
+                                                       "required": false,
+                                                       "type": "list",
+                                                       "entry_schema": {
+                                                               "type": "datatype-property"
+                                                       }
+                                               }
+                                       }
+                               }
+                       }
+               }
+       },
+       
+       "derived_from": "tosca.nodes.DG"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/dg-config-generator.json b/components/model-catalog/definition-type/starter-type/node_type/dg-config-generator.json
new file mode 100644 (file)
index 0000000..e59c34b
--- /dev/null
@@ -0,0 +1,51 @@
+{\r
+       "description": "This is Activate DG for Config Generator Directed Graph",\r
+       "version": "1.0.0",\r
+       "properties": {\r
+               "mode": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "sync"\r
+               },\r
+               "version": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "LATEST"\r
+               },\r
+               "is-start-flow": {\r
+                       "required": false,\r
+                       "type": "boolean",\r
+                       "default": false\r
+               }\r
+       },\r
+       "capabilities": {\r
+               "dg-node": {\r
+                       "type": "tosca.capabilities.Node"\r
+               }\r
+       },\r
+       "requirements": {\r
+               "component-dependency": {\r
+                       "capability": "component-node",\r
+                       "node": "component-config-generator",\r
+                       "relationship": "tosca.relationships.DependsOn"\r
+               }\r
+       },\r
+       "interfaces": {\r
+               "CONFIG": {\r
+                       "operations": {\r
+                               "GenerateConfiguration": {\r
+                                       "inputs": {\r
+                                               "params": {\r
+                                                       "required": false,\r
+                                                       "type": "list",\r
+                                                       "entry_schema": {\r
+                                                               "type": "datatype-property"\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.DG"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/dg-resource-assign-activate.json b/components/model-catalog/definition-type/starter-type/node_type/dg-resource-assign-activate.json
new file mode 100644 (file)
index 0000000..ca703a7
--- /dev/null
@@ -0,0 +1,56 @@
+{\r
+       "description": "This is Resource Assign and Activate Netconf Directed Graph",\r
+       "version": "1.0.0",\r
+       "properties": {\r
+               "mode": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "sync"\r
+               },\r
+               "version": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "LATEST"\r
+               },\r
+               "is-start-flow": {\r
+                       "required": false,\r
+                       "type": "boolean",\r
+                       "default": false\r
+               }\r
+       },\r
+       "capabilities": {\r
+               "dg-node": {\r
+                       "type": "tosca.capabilities.Node"\r
+               }\r
+       },\r
+       "requirements": {\r
+               "ra-component": {\r
+                       "capability": "component-node",\r
+                       "node": "component-resource-assignment",\r
+                       "relationship": "tosca.relationships.DependsOn"\r
+               },\r
+               "netconf-component": {\r
+                       "capability": "component-node",\r
+                       "node": "component-netconf-executor",\r
+                       "relationship": "tosca.relationships.DependsOn"\r
+               }\r
+       },\r
+       "interfaces": {\r
+               "CONFIG": {\r
+                       "operations": {\r
+                               "ResourceAssignAndActivate": {\r
+                                       "inputs": {\r
+                                               "params": {\r
+                                                       "required": false,\r
+                                                       "type": "list",\r
+                                                       "entry_schema": {\r
+                                                               "type": "datatype-property"\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.DG"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/dg-resource-assignment.json b/components/model-catalog/definition-type/starter-type/node_type/dg-resource-assignment.json
new file mode 100644 (file)
index 0000000..9cce82a
--- /dev/null
@@ -0,0 +1,51 @@
+{\r
+       "description": "This is Resource Assignment Directed Graph",\r
+       "version": "1.0.0",\r
+       "properties": {\r
+               "mode": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "sync"\r
+               },\r
+               "version": {\r
+                       "required": false,\r
+                       "type": "string",\r
+                       "default": "LATEST"\r
+               },\r
+               "is-start-flow": {\r
+                       "required": false,\r
+                       "type": "boolean",\r
+                       "default": false\r
+               }\r
+       },\r
+       "capabilities": {\r
+               "dg-node": {\r
+                       "type": "tosca.capabilities.Node"\r
+               }\r
+       },\r
+       "requirements": {\r
+               "component-dependency": {\r
+                       "capability": "component-node",\r
+                       "node": "component-resource-assignment",\r
+                       "relationship": "tosca.relationships.DependsOn"\r
+               }\r
+       },\r
+       "interfaces": {\r
+               "CONFIG": {\r
+                       "operations": {\r
+                               "ResourceAssignment": {\r
+                                       "inputs": {\r
+                                               "params": {\r
+                                                       "required": false,\r
+                                                       "type": "list",\r
+                                                       "entry_schema": {\r
+                                                               "type": "datatype-property"\r
+                                                       }\r
+                                               }\r
+                                       }\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.DG"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/source-db.json b/components/model-catalog/definition-type/starter-type/node_type/source-db.json
new file mode 100644 (file)
index 0000000..661a950
--- /dev/null
@@ -0,0 +1,44 @@
+{
+  "description": "This is Database Resource Source Node Type",
+  "version": "1.0.0",
+  "properties": {
+    "type": {
+      "required": true,
+      "type": "string",
+      "constraints": [
+        {
+          "valid_values": [
+            "SQL",
+            "PLSQL"
+          ]
+        }
+      ]
+    },
+    "query": {
+      "required": true,
+      "type": "string"
+    },
+    "input-key-mapping": {
+      "required": false,
+      "type": "map",
+      "entry_schema": {
+        "type": "string"
+      }
+    },
+    "output-key-mapping": {
+      "required": false,
+      "type": "map",
+      "entry_schema": {
+        "type": "string"
+      }
+    },
+    "key-dependencies": {
+      "required": true,
+      "type": "list",
+      "entry_schema": {
+        "type": "string"
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.ResourceSource"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/source-default.json b/components/model-catalog/definition-type/starter-type/node_type/source-default.json
new file mode 100644 (file)
index 0000000..13e234e
--- /dev/null
@@ -0,0 +1,18 @@
+{
+  "description": "This is Default Resource Source Node Type",
+  "version": "1.0.0",
+  "properties": {
+    "key": {
+      "required": false,
+      "type": "string"
+    },
+    "key-dependencies": {
+      "required": true,
+      "type": "list",
+      "entry_schema": {
+        "type": "string"
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.ResourceSource"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/source-input.json b/components/model-catalog/definition-type/starter-type/node_type/source-input.json
new file mode 100644 (file)
index 0000000..126ea30
--- /dev/null
@@ -0,0 +1,18 @@
+{
+  "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"
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.ResourceSource"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/source-rest.json b/components/model-catalog/definition-type/starter-type/node_type/source-rest.json
new file mode 100644 (file)
index 0000000..f8dd8b6
--- /dev/null
@@ -0,0 +1,61 @@
+{
+  "description": "This is Rest Resource Source Node Type",
+  "version": "1.0.0",
+  "properties": {
+    "type": {
+      "required": false,
+      "type": "string",
+      "default": "JSON",
+      "constraints": [
+        {
+          "valid_values": [
+            "JSON"
+          ]
+        }
+      ]
+    },
+    "url-path": {
+      "required": true,
+      "type": "string"
+    },
+    "path": {
+      "required": true,
+      "type": "string"
+    },
+    "expression-type": {
+      "required": false,
+      "type": "string",
+      "default": "JSON_PATH",
+      "constraints": [
+        {
+          "valid_values": [
+            "JSON_PATH",
+            "JSON_POINTER"
+          ]
+        }
+      ]
+    },
+    "input-key-mapping": {
+      "required": false,
+      "type": "map",
+      "entry_schema": {
+        "type": "string"
+      }
+    },
+    "output-key-mapping": {
+      "required": false,
+      "type": "map",
+      "entry_schema": {
+        "type": "string"
+      }
+    },
+    "key-dependencies": {
+      "required": true,
+      "type": "list",
+      "entry_schema": {
+        "type": "string"
+      }
+    }
+  },
+  "derived_from": "tosca.nodes.ResourceSource"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Artifact.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Artifact.json
new file mode 100644 (file)
index 0000000..8141052
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is Deprecated Artifact Node Type.",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Component.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Component.json
new file mode 100644 (file)
index 0000000..bc4827b
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is default Component Node",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.DG.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.DG.json
new file mode 100644 (file)
index 0000000..86728cf
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is Directed Graph Node Type",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.ResourceSource.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.ResourceSource.json
new file mode 100644 (file)
index 0000000..2ef553e
--- /dev/null
@@ -0,0 +1,5 @@
+{
+  "description": "TOSCA base type for Resource Sources",
+  "version": "1.0.0",
+  "derived_from": "tosca.nodes.Root"
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Vnf.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.Vnf.json
new file mode 100644 (file)
index 0000000..acb1f2f
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is VNF Node Type",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Python.json b/components/model-catalog/definition-type/starter-type/node_type/tosca.nodes.component.Python.json
new file mode 100644 (file)
index 0000000..7b67c8c
--- /dev/null
@@ -0,0 +1,5 @@
+{\r
+  "description": "This is Python Component",\r
+  "version": "1.0.0",\r
+  "derived_from": "tosca.nodes.Root"\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/definition-type/starter-type/node_type/vnf-netconf-device.json b/components/model-catalog/definition-type/starter-type/node_type/vnf-netconf-device.json
new file mode 100644 (file)
index 0000000..246f177
--- /dev/null
@@ -0,0 +1,42 @@
+{\r
+       "description": "This is VNF Device with Netconf  Capability",\r
+       "version": "1.0.0",\r
+       "capabilities": {\r
+               "netconf": {\r
+                       "type": "tosca.capabilities.Netconf",\r
+                       "properties": {\r
+                               "login-key": {\r
+                                       "required": true,\r
+                                       "type": "string",\r
+                                       "default": "sdnc"\r
+                               },\r
+                               "login-account": {\r
+                                       "required": true,\r
+                                       "type": "string",\r
+                                       "default": "sdnc-tacacs"\r
+                               },\r
+                               "source": {\r
+                                       "required": true,\r
+                                       "type": "string",\r
+                                       "default": "npm"\r
+                               },\r
+                               "target-ip-address": {\r
+                                       "required": true,\r
+                                       "type": "string"\r
+                               },\r
+                               "port-number": {\r
+                                       "required": true,\r
+                                       "type": "integer",\r
+                                       "default": 830\r
+                               },\r
+                               "connection-time-out": {\r
+                                       "required": false,\r
+                                       "type": "integer",\r
+                                       "default": 30\r
+                               }\r
+                       }\r
+               }\r
+       },\r
+       "derived_from": "tosca.nodes.Vnf"\r
+       \r
+}\r
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/address.json b/components/model-catalog/resource-dictionary/starter-dictionary/address.json
new file mode 100755 (executable)
index 0000000..11f92d7
--- /dev/null
@@ -0,0 +1,14 @@
+{
+               "name": "address",
+               "tags": "address",
+               "updated-by" : "Singal, Kapil <ks220y@att.com>",
+               "property": {
+                       "description" : "address",
+                       "type": "string"
+               },
+               "sources": {
+                       "input": {
+                               "type": "source-input"
+                       }
+               }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/aic-cloud-region.json b/components/model-catalog/resource-dictionary/starter-dictionary/aic-cloud-region.json
new file mode 100755 (executable)
index 0000000..1501a9a
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "aic-cloud-region",
+  "tags" : "aic-cloud-region",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "aic-cloud-region",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/aic_clli.json b/components/model-catalog/resource-dictionary/starter-dictionary/aic_clli.json
new file mode 100755 (executable)
index 0000000..ccbbe9d
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "aic_clli",
+  "tags" : "aic_clli",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "aic_clli",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/availability_zone_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/availability_zone_0.json
new file mode 100755 (executable)
index 0000000..b9e07a9
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "availability_zone_0",
+  "tags" : "availability_zone_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "availability_zone_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/db-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/db-source.json
new file mode 100755 (executable)
index 0000000..de46524
--- /dev/null
@@ -0,0 +1,24 @@
+{
+  "name": "db-source",
+  "property" :{
+    "description": "name of the ",
+    "type": "string"
+  },
+  "updated-by": "brindasanth@onap.com",
+  "tags": "bundle-id, brindasanth@onap.com",
+  "sources": {
+    "db": {
+      "type": "source-db",
+      "properties": {
+        "query": "SELECT db-country, db-state FROM DEVICE_PROFILE WHERE profile_name = :profile_name",
+        "input-key-mapping": {
+          "profile_name": "profile_name"
+        },
+        "output-key-mapping": {
+          "db-country": "country",
+          "db-state": "state"
+        }
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/default-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/default-source.json
new file mode 100755 (executable)
index 0000000..42059ad
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "tags": "v4-ip-type, tosca.datatypes.Root, data_type, brindasanth@onap.com",
+  "name": "default-source",
+  "property" :{
+    "description": "name of the ",
+    "type": "string"
+  },
+  "updated-by": "brindasanth@onap.com",
+  "sources": {
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/image_name.json b/components/model-catalog/resource-dictionary/starter-dictionary/image_name.json
new file mode 100755 (executable)
index 0000000..37ef5ae
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name": "image_name",
+  "tags": "image_name",
+  "updated-by": "Singal, Kapil <ks220y@att.com>",
+  "property": {
+    "type": "string",
+    "description": "image_name"
+  },
+  "sources": {
+    "input": {
+      "type": "source-input"
+    },
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/image_name",
+        "path": "/param/0/value",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "vnf-id": "vnf-id"
+        },
+        "output-key-mapping": {
+          "image_name": "value"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "vnf-id"
+        ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/input-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/input-source.json
new file mode 100755 (executable)
index 0000000..6c69384
--- /dev/null
@@ -0,0 +1,16 @@
+{
+       "name": "input-source",
+       "property" :{
+               "description": "name of the ",
+               "type": "string"
+       },
+       "updated-by": "brindasanth@onap.com",
+       "tags": "input-source",
+       "sources": {
+               "input": {
+                       "type": "source-input",
+                       "properties": {
+                       }
+               }
+       }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/key_name.json b/components/model-catalog/resource-dictionary/starter-dictionary/key_name.json
new file mode 100755 (executable)
index 0000000..1f1b3e6
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name": "key_name",
+  "tags": "key_name",
+  "updated-by": "Singal, Kapil <ks220y@att.com>",
+  "property": {
+    "type": "string",
+    "description": "key_name"
+  },
+  "sources": {
+    "input": {
+      "type": "source-input"
+    },
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/key_name",
+        "path": "/param/0/value",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "vnf-id": "vnf-id"
+        },
+        "output-key-mapping": {
+          "key_name": "value"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "vnf-id"
+        ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/mdsal-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/mdsal-source.json
new file mode 100755 (executable)
index 0000000..300a71f
--- /dev/null
@@ -0,0 +1,34 @@
+{
+  "tags": "oam-local-ipv4-address",
+  "name": "mdsal-source",
+  "property" :{
+    "description": "based on service-instance-id,network-role,v4-ip-type and vm-type get the ipv4-gateway-prefix from the SDN-GC mdsal",
+    "type": "string"
+  },
+  "updated-by": "brindasanth@onap.com",
+  "sources": {
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/L3VNF-API:services/service-list/$service-instance-id/service-data/vnf-topology-information/vnf-assignments/vnf-vms/$vm-type/vm-networks/$network-role/v4-assigned-ip-list/$v4-ip-type",
+        "path": "/v4-assigned-ip-list/0/v4-ip-prefix",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "network-role": "network-role",
+          "v4-ip-type": "v4-ip-type",
+          "vm-type": "vm-type"
+        },
+        "output-key-mapping": {
+          "oam-local-ipv4-address": "v4-ip-prefix"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "network-role",
+          "v4-ip-type",
+          "vm-type"
+        ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/name_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/name_0.json
new file mode 100755 (executable)
index 0000000..433a3b7
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "name_0",
+  "tags" : "name_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "name_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/nexus_artifact_repo.json b/components/model-catalog/resource-dictionary/starter-dictionary/nexus_artifact_repo.json
new file mode 100755 (executable)
index 0000000..6b0a79e
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "nexus_artifact_repo",
+  "tags" : "nexus_artifact_repo",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "nexus_artifact_repo",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/nf-role.json b/components/model-catalog/resource-dictionary/starter-dictionary/nf-role.json
new file mode 100755 (executable)
index 0000000..819c7e6
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "nf-role",
+  "tags" : "nf-role",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnf/nf-role",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.VF_MODEL.nf_role as vf_model_role from sdnctl.VF_MODEL where sdnctl.VF_MODEL.customization_uuid=:vnfmodelcustomizationuuid",
+        "input-key-mapping" : {
+          "vnfmodelcustomizationuuid" : "vnf-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "nf-role" : "vf_model_role"
+        },
+        "key-dependencies" : [ "vnf-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/nfc-naming-code.json b/components/model-catalog/resource-dictionary/starter-dictionary/nfc-naming-code.json
new file mode 100755 (executable)
index 0000000..b827918
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "nfc-naming-code",
+  "tags" : "nfc-naming-code",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "nfc-naming-code",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select nfc_naming_code as nfc_naming_code from sdnctl.VFC_MODEL where customization_uuid=:vfccustomizationuuid",
+        "input-key-mapping" : {
+          "vfccustomizationuuid" : "vfccustomizationuuid"
+        },
+        "output-key-mapping" : {
+          "nfc-naming-code" : "nfc_naming_code"
+        },
+        "key-dependencies" : [ "vfccustomizationuuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_cidr.json b/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_cidr.json
new file mode 100755 (executable)
index 0000000..cee0601
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "onap_private_net_cidr",
+  "tags" : "onap_private_net_cidr",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "onap_private_net_cidr",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"private\"",
+        "output-key-mapping" : {
+          "onap_private_net_cidr" : "prefix"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_id.json b/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_id.json
new file mode 100755 (executable)
index 0000000..bb70fe3
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name": "onap_private_net_id",
+  "tags": "onap_private_net_id",
+  "updated-by": "Singal, Kapil <ks220y@att.com>",
+  "property": {
+    "type": "string",
+    "description": "onap_private_net_id"
+  },
+  "sources": {
+    "input": {
+      "type": "source-input"
+    },
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/onap_private_net_id",
+        "path": "/param/0/value",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "vnf-id": "vnf-id"
+        },
+        "output-key-mapping": {
+          "onap_private_net_id": "value"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "vnf-id"
+        ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_subnet_id.json b/components/model-catalog/resource-dictionary/starter-dictionary/onap_private_subnet_id.json
new file mode 100755 (executable)
index 0000000..d38ceb4
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name": "onap_private_subnet_id",
+  "tags": "onap_private_subnet_id",
+  "updated-by": "Singal, Kapil <ks220y@att.com>",
+  "property": {
+    "type": "string",
+    "description": "onap_private_subnet_id"
+  },
+  "sources": {
+    "input": {
+      "type": "source-input"
+    },
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/onap_private_subnet_id",
+        "path": "/param/0/value",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "vnf-id": "vnf-id"
+        },
+        "output-key-mapping": {
+          "onap_private_subnet_id": "value"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "vnf-id"
+        ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/private-prefix-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/private-prefix-id.json
new file mode 100755 (executable)
index 0000000..5dea3e3
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "private-prefix-id",
+  "tags" : "private-prefix-id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "private-prefix-id",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"private\"",
+        "output-key-mapping" : {
+          "private-prefix-id" : "prefix_id"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/protected-prefix-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/protected-prefix-id.json
new file mode 100755 (executable)
index 0000000..fb57274
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "protected-prefix-id",
+  "tags" : "protected-prefix-id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "protected-prefix-id",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"protected\"",
+        "output-key-mapping" : {
+          "protected-prefix-id" : "prefix_id"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/protected_private_net_cidr.json b/components/model-catalog/resource-dictionary/starter-dictionary/protected_private_net_cidr.json
new file mode 100755 (executable)
index 0000000..261920f
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "protected_private_net_cidr",
+  "tags" : "protected_private_net_cidr",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "protected_private_net_cidr",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"protected\"",
+        "output-key-mapping" : {
+          "protected_private_net_cidr" : "prefix"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/protected_private_subnet_id.json b/components/model-catalog/resource-dictionary/starter-dictionary/protected_private_subnet_id.json
new file mode 100755 (executable)
index 0000000..b3daadc
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "protected_private_subnet_id",
+  "tags" : "protected_private_subnet_id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "protected_private_subnet_id",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/pub_key.json b/components/model-catalog/resource-dictionary/starter-dictionary/pub_key.json
new file mode 100755 (executable)
index 0000000..ce6c2f2
--- /dev/null
@@ -0,0 +1,34 @@
+{
+  "name": "pub_key",
+  "tags": "pub_key",
+  "updated-by": "Singal, Kapil <ks220y@att.com>",
+  "property": {
+    "type": "string",
+    "description": "pub_key"
+  },
+  "sources": {
+    "input": {
+      "type": "source-input"
+    },
+    "mdsal": {
+      "type": "source-rest",
+      "properties": {
+        "type": "JSON",
+        "url-path": "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/pub_key",
+        "path": "/param/0/value",
+        "input-key-mapping": {
+          "service-instance-id": "service-instance-id",
+          "vnf-id": "vnf-id"
+        },
+        "output-key-mapping": {
+          "pub_key": "value"
+        },
+        "key-dependencies": [
+          "service-instance-id",
+          "vnf-id"
+        ]
+      }
+    }
+  }
+}
+
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/public_net_id.json b/components/model-catalog/resource-dictionary/starter-dictionary/public_net_id.json
new file mode 100755 (executable)
index 0000000..6cc9c2e
--- /dev/null
@@ -0,0 +1,14 @@
+{
+               "name": "public_net_id",
+               "tags": "public_net_id",
+               "updated-by" : "Singal, Kapil <ks220y@att.com>",
+               "property": {
+                       "type": "string",
+                       "description" : "public_net_id"
+               },
+               "sources": {
+                       "input": {
+                               "type": "source-input"
+                       }
+               }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-db-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-db-source.json
new file mode 100644 (file)
index 0000000..90775ae
--- /dev/null
@@ -0,0 +1,24 @@
+{\r
+  "name": "sample-db-source",\r
+  "property" :{\r
+    "description": "name of the ",\r
+    "type": "string"\r
+  },\r
+  "updated-by": "brindasanth@onap.com",\r
+  "tags": "db-source, brindasanth@onap.com",\r
+  "sources": {\r
+    "db": {\r
+      "type": "source-db",\r
+      "properties": {\r
+        "query": "SELECT db-country, db-state FROM DEVICE_PROFILE WHERE profile_name = :profile_name",\r
+        "input-key-mapping": {\r
+          "profile_name": "profile_name"\r
+        },\r
+        "output-key-mapping": {\r
+          "db-country": "country",\r
+          "db-state": "state"\r
+        }\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-default-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-default-source.json
new file mode 100644 (file)
index 0000000..395b0dd
--- /dev/null
@@ -0,0 +1,16 @@
+{\r
+  "tags": "sample-default-source",\r
+  "name": "sample-default-source",\r
+  "property" :{\r
+    "description": "name of the ",\r
+    "type": "string"\r
+  },\r
+  "updated-by": "brindasanth@onap.com",\r
+  "sources": {\r
+    "default": {\r
+      "type": "source-default",\r
+      "properties": {\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-input-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-input-source.json
new file mode 100644 (file)
index 0000000..73c0d40
--- /dev/null
@@ -0,0 +1,17 @@
+{\r
+       "name": "sample-input-source",\r
+       "property" :{\r
+               "description": "name of the ",\r
+               "type": "string"\r
+       },\r
+       "updated-by": "brindasanth@onap.com",\r
+       "tags": "sample-input-source",\r
+       "sources": {\r
+               "input": {\r
+                       "type": "source-input",\r
+                       "properties": {\r
+                               "key": "input-source"\r
+                       }\r
+               }\r
+       }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-licenses.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-licenses.json
new file mode 100644 (file)
index 0000000..5834dd4
--- /dev/null
@@ -0,0 +1,29 @@
+{\r
+  "tags": "sample-licenses",\r
+  "name": "sample-licenses",\r
+  "property": {\r
+    "description" : " Sample Data for licences",\r
+    "required": true,\r
+    "type": "list",\r
+    "entry_schema": {\r
+      "type": "dt-license-key"\r
+    }\r
+  },\r
+  "updated-by": "brindasanth@onap.com",\r
+  "sources": {\r
+    "mdsal": {\r
+      "type": "source-rest",\r
+      "properties": {\r
+        "type": "JSON",\r
+        "url-path": "config/L3VNF-API:services/service-list/",\r
+        "path": "/licenses",\r
+        "input-key-mapping": {\r
+        },\r
+        "output-key-mapping": {\r
+          "licenses": "licenses"\r
+        },\r
+        "key-dependencies": []\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-mdsal-source.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-mdsal-source.json
new file mode 100644 (file)
index 0000000..25464d3
--- /dev/null
@@ -0,0 +1,25 @@
+{\r
+  "tags": "sample-mdsal-source",\r
+  "name": "sample-mdsal-source",\r
+  "property": {\r
+    "description": "Sample sample-mdsal-source",\r
+    "type": "string"\r
+  },\r
+  "updated-by": "brindasanth@onap.com",\r
+  "sources": {\r
+    "mdsal": {\r
+      "type": "source-rest",\r
+      "properties": {\r
+        "type": "JSON",\r
+        "url-path": "config/L3VNF-API:services/service-list/$service-instance-id/service-data/vnf-topology-information/vnf-assignments/vnf-vms/$vm-type/vm-networks/$network-role/v4-assigned-ip-list/$v4-ip-type",\r
+        "path": "/v4-assigned-ip-list/0/v4-ip-prefix",\r
+        "input-key-mapping": {\r
+        },\r
+        "output-key-mapping": {\r
+          "mdsal-source": "v4-ip-prefix"\r
+        },\r
+        "key-dependencies": []\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sample-v4-ip-type.json b/components/model-catalog/resource-dictionary/starter-dictionary/sample-v4-ip-type.json
new file mode 100644 (file)
index 0000000..055279c
--- /dev/null
@@ -0,0 +1,17 @@
+{\r
+  "name": "sample-v4-ip-type",\r
+  "property": {\r
+    "description": "sample-v4-ip-type",\r
+    "type": "string"\r
+  },\r
+  "updated-by": "brindasanth@onap.com",\r
+  "tags": "sample-v4-ip-type",\r
+  "sources": {\r
+    "input": {\r
+      "type": "source-input",\r
+      "properties": {\r
+        "key": "sample-v4-ip-type"\r
+      }\r
+    }\r
+  }\r
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/sec_group.json b/components/model-catalog/resource-dictionary/starter-dictionary/sec_group.json
new file mode 100755 (executable)
index 0000000..017ba98
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "sec_group",
+  "tags" : "sec_group",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "sec_group",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/service-instance-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/service-instance-id.json
new file mode 100755 (executable)
index 0000000..37b9868
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "service-instance-id",
+  "tags" : "service-instance-id, tosca.datatypes.Root, data_type",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "To be provided",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/status.json b/components/model-catalog/resource-dictionary/starter-dictionary/status.json
new file mode 100755 (executable)
index 0000000..47a19d0
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "status",
+  "tags" : "status",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "status",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/unprotected-prefix-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/unprotected-prefix-id.json
new file mode 100755 (executable)
index 0000000..3cb7320
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "unprotected-prefix-id",
+  "tags" : "unprotected-prefix-id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "unprotected-prefix-id",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"unprotected\"",
+        "output-key-mapping" : {
+          "unprotected-prefix-id" : "prefix_id"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_net_cidr.json b/components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_net_cidr.json
new file mode 100755 (executable)
index 0000000..d2a339e
--- /dev/null
@@ -0,0 +1,21 @@
+{
+  "name" : "unprotected_private_net_cidr",
+  "tags" : "unprotected_private_net_cidr",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "unprotected_private_net_cidr",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"unprotected\"",
+        "output-key-mapping" : {
+          "unprotected_private_net_cidr" : "prefix"
+        }      
+         }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_subnet_id.json b/components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_subnet_id.json
new file mode 100755 (executable)
index 0000000..760d611
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "unprotected_private_subnet_id",
+  "tags" : "unprotected_private_subnet_id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "unprotected_private_subnet_id",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-id.json
new file mode 100755 (executable)
index 0000000..74f9310
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vf-module-id",
+  "tags" : "vf-module-id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-module-id",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-label.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-label.json
new file mode 100755 (executable)
index 0000000..ac5e21a
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vf-module-label",
+  "tags" : "vf-module-label",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-module-label",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.VF_MODULE_MODEL.vf_module_label as vf_module_label from sdnctl.VF_MODULE_MODEL where sdnctl.VF_MODULE_MODEL.customization_uuid=:customizationid",
+        "input-key-mapping" : {
+          "customizationid" : "vf-module-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "vf-module-label" : "vf_module_label"
+        },
+        "key-dependencies" : [ "vf-module-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-model-customization-uuid.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-model-customization-uuid.json
new file mode 100755 (executable)
index 0000000..6736e4f
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vf-module-model-customization-uuid",
+  "tags" : "vf-module-model-customization-uuid",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-module-model-customization-uuid",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-type.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-module-type.json
new file mode 100755 (executable)
index 0000000..147425c
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vf-module-type",
+  "tags" : "vf-module-type",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-module-type",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select vf_module_type as vf_module_type from sdnctl.VF_MODULE_MODEL where customization_uuid=:customizationid",
+        "input-key-mapping" : {
+          "customizationid" : "vf-module-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "vf-module-type" : "vf_module_type"
+        },
+        "key-dependencies" : [ "vf-module-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-naming-policy.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-naming-policy.json
new file mode 100755 (executable)
index 0000000..f68cc37
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vf-naming-policy",
+  "tags" : "vf-naming-policy",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-naming-policy",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.VF_MODEL.naming_policy as vf_naming_policy from sdnctl.VF_MODEL where sdnctl.VF_MODEL.customization_uuid=:vnf_model_customization_uuid",
+        "input-key-mapping" : {
+          "vnf_model_customization_uuid" : "vnf-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "vf-naming-policy" : "vf_naming_policy"
+        },
+        "key-dependencies" : [ "vnf-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf-nf-code.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf-nf-code.json
new file mode 100755 (executable)
index 0000000..1865d47
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vf-nf-code",
+  "tags" : "vf-nf-code",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf-nf-code",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.VF_MODEL.nf_code as vf_nf_code from sdnctl.VF_MODEL where sdnctl.VF_MODEL.customization_uuid=:customizationid",
+        "input-key-mapping" : {
+          "customizationid" : "vnf-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "vf-nf-code" : "vf_nf_code"
+        },
+        "key-dependencies" : [ "vnf-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vf_module_name.json b/components/model-catalog/resource-dictionary/starter-dictionary/vf_module_name.json
new file mode 100755 (executable)
index 0000000..20ce458
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vf_module_name",
+  "tags" : "vf_module_name",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vf_module_name",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vfccustomizationuuid.json b/components/model-catalog/resource-dictionary/starter-dictionary/vfccustomizationuuid.json
new file mode 100755 (executable)
index 0000000..463f848
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vfccustomizationuuid",
+  "tags" : "vfccustomizationuuid, tosca.datatypes.Root, data_type",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vfccustomizationuuid",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select sdnctl.VF_MODULE_TO_VFC_MAPPING.vfc_customization_uuid as vnf_customid from sdnctl.VF_MODULE_TO_VFC_MAPPING where vm_count = 1 and sdnctl.VF_MODULE_TO_VFC_MAPPING.vf_module_customization_uuid=:vfmodulecustomizationuuid",
+        "input-key-mapping" : {
+          "vfmodulecustomizationuuid" : "vf-module-model-customization-uuid"
+        },
+        "output-key-mapping" : {
+          "vfccustomizationuuid" : "vnf_customid"
+        },
+        "key-dependencies" : [ "vf-module-model-customization-uuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vfw_name_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vfw_name_0.json
new file mode 100755 (executable)
index 0000000..96a9758
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vfw_name_0",
+  "tags" : "vfw_name_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vfw_name_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_0.json
new file mode 100755 (executable)
index 0000000..71a4df2
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name" : "vfw_private_ip_0",
+  "tags" : "vfw_private_ip_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vfw_private_ip_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    },
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vfw_private_ip_0",
+        "path" : "/param/0/value",
+        "expression-type" : "JSON_POINTER",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vfw_private_ip_0" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_1.json b/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_1.json
new file mode 100755 (executable)
index 0000000..481edae
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name" : "vfw_private_ip_1",
+  "tags" : "vfw_private_ip_1",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vfw_private_ip_1",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    },
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vfw_private_ip_1",
+        "path" : "/param/0/value",
+        "expression-type" : "JSON_POINTER",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vfw_private_ip_1" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_2.json b/components/model-catalog/resource-dictionary/starter-dictionary/vfw_private_ip_2.json
new file mode 100755 (executable)
index 0000000..f8adf74
--- /dev/null
@@ -0,0 +1,14 @@
+{
+               "name": "vfw_private_ip_2",
+               "tags": "vfw_private_ip_2",
+               "updated-by" : "Singal, Kapil <ks220y@att.com>",
+               "property": {
+                       "type": "string",
+                       "description" : "vfw_private_ip_2"
+               },
+               "sources": {
+                       "input": {
+                               "type": "source-input"
+                       }
+               }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vm-type.json b/components/model-catalog/resource-dictionary/starter-dictionary/vm-type.json
new file mode 100755 (executable)
index 0000000..0204c64
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vm-type",
+  "tags" : "vm-type",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vm-type",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select VFC_MODEL.vm_type as vm_type from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
+        "input-key-mapping" : {
+          "vfccustomizationuuid" : "vfccustomizationuuid"
+        },
+        "output-key-mapping" : {
+          "vm-type" : "vm_type"
+        },
+        "key-dependencies" : [ "vfccustomizationuuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnf-id.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnf-id.json
new file mode 100755 (executable)
index 0000000..7f3a18f
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vnf-id",
+  "tags" : "vnf-id",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnf-id",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnf-model-customization-uuid.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnf-model-customization-uuid.json
new file mode 100755 (executable)
index 0000000..2aa08c4
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vnf-model-customization-uuid",
+  "tags" : "vnf-model-customization-uuid",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnf-model-customization-uuid",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnf-name.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnf-name.json
new file mode 100755 (executable)
index 0000000..89b3dc1
--- /dev/null
@@ -0,0 +1,28 @@
+{
+  "name" : "vnf-name",
+  "tags" : "vnf-name, tosca.datatypes.Root, data_type",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnf-name",
+    "type" : "string"
+  },
+  "sources" : {
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name",
+        "path" : "/param/0/value",
+        "expression-type" : "JSON_POINTER",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vnf-name" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnf_name.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnf_name.json
new file mode 100755 (executable)
index 0000000..c55f1c1
--- /dev/null
@@ -0,0 +1,27 @@
+{
+  "name" : "vnf_name",
+  "tags" : "vnf_name",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnf_name",
+    "type" : "string"
+  },
+  "sources" : {
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name",
+        "path" : "/param/0/value",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vnf_name" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-invariant-uuid.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-invariant-uuid.json
new file mode 100755 (executable)
index 0000000..c894fb5
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vnfc-model-invariant-uuid",
+  "tags" : "vnfc-model-invariant-uuid",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnfc-model-invariant-uuid for SRIOV VPE template",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select VFC_MODEL.invariant_uuid as vfc_invariant_uuid from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
+        "input-key-mapping" : {
+          "vfccustomizationuuid" : "vfccustomizationuuid"
+        },
+        "output-key-mapping" : {
+          "vnfc-model-invariant-uuid" : "vfc_invariant_uuid"
+        },
+        "key-dependencies" : [ "vfccustomizationuuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-version.json b/components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-version.json
new file mode 100755 (executable)
index 0000000..45eb07f
--- /dev/null
@@ -0,0 +1,25 @@
+{
+  "name" : "vnfc-model-version",
+  "tags" : "vnfc-model-version",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vnfc-model-version for  SRIOV VPE template",
+    "type" : "string"
+  },
+  "sources" : {
+    "db" : {
+      "type" : "source-db",
+      "properties" : {
+        "type" : "SQL",
+        "query" : "select VFC_MODEL.version as vnfc_model_version from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
+        "input-key-mapping" : {
+          "vfccustomizationuuid" : "vfccustomizationuuid"
+        },
+        "output-key-mapping" : {
+          "vnfc-model-version" : "vnfc_model_version"
+        },
+        "key-dependencies" : [ "vfccustomizationuuid" ]
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/volume-name.json b/components/model-catalog/resource-dictionary/starter-dictionary/volume-name.json
new file mode 100755 (executable)
index 0000000..3fe5ab3
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "volume-name",
+  "tags" : "volume-name",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "volume-name",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/volume_group_name.json b/components/model-catalog/resource-dictionary/starter-dictionary/volume_group_name.json
new file mode 100755 (executable)
index 0000000..90b3609
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "volume_group_name",
+  "tags" : "volume_group_name",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "volume_group_name",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vpg_name_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vpg_name_0.json
new file mode 100755 (executable)
index 0000000..f158d53
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vpg_name_0",
+  "tags" : "vpg_name_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vpg_name_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_0.json
new file mode 100755 (executable)
index 0000000..13d8999
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name" : "vpg_private_ip_0",
+  "tags" : "vpg_private_ip_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vpg_private_ip_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    },
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vpg_private_ip_0",
+        "path" : "/param/0/value",
+        "expression-type" : "JSON_POINTER",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vpg_private_ip_0" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_1.json b/components/model-catalog/resource-dictionary/starter-dictionary/vpg_private_ip_1.json
new file mode 100755 (executable)
index 0000000..ff58f8a
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "name" : "vpg_private_ip_1",
+  "tags" : "vpg_private_ip_1",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vpg_private_ip_1",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vsn_name_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vsn_name_0.json
new file mode 100755 (executable)
index 0000000..7b7ba45
--- /dev/null
@@ -0,0 +1,15 @@
+{
+  "name" : "vsn_name_0",
+  "tags" : "vsn_name_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vsn_name_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : { }
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_0.json b/components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_0.json
new file mode 100755 (executable)
index 0000000..fcd6d8d
--- /dev/null
@@ -0,0 +1,33 @@
+{
+  "name" : "vsn_private_ip_0",
+  "tags" : "vsn_private_ip_0",
+  "updated-by" : "Singal, Kapil <ks220y@att.com>",
+  "property" : {
+    "description" : "vsn_private_ip_0",
+    "type" : "string"
+  },
+  "sources" : {
+    "input" : {
+      "type" : "source-input",
+      "properties" : {
+      }
+    },
+    "mdsal" : {
+      "type" : "source-rest",
+      "properties" : {
+        "type" : "JSON",
+        "url-path" : "config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vsn_private_ip_0",
+        "path" : "/param/0/value",
+        "expression-type" : "JSON_POINTER",
+        "input-key-mapping" : {
+          "service-instance-id" : "service-instance-id",
+          "vnf-id" : "vnf-id"
+        },
+        "output-key-mapping" : {
+          "vsn_private_ip_0" : "value"
+        },
+        "key-dependencies" : [ "service-instance-id", "vnf-id" ]
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_1.json b/components/model-catalog/resource-dictionary/starter-dictionary/vsn_private_ip_1.json
new file mode 100755 (executable)
index 0000000..52de69c
--- /dev/null
@@ -0,0 +1,14 @@
+{
+               "name": "vsn_private_ip_1",
+               "tags": "vsn_private_ip_1",
+               "updated-by" : "Singal, Kapil <ks220y@att.com>",
+               "property": {
+                       "type": "string",
+                       "description" : "vsn_private_ip_1"
+               },
+               "sources": {
+                       "input": {
+                               "type": "source-input"
+                       }
+               }
+}
index 7377e76..7308e9d 100644 (file)
@@ -16,7 +16,8 @@
   ~ See the License for the specific language governing permissions and
   ~ limitations under the License.
   -->
-<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
+<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+         xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
     <modelVersion>4.0.0</modelVersion>
     <parent>
         <groupId>org.onap.ccsdk.apps</groupId>
     <name>App Components Parent</name>
     <packaging>pom</packaging>
     <properties>
-        <spring.boot.version>2.0.5.RELEASE</spring.boot.version>
-        <spring.version>5.0.8.RELEASE</spring.version>
-        <kotlin.version>1.2.70</kotlin.version>
+        <spring.boot.version>2.0.6.RELEASE</spring.boot.version>
+        <spring.version>5.0.10.RELEASE</spring.version>
+        <kotlin.version>1.3.0</kotlin.version>
+        <kotlin.couroutines.version>1.0.1</kotlin.couroutines.version>
         <eelf.version>1.0.0</eelf.version>
         <guava.version>26.0-jre</guava.version>
         <springfox.swagger2.version>2.9.2</springfox.swagger2.version>
         <h2database.version>1.4.197</h2database.version>
         <onap.logger.slf4j>1.2.2</onap.logger.slf4j>
+        <powermock.version>1.7.4</powermock.version>
     </properties>
     <dependencyManagement>
         <dependencies>
                 <artifactId>kotlin-stdlib</artifactId>
                 <version>${kotlin.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlinx-couroutines-core</artifactId>
+                <version>${kotlin.couroutines.version}</version>
+            </dependency>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
                 <artifactId>kotlin-reflect</artifactId>
                 <artifactId>kotlin-stdlib-jdk8</artifactId>
                 <version>${kotlin.version}</version>
             </dependency>
+            <dependency>
+                <groupId>org.jetbrains.kotlin</groupId>
+                <artifactId>kotlin-stdlib-jdk7</artifactId>
+                <version>${kotlin.version}</version>
+            </dependency>
 
 
             <!-- Database -->
                 <artifactId>core</artifactId>
                 <version>${project.version}</version>
             </dependency>
-            <dependency>
-                <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
-                <artifactId>service</artifactId>
-                <version>${project.version}</version>
-            </dependency>
-            <dependency>
-                <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
-                <artifactId>application</artifactId>
-                <version>${project.version}</version>
-            </dependency>
             <dependency>
                 <groupId>org.onap.ccsdk.apps.controllerblueprints</groupId>
                 <artifactId>resource-dict</artifactId>
             <dependency>
                 <groupId>org.powermock</groupId>
                 <artifactId>powermock-api-mockito2</artifactId>
-                <version>1.7.4</version>
+                <version>${powermock.version}</version>
                 <scope>test</scope>
             </dependency>
             <dependency>
                 <groupId>org.jetbrains.kotlin</groupId>
-                <artifactId>kotlin-test</artifactId>
+                <artifactId>kotlin-test-junit</artifactId>
                 <version>${kotlin.version}</version>
                 <scope>test</scope>
             </dependency>
         <dependency>
             <groupId>org.apache.commons</groupId>
             <artifactId>commons-lang3</artifactId>
-         </dependency>
+        </dependency>
         <dependency>
             <groupId>commons-collections</groupId>
             <artifactId>commons-collections</artifactId>
             <groupId>com.jayway.jsonpath</groupId>
             <artifactId>json-path</artifactId>
         </dependency>
-         <dependency>
-                <groupId>com.google.guava</groupId>
-                <artifactId>guava</artifactId>
-                <version>26.0-jre</version>
-            </dependency>
+        <dependency>
+            <groupId>com.google.guava</groupId>
+            <artifactId>guava</artifactId>
+        </dependency>
         <dependency>
             <groupId>io.springfox</groupId>
             <artifactId>springfox-swagger2</artifactId>
index 508ae96..517895c 100644 (file)
@@ -39,7 +39,7 @@
         </dependency>\r
         <dependency>\r
             <groupId>org.jetbrains.kotlin</groupId>\r
-            <artifactId>kotlin-test</artifactId>\r
+            <artifactId>kotlin-test-junit</artifactId>\r
             <scope>test</scope>\r
         </dependency>\r
     </dependencies>\r
index 6c83e5f..6d186b5 100644 (file)
@@ -49,10 +49,12 @@ open class ResourceDefinitionFileRepoService : BluePrintRepoFileService,
 \r
     constructor(basePath: String) : this(basePath,\r
             basePath.plus(BluePrintConstants.PATH_DIVIDER)\r
-                    .plus(BluePrintConstants.MODEL_DIR_MODEL_TYPE))\r
+                    .plus(BluePrintConstants.MODEL_DIR_MODEL_TYPE)\r
+                    .plus(BluePrintConstants.PATH_DIVIDER)\r
+                    .plus("starter-type"))\r
 \r
     constructor(basePath: String, modelTypePath: String) : super(modelTypePath) {\r
-        resourceDefinitionPath = basePath.plus("/resource_dictionary")\r
+        resourceDefinitionPath = basePath.plus("/resource-dictionary/starter-dictionary")\r
     }\r
 \r
     override fun getResourceDefinition(resourceDefinitionName: String): Mono<ResourceDefinition> {\r
index 1772277..6789c0e 100644 (file)
@@ -25,7 +25,7 @@ public class ResourceDefinitionRepoServiceTest {
 \r
     @Test\r
     public void testGetResourceDefinition() throws Exception{\r
-        ResourceDefinitionRepoService resourceDefinitionRepoService = new ResourceDefinitionFileRepoService("load");\r
+        ResourceDefinitionRepoService resourceDefinitionRepoService = new ResourceDefinitionFileRepoService("./../model-catalog");\r
         ResourceDefinition resourceDefinition = resourceDefinitionRepoService\r
                 .getResourceDefinition("db-source").block();\r
         Assert.assertNotNull("Failed to get Resource Definition db-source", resourceDefinition);\r