Merge "Fix CDS docker job"
authorDan Timoney <dtimoney@att.com>
Tue, 2 Apr 2019 19:01:07 +0000 (19:01 +0000)
committerGerrit Code Review <gerrit@onap.org>
Tue, 2 Apr 2019 19:01:07 +0000 (19:01 +0000)
69 files changed:
cds-ui/server/public/index.html [deleted file]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/artifact_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/data_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/node_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/policy_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/relationship_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/resources_definition_types.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/vFW_spinup.json
components/model-catalog/blueprint-model/service-blueprint/vFW/TOSCA-Metadata/TOSCA.meta
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base-template.vtl [moved from components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base_template.vtl with 100% similarity]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-template.vtl [moved from components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw.vtl with 100% similarity]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-vnf-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-vnf-template.vtl [moved from components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vFW_vNF_Artifact.vtl with 100% similarity]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg-template.vtl [moved from components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg.vtl with 100% similarity]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn-template.vtl [moved from components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn.vtl with 100% similarity]
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/activation-blueprint.json
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/another-mapping.json [new file with mode: 0644]
components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Templates/another-template.vtl [new file with mode: 0644]
components/model-catalog/resource-dictionary/starter-dictionary/nexus_artifact_repo.json
components/model-catalog/resource-dictionary/starter-dictionary/nf-role.json
components/model-catalog/resource-dictionary/starter-dictionary/nfc-naming-code.json
components/model-catalog/resource-dictionary/starter-dictionary/onap_private_net_cidr.json
components/model-catalog/resource-dictionary/starter-dictionary/primary-db-source.json
components/model-catalog/resource-dictionary/starter-dictionary/private-prefix-id.json
components/model-catalog/resource-dictionary/starter-dictionary/protected-prefix-id.json
components/model-catalog/resource-dictionary/starter-dictionary/protected_private_net_cidr.json
components/model-catalog/resource-dictionary/starter-dictionary/public_net_id.json
components/model-catalog/resource-dictionary/starter-dictionary/sample-primary-db-source.json
components/model-catalog/resource-dictionary/starter-dictionary/sec_group.json
components/model-catalog/resource-dictionary/starter-dictionary/service-instance-id.json
components/model-catalog/resource-dictionary/starter-dictionary/unprotected-prefix-id.json
components/model-catalog/resource-dictionary/starter-dictionary/unprotected_private_net_cidr.json
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-label.json
components/model-catalog/resource-dictionary/starter-dictionary/vf-module-type.json
components/model-catalog/resource-dictionary/starter-dictionary/vf-naming-policy.json
components/model-catalog/resource-dictionary/starter-dictionary/vf-nf-code.json
components/model-catalog/resource-dictionary/starter-dictionary/vfccustomizationuuid.json
components/model-catalog/resource-dictionary/starter-dictionary/vm-type.json
components/model-catalog/resource-dictionary/starter-dictionary/vnf_name.json
components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-invariant-uuid.json
components/model-catalog/resource-dictionary/starter-dictionary/vnfc-model-version.json
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionComponentTest.kt
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/ResourceResolutionServiceTest.kt
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockDatabaseConfiguration.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/CapabilityResourceResolutionProcessorTest.kt
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DatabaseResourceResolutionProcessorTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DefaultResourceResolutionProcessorTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/InputResourceResolutionProcessorTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessorTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/functions/resource-resolution/src/test/resources/application-test.properties
ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/BlueprintProcessorCatalogServiceImplTest.kt
ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt [new file with mode: 0644]
ms/blueprintsprocessor/modules/commons/processor-core/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/core/api/data/BlueprintProcessorData.kt
ms/blueprintsprocessor/modules/inbounds/selfservice-api/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/selfservice/api/ExecutionServiceHandler.kt
ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/AbstractComponentFunction.kt
ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintJythonService.kt
ms/blueprintsprocessor/modules/services/execution-service/src/main/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/PythonExecutorConfiguration.kt
ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintJythonServiceTest.kt
ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonHostTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonInterpreterProxyTest.kt [new file with mode: 0644]
ms/blueprintsprocessor/modules/services/execution-service/src/test/resources/PythonTestScript.py [new file with mode: 0644]
ms/blueprintsprocessor/modules/services/workflow-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/NodeTemplateExecutionServiceTest.kt [new file with mode: 0644]
ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/service/load/ModelTypeLoadService.kt
ms/controllerblueprints/modules/service/src/main/kotlin/org/onap/ccsdk/cds/controllerblueprints/service/load/ResourceDictionaryLoadService.kt
ms/controllerblueprints/modules/service/src/test/kotlin/org/onap/ccsdk/cds/controllerblueprints/service/enhancer/BluePrintEnhancerServiceImplTest.kt

diff --git a/cds-ui/server/public/index.html b/cds-ui/server/public/index.html
deleted file mode 100644 (file)
index 84c9a6c..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-<!--
-============LICENSE_START==========================================
-===================================================================
-Copyright (C) 2018 IBM Intellectual Property. All rights reserved.
-===================================================================
-
-Unless otherwise specified, all software contained herein is licensed
-under the Apache License, Version 2.0 (the License);
-you may not use this software except in compliance with the License.
-You may obtain a copy of the License at
-
-    http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
-============LICENSE_END============================================
--->
-<!doctype html>
-<html lang="en">
-<head>
-  <meta charset="utf-8">
-  <title>CdsUi</title>
-  <base href="/">
-
-  <meta name="viewport" content="width=device-width, initial-scale=1">
-  <link rel="icon" type="image/x-icon" href="favicon.ico">
-</head>
-<body>
-  <app-root></app-root>
-<script type="text/javascript" src="runtime.js"></script><script type="text/javascript" src="polyfills.js"></script><script type="text/javascript" src="styles.js"></script><script type="text/javascript" src="scripts.js"></script><script type="text/javascript" src="vendor.js"></script><script type="text/javascript" src="main.js"></script></body>
-</html>
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/artifact_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/artifact_types.json
new file mode 100644 (file)
index 0000000..da498e3
--- /dev/null
@@ -0,0 +1,16 @@
+{
+  "artifact_types" : {
+    "artifact-mapping-resource" : {
+      "description" : "Resource Mapping File used along with Configuration template",
+      "version" : "1.0.0",
+      "derived_from" : "tosca.artifacts.Implementation",
+      "file_ext" : [ "json" ]
+    },
+    "artifact-template-velocity" : {
+      "description" : " Velocity Template used for Configuration",
+      "version" : "1.0.0",
+      "derived_from" : "tosca.artifacts.Implementation",
+      "file_ext" : [ "vtl" ]
+    }
+  }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/data_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/data_types.json
new file mode 100644 (file)
index 0000000..8c304c4
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "data_types" : { }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/node_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/node_types.json
new file mode 100644 (file)
index 0000000..f94214a
--- /dev/null
@@ -0,0 +1,253 @@
+{
+  "node_types" : {
+    "component-resource-resolution" : {
+      "description" : "This is Resource Assignment Component API",
+      "version" : "1.0.0",
+      "attributes" : {
+        "assignment-params" : {
+          "required" : true,
+          "type" : "string"
+        }
+      },
+      "capabilities" : {
+        "component-node" : {
+          "type" : "tosca.capabilities.Node"
+        }
+      },
+      "interfaces" : {
+        "ResourceResolutionComponent" : {
+          "operations" : {
+            "process" : {
+              "inputs" : {
+                "resolution-key" : {
+                  "description" : "Key for service instance related correlation.",
+                  "required" : false,
+                  "type" : "string"
+                },
+                "store-result" : {
+                  "description" : "Whether or not to store the output.",
+                  "required" : false,
+                  "type" : "boolean"
+                },
+                "resource-type" : {
+                  "description" : "Request type.",
+                  "required" : false,
+                  "type" : "string"
+                },
+                "artifact-prefix-names" : {
+                  "description" : "Template , Resource Assignment Artifact Prefix names",
+                  "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" : false,
+                  "type" : "string"
+                },
+                "action-name" : {
+                  "description" : "Action Name of the process",
+                  "required" : false,
+                  "type" : "string"
+                },
+                "dynamic-properties" : {
+                  "description" : "Dynamic Json Content or DSL Json reference.",
+                  "required" : false,
+                  "type" : "json"
+                }
+              },
+              "outputs" : {
+                "resource-assignment-params" : {
+                  "required" : true,
+                  "type" : "string"
+                },
+                "status" : {
+                  "required" : true,
+                  "type" : "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from" : "tosca.nodes.Component"
+    },
+    "source-capability" : {
+      "description" : "This is Component Resource Source Node Type",
+      "version" : "1.0.0",
+      "properties" : {
+        "script-type" : {
+          "required" : true,
+          "type" : "string",
+          "constraints" : [ {
+            "valid_values" : [ "kotlin", "internal", "jython" ]
+          } ],
+          "default" : "kotlin"
+        },
+        "script-class-reference" : {
+          "description" : "Capability reference name for internal and kotlin, for jython script file path",
+          "required" : true,
+          "type" : "string"
+        },
+        "instance-dependencies" : {
+          "description" : "Instance dependency Names to Inject to Kotlin / Jython Script.",
+          "required" : false,
+          "type" : "list",
+          "entry_schema" : {
+            "type" : "string"
+          }
+        },
+        "key-dependencies" : {
+          "description" : "Resource Resolution dependency dictionary names.",
+          "required" : true,
+          "type" : "list",
+          "entry_schema" : {
+            "type" : "string"
+          }
+        }
+      },
+      "derived_from" : "tosca.nodes.ResourceSource"
+    },
+    "source-default" : {
+      "description" : "This is Default Resource Source Node Type",
+      "version" : "1.0.0",
+      "properties" : { },
+      "derived_from" : "tosca.nodes.ResourceSource"
+    },
+    "source-input" : {
+      "description" : "This is Input Resource Source Node Type",
+      "version" : "1.0.0",
+      "properties" : { },
+      "derived_from" : "tosca.nodes.ResourceSource"
+    },
+    "source-processor-db" : {
+      "description" : "This is Database Resource Source Node Type",
+      "version" : "1.0.0",
+      "properties" : {
+        "type" : {
+          "required" : true,
+          "type" : "string",
+          "constraints" : [ {
+            "valid_values" : [ "SQL", "PLSQL" ]
+          } ]
+        },
+        "endpoint-selector" : {
+          "required" : false,
+          "type" : "string"
+        },
+        "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"
+    },
+    "source-rest" : {
+      "description" : "This is Rest Resource Source Node Type",
+      "version" : "1.0.0",
+      "properties" : {
+        "type" : {
+          "required" : true,
+          "type" : "string",
+          "constraints" : [ {
+            "valid_values" : [ "JSON" ]
+          } ],
+          "default" : "JSON"
+        },
+        "verb" : {
+          "required" : true,
+          "type" : "string",
+          "constraints" : [ {
+            "valid_values" : [ "GET", "POST", "DELETE", "PUT" ]
+          } ],
+          "default" : "GET"
+        },
+        "payload" : {
+          "required" : false,
+          "type" : "string",
+          "default" : ""
+        },
+        "endpoint-selector" : {
+          "required" : false,
+          "type" : "string"
+        },
+        "url-path" : {
+          "required" : true,
+          "type" : "string"
+        },
+        "path" : {
+          "required" : true,
+          "type" : "string"
+        },
+        "expression-type" : {
+          "required" : false,
+          "type" : "string",
+          "constraints" : [ {
+            "valid_values" : [ "JSON_PATH", "JSON_POINTER" ]
+          } ],
+          "default" : "JSON_PATH"
+        },
+        "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"
+    },
+    "tosca.nodes.Component" : {
+      "description" : "This is default Component Node",
+      "version" : "1.0.0",
+      "derived_from" : "tosca.nodes.Root"
+    },
+    "tosca.nodes.ResourceSource" : {
+      "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/blueprint-model/service-blueprint/vFW/Definitions/policy_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/policy_types.json
new file mode 100644 (file)
index 0000000..1e44cc7
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "policy_types" : { }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/relationship_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/relationship_types.json
new file mode 100644 (file)
index 0000000..4ddd7a5
--- /dev/null
@@ -0,0 +1,3 @@
+{
+  "relationship_types" : { }
+}
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Definitions/resources_definition_types.json
new file mode 100644 (file)
index 0000000..18d0acb
--- /dev/null
@@ -0,0 +1,1004 @@
+{
+  "aic-cloud-region" : {
+    "tags" : "aic-cloud-region",
+    "name" : "aic-cloud-region",
+    "property" : {
+      "description" : "aic-cloud-region",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "image_name" : {
+    "tags" : "image_name",
+    "name" : "image_name",
+    "property" : {
+      "description" : "image_name",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "key_name" : {
+    "tags" : "key_name",
+    "name" : "key_name",
+    "property" : {
+      "description" : "key_name",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "nexus_artifact_repo" : {
+    "tags" : "nexus_artifact_repo",
+    "name" : "nexus_artifact_repo",
+    "property" : {
+      "description" : "nexus_artifact_repo",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "nf-role" : {
+    "tags" : "nf-role",
+    "name" : "nf-role",
+    "property" : {
+      "description" : "vnf/nf-role",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "nfc-naming-code" : {
+    "tags" : "nfc-naming-code",
+    "name" : "nfc-naming-code",
+    "property" : {
+      "description" : "nfc-naming-code",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "onap_private_net_cidr" : {
+    "tags" : "onap_private_net_cidr",
+    "name" : "onap_private_net_cidr",
+    "property" : {
+      "description" : "onap_private_net_cidr",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "onap_private_net_id" : {
+    "tags" : "onap_private_net_id",
+    "name" : "onap_private_net_id",
+    "property" : {
+      "description" : "onap_private_net_id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "onap_private_subnet_id" : {
+    "tags" : "onap_private_subnet_id",
+    "name" : "onap_private_subnet_id",
+    "property" : {
+      "description" : "onap_private_subnet_id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "private-prefix-id" : {
+    "tags" : "private-prefix-id",
+    "name" : "private-prefix-id",
+    "property" : {
+      "description" : "private-prefix-id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "protected-prefix-id" : {
+    "tags" : "protected-prefix-id",
+    "name" : "protected-prefix-id",
+    "property" : {
+      "description" : "protected-prefix-id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "protected_private_net_cidr" : {
+    "tags" : "protected_private_net_cidr",
+    "name" : "protected_private_net_cidr",
+    "property" : {
+      "description" : "protected_private_net_cidr",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "pub_key" : {
+    "tags" : "pub_key",
+    "name" : "pub_key",
+    "property" : {
+      "description" : "pub_key",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "public_net_id" : {
+    "tags" : "public_net_id",
+    "name" : "public_net_id",
+    "property" : {
+      "description" : "public_net_id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "input" : {
+        "type" : "source-input"
+      }
+    }
+  },
+  "sec_group" : {
+    "tags" : "sec_group",
+    "name" : "sec_group",
+    "property" : {
+      "description" : "sec_group",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "service-instance-id" : {
+    "tags" : "service-instance-id, tosca.datatypes.Root, data_type",
+    "name" : "service-instance-id",
+    "property" : {
+      "description" : "To be provided",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "any-db" : {
+        "type" : "source-processor-db",
+        "properties" : {
+          "query" : "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"",
+          "input-key-mapping" : { },
+          "output-key-mapping" : {
+            "service-instance-id" : "artifact_name"
+          }
+        }
+      },
+      "processor-db" : {
+        "type" : "source-processor-db",
+        "properties" : {
+          "query" : "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"",
+          "input-key-mapping" : { },
+          "output-key-mapping" : {
+            "service-instance-id" : "artifact_name"
+          }
+        }
+      },
+      "capability" : {
+        "type" : "source-capability",
+        "properties" : {
+          "script-type" : "jython",
+          "script-class-reference" : "SampleRAProcessor",
+          "instance-dependencies" : [ ]
+        }
+      }
+    }
+  },
+  "unprotected-prefix-id" : {
+    "tags" : "unprotected-prefix-id",
+    "name" : "unprotected-prefix-id",
+    "property" : {
+      "description" : "unprotected-prefix-id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "unprotected_private_net_cidr" : {
+    "tags" : "unprotected_private_net_cidr",
+    "name" : "unprotected_private_net_cidr",
+    "property" : {
+      "description" : "unprotected_private_net_cidr",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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"
+          }
+        }
+      }
+    }
+  },
+  "vf-module-id" : {
+    "tags" : "vf-module-id",
+    "name" : "vf-module-id",
+    "property" : {
+      "description" : "vf-module-id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vf-module-label" : {
+    "tags" : "vf-module-label",
+    "name" : "vf-module-label",
+    "property" : {
+      "description" : "vf-module-label",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vf-module-model-customization-uuid" : {
+    "tags" : "vf-module-model-customization-uuid",
+    "name" : "vf-module-model-customization-uuid",
+    "property" : {
+      "description" : "vf-module-model-customization-uuid",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vf-module-type" : {
+    "tags" : "vf-module-type",
+    "name" : "vf-module-type",
+    "property" : {
+      "description" : "vf-module-type",
+      "type" : "string"
+    },
+    "updated-by" : "adetalhouet",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-db",
+        "properties" : {
+          "type" : "SQL",
+          "query" : "select sdnctl.demo.value as value from sdnctl.demo where sdnctl.demo.id=:vfmoduleid",
+          "input-key-mapping" : {
+            "vfmoduleid" : "vf-module-number"
+          },
+          "output-key-mapping" : {
+            "vf-module-type" : "value"
+          },
+          "key-dependencies" : [ "vf-module-number" ]
+        }
+      }
+    }
+  },
+  "vf-naming-policy" : {
+    "tags" : "vf-naming-policy",
+    "name" : "vf-naming-policy",
+    "property" : {
+      "description" : "vf-naming-policy",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vf-nf-code" : {
+    "tags" : "vf-nf-code",
+    "name" : "vf-nf-code",
+    "property" : {
+      "description" : "vf-nf-code",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vf_module_name" : {
+    "tags" : "vf_module_name",
+    "name" : "vf_module_name",
+    "property" : {
+      "description" : "vf_module_name",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vfccustomizationuuid" : {
+    "tags" : "vfccustomizationuuid, tosca.datatypes.Root, data_type",
+    "name" : "vfccustomizationuuid",
+    "property" : {
+      "description" : "vfccustomizationuuid",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vfw_name_0" : {
+    "tags" : "vfw_name_0",
+    "name" : "vfw_name_0",
+    "property" : {
+      "description" : "vfw_name_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vfw_private_ip_0" : {
+    "tags" : "vfw_private_ip_0",
+    "name" : "vfw_private_ip_0",
+    "property" : {
+      "description" : "vfw_private_ip_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vfw_private_ip_1" : {
+    "tags" : "vfw_private_ip_1",
+    "name" : "vfw_private_ip_1",
+    "property" : {
+      "description" : "vfw_private_ip_1",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vfw_private_ip_2" : {
+    "tags" : "vfw_private_ip_2",
+    "name" : "vfw_private_ip_2",
+    "property" : {
+      "description" : "vfw_private_ip_2",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      }
+    }
+  },
+  "vm-type" : {
+    "tags" : "vm-type",
+    "name" : "vm-type",
+    "property" : {
+      "description" : "vm-type",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vnf-id" : {
+    "tags" : "vnf-id",
+    "name" : "vnf-id",
+    "property" : {
+      "description" : "vnf-id",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vnf-model-customization-uuid" : {
+    "tags" : "vnf-model-customization-uuid",
+    "name" : "vnf-model-customization-uuid",
+    "property" : {
+      "description" : "vnf-model-customization-uuid",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vnf-name" : {
+    "tags" : "vnf-name, tosca.datatypes.Root, data_type",
+    "name" : "vnf-name",
+    "property" : {
+      "description" : "vnf-name",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vnf_name" : {
+    "tags" : "vnf_name",
+    "name" : "vnf_name",
+    "property" : {
+      "description" : "vnf_name",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "default" : {
+        "type" : "source-default",
+        "properties" : { }
+      },
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vnfc-model-invariant-uuid" : {
+    "tags" : "vnfc-model-invariant-uuid",
+    "name" : "vnfc-model-invariant-uuid",
+    "property" : {
+      "description" : "vnfc-model-invariant-uuid for SRIOV VPE template",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vnfc-model-version" : {
+    "tags" : "vnfc-model-version",
+    "name" : "vnfc-model-version",
+    "property" : {
+      "description" : "vnfc-model-version for  SRIOV VPE template",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "processor-db" : {
+        "type" : "source-processor-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" ]
+        }
+      }
+    }
+  },
+  "vpg_name_0" : {
+    "tags" : "vpg_name_0",
+    "name" : "vpg_name_0",
+    "property" : {
+      "description" : "vpg_name_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vpg_private_ip_0" : {
+    "tags" : "vpg_private_ip_0",
+    "name" : "vpg_private_ip_0",
+    "property" : {
+      "description" : "vpg_private_ip_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vpg_private_ip_1" : {
+    "tags" : "vpg_private_ip_1",
+    "name" : "vpg_private_ip_1",
+    "property" : {
+      "description" : "vpg_private_ip_1",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vsn_name_0" : {
+    "tags" : "vsn_name_0",
+    "name" : "vsn_name_0",
+    "property" : {
+      "description" : "vsn_name_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      }
+    }
+  },
+  "vsn_private_ip_0" : {
+    "tags" : "vsn_private_ip_0",
+    "name" : "vsn_private_ip_0",
+    "property" : {
+      "description" : "vsn_private_ip_0",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input",
+        "properties" : { }
+      },
+      "primary-config-data" : {
+        "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" ]
+        }
+      }
+    }
+  },
+  "vsn_private_ip_1" : {
+    "tags" : "vsn_private_ip_1",
+    "name" : "vsn_private_ip_1",
+    "property" : {
+      "description" : "vsn_private_ip_1",
+      "type" : "string"
+    },
+    "updated-by" : "Singal, Kapil <ks220y@att.com>",
+    "sources" : {
+      "input" : {
+        "type" : "source-input"
+      }
+    }
+  }
+}
\ No newline at end of file
index e1d9be0..a4d90ad 100644 (file)
 {
   "metadata": {
-    "template_author": "aa0419",
+    "template_author": "Alexis de Talhouët",
+    "author-email": "adetalhouet89@gmail.com",
+    "user-groups": "ADMIN, OPERATION",
     "template_name": "vFW_spinup",
     "template_version": "1.0.0",
-    "service-type": "vFW",
-    "template_tags": "vFW, ONAP",
-    "release": "1810",
-    "vnf-type": "VFW"
+    "template_tags": "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": {
-          "ResourceAssignmentComponent": {
-            "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"
-                }
-              }
+    "workflows": {
+      "resource-assignment": {
+        "steps": {
+          "resource-assignment": {
+            "description": "Resource Assign Workflow",
+            "target": "resource-assignment"
+          }
+        },
+        "inputs" : {
+          "template-prefix" : {
+            "required" : true,
+            "type" : "list",
+            "entry_schema" : {
+              "type" : "string"
+            }
+          }
+        },
+        "outputs": {
+          "meshed-template": {
+            "type": "json",
+            "value": {
+              "get_attribute": [
+                "resource-assignment",
+                "assignment-params"
+              ]
             }
           }
-        },
-        "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": [
-                    
-                  ]
+      }
+    },
+    "node_templates": {
+      "resource-assignment" : {
+        "type" : "component-resource-resolution",
+        "interfaces" : {
+          "ResourceResolutionComponent" : {
+            "operations" : {
+              "process" : {
+                "inputs" : {
+                  "artifact-prefix-names" : {
+                    "get_input" : "artifact-name"
+                  }
                 }
               }
             }
           }
         },
-        "capabilities": {
-          "dg-node": {
-            
+        "artifacts": {
+          "base-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/base-template.vtl"
           },
-          "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"
-            }
+          "base-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/base-mapping.json"
           },
-          "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": "primary-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": "primary-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": "primary-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": "primary-db",
-                  "dependencies": [
-                    "vnf-model-customization-uuid"
-                  ],
-                  "version": 0
-                }
-              ]
-            }
-          }
-        }
-      },
-      "vfw": {
-        "type": "artifact-config-template",
-        "capabilities": {
-          "content": {
-            "properties": {
-              "content": "vfw"
-            }
+          "vfw-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/vfw-template.vtl"
           },
-          "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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"
-            }
+          "vfw-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/vfw-mapping.json"
           },
-          "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-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": "primary-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"
-            }
+          "vfw-vnf-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/vfw-vnf-template.vtl"
           },
-          "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-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": "primary-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": "primary-db",
-                  "dependencies": [
-                    
-                  ],
-                  "version": 0
-                }
-              ]
-            }
-          }
-        }
-      },
-      "base_template": {
-        "type": "artifact-config-template",
-        "capabilities": {
-          "content": {
-            "properties": {
-              "content": "base_template"
-            }
+          "vfw-vnf-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/vfw-vnf-mapping.json"
           },
-          "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": "primary-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": "primary-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": "primary-config-data",
-                  "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": "primary-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": "primary-db",
-                  "dependencies": [
-                    
-                  ],
-                  "version": 0
-                }
-              ]
-            }
+          "vpg-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/vpg-template.vtl"
+          },
+          "vpg-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/vpg-mapping.json"
+          },
+          "vsn-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/vsn-template.vtl"
+          },
+          "vsn-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/vsn-mapping.json"
           }
         }
       }
     }
-  },
-  "node_types": {
-    "tosca.nodes.Component": {
-      "description": "This is default Component Node",
-      "version": "1.0.0",
-      "derived_from": "tosca.nodes.Root"
-    },
-    "tosca.nodes.Workflow": {
-      "description": "This is Directed Graph Node Type",
-      "version": "1.0.0",
-      "derived_from": "tosca.nodes.Root"
-    },
-    "tosca.nodes.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": {
-        "ResourceAssignmentComponent": {
-          "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.Workflow"
-    },
-    "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
index 7918c11..edbb54e 100644 (file)
@@ -1,6 +1,6 @@
 TOSCA-Meta-File-Version: 1.0.0
 CSAR-Version: 1.0
-Created-By: ONAP
+Created-By: Alexis de Talhouët
 Entry-Definitions: Definitions/vFW_spinup.json
-Template-Tags: ONAP, vFW
+Template-Tags: test
 Content-Type: application/vnd.oasis.bpmn
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/base-mapping.json
new file mode 100644 (file)
index 0000000..2581748
--- /dev/null
@@ -0,0 +1,267 @@
+[
+  {
+    "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": "processor-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": "processor-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": "primary-config-data",
+    "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": "processor-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": "processor-db",
+    "dependencies": [
+      
+    ],
+    "version": 0
+  }
+]
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-mapping.json
new file mode 100644 (file)
index 0000000..c07007c
--- /dev/null
@@ -0,0 +1,781 @@
+[
+  {
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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
+  }
+]
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-vnf-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vfw-vnf-mapping.json
new file mode 100644 (file)
index 0000000..d764572
--- /dev/null
@@ -0,0 +1,461 @@
+[
+  {
+    "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": "processor-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": "processor-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": "processor-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": "processor-db",
+    "dependencies": [
+      "vnf-model-customization-uuid"
+    ],
+    "version": 0
+  }
+]
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vpg-mapping.json
new file mode 100644 (file)
index 0000000..d3cfdeb
--- /dev/null
@@ -0,0 +1,808 @@
+[
+  {
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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
+  }
+]
\ No newline at end of file
diff --git a/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/vFW/Templates/vsn-mapping.json
new file mode 100644 (file)
index 0000000..84bc731
--- /dev/null
@@ -0,0 +1,808 @@
+[
+  {
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "processor-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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-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": "primary-config-data",
+    "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": "processor-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": "processor-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": "processor-db",
+    "dependencies": [
+      
+    ],
+    "version": 0
+  }
+]
\ No newline at end of file
index fdc18c5..78a9d8c 100644 (file)
           "baseconfig-mapping": {
             "type": "artifact-mapping-resource",
             "file": "Definitions/baseconfig-mapping.json"
+          },
+          "another-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/another-template.vtl"
+          },
+          "another-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Definitions/another-mapping.json"
           }
         }
       },
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/another-mapping.json b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Definitions/another-mapping.json
new file mode 100644 (file)
index 0000000..67d2a91
--- /dev/null
@@ -0,0 +1,36 @@
+[
+  {
+    "name": "service-instance-id",
+    "input-param": true,
+    "property": {
+      "type": "string"
+    },
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [
+    ]
+  },
+  {
+    "name": "vnf-id",
+    "input-param": true,
+    "property": {
+      "type": "string"
+    },
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": []
+  },
+  {
+    "name": "vnf_name",
+    "input-param": false,
+    "property": {
+      "type": "string"
+    },
+    "dictionary-name": "vnf_name",
+    "dictionary-source": "primary-config-data",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  }
+]
diff --git a/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Templates/another-template.vtl b/components/model-catalog/blueprint-model/test-blueprint/baseconfiguration/Templates/another-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
index 6b0a79e..8b88842 100755 (executable)
@@ -7,6 +7,11 @@
     "type" : "string"
   },
   "sources" : {
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    },
     "input" : {
       "type" : "source-input",
       "properties" : {
index 6da5ea2..a26b82f 100755 (executable)
@@ -7,8 +7,13 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    },
+    "processor-db" : {
+      "type" : "source-processor-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",
index 4e1ba2b..710042d 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select nfc_naming_code as nfc_naming_code from sdnctl.VFC_MODEL where customization_uuid=:vfccustomizationuuid",
index 42765ee..559ec3e 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"private\"",
index 26e62e8..adba4ce 100644 (file)
@@ -1,5 +1,5 @@
 {
-  "name": "primary-db-source",
+  "name": "processor-db-source",
   "property" :{
     "description": "name of the ",
     "type": "string"
@@ -7,8 +7,8 @@
   "updated-by": "brindasanth@onap.com",
   "tags": "bundle-id, brindasanth@onap.com",
   "sources": {
-    "primary-db": {
-      "type": "source-primary-db",
+    "processor-db": {
+      "type": "source-processor-db",
       "properties": {
         "query": "SELECT db-country, db-state FROM DEVICE_PROFILE WHERE profile_name = :profile_name",
         "input-key-mapping": {
index 0685401..3365d66 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"private\"",
index f6120f3..8ddf987 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"protected\"",
index bb477dc..ac12ad2 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"protected\"",
index 6cc9c2e..a4fbc95 100755 (executable)
@@ -7,6 +7,11 @@
                        "description" : "public_net_id"
                },
                "sources": {
+                       "default": {
+                               "type": "source-default",
+                               "properties": {
+                               }
+                       },
                        "input": {
                                "type": "source-input"
                        }
index 656841f..c9544ed 100644 (file)
@@ -5,10 +5,10 @@
     "type": "string"\r
   },\r
   "updated-by": "brindasanth@onap.com",\r
-  "tags": "primary-db-source, brindasanth@onap.com",\r
+  "tags": "processor-db-source, brindasanth@onap.com",\r
   "sources": {\r
-    "primary-db": {\r
-      "type": "source-primary-db",\r
+    "processor-db": {\r
+      "type": "source-processor-db",\r
       "properties": {\r
         "query": "SELECT db-country, db-state FROM DEVICE_PROFILE WHERE profile_name = :profile_name",\r
         "input-key-mapping": {\r
index 017ba98..38f07e8 100755 (executable)
@@ -7,6 +7,11 @@
     "type" : "string"
   },
   "sources" : {
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    },
     "input" : {
       "type" : "source-input",
       "properties" : {
index 737c757..4aa0223 100755 (executable)
@@ -12,7 +12,7 @@
       "properties" : { }
     },
     "any-db": {
-      "type": "source-primary-db",
+      "type": "source-processor-db",
       "properties": {
         "query": "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"",
         "input-key-mapping": {
@@ -22,8 +22,8 @@
         }
       }
     },
-    "primary-db": {
-      "type": "source-primary-db",
+    "processor-db": {
+      "type": "source-processor-db",
       "properties": {
         "query": "SELECT artifact_name FROM BLUEPRINT_RUNTIME where artifact_version=\"1.0.0\"",
         "input-key-mapping": {
index c1fc541..7d3475d 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"unprotected\"",
index 6048755..60b846d 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select sdnctl.IPAM_IP_POOL.prefix as prefix from sdnctl.IPAM_IP_POOL where description = \"unprotected\"",
index faa7ea4..e17de2b 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-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",
index dbd51bb..abbe817 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select vf_module_type as vf_module_type from sdnctl.VF_MODULE_MODEL where customization_uuid=:customizationid",
index 70792f8..cae1117 100755 (executable)
@@ -7,8 +7,13 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    },
+    "processor-db" : {
+      "type" : "source-processor-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",
index a21982c..2f839ac 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-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",
index 9f3e7cf..7ed7674 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-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",
index 9744316..a0bb607 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select VFC_MODEL.vm_type as vm_type from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
index e9d8a3b..2174914 100755 (executable)
@@ -7,6 +7,16 @@
     "type" : "string"
   },
   "sources" : {
+    "default": {
+      "type": "source-default",
+      "properties": {
+      }
+    },
+    "input": {
+      "type": "source-input",
+      "properties": {
+      }
+    },
     "primary-config-data" : {
       "type" : "source-rest",
       "properties" : {
index 3d89d9d..40604cc 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select VFC_MODEL.invariant_uuid as vfc_invariant_uuid from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
index d7fb501..75bb2e5 100755 (executable)
@@ -7,8 +7,8 @@
     "type" : "string"
   },
   "sources" : {
-    "primary-db" : {
-      "type" : "source-primary-db",
+    "processor-db" : {
+      "type" : "source-processor-db",
       "properties" : {
         "type" : "SQL",
         "query" : "select VFC_MODEL.version as vnfc_model_version from VFC_MODEL where customization_uuid=:vfccustomizationuuid",
index feec740..cd51b33 100644 (file)
@@ -1,7 +1,10 @@
 /*
  * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
  * Modifications Copyright © 2018 IBM.
  *
+ *  Modifications Copyright © 2019 IBM, Bell Canada.
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
@@ -79,4 +82,28 @@ class ResourceResolutionComponentTest {
             resourceResolutionComponent.applyNB(executionServiceInput)
         }
     }
+
+    @Test
+    fun testRecover() {
+        runBlocking {
+            val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime("1234",
+                    "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val executionServiceInput = JacksonUtils.readValueFromClassPathFile("payload/requests/sample-resourceresolution-request.json",
+                    ExecutionServiceInput::class.java)!!
+
+            // Prepare Inputs
+            PayloadUtils.prepareInputsFromWorkflowPayload(bluePrintRuntimeService, executionServiceInput.payload, "resource-assignment")
+
+            val stepMetaData: MutableMap<String, JsonNode> = hashMapOf()
+            stepMetaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_NODE_TEMPLATE, "resource-assignment")
+            stepMetaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_INTERFACE, "ResourceResolutionComponent")
+            stepMetaData.putJsonElement(BluePrintConstants.PROPERTY_CURRENT_OPERATION, "process")
+            bluePrintRuntimeService.put("resource-assignment-step-inputs", stepMetaData.asJsonNode())
+
+            resourceResolutionComponent.bluePrintRuntimeService = bluePrintRuntimeService
+            resourceResolutionComponent.stepName = "resource-assignment"
+            resourceResolutionComponent.recoverNB(RuntimeException("TEST PASSED"), executionServiceInput)
+        }
+    }
 }
\ No newline at end of file
index 5ad9b3a..4a82dbd 100644 (file)
@@ -1,7 +1,10 @@
 /*
  * Copyright © 2017-2018 AT&T Intellectual Property.
+ *
  * Modifications Copyright © 2018 IBM.
  *
+ *  Modifications Copyright © 2019 IBM, Bell Canada.
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
@@ -91,4 +94,50 @@ class ResourceResolutionServiceTest {
         }
     }
 
+    @Test
+    @Throws(Exception::class)
+    fun testResolveResources() {
+
+        Assert.assertNotNull("failed to create ResourceResolutionService", resourceResolutionService)
+
+        val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime("1234",
+                "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+        val executionServiceInput = JacksonUtils.readValueFromClassPathFile("payload/requests/sample-resourceresolution-request.json",
+                ExecutionServiceInput::class.java)!!
+
+        val artefactNames = listOf("baseconfig", "another")
+
+        // Prepare Inputs
+        PayloadUtils.prepareInputsFromWorkflowPayload(bluePrintRuntimeService, executionServiceInput.payload, "resource-assignment")
+
+        resourceResolutionService.resolveResources(bluePrintRuntimeService, "resource-assignment", artefactNames, mapOf())
+
+    }
+
+    @Test
+    @Throws(Exception::class)
+    fun testResolveResourcesWithMappingAndTemplate() {
+
+        Assert.assertNotNull("failed to create ResourceResolutionService", resourceResolutionService)
+
+        val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime("1234",
+                "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+        val executionServiceInput = JacksonUtils.readValueFromClassPathFile("payload/requests/sample-resourceresolution-request.json",
+                ExecutionServiceInput::class.java)!!
+
+        val artifactPrefix = "another"
+
+        // Velocity Artifact Definition Name
+        val artifactTemplate = "$artifactPrefix-template"
+        // Resource Assignment Artifact Definition Name
+        val artifactMapping = "$artifactPrefix-mapping"
+
+        // Prepare Inputs
+        PayloadUtils.prepareInputsFromWorkflowPayload(bluePrintRuntimeService, executionServiceInput.payload, "resource-assignment")
+
+        resourceResolutionService.resolveResources(bluePrintRuntimeService, "resource-assignment", artifactMapping, artifactTemplate)
+
+    }
 }
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockDatabaseConfiguration.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/mock/MockDatabaseConfiguration.kt
new file mode 100644 (file)
index 0000000..22e043b
--- /dev/null
@@ -0,0 +1,42 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock
+
+import io.mockk.mockk
+import org.onap.ccsdk.cds.blueprintsprocessor.db.BluePrintDBLibGenericService
+import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+
+@Configuration
+open class MockDatabaseConfiguration {
+
+    @Bean(name = ["MariaDatabaseConfiguration", "MySqlDatabaseConfiguration", "PrimaryDatabaseConfiguration"])
+    open fun createDatabaseConfiguration(): BluePrintDBLibGenericService {
+       return mockk<BluePrintDBLibGenericService>()
+    }
+}
+
+@Configuration
+open class MockBlueprintProcessorCatalogServiceImpl {
+
+    @Bean(name = ["blueprintProcessorCatalogServiceImpl"])
+    open fun createBlueprintProcessorCatalogServiceImpl(): BluePrintValidatorService {
+        return mockk<BluePrintValidatorService>()
+    }
+
+
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DatabaseResourceResolutionProcessorTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DatabaseResourceResolutionProcessorTest.kt
new file mode 100644 (file)
index 0000000..f76d95a
--- /dev/null
@@ -0,0 +1,75 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintCoreConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BlueprintProcessorProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BlueprintPropertyConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.db.BluePrintDBLibConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.db.primary.BluePrintDBLibPropertySevice
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock.MockBlueprintProcessorCatalogServiceImpl
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.mock.MockDatabaseConfiguration
+import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
+import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertNotNull
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [DatabaseResourceAssignmentProcessor::class, BlueprintPropertyConfiguration::class,
+    BluePrintProperties::class, BluePrintDBLibPropertySevice::class, BluePrintDBLibConfiguration::class,
+    BluePrintCoreConfiguration::class, MockDatabaseConfiguration::class, MockBlueprintProcessorCatalogServiceImpl::class,
+    BlueprintProcessorProperties::class])
+@TestPropertySource(locations = ["classpath:application-test.properties"])
+class DatabaseResourceResolutionProcessorTest {
+
+    @Autowired
+    lateinit var databaseResourceAssignmentProcessor: DatabaseResourceAssignmentProcessor
+
+    @Test
+    fun `test database resource resolution`() {
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
+                    "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
+
+            databaseResourceAssignmentProcessor.raRuntimeService = resourceAssignmentRuntimeService
+            databaseResourceAssignmentProcessor.resourceDictionaries = hashMapOf()
+
+            val resourceAssignment = ResourceAssignment().apply {
+                name = "rr-name"
+                dictionaryName = "rr-dict-name"
+                dictionarySource = "primary-db"
+                property = PropertyDefinition().apply {
+                    type = "string"
+                }
+            }
+
+            val processorName = databaseResourceAssignmentProcessor.applyNB(resourceAssignment)
+            assertNotNull(processorName, "couldn't get Database resource assignment processor name")
+            println(processorName)
+        }
+    }
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DefaultResourceResolutionProcessorTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/DefaultResourceResolutionProcessorTest.kt
new file mode 100644 (file)
index 0000000..093a334
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
+import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
+import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertNotNull
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [DefaultResourceResolutionProcessor::class])
+@TestPropertySource(locations = ["classpath:application-test.properties"])
+class DefaultResourceResolutionProcessorTest {
+
+    @Autowired
+    lateinit var defaultResourceResolutionProcessor: DefaultResourceResolutionProcessor
+
+    @Test
+    fun `test default resource resolution`() {
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
+                    "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
+
+            defaultResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
+            defaultResourceResolutionProcessor.resourceDictionaries = hashMapOf()
+
+            val resourceAssignment = ResourceAssignment().apply {
+                name = "rr-name"
+                dictionaryName = "rr-dict-name"
+                dictionarySource = "default"
+                property = PropertyDefinition().apply {
+                    type = "string"
+                }
+            }
+
+            val processorName = defaultResourceResolutionProcessor.applyNB(resourceAssignment)
+            assertNotNull(processorName, "couldn't get Default resource assignment processor name")
+            println(processorName)
+        }
+    }
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/InputResourceResolutionProcessorTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/InputResourceResolutionProcessorTest.kt
new file mode 100644 (file)
index 0000000..68ef4d2
--- /dev/null
@@ -0,0 +1,64 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
+import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
+import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertNotNull
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [InputResourceResolutionProcessor::class])
+@TestPropertySource(locations = ["classpath:application-test.properties"])
+class InputResourceResolutionProcessorTest {
+
+    @Autowired
+    lateinit var inputResourceResolutionProcessor: InputResourceResolutionProcessor
+
+    @Test
+    fun `test input resource resolution`() {
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
+                    "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
+
+            inputResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
+            inputResourceResolutionProcessor.resourceDictionaries = hashMapOf()
+
+            val resourceAssignment = ResourceAssignment().apply {
+                name = "rr-name"
+                dictionaryName = "rr-dict-name"
+                dictionarySource = "input"
+                property = PropertyDefinition().apply {
+                    type = "string"
+                }
+            }
+
+            val processorName = inputResourceResolutionProcessor.applyNB(resourceAssignment)
+            assertNotNull(processorName, "couldn't get Input resource assignment processor name")
+            println(processorName)
+        }
+    }
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessorTest.kt b/ms/blueprintsprocessor/functions/resource-resolution/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/functions/resource/resolution/processor/RestResourceResolutionProcessorTest.kt
new file mode 100644 (file)
index 0000000..a4636f1
--- /dev/null
@@ -0,0 +1,68 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.processor
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BlueprintPropertyConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.ResourceAssignmentRuntimeService
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BluePrintRestLibPropertyService
+import org.onap.ccsdk.cds.controllerblueprints.core.data.PropertyDefinition
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
+import org.onap.ccsdk.cds.controllerblueprints.resource.dict.ResourceAssignment
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertNotNull
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [RestResourceResolutionProcessor::class, BluePrintRestLibPropertyService::class,
+    BlueprintPropertyConfiguration::class, BluePrintProperties::class])
+@TestPropertySource(locations = ["classpath:application-test.properties"])
+class RestResourceResolutionProcessorTest {
+
+    @Autowired
+    lateinit var restResourceResolutionProcessor: RestResourceResolutionProcessor
+
+    @Test
+    fun `test rest resource resolution`() {
+        runBlocking {
+            val bluePrintContext = BluePrintMetadataUtils.getBluePrintContext(
+                    "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val resourceAssignmentRuntimeService = ResourceAssignmentRuntimeService("1234", bluePrintContext)
+
+            restResourceResolutionProcessor.raRuntimeService = resourceAssignmentRuntimeService
+            restResourceResolutionProcessor.resourceDictionaries = hashMapOf()
+
+            val resourceAssignment = ResourceAssignment().apply {
+                name = "rr-name"
+                dictionaryName = "rr-dict-name"
+                dictionarySource = "primary-config-data"
+                property = PropertyDefinition().apply {
+                    type = "string"
+                }
+            }
+
+            val processorName = restResourceResolutionProcessor.applyNB(resourceAssignment)
+            assertNotNull(processorName, "couldn't get Rest resource assignment processor name")
+            println(processorName)
+        }
+    }
+}
\ No newline at end of file
index 3f37d1b..071b27a 100644 (file)
@@ -2,8 +2,6 @@
 #
 # Copyright © 2017-2018 AT&T Intellectual Property.
 #
-# Modifications Copyright © 2019 IBM, Bell Canada.
-#
 # Licensed under the Apache License, Version 2.0 (the "License");
 # you may not use this file except in compliance with the License.
 # You may obtain a copy of the License at
@@ -16,7 +14,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 #
-blueprintsprocessor.db.primary.url=jdbc:h2:mem:testdb;DB_CLOSE_ON_EXIT=FALSE
+blueprintsprocessor.db.primary.url=jdbc:h2:mem:testdb;DB_CLOSE_DELAY=-1
 blueprintsprocessor.db.primary.username=sa
 blueprintsprocessor.db.primary.password=
 blueprintsprocessor.db.primary.driverClassName=org.h2.Driver
@@ -27,17 +25,7 @@ blueprintsprocessor.db.primary.hibernateDialect=org.hibernate.dialect.H2Dialect
 # Controller Blueprints Core Configuration
 blueprintsprocessor.blueprintDeployPath=./target/blueprints/deploy
 blueprintsprocessor.blueprintArchivePath=./target/blueprints/archive
-
-blueprintsprocessor.restclient.primary-config-data.type=basic-auth
-blueprintsprocessor.restclient.primary-config-data.url=http://127.0.0.1:9111
-blueprintsprocessor.restclient.primary-config-data.userId=sampleuser
-blueprintsprocessor.restclient.primary-config-data.token=sampletoken
-
+blueprintsprocessor.blueprintWorkingPath=./target/blueprints/work
 # Python executor
 blueprints.processor.functions.python.executor.executionPath=./../../../../components/scripts/python/ccsdk_blueprints
-blueprints.processor.functions.python.executor.modulePaths=./../../../../components/scripts/python/ccsdk_blueprints
-
-
-# CBA examples for tests cases
-controllerblueprints.loadBlueprintsExamplesPath=./../../../../components/model-catalog/blueprint-model/test-blueprint
-controllerblueprints.loadBluePrintPaths=./../../../../components/model-catalog/blueprint-model/test-blueprint
\ No newline at end of file
+blueprints.processor.functions.python.executor.modulePaths=./../../../../components/scripts/python/ccsdk_blueprints
\ No newline at end of file
index 2fda159..e40efd0 100644 (file)
@@ -1,6 +1,8 @@
 /*
  * Copyright (C) 2019 Bell Canada.
  *
+ * Copyright (C) 2019 IBM, Bell Canada.
+ *
  * Licensed under the Apache License, Version 2.0 (the "License");
  * you may not use this file except in compliance with the License.
  * You may obtain a copy of the License at
@@ -21,11 +23,18 @@ import org.junit.runner.RunWith
 import org.onap.ccsdk.cds.controllerblueprints.core.deleteDir
 import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintCatalogService
 import org.onap.ccsdk.cds.controllerblueprints.core.normalizedFile
+import org.onap.ccsdk.cds.blueprintsprocessor.core.BluePrintCoreConfiguration
+import org.onap.ccsdk.cds.blueprintsprocessor.db.mock.MockBlueprintProcessorCatalogServiceImpl
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.cds.controllerblueprints.core.service.BluePrintRuntimeService
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
 import org.springframework.beans.factory.annotation.Autowired
 import org.springframework.boot.autoconfigure.EnableAutoConfiguration
 import org.springframework.context.annotation.ComponentScan
+import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
+import java.io.File
 import kotlin.test.AfterTest
 import kotlin.test.BeforeTest
 import kotlin.test.assertTrue
@@ -33,15 +42,29 @@ import kotlin.test.assertTrue
 @RunWith(SpringRunner::class)
 @EnableAutoConfiguration
 @ComponentScan(basePackages = ["org.onap.ccsdk.cds.blueprintsprocessor", "org.onap.ccsdk.cds.controllerblueprints"])
+@ContextConfiguration(classes = [BlueprintProcessorCatalogServiceImpl::class, BluePrintCoreConfiguration::class,
+    MockBlueprintProcessorCatalogServiceImpl::class])
 @TestPropertySource(locations = ["classpath:application-test.properties"])
 class BlueprintProcessorCatalogServiceImplTest {
 
     @Autowired
     lateinit var blueprintCatalog: BluePrintCatalogService
 
+    @Autowired
+    lateinit var blueprintProcessorCatalogServiceImpl: BlueprintProcessorCatalogServiceImpl
+
+    @Autowired
+    lateinit var blueprintCoreConfiguration: BluePrintCoreConfiguration
+
+    private lateinit var bluePrintRuntimeService: BluePrintRuntimeService<*>
+
+    private val blueprintId = "1234"
+
     @BeforeTest
     fun setup() {
         deleteDir("target", "blueprints")
+        bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(blueprintId,
+                    "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
     }
 
     @AfterTest
@@ -51,6 +74,7 @@ class BlueprintProcessorCatalogServiceImplTest {
 
     @Test
     fun `test catalog service`() {
+        //TODO: I thing this test function should be remve and replace by the other one.
         runBlocking {
             //FIXME("Create ZIP from test blueprints")
 
@@ -58,11 +82,46 @@ class BlueprintProcessorCatalogServiceImplTest {
             assertTrue(file.exists(), "couldn't get file ${file.absolutePath}")
 
             blueprintCatalog.saveToDatabase("1234", file)
-
             blueprintCatalog.getFromDatabase("baseconfiguration", "1.0.0")
 
             blueprintCatalog.deleteFromDatabase("baseconfiguration", "1.0.0")
+        }
+    }
+
+    @Test
+    fun `test save function`() {
+        runBlocking {
+            val file = normalizedFile("./src/test/resources/test-cba.zip")
+            assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
+            val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
+            metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
 
+            blueprintProcessorCatalogServiceImpl.save(metadata, file)
+        }
+    }
+
+    @Test
+    fun `test get function`() {
+        runBlocking {
+            val file = normalizedFile("./src/test/resources/test-cba.zip")
+            assertTrue(file.exists(), "couldnt get file ${file.absolutePath}")
+            val metadata = bluePrintRuntimeService.bluePrintContext().metadata!!
+            metadata[BluePrintConstants.PROPERTY_BLUEPRINT_PROCESS_ID] = blueprintId
+
+            blueprintProcessorCatalogServiceImpl.save(metadata, file)
+            blueprintProcessorCatalogServiceImpl.get("baseconfiguration", "1.0.0", true)
+        }
+
+        assertTrue(File(blueprintCoreConfiguration.bluePrintPathConfiguration().blueprintArchivePath +
+                "/baseconfiguration").deleteRecursively(),"Couldn't get blueprint archive " +
+                "${blueprintCoreConfiguration.bluePrintPathConfiguration().blueprintArchivePath}/baseconfiguration " +
+                "from data base.")
+    }
+
+    @Test
+    fun `test delete function`() {
+        runBlocking {
+            blueprintProcessorCatalogServiceImpl.delete("baseconfiguration", "1.0.0")
         }
     }
 }
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt b/ms/blueprintsprocessor/modules/commons/db-lib/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/db/mock/MockBlueprintProcessorCatalogServiceImpl.kt
new file mode 100644 (file)
index 0000000..08de332
--- /dev/null
@@ -0,0 +1,29 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.db.mock
+
+import io.mockk.mockk
+import org.onap.ccsdk.cds.controllerblueprints.core.interfaces.BluePrintValidatorService
+import org.springframework.context.annotation.Bean
+import org.springframework.context.annotation.Configuration
+@Configuration
+open class MockBlueprintProcessorCatalogServiceImpl {
+
+    @Bean(name = ["blueprintProcessorCatalogServiceImpl"])
+    open fun createBlueprintProcessorCatalogServiceImpl(): BluePrintValidatorService {
+        return mockk<BluePrintValidatorService>()
+    }
+}
\ No newline at end of file
index fb6a083..badd700 100644 (file)
@@ -86,7 +86,7 @@ open class Status {
     @get:ApiModelProperty(required = true)
     var code: Int = 200
     @get:ApiModelProperty(required = true)
-    var eventType: String = "EVENT-ACTION-RESPONSE"
+    var eventType: String = ""
     @get:ApiModelProperty(required = true, example = "2012-04-23T18:25:43.511Z")
     @get:JsonFormat(shape = JsonFormat.Shape.STRING, pattern = "yyyy-MM-dd'T'HH:mm:ss.SSS'Z'")
     var timestamp: Date = Date()
index 2743469..1e09bee 100644 (file)
@@ -62,7 +62,7 @@ class ExecutionServiceHandler(private val bluePrintPathConfiguration: BluePrintP
             return bluePrintCatalogService.saveToDatabase(saveId, compressedFile, true)
         } catch (e: IOException) {
             throw BluePrintException(ErrorCode.IO_FILE_INTERRUPT.value,
-                    "Error in Upload CBA: ${e.message}", e)
+                "Error in Upload CBA: ${e.message}", e)
         } finally {
             deleteNBDir(blueprintArchive)
             deleteNBDir(blueprintWorking)
@@ -90,41 +90,42 @@ class ExecutionServiceHandler(private val bluePrintPathConfiguration: BluePrintP
                 responseObserver.onCompleted()
             }
             else -> responseObserver.onNext(response(executionServiceInput,
-                    "Failed to process request, 'actionIdentifiers.mode' not specified. Valid value are: 'sync' or 'async'.",
-                    true).toProto());
+                "Failed to process request, 'actionIdentifiers.mode' not specified. Valid value are: 'sync' or 'async'.",
+                true).toProto());
         }
     }
 
     suspend fun doProcess(executionServiceInput: ExecutionServiceInput): ExecutionServiceOutput {
         val requestId = executionServiceInput.commonHeader.requestId
         log.info("processing request id $requestId")
-
         val actionIdentifiers = executionServiceInput.actionIdentifiers
-
         val blueprintName = actionIdentifiers.blueprintName
         val blueprintVersion = actionIdentifiers.blueprintVersion
+        try {
+            val basePath = bluePrintCatalogService.getFromDatabase(blueprintName, blueprintVersion)
+            log.info("blueprint base path $basePath")
 
-        val basePath = bluePrintCatalogService.getFromDatabase(blueprintName, blueprintVersion)
-        log.info("blueprint base path $basePath")
-
-        val blueprintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(requestId, basePath.toString())
+            val blueprintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime(requestId, basePath.toString())
 
-        val output = bluePrintWorkflowExecutionService.executeBluePrintWorkflow(blueprintRuntimeService,
+            val output = bluePrintWorkflowExecutionService.executeBluePrintWorkflow(blueprintRuntimeService,
                 executionServiceInput, hashMapOf())
 
-        val errors = blueprintRuntimeService.getBluePrintError().errors
-        if (errors.isNotEmpty()) {
-            val errorMessage = errors.stream().map { it.toString() }.collect(Collectors.joining(", "))
-            setErrorStatus(errorMessage, output.status)
+            val errors = blueprintRuntimeService.getBluePrintError().errors
+            if (errors.isNotEmpty()) {
+                val errorMessage = errors.stream().map { it.toString() }.collect(Collectors.joining(", "))
+                setErrorStatus(errorMessage, output.status)
+            }
+            return output
+        } catch (e: Exception) {
+            log.error("fail processing request id $requestId", e)
+            return response(executionServiceInput, e.localizedMessage, true)
         }
-
-        return output
     }
 
     private suspend fun copyFromFilePart(filePart: FilePart, targetFile: File): File {
         return filePart.transferTo(targetFile)
-                .thenReturn(targetFile)
-                .awaitSingle()
+            .thenReturn(targetFile)
+            .awaitSingle()
     }
 
     private fun setErrorStatus(errorMessage: String, status: Status) {
@@ -139,10 +140,10 @@ class ExecutionServiceHandler(private val bluePrintPathConfiguration: BluePrintP
         val executionServiceOutput = ExecutionServiceOutput()
         executionServiceOutput.commonHeader = executionServiceInput.commonHeader
         executionServiceOutput.actionIdentifiers = executionServiceInput.actionIdentifiers
-        executionServiceOutput.payload = JsonNodeFactory.instance.objectNode()
 
         val status = Status()
         if (failure) {
+            executionServiceOutput.payload = JsonNodeFactory.instance.objectNode()
             setErrorStatus(errorMessage, status)
         } else {
             status.eventType = EventType.EVENT_COMPONENT_PROCESSING.name
index e78e875..14feb28 100644 (file)
@@ -22,6 +22,7 @@ import com.fasterxml.jackson.databind.JsonNode
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceOutput
 import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.Status
+import org.onap.ccsdk.cds.controllerblueprints.common.api.EventType
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
 import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
 import org.onap.ccsdk.cds.controllerblueprints.core.asObjectNode
@@ -97,7 +98,7 @@ abstract class AbstractComponentFunction : BlueprintFunctionNode<ExecutionServic
         log.info("Preparing Response...")
         executionServiceOutput.commonHeader = executionServiceInput.commonHeader
         executionServiceOutput.actionIdentifiers = executionServiceInput.actionIdentifiers
-        var status: Status?
+        var status = Status()
         try {
             // Resolve the Output Expression
             val stepOutputs = bluePrintRuntimeService
@@ -105,12 +106,12 @@ abstract class AbstractComponentFunction : BlueprintFunctionNode<ExecutionServic
 
             bluePrintRuntimeService.put("$stepName-step-outputs", stepOutputs.asObjectNode())
             // Set the Default Step Status
-            status = Status()
+            status.eventType = EventType.EVENT_COMPONENT_EXECUTED.name
         } catch (e: Exception) {
-            status = Status()
             status.message = BluePrintConstants.STATUS_FAILURE
+            status.eventType = EventType.EVENT_COMPONENT_FAILURE.name
         }
-        executionServiceOutput.status = status!!
+        executionServiceOutput.status = status
         return this.executionServiceOutput
     }
 
index 2a45090..586888b 100644 (file)
@@ -33,7 +33,7 @@ import java.io.File
 
 @Service
 class BlueprintJythonService(val pythonExecutorProperty: PythonExecutorProperty,
-                             private val applicationContext: ApplicationContext) {
+                                  private val applicationContext: ApplicationContext) {
 
     val log: Logger = LoggerFactory.getLogger(BlueprintJythonService::class.java)
 
@@ -57,7 +57,6 @@ class BlueprintJythonService(val pythonExecutorProperty: PythonExecutorProperty,
 
     fun jythonComponentInstance(bluePrintContext: BluePrintContext, scriptClassReference: String):
             BlueprintFunctionNode<*, *> {
-        val blueprintBasePath: String = bluePrintContext.rootPath
 
         val pythonFileName = bluePrintContext.rootPath
                 .plus(File.separator)
@@ -68,10 +67,6 @@ class BlueprintJythonService(val pythonExecutorProperty: PythonExecutorProperty,
 
         val content: String = JacksonUtils.getContent(pythonFileName)
 
-        val pythonPath: MutableList<String> = arrayListOf()
-        pythonPath.add(blueprintBasePath)
-        pythonPath.addAll(pythonExecutorProperty.modulePaths)
-
         val jythonInstances: MutableMap<String, Any> = hashMapOf()
         jythonInstances["log"] = LoggerFactory.getLogger(pythonClassName)
 
index c8c9f0b..ceb824d 100644 (file)
@@ -30,6 +30,7 @@ import org.springframework.test.context.ContextConfiguration
 import org.springframework.test.context.TestPropertySource
 import org.springframework.test.context.junit4.SpringRunner
 import kotlin.test.assertNotNull
+import kotlin.test.BeforeTest
 
 @RunWith(SpringRunner::class)
 @ContextConfiguration(classes = [BlueprintJythonService::class, PythonExecutorProperty::class])
@@ -38,25 +39,39 @@ import kotlin.test.assertNotNull
     "blueprints.processor.functions.python.executor.executionPath=./../../../../../components/scripts/python/ccsdk_blueprints"])
 class BlueprintJythonServiceTest {
 
+    lateinit var blueprintContext: BluePrintContext
     @Autowired
     private lateinit var blueprintJythonService: BlueprintJythonService
 
+    @BeforeTest
+    fun init() {
+        blueprintContext = mockk<BluePrintContext>()
+        every { blueprintContext.rootPath } returns normalizedPathName("target")
+    }
+
     @Test
     fun testGetAbstractPythonPlugin() {
-        val bluePrintContext = mockk<BluePrintContext>()
-        every { bluePrintContext.rootPath } returns normalizedPathName("target")
-
-        val dependencies: MutableMap<String, Any> = hashMapOf()
 
         val content = JacksonUtils.getClassPathFileContent("scripts/SamplePythonComponentNode.py")
+        val dependencies: MutableMap<String, Any> = hashMapOf()
 
-        val abstractComponentFunction = blueprintJythonService
-                .jythonInstance<AbstractComponentFunction>(bluePrintContext, "SamplePythonComponentNode",
+        val abstractPythonPlugin = blueprintJythonService
+                .jythonInstance<AbstractComponentFunction>(blueprintContext, "SamplePythonComponentNode",
                         content, dependencies)
 
-        assertNotNull(abstractComponentFunction, "failed to get python component")
+        assertNotNull(abstractPythonPlugin, "failed to get python component")
+
+        abstractPythonPlugin.process(ExecutionServiceInput())
+
+    }
+
+    @Test
+    fun testGetAbstractJythonComponent() {
+
+        val scriptInstance = "test-classes/scripts/SamplePythonComponentNode.py"
 
-        abstractComponentFunction.process(ExecutionServiceInput())
+        val abstractJythonComponent = blueprintJythonService.jythonComponentInstance(blueprintContext, scriptInstance)
 
+        assertNotNull(abstractJythonComponent, "failed to get Jython component")
     }
 }
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonHostTest.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonHostTest.kt
new file mode 100644 (file)
index 0000000..3c3efa2
--- /dev/null
@@ -0,0 +1,62 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts
+
+import org.junit.Test
+
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertNotNull
+import kotlin.test.BeforeTest
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [BluePrintPython::class, PythonExecutorProperty::class, String::class])
+@TestPropertySource(properties =
+["blueprints.processor.functions.python.executor.modulePaths=./../../../../../components/scripts/python/ccsdk_blueprints",
+    "blueprints.processor.functions.python.executor.executionPath=./../../../../../components/scripts/python/ccsdk_blueprints"])
+class BlueprintPythonHostTest {
+
+    lateinit var blueprintPythonHost: BlueprintPythonHost
+
+    @Autowired
+    lateinit var pythonExecutorProperty: PythonExecutorProperty
+
+    @BeforeTest
+    fun init() {
+        val blueprintBasePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
+        val pythonPath: MutableList<String> = arrayListOf()
+        pythonPath.add(blueprintBasePath)
+        pythonPath.addAll(pythonExecutorProperty.modulePaths)
+
+        blueprintPythonHost = BlueprintPythonHost(BluePrintPython(pythonExecutorProperty.executionPath, pythonPath, arrayListOf()))
+    }
+
+    @Test
+    fun testGetPythonComponent() {
+        val content = JacksonUtils.getContent("./src/test/resources/PythonTestScript.py")
+
+        val pythonClassName = "PythonTestScript"
+        val dependencies: MutableMap<String, Any> = hashMapOf()
+
+        val pythonObject = blueprintPythonHost.getPythonComponent(content, pythonClassName, dependencies)
+
+        assertNotNull(pythonObject, "failed to get python object")
+    }
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonInterpreterProxyTest.kt b/ms/blueprintsprocessor/modules/services/execution-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/execution/scripts/BlueprintPythonInterpreterProxyTest.kt
new file mode 100644 (file)
index 0000000..12ef973
--- /dev/null
@@ -0,0 +1,48 @@
+package org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts
+
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+
+import kotlin.test.assertNotNull
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.TestPropertySource
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.BeforeTest
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [BluePrintPython::class, PythonExecutorProperty::class, String::class])
+@TestPropertySource(properties =
+["blueprints.processor.functions.python.executor.modulePaths=./../../../../../components/scripts/python/ccsdk_blueprints",
+    "blueprints.processor.functions.python.executor.executionPath=./../../../../../components/scripts/python/ccsdk_blueprints"])
+class BlueprintPythonInterpreterProxyTest {
+
+    lateinit var blueprintPythonInterpreterProxy: BlueprintPythonInterpreterProxy
+
+    @Autowired
+    lateinit var pythonExecutorProperty: PythonExecutorProperty
+
+    @BeforeTest
+    fun init() {
+        val blueprintBasePath = "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
+        val pythonPath: MutableList<String> = arrayListOf()
+        pythonPath.add(blueprintBasePath)
+        pythonPath.addAll(pythonExecutorProperty.modulePaths)
+        val pythonClassName = "PythonTestScript"
+        val content = JacksonUtils.getContent("./src/test/resources/PythonTestScript.py")
+
+        val blueprintPython = BluePrintPython(pythonExecutorProperty.executionPath, pythonPath, arrayListOf())
+        blueprintPython.content = content
+        blueprintPython.pythonClassName = pythonClassName
+        blueprintPython.moduleName = "Unit test - Blueprint Python Script [Class Name = $pythonClassName]"
+
+        blueprintPythonInterpreterProxy = BlueprintPythonInterpreterProxy(blueprintPython)
+    }
+
+    @Test
+    fun getPythonInterpreter() {
+        val pythonObject = blueprintPythonInterpreterProxy.getPythonInstance(hashMapOf())
+        assertNotNull(pythonObject, "failed to get python interpreter")
+    }
+}
\ No newline at end of file
diff --git a/ms/blueprintsprocessor/modules/services/execution-service/src/test/resources/PythonTestScript.py b/ms/blueprintsprocessor/modules/services/execution-service/src/test/resources/PythonTestScript.py
new file mode 100644 (file)
index 0000000..42b611b
--- /dev/null
@@ -0,0 +1,9 @@
+class PythonTestScript():
+
+    def process(self, execution_request):
+        print "Processing calling..." + PROPERTY_BLUEPRINT_BASE_PATH
+        return None
+
+    def recover(self, runtime_exception, execution_request):
+        print "Recovering calling..." + PROPERTY_BLUEPRINT_BASE_PATH
+        return None
diff --git a/ms/blueprintsprocessor/modules/services/workflow-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/NodeTemplateExecutionServiceTest.kt b/ms/blueprintsprocessor/modules/services/workflow-service/src/test/kotlin/org/onap/ccsdk/cds/blueprintsprocessor/services/workflow/NodeTemplateExecutionServiceTest.kt
new file mode 100644 (file)
index 0000000..05cd997
--- /dev/null
@@ -0,0 +1,61 @@
+/*
+ * Copyright © 2019 IBM, Bell Canada.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+package org.onap.ccsdk.cds.blueprintsprocessor.services.workflow
+
+import kotlinx.coroutines.runBlocking
+import org.junit.Test
+import org.junit.runner.RunWith
+import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintConstants
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintMetadataUtils
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.springframework.beans.factory.annotation.Autowired
+import org.springframework.test.context.ContextConfiguration
+import org.springframework.test.context.junit4.SpringRunner
+import kotlin.test.assertEquals
+import kotlin.test.assertNotNull
+
+@RunWith(SpringRunner::class)
+@ContextConfiguration(classes = [WorkflowServiceConfiguration::class])
+
+class NodeTemplateExecutionServiceTest {
+    @Autowired
+    lateinit var nodeTemplateExecutionService: NodeTemplateExecutionService
+
+    @Test
+    fun testExecuteNodeTemplate() {
+        runBlocking {
+            val bluePrintRuntimeService = BluePrintMetadataUtils.getBluePrintRuntime("1234",
+                    "./../../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration")
+
+            val executionServiceInput = JacksonUtils.readValueFromClassPathFile("execution-input/resource-assignment-input.json",
+                    ExecutionServiceInput::class.java)!!
+
+            // Assign Workflow inputs Mock
+            val input = executionServiceInput.payload.get("resource-assignment-request")
+            bluePrintRuntimeService.assignWorkflowInputs("resource-assignment", input)
+
+            val nodeTemplate = "resource-assignment"
+
+            val executionServiceOutput = nodeTemplateExecutionService
+                    .executeNodeTemplate(bluePrintRuntimeService, nodeTemplate, executionServiceInput)
+
+            assertNotNull(executionServiceOutput, "failed to get response")
+            assertEquals(BluePrintConstants.STATUS_SUCCESS, executionServiceOutput.status.message,
+                    "failed to get successful response")
+        }
+    }
+}
\ No newline at end of file
index f7875ef..0fd30f2 100644 (file)
@@ -50,7 +50,7 @@ open class ModelTypeLoadService(private val modelTypeHandler: ModelTypeHandler)
      * Load the Model Type file content from the defined path, Load of sequencing should be maintained.
      */
     open suspend fun loadPathModelType(modelTypePath: String) {
-        log.info(" *************************** loadModelType **********************")
+        log.info(" ****** loadModelType($modelTypePath) ********")
         try {
             val errorBuilder = StrBuilder()
 
index ce979f6..25db333 100644 (file)
@@ -39,13 +39,18 @@ open class ResourceDictionaryLoadService(private val resourceDictionaryHandler:
     private val log = LoggerFactory.getLogger(ResourceDictionaryLoadService::class.java)
 
     open suspend fun loadPathsResourceDictionary(paths: List<String>) {
-        paths.forEach {
-            loadPathResourceDictionary(it)
+        coroutineScope {
+            val deferred = paths.map {
+                async {
+                    loadPathResourceDictionary(it)
+                }
+            }
+            deferred.awaitAll()
         }
     }
 
     open suspend fun loadPathResourceDictionary(path: String) {
-        log.info(" *************************** loadResourceDictionary **********************")
+        log.info(" ******* loadResourceDictionary($path) ********")
         val files = normalizedFile(path).listFiles()
         val errorBuilder = StrBuilder()
 
index 23c541d..e82ffc4 100644 (file)
@@ -55,19 +55,28 @@ class BluePrintEnhancerServiceImplTest {
     fun init() {
         runBlocking {
             modelTypeLoadService.loadPathModelType("./../../../../components/model-catalog/definition-type/starter-type")
-            resourceDictionaryLoadService.loadPathResourceDictionary("./../../../../components/model-catalog/resource-dictionary/starter-dictionary")
-            resourceDictionaryLoadService.loadPathResourceDictionary("./../../../../components/model-catalog/resource-dictionary/test-dictionary")
+
+            val dictPaths: MutableList<String> = arrayListOf()
+            dictPaths.add("./../../../../components/model-catalog/resource-dictionary/starter-dictionary")
+            dictPaths.add("./../../../../components/model-catalog/resource-dictionary/test-dictionary")
+            resourceDictionaryLoadService.loadPathsResourceDictionary(dictPaths)
         }
     }
 
     @Test
     @Throws(Exception::class)
     fun testEnhancementAndValidation() {
-
         val basePath = "./../../../../components/model-catalog/blueprint-model/test-blueprint/baseconfiguration"
         testComponentInvokeEnhancementAndValidation(basePath, "base-enhance")
     }
 
+    @Test
+    @Throws(Exception::class)
+    fun testVFWEnhancementAndValidation() {
+        val basePath = "./../../../../components/model-catalog/blueprint-model/service-blueprint/vFW"
+        testComponentInvokeEnhancementAndValidation(basePath, "vFW-enhance")
+    }
+
     @Test
     @Throws(Exception::class)
     fun testGoldenEnhancementAndValidation() {
@@ -96,7 +105,7 @@ class BluePrintEnhancerServiceImplTest {
             val valid = bluePrintValidatorService.validateBluePrints(targetPath)
             Assert.assertTrue("blueprint($basePath) validation failed ", valid)
 
-            deleteDir(targetPath)
+//            deleteDir(targetPath)
         }
     }