diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/5G_Core.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/5G_Core.json
new file mode 100644
index 0000000..376c00a
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/5G_Core.json
@@ -0,0 +1,435 @@
+{
+  "tosca_definitions_version": "controller_blueprint_1_0_0",
+  "metadata": {
+    "template_author": "Thamlur Raju <TR00568434@TechMahindra.com>",
+    "author-email": "TR00568434@TechMahindra.com",
+    "user-groups": "ADMIN, OPERATION",
+    "template_name": "5G_Core",
+    "template_version": "1.0.37",
+    "template_tags": "Thamlur Raju, Malinconico Aniello Paolo, Vamshi Namilikonda, 5G_Core",
+    "template_type": "DEFAULT"
+  },
+  "imports": [
+    {
+      "file": "Definitions/data_types.json"
+    },
+    {
+      "file": "Definitions/relationship_types.json"
+    },
+    {
+      "file": "Definitions/artifact_types.json"
+    },
+    {
+      "file": "Definitions/node_types.json"
+    },
+    {
+      "file": "Definitions/policy_types.json"
+    }
+  ],
+  "dsl_definitions": {
+    "vpkg-rest-api": {
+      "type": "basic-auth",
+      "url": "http://",
+      "username": "admin",
+      "password": "admin"
+    },
+    "multicloud-k8s-api": {
+      "type": "basic-auth",
+      "username": "admin",
+      "password": "admin",
+      "url": "http://multicloud-k8s:9015"
+    },
+    "aai-api": {
+      "type": "basic-auth",
+      "username": "AAI",
+      "password": "AAI",
+      "url": "https://aai.onap:8443"
+    },
+    "profile-upload-properties": {
+      "assignment-params": {
+        "get_attribute": [
+          "resource-assignment",
+          "assignment-params"
+        ]
+      },
+      "api-access": "*multicloud-k8s-api"
+    },
+    "config-deploy-properties": {
+      "resolution-key": {
+        "get_input": "resolution-key"
+      },
+      "api-access": "*multicloud-k8s-api",
+      "aai-access": "*aai-api"
+    },
+    "config-deploy-day-2-properties": {
+      "resolution-key": {
+        "get_input": "resolution-key"
+      },
+      "api-access": "*multicloud-k8s-api",
+      "aai-access": "*aai-api"
+    }
+  },
+  "topology_template": {
+    "workflows": {
+      "resource-assignment": {
+        "steps": {
+          "resource-assignment": {
+            "description": "Resource Assign Workflow",
+            "target": "resource-assignment",
+            "activities": [
+              {
+                "call_operation": "ResourceResolutionComponent.process"
+              }
+            ],
+            "on_success": [
+              "profile-upload"
+            ]
+          },
+          "profile-upload": {
+            "description": "Upload K8s Profile",
+            "target": "profile-upload",
+            "activities": [
+              {
+                "call_operation": "ComponentScriptExecutor.process"
+              }
+            ]
+          }
+        },
+        "inputs": {
+          "template-prefix": {
+            "required": true,
+            "type": "list",
+            "entry_schema": {
+              "type": "string"
+            }
+          },
+          "resolution-key": {
+            "required": false,
+            "type": "string",
+            "entry_schema": {
+              "type": ""
+            }
+          },
+          "resource-assignment-properties": {
+            "description": "Dynamic PropertyDefinition for workflow(resource-assignment).",
+            "required": true,
+            "type": "dt-resource-assignment-properties"
+          }
+        },
+        "outputs": {
+          "meshed-template": {
+            "type": "json",
+            "value": {
+              "get_attribute": [
+                "resource-assignment",
+                "assignment-params"
+              ]
+            }
+          }
+        }
+      },
+      "config-assign": {
+        "steps": {
+          "config-assign": {
+            "description": "Config Assign Workflow",
+            "target": "config-assign",
+            "activities": [
+              {
+                "call_operation": ""
+              }
+            ]
+          }
+        },
+        "inputs": {
+          "resolution-key": {
+            "required": true,
+            "type": "string"
+          },
+          "store-result": {
+            "required": true,
+            "type": "boolean"
+          },
+          "config-assign-properties": {
+            "description": "Dynamic PropertyDefinition for workflow(config-assign).",
+            "required": true,
+            "type": "dt-config-assign-properties"
+          }
+        },
+        "outputs": {
+          "dry-run": {
+            "type": "json",
+            "value": {
+              "get_attribute": [
+                "config-assign",
+                "assignment-params"
+              ]
+            }
+          }
+        }
+      },
+      "config-assign-day-2": {
+        "steps": {
+          "config-assign": {
+            "description": "Config Assign Workflow",
+            "target": "config-assign-day-2",
+            "activities": [
+              {
+                "call_operation": ""
+              }
+            ]
+          }
+        },
+        "inputs": {
+          "resolution-key": {
+            "required": true,
+            "type": "string"
+          },
+          "store-result": {
+            "required": true,
+            "type": "boolean"
+          },
+          "config-assign-day-2-properties": {
+            "description": "Dynamic PropertyDefinition for workflow(config-assign).",
+            "required": true,
+            "type": "dt-config-assign-day-2-properties"
+          }
+        },
+        "outputs": {
+          "dry-run": {
+            "type": "json",
+            "value": {
+              "get_attribute": [
+                "config-assign-day-2",
+                "assignment-params"
+              ]
+            }
+          }
+        }
+      },
+      "config-deploy": {
+        "steps": {
+          "imperative-workflow-step-1": {
+            "description": "Config Deploy workflow",
+            "target": "execute-post",
+            "activities": [
+              {
+                "call_operation": "ComponentScriptExecutor.process"
+              }
+            ]
+          }
+        },
+        "inputs": {
+          "resolution-key": {
+            "required": false,
+            "type": "string"
+          },
+          "service-instance-id": {
+            "required": false,
+            "type": "string"
+          },
+          "config-deploy-properties": {
+            "description": "Dynamic PropertyDefinition for workflow(config-deploy).",
+            "required": true,
+            "type": "dt-config-deploy-properties"
+          }
+        }
+      },
+      "config-deploy-day-2": {
+        "steps": {
+          "imperative-workflow-step-1": {
+            "description": "Config Deploy workflow",
+            "target": "execute-put",
+            "activities": [
+              {
+                "call_operation": "ComponentScriptExecutor.process"
+              }
+            ]
+          }
+        },
+        "inputs": {
+          "resolution-key": {
+            "required": false,
+            "type": "string"
+          },
+          "service-instance-id": {
+            "required": false,
+            "type": "string"
+          },
+          "config-deploy-day-2-properties": {
+            "description": "Dynamic PropertyDefinition for workflow(config-deploy).",
+            "required": true,
+            "type": "dt-config-deploy-day-2-properties"
+          }
+        }
+      }
+    },
+    "node_templates": {
+      "resource-assignment": {
+        "type": "component-resource-resolution",
+        "interfaces": {
+          "ResourceResolutionComponent": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "artifact-prefix-names": {
+                    "get_input": "template-prefix"
+                  }
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "base_template-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/base_template-template.vtl"
+          },
+          "base_template-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/base_template-mapping.json"
+          },
+          "amf-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/amf-template.vtl"
+          },
+          "amf-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/amf-mapping.json"
+          },
+          "smf-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/smf-template.vtl"
+          },
+          "smf-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/smf-mapping.json"
+          },
+          "upf-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/upf-template.vtl"
+          },
+          "upf-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/upf-mapping.json"
+          },
+          "vnf-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/vnf-template.vtl"
+          },
+          "vnf-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/vnf-mapping.json"
+          }
+        }
+      },
+      "profile-upload": {
+        "type": "component-script-executor",
+        "interfaces": {
+          "ComponentScriptExecutor": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "script-type": "kotlin",
+                  "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.K8sProfileUpload",
+                  "dynamic-properties": "*profile-upload-properties"
+                }
+              }
+            }
+          }
+        }
+      },
+      "config-assign": {
+        "type": "component-resource-resolution",
+        "interfaces": {
+          "ResourceResolutionComponent": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "resolution-key": {
+                    "get_input": "resolution-key"
+                  },
+                  "store-result": true,
+                  "artifact-prefix-names": [
+                    "baseconfig"
+                  ]
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "baseconfig-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/baseconfig-template.vtl"
+          },
+          "baseconfig-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/baseconfig-mapping.json"
+          }
+        }
+      },
+      "config-assign-day-2": {
+        "type": "component-resource-resolution",
+        "interfaces": {
+          "ResourceResolutionComponent": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "resolution-key": {
+                    "get_input": "resolution-key"
+                  },
+                  "store-result": true,
+                  "artifact-prefix-names": [
+                    "baseconfigput"
+                  ]
+                }
+              }
+            }
+          }
+        },
+        "artifacts": {
+          "baseconfigput-template": {
+            "type": "artifact-template-velocity",
+            "file": "Templates/baseconfigput-template.vtl"
+          },
+          "baseconfigput-mapping": {
+            "type": "artifact-mapping-resource",
+            "file": "Templates/baseconfigput-mapping.json"
+          }
+        }
+      },
+      "execute-post": {
+        "type": "component-script-executor",
+        "interfaces": {
+          "ComponentScriptExecutor": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "script-type": "kotlin",
+                  "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.DayOneConfig",
+                  "dynamic-properties": "*config-deploy-properties"
+                }
+              }
+            }
+          }
+        }
+      },
+      "execute-put": {
+        "type": "component-script-executor",
+        "interfaces": {
+          "ComponentScriptExecutor": {
+            "operations": {
+              "process": {
+                "inputs": {
+                  "script-type": "kotlin",
+                  "script-class-reference": "org.onap.ccsdk.cds.blueprintsprocessor.services.execution.scripts.KotlinK8sUpdateConfig",
+                  "dynamic-properties": "*config-deploy-day-2-properties"
+                }
+              }
+            }
+          }
+        }
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/artifact_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/artifact_types.json
new file mode 100644
index 0000000..6d2115b
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/artifact_types.json
@@ -0,0 +1,29 @@
+{
+  "artifact_types": {
+    "artifact-directed-graph": {
+      "description": "Directed Graph File",
+      "version": "1.0.0",
+      "derived_from": "tosca.artifacts.Implementation",
+      "file_ext": [
+        "json",
+        "xml"
+      ]
+    },
+    "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"
+      ]
+    }
+  }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/data_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/data_types.json
new file mode 100644
index 0000000..76a52ba
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/data_types.json
@@ -0,0 +1,348 @@
+{
+  "data_types": {
+    "dt-config-assign-day-2-properties": {
+      "description": "Dynamic DataType definition for workflow(config-assign-day-2).",
+      "version": "1.0.0",
+      "properties": {
+        "vnf-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "supportedNssai": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used to pass the supported NSSAI during the day2 for each 5G Core resources",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "service-instance-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    },
+    "dt-config-assign-properties": {
+      "description": "Dynamic DataType definition for workflow(config-assign).",
+      "version": "1.0.0",
+      "properties": {
+        "vnf-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "supportedNssai": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used to pass the supported NSSAI during the day2 for each 5G Core resources",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "service-instance-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    },
+    "dt-config-deploy-properties": {
+      "description": "Dynamic DataType definition for workflow(config-deploy).",
+      "version": "1.0.0",
+      "properties": {
+        "vnf-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "service-instance-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    },
+    "dt-config-deploy-day-2-properties": {
+      "description": "Dynamic DataType definition for workflow(config-deploy-day-2).",
+      "version": "1.0.0",
+      "properties": {
+        "vnf-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "service-instance-id": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "entry_schema": {
+            "type": ""
+          }
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    },
+    "dt-resource-assignment-properties": {
+      "description": "Dynamic DataType definition for workflow(resource-assignment).",
+      "version": "1.0.0",
+      "properties": {
+        "vpg-management-port": {
+          "description": "SSH external port of ssh. When 0 ssh service will not be exposed",
+          "type": "string",
+          "default": "0"
+        },
+        "amfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for amf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${amfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "fiveg0_snssai": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used to pass the SNSSAI during day0/1 ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${fiveg0_snssai}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "config.amfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for amf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${config.amfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "config.smfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for smf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${config.smfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "smfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for smf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${smfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "config.upfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for upf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${config.upfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "upfName": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for upf resource name ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${upfName}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "config.supportedNssai.sNssai.snssai": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used to pass the SNSSAI during the day2 for each 5G Core resources",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${config.supportedNssai.sNssai.snssai}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "config.singletest": {
+          "description": "5GC Simulator CNF CDS use case parameter - Parameter used for testing purpose ",
+          "required": false,
+          "type": "string",
+          "status": "",
+          "constraints": [
+            {}
+          ],
+          "default": "${singletest}",
+          "entry_schema": {
+            "type": ""
+          }
+        },
+        "k8s-rb-profile-namespace": {
+          "description": "K8s namespace to create helm chart for specified profile",
+          "type": "string",
+          "default": "default"
+        },
+        "k8s-rb-profile-name": {
+          "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+          "type": "string",
+          "default": "template-profile"
+        },
+        "config.test": {
+          "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+          "type": "string",
+          "default": "template"
+        },
+        "vnf-id": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "service-instance-id": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "vnf_name": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "aic-cloud-region": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "vf-module-model-customization-uuid": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "management-prefix-id": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "vf-module-id": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "vf-module-label": {
+          "description": "",
+          "required": false,
+          "type": "string"
+        },
+        "vf-module-model-invariant-uuid": {
+          "type": "string"
+        },
+        "vf-naming-policy": {
+          "description": "",
+          "required": false,
+          "type": "string",
+          "default": "SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP"
+        },
+        "vf-module-model-version": {
+          "type": "string"
+        }
+      },
+      "derived_from": "tosca.datatypes.Dynamic"
+    }
+  }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/node_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/node_types.json
new file mode 100644
index 0000000..ac23621
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/node_types.json
@@ -0,0 +1,396 @@
+{
+  "node_types": {
+    "component-resource-resolution": {
+      "description": "This is Resource Assignment Component API",
+      "version": "1.0.0",
+      "attributes": {
+        "assignment-params": {
+          "description": "Holds resolved template, resolution-summary or key-value",
+          "required": true,
+          "type": "string"
+        },
+        "assignment-map": {
+          "description": "Holds resolved values for each artifact prefix eg. { vdns: { vnf-id: 123 } }",
+          "required": true,
+          "type": "map"
+        }
+      },
+      "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"
+                },
+                "occurrence": {
+                  "description": "Number of time to perform the resolution.",
+                  "required": false,
+                  "type": "integer",
+                  "default": 1
+                },
+                "store-result": {
+                  "description": "Whether or not to store the output.",
+                  "required": false,
+                  "type": "boolean"
+                },
+                "resource-type": {
+                  "description": "Request type.",
+                  "required": false,
+                  "type": "string"
+                },
+                "resolution-summary": {
+                  "description": "Enable resolution-summary output",
+                  "required": false,
+                  "type": "boolean"
+                },
+                "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"
+                },
+                "resource-assignment-map": {
+                  "required": true,
+                  "type": "string"
+                },
+                "status": {
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Component"
+    },
+    "component-script-executor": {
+      "description": "This is CLI Transaction Configuration Component API",
+      "version": "1.0.0",
+      "attributes": {
+        "response-data": {
+          "required": false,
+          "type": "json"
+        }
+      },
+      "capabilities": {
+        "component-node": {
+          "type": "tosca.capabilities.Node"
+        }
+      },
+      "interfaces": {
+        "ComponentScriptExecutor": {
+          "operations": {
+            "process": {
+              "inputs": {
+                "script-type": {
+                  "description": "Script type, kotlin type is supported",
+                  "required": true,
+                  "type": "string",
+                  "constraints": [
+                    {
+                      "valid_values": [
+                        "kotlin",
+                        "jython",
+                        "internal"
+                      ]
+                    }
+                  ],
+                  "default": "internal"
+                },
+                "script-class-reference": {
+                  "description": "Kotlin Script class name or jython script name.",
+                  "required": true,
+                  "type": "string"
+                },
+                "dynamic-properties": {
+                  "description": "Dynamic Json Content or DSL Json reference.",
+                  "required": false,
+                  "type": "json"
+                }
+              },
+              "outputs": {
+                "response-data": {
+                  "description": "Execution Response Data.",
+                  "required": false,
+                  "type": "string"
+                },
+                "status": {
+                  "description": "Status of the Component Execution ( success or failure )",
+                  "required": true,
+                  "type": "string"
+                }
+              }
+            }
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Component"
+    },
+    "dg-generic": {
+      "description": "This is Generic Directed Graph Type",
+      "version": "1.0.0",
+      "properties": {
+        "content": {
+          "required": true,
+          "type": "string"
+        },
+        "dependency-node-templates": {
+          "description": "Dependent Step Components NodeTemplate name.",
+          "required": true,
+          "type": "list",
+          "entry_schema": {
+            "type": "string"
+          }
+        }
+      },
+      "derived_from": "tosca.nodes.Workflow"
+    },
+    "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-db": {
+      "description": "This is Database Resource Source Node Type",
+      "version": "1.0.0",
+      "properties": {
+        "type": {
+          "required": true,
+          "type": "string",
+          "constraints": [
+            {
+              "valid_values": [
+                "SQL",
+                "PLSQL"
+              ]
+            }
+          ],
+          "default": "SQL"
+        },
+        "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-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-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"
+        },
+        "headers": {
+          "required": false,
+          "type": "map",
+          "entry_schema": {
+            "type": "string"
+          }
+        },
+        "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"
+    },
+    "tosca.nodes.Workflow": {
+      "description": "This is Directed Graph Node Type",
+      "version": "1.0.0",
+      "derived_from": "tosca.nodes.Root"
+    }
+  }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/policy_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/policy_types.json
new file mode 100644
index 0000000..ff6420e
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/policy_types.json
@@ -0,0 +1,3 @@
+{
+  "policy_types": {}
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/relationship_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/relationship_types.json
new file mode 100644
index 0000000..5000ce5
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/relationship_types.json
@@ -0,0 +1,3 @@
+{
+  "relationship_types": {}
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/resources_definition_types.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/resources_definition_types.json
new file mode 100644
index 0000000..34dea31
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Definitions/resources_definition_types.json
@@ -0,0 +1,968 @@
+{
+  "aic-cloud-region": {
+    "tags": "aic-cloud-region",
+    "name": "aic-cloud-region",
+    "property": {
+      "description": "aic-cloud-region",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Singal, Kapil <ks220y@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input",
+        "properties": {}
+      }
+    }
+  },
+  "amfName": {
+    "tags": "amfName",
+    "name": "amfName",
+    "property": {
+      "description": "amfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/amfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "amfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "config.amfName": {
+    "tags": "config.amfName",
+    "name": "config.amfName",
+    "property": {
+      "description": "amfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/config.amfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "config.amfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "config.smfName": {
+    "tags": "config.smfName",
+    "name": "config.smfName",
+    "property": {
+      "description": "smfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/config.smfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "config.smfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "config.supportedNssai.sNssai.snssai": {
+    "tags": "config.supportedNssai.sNssai.snssai",
+    "name": "config.supportedNssai.sNssai.snssai",
+    "property": {
+      "description": " supportedNssai.sNssai.snssai params",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/fiveg0_snssai",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "config.supportedNssai.sNssai.snssai": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "config.test": {
+    "tags": "config.test",
+    "name": "config.test",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/config.test",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "config.test": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "config.upfName": {
+    "tags": "config.upfName",
+    "name": "config.upfName",
+    "property": {
+      "description": "upfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/config.upfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "config.upfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "fiveg0_snssai": {
+    "tags": "fiveg0_snssai",
+    "name": "fiveg0_snssai",
+    "property": {
+      "description": "supportedNssai params",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Thamlur Raju <TR00568434@TechMahindra.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/fiveg0_snssai",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "fiveg0_snssai": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "k8s-rb-profile-name": {
+    "tags": "k8s, cnf, profile, k8s-rb-profile-name",
+    "name": "k8s-rb-profile-name",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/k8s-rb-profile-name",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "k8s-rb-profile-name": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "k8s-rb-profile-namespace": {
+    "tags": "k8s, cnf, profile, namespace, k8s-rb-profile-namespace",
+    "name": "k8s-rb-profile-namespace",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/k8s-rb-profile-namespace",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "k8s-rb-profile-namespace": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "management-prefix-id": {
+    "tags": "management-prefix-id",
+    "name": "management-prefix-id",
+    "property": {
+      "description": "management-prefix-id",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/management-prefix-id",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "management-prefix-id": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      },
+      "processor-db": {
+        "type": "source-db",
+        "properties": {
+          "type": "SQL",
+          "query": "select sdnctl.IPAM_IP_POOL.prefix_id as prefix_id from sdnctl.IPAM_IP_POOL where description = \"management\"",
+          "input-key-mapping": {},
+          "output-key-mapping": {
+            "management-prefix-id": "prefix_id"
+          }
+        }
+      }
+    }
+  },
+  "service-instance-id": {
+    "tags": "service-instance-id, tosca.datatypes.Root, data_type",
+    "name": "service-instance-id",
+    "property": {
+      "description": "To be provided",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Singal, Kapil <ks220y@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input",
+        "properties": {}
+      },
+      "any-db": {
+        "type": "source-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-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": []
+        }
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id",
+          "path": "/service/0/service-instance-id",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance.service-instance-id"
+          },
+          "output-key-mapping": {
+            "service-instance-id": "service-instance-id"
+          },
+          "key-dependencies": [
+            "service-instance.service-instance-id"
+          ]
+        }
+      }
+    }
+  },
+  "singletest": {
+    "tags": "singletest",
+    "name": "singletest",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/singletest",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "singletest": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "smfName": {
+    "tags": "smfName",
+    "name": "smfName",
+    "property": {
+      "description": "smfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/smfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "smfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "snssai": {
+    "tags": "snssai",
+    "name": "snssai",
+    "property": {
+      "description": "snssai put params",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Thamlur Raju <TR00568434@TechMahindra.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/fiveg0_snssai",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "snssai": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "supportedNssai": {
+    "tags": "supportedNssai",
+    "name": "supportedNssai",
+    "property": {
+      "description": "supportedNssai params",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Thamlur Raju <TR00568434@TechMahindra.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/supportedNssai",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "supportedNssai": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "upfName": {
+    "tags": "upfName",
+    "name": "upfName",
+    "property": {
+      "description": "upfName",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Malinconico, Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/upfName",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "upfName": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "vf-module-id": {
+    "tags": "vf-module-id",
+    "name": "vf-module-id",
+    "property": {
+      "description": "vf-module-id",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Singal, Kapil <ks220y@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vf-modules/vf-module/$vf-module-id",
+          "path": "/vf-module/0/vf-module-id",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id",
+            "vf-module-id": "vf-module.vf-module-id"
+          },
+          "output-key-mapping": {
+            "vf-module-id": "vf-module-id"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id",
+            "vf-module.vf-module-id"
+          ]
+        }
+      }
+    }
+  },
+  "vf-module-label": {
+    "tags": "vf-module-label",
+    "name": "vf-module-label",
+    "property": {
+      "description": "vf-module-label",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "processor-db": {
+        "type": "source-db",
+        "properties": {
+          "type": "SQL",
+          "query": "select sdnctl.VF_MODULE_MODEL.vf_module_label as vf_module_label from sdnctl.VF_MODULE_MODEL where sdnctl.VF_MODULE_MODEL.customization_uuid=:customizationid",
+          "input-key-mapping": {
+            "customizationid": "vf-module-model-customization-uuid"
+          },
+          "output-key-mapping": {
+            "vf-module-label": "vf_module_label"
+          },
+          "key-dependencies": [
+            "vf-module-model-customization-uuid"
+          ]
+        }
+      }
+    }
+  },
+  "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"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      }
+    }
+  },
+  "vf-module-model-invariant-uuid": {
+    "tags": "vnf, vf-module",
+    "name": "vf-module-model-invariant-uuid",
+    "property": {
+      "description": "vf module model invariant uuid",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "processor-db": {
+        "type": "source-db",
+        "properties": {
+          "type": "SQL",
+          "query": "select sdnctl.VF_MODULE_MODEL.invariant_uuid as vf_module_model_invariant_uuid 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-model-invariant-uuid": "vf_module_model_invariant_uuid"
+          },
+          "key-dependencies": [
+            "vf-module-model-customization-uuid"
+          ]
+        }
+      }
+    }
+  },
+  "vf-module-model-version": {
+    "tags": "vnf, vf-module",
+    "name": "vf-module-model-version",
+    "property": {
+      "description": "vf module model model version",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "Samuli, Silvius <s.silvius@partner.samsung.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "processor-db": {
+        "type": "source-db",
+        "properties": {
+          "type": "SQL",
+          "query": "select sdnctl.VF_MODULE_MODEL.uuid as vf_module_model_version 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-model-version": "vf_module_model_version"
+          },
+          "key-dependencies": [
+            "vf-module-model-customization-uuid"
+          ]
+        }
+      }
+    }
+  },
+  "vf-naming-policy": {
+    "tags": "vf-naming-policy",
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "vf-naming-policy",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vf-naming-policy",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "vf-naming-policy": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      },
+      "processor-db": {
+        "type": "source-db",
+        "properties": {
+          "type": "SQL",
+          "query": "select sdnctl.VF_MODEL.naming_policy as vf_naming_policy from sdnctl.VF_MODEL where sdnctl.VF_MODEL.customization_uuid=:vnf_model_customization_uuid",
+          "input-key-mapping": {
+            "vnf_model_customization_uuid": "vnf-model-customization-uuid"
+          },
+          "output-key-mapping": {
+            "vf-naming-policy": "vf_naming_policy"
+          },
+          "key-dependencies": [
+            "vnf-model-customization-uuid"
+          ]
+        }
+      }
+    }
+  },
+  "vnf-id": {
+    "tags": "vnf-id",
+    "name": "vnf-id",
+    "property": {
+      "description": "vnf-id",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf-id",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "vnf-id": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  },
+  "vnf_name": {
+    "tags": "vnf_name",
+    "name": "vnf_name",
+    "property": {
+      "description": "vnf_name",
+      "type": "string"
+    },
+    "group": "default",
+    "updated-by": "MALAKOV, YURIY <yuriy.malakov@att.com>",
+    "sources": {
+      "input": {
+        "type": "source-input"
+      },
+      "default": {
+        "type": "source-default",
+        "properties": {}
+      },
+      "sdnc": {
+        "type": "source-rest",
+        "properties": {
+          "verb": "GET",
+          "type": "JSON",
+          "url-path": "/restconf/config/GENERIC-RESOURCE-API:services/service/$service-instance-id/service-data/vnfs/vnf/$vnf-id/vnf-data/vnf-topology/vnf-parameters-data/param/vnf_name",
+          "path": "/param/0/value",
+          "input-key-mapping": {
+            "service-instance-id": "service-instance-id",
+            "vnf-id": "vnf-id"
+          },
+          "output-key-mapping": {
+            "vnf_name": "value"
+          },
+          "key-dependencies": [
+            "service-instance-id",
+            "vnf-id"
+          ]
+        }
+      }
+    }
+  }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinDayOneConfig.kt b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinDayOneConfig.kt
new file mode 100644
index 0000000..8b08494
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinDayOneConfig.kt
@@ -0,0 +1,584 @@
+/*
+* Copyright © 2019 TechMahindra
+* Author: Malinconico Aniello Paolo, Vamshi Namilikonda, Thamlur Raju
+* 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 com.fasterxml.jackson.annotation.JsonIgnore
+import com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.databind.node.ObjectNode
+import java.io.File
+import java.nio.file.Path
+import java.nio.file.Paths
+import org.apache.commons.io.FilenameUtils
+import org.apache.commons.io.IOUtils
+import org.apache.http.client.ClientProtocolException
+import org.apache.http.client.entity.EntityBuilder
+import org.apache.http.client.methods.HttpPost
+import org.apache.http.client.methods.HttpUriRequest
+import org.apache.http.entity.ContentType
+import org.apache.http.message.BasicHeader
+import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.RestClientProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BasicAuthRestClientService
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BlueprintWebClientService
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.RestLoggerService
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.ArchiveType
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintArchiveUtils
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.storedContentFromResolvedArtifactNB
+import org.slf4j.LoggerFactory
+import org.springframework.http.HttpHeaders
+import org.springframework.http.HttpMethod
+import org.springframework.http.MediaType
+import org.springframework.web.client.RestTemplate
+import org.yaml.snakeyaml.Yaml
+import java.util.ArrayList
+import java.io.IOException
+import java.util.Base64
+import java.nio.charset.Charset
+import java.nio.file.Files
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+
+open class DayOneConfig : AbstractScriptComponentFunction() {
+
+    private val log = LoggerFactory.getLogger(DayOneConfig::class.java)!!
+
+    override fun getName(): String {
+        return "DayOneConfig"
+    }
+
+    override suspend fun processNB(executionRequest: ExecutionServiceInput) {
+        log.info("DAY-1 Script excution Started")
+
+        val prefix = "baseconfig"
+
+        val baseK8sApiUrl = getDynamicProperties("api-access").get("url").asText()
+        val k8sApiUsername = getDynamicProperties("api-access").get("username").asText()
+        val k8sApiPassword = getDynamicProperties("api-access").get("password").asText()
+
+        log.info("Multi-cloud params $baseK8sApiUrl")
+
+        val aaiApiUrl = getDynamicProperties("aai-access").get("url").asText()
+        val aaiApiUsername = getDynamicProperties("aai-access").get("username").asText()
+        val aaiApiPassword = getDynamicProperties("aai-access").get("password").asText()
+
+        log.info("AAI params $aaiApiUrl")
+
+        val resolution_key = getDynamicProperties("resolution-key").asText()
+
+        val payload = storedContentFromResolvedArtifactNB(resolution_key, prefix)
+
+        val payloadObject = JacksonUtils.jsonNode(payload) as ObjectNode
+
+        val serviceInstanceID: String = getResolvedParameter(payloadObject, "service-instance-id")
+        val vnfID: String = getResolvedParameter(payloadObject, "vnf-id")
+
+        log.info("Get serviceInstanceID $serviceInstanceID")
+        log.info("Get vnfID $vnfID")
+
+        val vnfUrl = aaiApiUrl + "/aai/v19/network/generic-vnfs/generic-vnf/" + vnfID + "/vf-modules";
+
+        val mapOfHeaders = hashMapOf<String, String>()
+        mapOfHeaders.put("Accept", "application/json")
+        mapOfHeaders.put("Content-Type", "application/json")
+        mapOfHeaders.put("x-FromAppId", "SO")
+        mapOfHeaders.put("X-TransactionId", "get_aai_subscr")
+        val basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+        basicAuthRestClientProperties.username = aaiApiUsername
+        basicAuthRestClientProperties.password = aaiApiPassword
+        basicAuthRestClientProperties.url = vnfUrl
+        basicAuthRestClientProperties.additionalHeaders =mapOfHeaders
+        val basicAuthRestClientService: BasicAuthRestClientService= BasicAuthRestClientService(basicAuthRestClientProperties)
+        try {
+            val resultOfGet: BlueprintWebClientService.WebClientResponse<String> = basicAuthRestClientService.exchangeResource(HttpMethod.GET.name, "", "")
+
+            val aaiBody = resultOfGet.body
+            val aaiPayloadObject = JacksonUtils.jsonNode(aaiBody) as ObjectNode
+
+            for (item in aaiPayloadObject.get("vf-module")) {
+
+                log.info("item payload Deatils : $item")
+
+                val isItBaseVfModule = item.get("is-base-vf-module").asText()
+
+                if(isItBaseVfModule.toBoolean())
+                    continue
+
+                val vfModuleID: String = item.get("vf-module-id").asText()
+
+                log.info("AAI Vf-module ID is : $vfModuleID")
+
+                val vfModuleInvariantID: String = item.get("model-invariant-id").asText()
+
+                log.info("AAI Vf-module Invariant ID is : $vfModuleInvariantID")
+
+                val vfModuleUUID: String = item.get("model-version-id").asText()
+
+                log.info("AAI Vf-module UUID is : $vfModuleUUID")
+
+                val vfModuleInstance: String = item.get("heat-stack-id").asText()
+
+                log.info("AAI Vf-module Heat Stack ID : $vfModuleInstance")
+
+                var delimiter = "/"
+
+                val Instance = vfModuleInstance.split(delimiter)
+                val instanceName = Instance[0]
+                val instanceID = Instance[1]
+                log.info("instance name is : $instanceName")
+                log.info("K8S instance ID is : $instanceID")
+
+                val instanceNameNameArray: List<String> = instanceName.split("..")
+                val typOfVfmodule = instanceNameNameArray[1]
+                log.info("Type of vf-module: $typOfVfmodule")
+
+                val k8sRbProfileName: String = "profile_" + vfModuleID
+
+                val k8sConfigTemplateName: String = "template_" + vfModuleID
+
+                val api = K8sConfigTemplateApi(k8sApiUsername, k8sApiPassword, baseK8sApiUrl, vfModuleInvariantID, vfModuleUUID, k8sConfigTemplateName)
+
+                // Check if definition exists
+                if (!api.hasDefinition()) {
+                    throw BluePrintProcessorException("K8s Config Template ($vfModuleInvariantID/$vfModuleUUID) -  $k8sConfigTemplateName not found ")
+                }
+
+                log.info("Config Template name: $k8sConfigTemplateName")
+
+                if (k8sRbProfileName.equals("")) {
+                    throw BluePrintProcessorException("K8s rb profile name is empty! Either define profile name to use or choose default")
+                }
+
+                var configTemplate = K8sConfigTemplate()
+                configTemplate.templateName = k8sConfigTemplateName
+                configTemplate.description = " "
+                configTemplate.ChartName = typOfVfmodule
+                log.info("Chart name: ${configTemplate.ChartName}")
+
+                val instanceAPI = K8sInstanceApi(k8sApiUsername, k8sApiPassword, baseK8sApiUrl, vfModuleInvariantID, vfModuleUUID)
+                val configMapName: String = instanceAPI.getInsnceDetails(instanceID, typOfVfmodule)
+
+                log.info("configmap retrieved " +typOfVfmodule+ "vfmodule ->"+ configMapName)
+                modifyTemplate(configMapName, typOfVfmodule)
+
+                val configTemplateFile: Path = prepareConfigTemplateJson(k8sConfigTemplateName, typOfVfmodule)
+
+                if (!api.hasConfigTemplate(configTemplate)) {
+                    log.info("K8s Config Template Upload Started")
+                    api.createConfigTemplate(configTemplate)
+                    api.uploadConfigTemplateContent(configTemplate, configTemplateFile)
+                    log.info("K8s Config Template Upload Completed")
+                }
+            }
+            log.info("DAY-1 Script excution completed")
+        }
+        catch (e: Exception) {
+            log.info("Caught exception trying to get the vnf Details!!")
+           // throw BluePrintProcessorException("${e.message}")
+        }
+    }
+
+    fun prepareConfigTemplateJson(configTemplateName: String, typOfVfmodule: String): Path {
+        val bluePrintContext = bluePrintRuntimeService.bluePrintContext()
+        val bluePrintBasePath: String = bluePrintContext.rootPath
+
+        var profileFilePath: Path = Paths.get(bluePrintBasePath.plus(File.separator).plus("Templates").plus(File.separator).plus("k8s-profiles").plus(File.separator).plus(typOfVfmodule +"-config-template.tar.gz"))
+        log.info("Reading K8s Config Template file: $profileFilePath")
+
+        val profileFile = profileFilePath.toFile()
+
+        if (!profileFile.exists())
+            throw BluePrintProcessorException("K8s Profile template file $profileFilePath does not exists")
+
+        return profileFilePath
+    }
+
+    fun getResolvedParameter(payload: ObjectNode, keyName: String): String {
+        for (node in payload.get("resource-accumulator-resolved-data").elements()) {
+            if (node.get("param-name").asText().equals(keyName)) {
+                return node.get("param-value").asText()
+            }
+        }
+        return ""
+    }
+    override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
+        log.info("Executing Recovery")
+        bluePrintRuntimeService.getBluePrintError().addError("${runtimeException.message}")
+    }
+
+    fun modifyTemplate(configmapName: String, typOfVfmodule: String): String {
+
+        log.info("Executing modifyTemplate ->")
+
+        val bluePrintContext = bluePrintRuntimeService.bluePrintContext()
+        val bluePrintBasePath: String = bluePrintContext.rootPath
+
+        val destPath: String = "/tmp/config-template-"+typOfVfmodule
+
+        var templateFilePath: Path = Paths.get(bluePrintBasePath.plus(File.separator).plus("Templates").plus(File.separator).plus("k8s-profiles").plus(File.separator).plus(typOfVfmodule +"-config-template.tar.gz"))
+
+        log.info("Reading config template file: ${templateFilePath}")
+        val templateFile = templateFilePath.toFile()
+
+        if (!templateFile.exists())
+            throw BluePrintProcessorException("K8s Profile template file ${templateFilePath} does not exists")
+
+        log.info("Decompressing config template to ${destPath}")
+
+        val decompressedProfile: File = BluePrintArchiveUtils.deCompress(templateFilePath.toFile(),
+                "${destPath}", ArchiveType.TarGz)
+
+        log.info("${templateFilePath.toString()} decompression completed")
+
+        //Here we update override.yaml file
+
+        val manifestFileName = destPath.plus(File.separator).plus(typOfVfmodule).plus(File.separator).plus("templates").plus(File.separator).plus("configmap.yaml")
+        log.info("Modification of configmap.yaml file at ${manifestFileName.toString()}")
+        var finalManifest = ""
+        File(manifestFileName).bufferedReader().use { inr ->
+            val manifestYaml = Yaml()
+            val manifestObject: Map<String, Any> = manifestYaml.load(inr)
+
+            for((k,v) in manifestObject) {
+                log.info("manifestObject: ${k}, ${v}" )
+            }
+
+            log.info("Uploaded YAML object")
+
+            val metadata: MutableMap<String, Any> = manifestObject.get("metadata") as MutableMap<String, Any>
+            log.info("Uploaded config YAML object")
+
+            for((k,v) in metadata) {
+                metadata.put(k, configmapName)
+            }
+
+            finalManifest = manifestYaml.dump(manifestObject)
+        }
+
+        File(manifestFileName).bufferedWriter().use { out -> out.write(finalManifest) }
+
+        log.info(finalManifest)
+
+        log.info("Reading config template file: ${templateFilePath}")
+
+        if (!templateFile.exists())
+            throw BluePrintProcessorException("config template file ${templateFilePath} does not exists")
+
+        val tempMainPath: File = createTempDir("config-template-", "")
+        val tempConfigTemplatePath: File = createTempDir("conftemplate-", "", tempMainPath)
+        log.info("Decompressing profile to ${tempConfigTemplatePath.toString()}")
+
+        val decompressedProfile2: File = BluePrintArchiveUtils.deCompress(templateFilePath.toFile(),
+                "${tempConfigTemplatePath.toString()}", ArchiveType.TarGz)
+
+        log.info("${templateFilePath.toString()} decompression completed")
+
+        //Here we update configmap.yaml file
+
+        log.info("Modification of configmap.yaml file ")
+        val manifestFileName2 = destPath.toString().plus(File.separator).plus(typOfVfmodule).plus(File.separator).plus("templates").plus(File.separator).plus("configmap.yaml")
+        val destOverrideFile = tempConfigTemplatePath.toString().plus(File.separator).plus(typOfVfmodule).plus(File.separator).plus("templates").plus(File.separator).plus("configmap.yaml")
+        log.info("destination override file ${destOverrideFile}")
+
+        File(manifestFileName2).copyTo(File(destOverrideFile), true)
+
+        if (!BluePrintArchiveUtils.compress(decompressedProfile2, templateFilePath.toFile(),
+                        ArchiveType.TarGz)) {
+            throw BluePrintProcessorException("Profile compression has failed")
+        }
+
+        log.info("${templateFilePath.toString()} compression completed")
+
+        return ""
+    }
+
+    inner class K8sInstanceApi(
+            val username: String,
+            val password: String,
+            val baseUrl: String,
+            val definition: String,
+            val definitionVersion: String
+    ) {
+        private val service: UploadConfigTemplateRestClientService // BasicAuthRestClientService
+
+        init {
+            var mapOfHeaders = hashMapOf<String, String>()
+            mapOfHeaders.put("Accept", "application/json")
+            mapOfHeaders.put("Content-Type", "application/json")
+            mapOfHeaders.put("cache-control", " no-cache")
+            mapOfHeaders.put("Accept", "application/json")
+            var basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+            basicAuthRestClientProperties.username = username
+            basicAuthRestClientProperties.password = password
+            basicAuthRestClientProperties.url = "$baseUrl/v1/instance"
+            basicAuthRestClientProperties.additionalHeaders = mapOfHeaders
+
+            this.service = UploadConfigTemplateRestClientService(basicAuthRestClientProperties)
+        }
+
+        fun getInsnceDetails(instanceId: String, vfModuleType: String): String {
+            log.info("Executing K8sInstanceApi.getInsnceDetails")
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(HttpMethod.GET.name, "/${instanceId}", "")
+                print(result)
+                if (result.status >= 200 && result.status < 300) {
+                    log.info("K8s instance details retrieved, processing it for configmap details")
+                    log.info("response body -> "+result.body.toString())
+                    val cmName: String = processInstanceResponse(result.body, vfModuleType)
+                    return cmName
+                } else
+                    return ""
+            } catch (e: Exception) {
+                log.info("Caught exception trying to get k8s instance details")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun processInstanceResponse(response: String, vfModuleType: String): String {
+
+            log.info("K8s instance details retrieved, processing it for configmap details")
+
+            val gson = Gson()
+
+            val startInd = response.indexOf('[')
+            val endInd = response.indexOf(']')
+
+            val subStr = response.substring(startInd, endInd+1)
+
+            val resourceType = object : TypeToken<Array<K8sResources>>() {}.type
+
+            var resources: Array<K8sResources> = gson.fromJson(subStr, resourceType)
+
+            for (resource in resources){
+
+                if(resource.GVK?.Kind == "ConfigMap" && resource.Name?.contains(vfModuleType)){
+
+                    return resource.Name
+
+                }
+
+            }
+            return ""
+
+        }
+
+    }
+
+    inner class K8sConfigTemplateApi(
+            val username: String,
+            val password: String,
+            val baseUrl: String,
+            val definition: String,
+            val definitionVersion: String,
+            val configTemplateName: String
+    ) {
+        private val service: UploadConfigTemplateRestClientService // BasicAuthRestClientService
+
+        init {
+            var mapOfHeaders = hashMapOf<String, String>()
+            mapOfHeaders.put("Accept", "application/json")
+            mapOfHeaders.put("Content-Type", "application/json")
+            mapOfHeaders.put("cache-control", " no-cache")
+            mapOfHeaders.put("Accept", "application/json")
+            var basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+            basicAuthRestClientProperties.username = username
+            basicAuthRestClientProperties.password = password
+            basicAuthRestClientProperties.url = "$baseUrl/v1/rb/definition/$definition/$definitionVersion"
+            basicAuthRestClientProperties.additionalHeaders = mapOfHeaders
+
+            this.service = UploadConfigTemplateRestClientService(basicAuthRestClientProperties)
+        }
+
+        fun hasDefinition(): Boolean {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(HttpMethod.GET.name, "", "")
+                print(result)
+                if (result.status >= 200 && result.status < 300)
+                    return true
+                else
+                    return false
+            } catch (e: Exception) {
+                log.info("Caught exception trying to get k8s config trmplate  definition")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun hasConfigTemplate(profile: K8sConfigTemplate): Boolean {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(HttpMethod.GET.name, "/config-template/${profile.templateName}", "")
+                print(result)
+                if (result.status >= 200 && result.status < 300) {
+                    log.info("ConfigTemplate already exists")
+                    return true
+                } else
+                    return false
+            } catch (e: Exception) {
+                log.info("Caught exception trying to get k8s config trmplate  definition")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun createConfigTemplate(profile: K8sConfigTemplate) {
+            val objectMapper = ObjectMapper()
+            val profileJsonString: String = objectMapper.writeValueAsString(profile)
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(
+                        HttpMethod.POST.name,
+                        "/config-template",
+                        profileJsonString
+                )
+
+                if (result.status >= 200 && result.status < 300) {
+                    log.info("Config template json info uploaded correctly")
+                } else if (result.status < 200 || result.status >= 300) {
+                    log.info("Config template already exists")
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to create k8s config template ${profile.templateName}  - updated")
+            //    throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun uploadConfigTemplateContent(profile: K8sConfigTemplate, filePath: Path) {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.uploadBinaryFile(
+                        "/config-template/${profile.templateName}/content",
+                        filePath
+                )
+                if (result.status < 200 || result.status >= 300) {
+                    throw Exception(result.body)
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to upload k8s config template ${profile.templateName}")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+    }
+}
+
+class UploadConfigTemplateRestClientService(
+        private val restClientProperties:
+        BasicAuthRestClientProperties
+) : BlueprintWebClientService {
+
+    override fun defaultHeaders(): Map<String, String> {
+
+        val encodedCredentials = setBasicAuth(
+                restClientProperties.username,
+                restClientProperties.password
+        )
+        return mapOf(
+                HttpHeaders.CONTENT_TYPE to MediaType.APPLICATION_JSON_VALUE,
+                HttpHeaders.ACCEPT to MediaType.APPLICATION_JSON_VALUE,
+                HttpHeaders.AUTHORIZATION to "Basic $encodedCredentials"
+        )
+    }
+
+    override fun host(uri: String): String {
+        return restClientProperties.url + uri
+    }
+
+    override fun convertToBasicHeaders(headers: Map<String, String>):
+            Array<BasicHeader> {
+        val customHeaders: MutableMap<String, String> = headers.toMutableMap()
+        // inject additionalHeaders
+        customHeaders.putAll(verifyAdditionalHeaders(restClientProperties))
+
+        if (!headers.containsKey(HttpHeaders.AUTHORIZATION)) {
+            val encodedCredentials = setBasicAuth(
+                    restClientProperties.username,
+                    restClientProperties.password
+            )
+            customHeaders[HttpHeaders.AUTHORIZATION] =
+                    "Basic $encodedCredentials"
+        }
+        return super.convertToBasicHeaders(customHeaders)
+    }
+
+    private fun setBasicAuth(username: String, password: String): String {
+        val credentialsString = "$username:$password"
+        return Base64.getEncoder().encodeToString(
+                credentialsString.toByteArray(Charset.defaultCharset())
+        )
+    }
+
+    @Throws(IOException::class, ClientProtocolException::class)
+    private fun performHttpCall(httpUriRequest: HttpUriRequest): BlueprintWebClientService.WebClientResponse<String> {
+        val httpResponse = httpClient().execute(httpUriRequest)
+        val statusCode = httpResponse.statusLine.statusCode
+        httpResponse.entity.content.use {
+            val body = IOUtils.toString(it, Charset.defaultCharset())
+            return BlueprintWebClientService.WebClientResponse(statusCode, body)
+        }
+    }
+
+    fun uploadBinaryFile(path: String, filePath: Path): BlueprintWebClientService.WebClientResponse<String> {
+        val convertedHeaders: Array<BasicHeader> = convertToBasicHeaders(defaultHeaders())
+        val httpPost = HttpPost(host(path))
+        val entity = EntityBuilder.create().setBinary(Files.readAllBytes(filePath)).build()
+        httpPost.setEntity(entity)
+        RestLoggerService.httpInvoking(convertedHeaders)
+        httpPost.setHeaders(convertedHeaders)
+        return performHttpCall(httpPost)
+    }
+}
+
+class K8sConfigTemplate {
+    @get:JsonProperty("template-name")
+    var templateName: String? = null
+    @get:JsonProperty("description")
+    var description: String? = null
+    @get:JsonProperty("ChartName")
+    var ChartName: String? = null
+
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (javaClass != other?.javaClass) return false
+        return true
+    }
+
+    override fun hashCode(): Int {
+        return javaClass.hashCode()
+    }
+}
+
+class K8sResources {
+
+    var GVK: GVK? = null
+    lateinit var Name: String
+
+}
+
+class GVK {
+
+    var Group: String? = null
+    var Version: String? = null
+    var Kind: String? = null
+
+}
+
+fun main(args: Array<String>) {
+
+    val kotlin = DayOneConfig()
+
+    kotlin.modifyTemplate("modified", "upf")
+
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sProfileUpload.kt b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sProfileUpload.kt
new file mode 100644
index 0000000..5bee362
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sProfileUpload.kt
@@ -0,0 +1,463 @@
+/*
+ * Copyright © 2019 Orange
+ * Author: Malinconico Aniello Paolo <aniellopaolo.malinconico@guest.telecomitalia.it>
+ * 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 com.fasterxml.jackson.annotation.JsonProperty
+import com.fasterxml.jackson.databind.ObjectMapper
+import com.fasterxml.jackson.databind.node.ObjectNode
+import java.io.File
+import java.io.IOException
+import java.nio.charset.Charset
+import java.nio.file.Files
+import java.nio.file.Path
+import java.nio.file.Paths
+import java.util.ArrayList
+import java.util.Base64
+import java.util.LinkedHashMap
+import org.apache.commons.io.IOUtils
+import org.apache.http.client.ClientProtocolException
+import org.apache.http.client.entity.EntityBuilder
+import org.apache.http.client.methods.HttpPost
+import org.apache.http.client.methods.HttpUriRequest
+import org.apache.http.message.BasicHeader
+import org.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BlueprintWebClientService
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.RestLoggerService
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.ArchiveType
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.BluePrintArchiveUtils
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.slf4j.LoggerFactory
+import org.springframework.http.HttpHeaders
+import org.springframework.http.HttpMethod
+import org.springframework.http.MediaType
+import org.yaml.snakeyaml.Yaml
+
+open class K8sProfileUpload : AbstractScriptComponentFunction() {
+
+    private val log = LoggerFactory.getLogger(K8sProfileUpload::class.java)!!
+
+    override fun getName(): String {
+        return "K8sProfileUpload"
+    }
+
+    override suspend fun processNB(executionRequest: ExecutionServiceInput) {
+        log.info("executing K8s Profile Upload script")
+
+        val baseK8sApiUrl = getDynamicProperties("api-access").get("url").asText()
+        val k8sApiUsername = getDynamicProperties("api-access").get("username").asText()
+        val k8sApiPassword = getDynamicProperties("api-access").get("password").asText()
+        val prefixList: ArrayList<String> = getTemplatePrefixList(executionRequest)
+        for (prefix in prefixList) {
+            if (prefix.toLowerCase().equals("vnf")) {
+                log.info("For vnf-level resource-assignment, profile is not performed. Creating override_values")
+                val assignmentParams = getDynamicProperties("assignment-params")
+                val payloadObject = JacksonUtils.jsonNode(assignmentParams.get(prefix).asText()) as ObjectNode
+                createOverrideVaues(payloadObject)
+                continue
+            }
+            val assignmentParams = getDynamicProperties("assignment-params")
+            val payloadObject = JacksonUtils.jsonNode(assignmentParams.get(prefix).asText()) as ObjectNode
+
+            log.info("Uploading K8S profile for template prefix $prefix")
+
+            val vfModuleModelInvariantUuid: String = getResolvedParameter(payloadObject, "vf-module-model-invariant-uuid")
+            val vfModuleModelUuid: String = getResolvedParameter(payloadObject, "vf-module-model-version")
+            val k8sRbProfileName: String = getResolvedParameter(payloadObject, "k8s-rb-profile-name")
+            val k8sRbProfileNamespace: String = getResolvedParameter(payloadObject, "k8s-rb-profile-namespace")
+            val vnfId: String = getResolvedParameter(payloadObject, "vnf-id")
+            log.info("******vnfID************   $vnfId")
+            log.info("k8sRbProfileName $k8sRbProfileName")
+
+            // Extract supportedNssai
+            val api = K8sApi(k8sApiUsername, k8sApiPassword, baseK8sApiUrl, vfModuleModelInvariantUuid, vfModuleModelUuid)
+
+            if (!api.hasDefinition()) {
+                throw BluePrintProcessorException("K8s RB Definition ($vfModuleModelInvariantUuid/$vfModuleModelUuid) not found ")
+            }
+
+            log.info("k8s-rb-profile-name: $k8sRbProfileName")
+            if (k8sRbProfileName.equals("")) {
+                throw BluePrintProcessorException("K8s rb profile name is empty! Either define profile name to use or choose default")
+            }
+            if (k8sRbProfileName.equals("default") and api.hasProfile(k8sRbProfileName)) {
+                log.info("Using default profile - skipping upload")
+            } else {
+                if (api.hasProfile(k8sRbProfileName)) {
+                    log.info("Profile Already Existing - skipping upload")
+                } else {
+                    val profileFilePath: Path = prepareProfileFile(k8sRbProfileName, vnfId)
+
+                    var profile = K8sProfile()
+                    profile.profileName = k8sRbProfileName
+                    profile.rbName = vfModuleModelInvariantUuid
+                    profile.rbVersion = vfModuleModelUuid
+                    profile.namespace = k8sRbProfileNamespace
+                    api.createProfile(profile)
+                    api.uploadProfileContent(profile, profileFilePath)
+
+                    log.info("K8s Profile Upload Completed")
+                }
+            }
+        }
+    }
+
+    fun prepareProfileFile(k8sRbProfileName: String, vnfId: String): Path {
+        val bluePrintContext = bluePrintRuntimeService.bluePrintContext()
+        val bluePrintBasePath: String = bluePrintContext.rootPath
+        var profileFilePath: Path = Paths.get(bluePrintBasePath.plus(File.separator).plus("Templates").plus(File.separator).plus("k8s-profiles").plus(File.separator).plus("template-profile.tar.gz"))
+        log.info("Reading K8s profile file: $profileFilePath")
+
+        val profileFile = profileFilePath.toFile()
+
+        if (!profileFile.exists())
+            throw BluePrintProcessorException("K8s Profile template file $profileFilePath does not exists")
+
+        val tempMainPath: File = createTempDir("k8s-profile-", "")
+        val tempProfilePath: File = createTempDir("$k8sRbProfileName-", "", tempMainPath)
+        log.info("Decompressing profile to $tempProfilePath")
+
+        val decompressedProfile: File = BluePrintArchiveUtils.deCompress(
+            profileFilePath.toFile(),
+            "$tempProfilePath",
+            ArchiveType.TarGz
+        )
+
+        log.info("$profileFilePath decompression completed")
+        val tempOverrideValuesPath: String = "/tmp/k8s-profile-" + vnfId
+
+        // Here we are copying the tmp override_values file (created at vnf level) into the profile, before uploading it. This function is performed only at vfmodule level
+
+        log.info("Modification of override.yaml file ")
+        val tmpOverrideFile = tempOverrideValuesPath.toString().plus(File.separator).plus("override_values.yaml")
+        val destOverrideFile = tempProfilePath.toString().plus(File.separator).plus("override_values.yaml")
+        log.info("destination override file $destOverrideFile")
+        File(tmpOverrideFile).copyTo(File(destOverrideFile), true)
+        profileFilePath = Paths.get(tempMainPath.toString().plus(File.separator).plus("template-profile.tar.gz"))
+
+        if (!BluePrintArchiveUtils.compress(decompressedProfile, profileFilePath.toFile(), ArchiveType.TarGz)) {
+            throw BluePrintProcessorException("Profile compression has failed")
+        }
+        log.info("$profileFilePath compression completed")
+        return profileFilePath
+    }
+
+    fun getTemplatePrefixList(executionRequest: ExecutionServiceInput): ArrayList<String> {
+        val result = ArrayList<String>()
+        for (prefix in executionRequest.payload.get("resource-assignment-request").get("template-prefix").elements())
+            result.add(prefix.asText())
+        return result
+    }
+
+    fun createOverrideVaues(payloadObject: ObjectNode): String {
+        // Extract supportedNssai
+        val supportedNssaiMap = LinkedHashMap<String, Any>()
+        val snssai: String = getResolvedParameter(payloadObject, "config.supportedNssai.sNssai.snssai")
+        log.info("snssa1 $snssai")
+        supportedNssaiMap.put("snssai", snssai)
+
+        val bluePrintContext = bluePrintRuntimeService.bluePrintContext()
+        val bluePrintBasePath: String = bluePrintContext.rootPath
+        val vnfId: String = getResolvedParameter(payloadObject, "vnf-id")
+        val destPath: String = "/tmp/k8s-profile-" + vnfId
+        log.info("*********vnfID***** $vnfId")
+
+        var profileFilePath: Path = Paths.get(bluePrintBasePath.plus(File.separator).plus("Templates").plus(File.separator).plus("k8s-profiles").plus(File.separator).plus("template-profile.tar.gz"))
+        log.info("Reading K8s profile file: $profileFilePath")
+        val profileFile = profileFilePath.toFile()
+
+        if (!profileFile.exists())
+            throw BluePrintProcessorException("K8s Profile template file $profileFilePath does not exists")
+
+        val success = File(destPath).mkdirs()
+        log.info("Decompressing profile to $destPath")
+
+        val decompressedProfile: File = BluePrintArchiveUtils.deCompress(
+            profileFilePath.toFile(),
+            "$destPath",
+            ArchiveType.TarGz
+        )
+
+        log.info("$profileFilePath decompression completed")
+
+        // Here we update override.yaml file
+        val manifestFileName = destPath.plus(File.separator).plus("override_values.yaml")
+        log.info("Modification of override.yaml file at $manifestFileName")
+        var finalManifest = ""
+        File(manifestFileName).bufferedReader().use { inr ->
+            val manifestYaml = Yaml()
+            val manifestObject: Map<String, Any> = manifestYaml.load(inr)
+
+            for ((k, v) in manifestObject) {
+                log.info("manifestObject: $k, $v")
+            }
+
+            log.info("Uploaded YAML object")
+
+            val configFiles: MutableMap<String, Any> = manifestObject.get("config") as MutableMap<String, Any>
+            log.info("Uploaded config YAML object")
+
+            for ((k, v) in configFiles) {
+                log.info("configFiles: $k, $v")
+            }
+
+            val supportedNssai: MutableMap<String, Any> = configFiles.get("supportedNssai") as MutableMap<String, Any>
+            log.info("Uploaded  supportedNssai YAML object")
+
+            for ((k, v) in supportedNssai) {
+                log.info("supportedNssai: $k, $v")
+            }
+
+            val sNssai: MutableMap<String, Any> = supportedNssai.get("sNssai") as MutableMap<String, Any>
+            log.info("Uploaded  sNssai YAML object")
+
+            for ((k, v) in sNssai) {
+                log.info("sNssai: $k, $v")
+            }
+
+            for ((k, v) in supportedNssaiMap) {
+                log.info("supportedNssaiMap: $k, $v")
+                sNssai.put(k, v)
+            }
+
+            finalManifest = manifestYaml.dump(manifestObject)
+        }
+
+        File(manifestFileName).bufferedWriter().use { out -> out.write(finalManifest) }
+        log.info("Modified K8s profile manifest file")
+        log.info(finalManifest)
+        log.info("Modification of profile completed")
+        return ""
+    }
+
+    fun getResolvedParameter(payload: ObjectNode, keyName: String): String {
+        for (node in payload.get("resource-accumulator-resolved-data").elements()) {
+            if (node.get("param-name").asText().equals(keyName)) {
+                return node.get("param-value").asText()
+            }
+        }
+        return ""
+    }
+
+    fun getResolvedParameterbyCapabilityData(payload: ObjectNode, keyName: String): String {
+        for (node in payload.get("capability-data").elements()) {
+            log.info("node: $node")
+            if (node.get("capability-name").asText().equals("unresolved-composite-data")) {
+                log.info("inside")
+                for (d in node.get("key-mapping")) {
+                    log.info("d: $d")
+                    for (value in d.get("output-key-mapping")) {
+                        if (value.get("resource-name").asText().equals(keyName)) {
+                            log.info("value: $value")
+                            return value.get("resource-value").asText()
+                        }
+                    }
+                }
+            }
+        }
+        return ""
+    }
+
+    override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
+        log.info("Executing Recovery")
+        bluePrintRuntimeService.getBluePrintError().addError("${runtimeException.message}")
+    }
+
+    inner class K8sApi(
+        val username: String,
+        val password: String,
+        val baseUrl: String,
+        val definition: String,
+        val definitionVersion: String
+    ) {
+        private val service: UploadFileRestClientService // BasicAuthRestClientService
+
+        init {
+            var mapOfHeaders = hashMapOf<String, String>()
+            mapOfHeaders.put("Accept", "application/json")
+            mapOfHeaders.put("Content-Type", "application/json")
+            mapOfHeaders.put("cache-control", " no-cache")
+            mapOfHeaders.put("Accept", "application/json")
+            var basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+            basicAuthRestClientProperties.username = username
+            basicAuthRestClientProperties.password = password
+            basicAuthRestClientProperties.url = "$baseUrl/v1/rb/definition/$definition/$definitionVersion"
+            basicAuthRestClientProperties.additionalHeaders = mapOfHeaders
+
+            this.service = UploadFileRestClientService(basicAuthRestClientProperties)
+        }
+
+        fun hasDefinition(): Boolean {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(HttpMethod.GET.name, "", "")
+                print(result)
+                if (result.status >= 200 && result.status < 300)
+                    return true
+                else
+                    return false
+            } catch (e: Exception) {
+                log.info("Caught exception trying to get k8s rb definition")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun hasProfile(profileName: String): Boolean {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(
+                    HttpMethod.GET.name,
+                    "/profile/$profileName",
+                    ""
+                )
+                if (result.status >= 200 && result.status < 300)
+                    return true
+                else {
+                    print(result)
+                    return false
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to get k8s rb profile")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun createProfile(profile: K8sProfile) {
+            val objectMapper = ObjectMapper()
+            val profileJsonString: String = objectMapper.writeValueAsString(profile)
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(
+                    HttpMethod.POST.name,
+                    "/profile",
+                    profileJsonString
+                )
+                if (result.status < 200 || result.status >= 300) {
+                    throw Exception(result.body)
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to create k8s rb profile ${profile.profileName}")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+        fun uploadProfileContent(profile: K8sProfile, filePath: Path) {
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.uploadBinaryFile(
+                    "/profile/${profile.profileName}/content",
+                    filePath
+                )
+                if (result.status < 200 || result.status >= 300) {
+                    throw Exception(result.body)
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to upload k8s rb profile ${profile.profileName}")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+    }
+}
+
+class UploadFileRestClientService(
+    private val restClientProperties:
+        BasicAuthRestClientProperties
+) : BlueprintWebClientService {
+
+    override fun defaultHeaders(): Map<String, String> {
+
+        val encodedCredentials = setBasicAuth(
+            restClientProperties.username,
+            restClientProperties.password
+        )
+        return mapOf(
+            HttpHeaders.CONTENT_TYPE to MediaType.APPLICATION_JSON_VALUE,
+            HttpHeaders.ACCEPT to MediaType.APPLICATION_JSON_VALUE,
+            HttpHeaders.AUTHORIZATION to "Basic $encodedCredentials"
+        )
+    }
+
+    override fun host(uri: String): String {
+        return restClientProperties.url + uri
+    }
+
+    override fun convertToBasicHeaders(headers: Map<String, String>):
+        Array<BasicHeader> {
+            val customHeaders: MutableMap<String, String> = headers.toMutableMap()
+            // inject additionalHeaders
+            customHeaders.putAll(verifyAdditionalHeaders(restClientProperties))
+
+            if (!headers.containsKey(HttpHeaders.AUTHORIZATION)) {
+                val encodedCredentials = setBasicAuth(
+                    restClientProperties.username,
+                    restClientProperties.password
+                )
+                customHeaders[HttpHeaders.AUTHORIZATION] =
+                    "Basic $encodedCredentials"
+            }
+            return super.convertToBasicHeaders(customHeaders)
+        }
+
+    private fun setBasicAuth(username: String, password: String): String {
+        val credentialsString = "$username:$password"
+        return Base64.getEncoder().encodeToString(
+            credentialsString.toByteArray(Charset.defaultCharset())
+        )
+    }
+
+    @Throws(IOException::class, ClientProtocolException::class)
+    private fun performHttpCall(httpUriRequest: HttpUriRequest): BlueprintWebClientService.WebClientResponse<String> {
+        val httpResponse = httpClient().execute(httpUriRequest)
+        val statusCode = httpResponse.statusLine.statusCode
+        httpResponse.entity.content.use {
+            val body = IOUtils.toString(it, Charset.defaultCharset())
+            return BlueprintWebClientService.WebClientResponse(statusCode, body)
+        }
+    }
+
+    fun uploadBinaryFile(path: String, filePath: Path): BlueprintWebClientService.WebClientResponse<String> {
+        val convertedHeaders: Array<BasicHeader> = convertToBasicHeaders(defaultHeaders())
+        val httpPost = HttpPost(host(path))
+        val entity = EntityBuilder.create().setBinary(Files.readAllBytes(filePath)).build()
+        httpPost.setEntity(entity)
+        RestLoggerService.httpInvoking(convertedHeaders)
+        httpPost.setHeaders(convertedHeaders)
+        return performHttpCall(httpPost)
+    }
+}
+
+class K8sProfile {
+    @get:JsonProperty("rb-name")
+    var rbName: String? = null
+    @get:JsonProperty("rb-version")
+    var rbVersion: String? = null
+    @get:JsonProperty("profile-name")
+    var profileName: String? = null
+    @get:JsonProperty("namespace")
+    var namespace: String? = "default"
+
+    override fun toString(): String {
+        return "$rbName:$rbVersion:$profileName"
+    }
+
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (javaClass != other?.javaClass) return false
+        return true
+    }
+
+    override fun hashCode(): Int {
+        return javaClass.hashCode()
+    }
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sUpdateConfig.kt b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sUpdateConfig.kt
new file mode 100644
index 0000000..cd555b4
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Scripts/kotlin/KotlinK8sUpdateConfig.kt
@@ -0,0 +1,444 @@
+/*
+*  Copyright © 2019 TechMahindra
+*  Author: Vamshi Namilikonda <vn00480215@techmahindra.com>
+*  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.onap.ccsdk.cds.blueprintsprocessor.core.api.data.ExecutionServiceInput
+import org.onap.ccsdk.cds.blueprintsprocessor.services.execution.AbstractScriptComponentFunction
+import org.slf4j.LoggerFactory
+import com.fasterxml.jackson.databind.node.ObjectNode
+import org.onap.ccsdk.cds.controllerblueprints.core.utils.JacksonUtils
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BlueprintWebClientService
+import org.onap.ccsdk.cds.controllerblueprints.core.BluePrintProcessorException
+import java.nio.file.Path
+import org.springframework.http.HttpMethod
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.BasicAuthRestClientProperties
+import org.springframework.http.HttpHeaders
+import org.springframework.http.MediaType
+import org.apache.http.message.BasicHeader
+import java.util.Base64
+import java.nio.charset.Charset
+import java.io.IOException
+import org.apache.http.client.methods.HttpUriRequest
+import com.fasterxml.jackson.annotation.JsonProperty
+import org.apache.commons.io.IOUtils
+import org.apache.http.client.methods.HttpPost
+import org.apache.http.client.entity.EntityBuilder
+import java.nio.file.Files
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.RestLoggerService
+import org.apache.http.client.ClientProtocolException
+import com.fasterxml.jackson.databind.ObjectMapper
+
+import com.google.gson.Gson
+import com.google.gson.reflect.TypeToken
+
+import org.onap.ccsdk.cds.blueprintsprocessor.functions.resource.resolution.storedContentFromResolvedArtifactNB
+import org.onap.ccsdk.cds.blueprintsprocessor.rest.service.BasicAuthRestClientService
+
+open class KotlinK8sUpdateConfig : AbstractScriptComponentFunction() {
+
+    private val log = LoggerFactory.getLogger(KotlinK8sUpdateConfig::class.java)!!
+
+    override fun getName(): String {
+        return "KotlinK8sUpdateConfig"
+    }
+
+    override suspend fun processNB(executionRequest: ExecutionServiceInput) {
+
+        println("Exeuting processNB")
+        log.info("Executing processNB from Kotlin script: KotlinK8sUpdateConfig ...")
+
+        // read the config  input
+        val baseK8sApiUrl = getDynamicProperties("api-access").get("url").asText()
+        val k8sApiUsername = getDynamicProperties("api-access").get("username").asText()
+        val k8sApiPassword = getDynamicProperties("api-access").get("password").asText()
+
+        val prefix = "baseconfigput"
+
+        val aaiApiUrl = getDynamicProperties("aai-access").get("url").asText()
+        val aaiApiUsername = getDynamicProperties("aai-access").get("username").asText()
+        val aaiApiPassword = getDynamicProperties("aai-access").get("password").asText()
+
+        log.info("AAI params $aaiApiUrl")
+
+        val resolution_key = getDynamicProperties("resolution-key").asText()
+
+        val payload = storedContentFromResolvedArtifactNB(resolution_key, prefix)
+
+        val payloadObject = JacksonUtils.jsonNode(payload) as ObjectNode
+
+        val serviceInstanceID: String = getResolvedParameter(payloadObject, "service-instance-id")
+        val vnfID: String = getResolvedParameter(payloadObject, "vnf-id")
+
+        log.info("Get serviceInstanceID $serviceInstanceID")
+        log.info("Get vnfID $vnfID")
+
+        val vnfUrl = aaiApiUrl + "/aai/v19/network/generic-vnfs/generic-vnf/" + vnfID + "/vf-modules";
+
+        val mapOfHeaders = hashMapOf<String, String>()
+        mapOfHeaders.put("Accept", "application/json")
+        mapOfHeaders.put("Content-Type", "application/json")
+        mapOfHeaders.put("x-FromAppId", "SO")
+        mapOfHeaders.put("X-TransactionId", "get_aai_subscr")
+        val basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+        basicAuthRestClientProperties.username = aaiApiUsername
+        basicAuthRestClientProperties.password = aaiApiPassword
+        basicAuthRestClientProperties.url = vnfUrl
+        basicAuthRestClientProperties.additionalHeaders =mapOfHeaders
+        val basicAuthRestClientService: BasicAuthRestClientService= BasicAuthRestClientService(basicAuthRestClientProperties)
+        try {
+            val resultOfGet: BlueprintWebClientService.WebClientResponse<String> = basicAuthRestClientService.exchangeResource(HttpMethod.GET.name, "", "")
+
+            val aaiBody = resultOfGet.body
+            val aaiPayloadObject = JacksonUtils.jsonNode(aaiBody) as ObjectNode
+
+            for (item in aaiPayloadObject.get("vf-module")) {
+
+                log.info("item payload Deatils : $item")
+
+                val isItBaseVfModule = item.get("is-base-vf-module").asText()
+
+                if(isItBaseVfModule.toBoolean())
+                    continue
+
+                val vfModuleID: String = item.get("vf-module-id").asText()
+
+                log.info("AAI Vf-module ID is : $vfModuleID")
+
+                val vfModuleModelInvariantUuid: String = item.get("model-invariant-id").asText()
+
+                log.info("AAI Vf-module Invariant ID is : $vfModuleModelInvariantUuid")
+
+                val vfModuleModelUuid: String = item.get("model-version-id").asText()
+
+                log.info("AAI Vf-module UUID is : $vfModuleModelUuid")
+
+                val vfModuleInstance: String = item.get("heat-stack-id").asText()
+
+                log.info("AAI Vf-module Heat Stack ID : $vfModuleInstance")
+
+                val profileName: String = "profile-"+ vfModuleID
+                val templateName: String = "template_" + vfModuleID
+
+                val randomString = getRandomString(6)
+                val configName: String = "config_"+ randomString
+
+                var supportedNssai: String = getResolvedParameter(payloadObject, "supportedNssai")
+
+                log.info("supportedNssai from SO -> "+ supportedNssai)
+                log.info("configName ->"+ configName)
+                log.info("profileName ->"+ profileName)
+                log.info("templateName ->"+ templateName)
+
+
+                executeK8sAPI(supportedNssai, k8sApiUsername, k8sApiPassword, baseK8sApiUrl, vfModuleModelInvariantUuid, vfModuleModelUuid, templateName, configName, profileName)
+
+            }
+        }
+        catch (e: Exception) {
+            log.info("Caught exception trying to get the vnf Details!!")
+            throw BluePrintProcessorException("${e.message}")
+        }
+    }
+
+    fun getRandomString(length: Int) : String {
+        val charset = "0123456789"
+        return (1..length)
+                .map { charset.random() }
+                .joinToString("")
+    }
+
+    fun executeK8sAPI(supportedNssai: String, k8sApiUsername:String, k8sApiPassword:String, baseK8sApiUrl:String, vfModuleModelInvariantUuid:String, vfModuleModelUuid: String, templateName: String, configName:String, profileName:String){
+
+        println("Executing executeK8sAPI ...")
+
+        // read and convert supportedNssai parameters from string to json
+        val sNssaiAsJsonObj = parseSupportedNssai(supportedNssai)
+
+        // contruct config api
+        val api = K8sConfigApi(k8sApiUsername, k8sApiPassword, baseK8sApiUrl, vfModuleModelInvariantUuid, vfModuleModelUuid)
+
+
+        // invoke config api
+        var config = K8sConfigPayloadJson()
+        config.templateName = templateName
+        config.configName = configName
+        config.values = Config()
+        config.values.supportedNssai = SupportedNssai()
+        config.values.supportedNssai.snssaiInitial = SnssaiInitial()
+        config.values.supportedNssai.snssaiInitial.snssaiSecond = SnssaiSecond()
+        config.values.supportedNssai.snssaiInitial.snssaiSecond.snssaiFinalArray = Array<SnssaiFinal>(sNssaiAsJsonObj.size){i-> SnssaiFinal()}
+
+        val dest = buildSNssaiArray(config.values.supportedNssai.snssaiInitial.snssaiSecond.snssaiFinalArray, sNssaiAsJsonObj)
+        api.createOrUpdateConfig(config, profileName)
+
+        log.info("K8s Configurations create or update Completed")
+
+    }
+
+    fun buildSNssaiArray(payloadSnssai: Array<SnssaiFinal>, requestSnssai: Array<SnssaiFinal>): Array<SnssaiFinal>{
+
+        System.arraycopy(requestSnssai, 0, payloadSnssai, 0, requestSnssai.size)
+
+        return payloadSnssai
+
+    }
+
+    fun parseSupportedNssai(supportedNssai: String): Array<SnssaiFinal>{
+
+        log.info("parsing supportedNssai string..")
+
+        log.info("sNssai value from input..  $supportedNssai")
+
+        val trimmed_supportedNssai = supportedNssai.replace("\\s".toRegex(), "").replace("\\r\\n","").replace("\\","")
+
+        val gson = Gson()
+
+        val startInd = trimmed_supportedNssai.indexOf('[')
+        val endInd = trimmed_supportedNssai.indexOf(']')
+
+        val subStr = trimmed_supportedNssai.substring(startInd, endInd+1)
+
+        val snType = object : TypeToken<Array<SnssaiFinal>>() {}.type
+
+        var snList: Array<SnssaiFinal> = gson.fromJson(subStr, snType)
+
+        log.info("parsing is done.")
+
+        return snList
+
+    }
+
+    fun getResolvedParameter(payload: ObjectNode, keyName: String): String {
+        for (node in payload.get("resource-accumulator-resolved-data").elements()) {
+            if (node.get("param-name").asText().equals(keyName)) {
+                return node.get("param-value").asText()
+            }
+        }
+        return ""
+    }
+
+    override suspend fun recoverNB(runtimeException: RuntimeException, executionRequest: ExecutionServiceInput) {
+        log.info("Executing Recovery")
+    }
+
+    inner class K8sConfigApi(
+            val username: String,
+            val password: String,
+            val baseUrl: String,
+            val definition: String,
+            val definitionVersion: String
+    ) {
+        private val service: UploadFileConfigClientService // BasicAuthRestClientService
+
+        init {
+            var mapOfHeaders = hashMapOf<String, String>()
+            mapOfHeaders.put("Accept", "application/json")
+            mapOfHeaders.put("Content-Type", "application/json")
+            mapOfHeaders.put("cache-control", " no-cache")
+            mapOfHeaders.put("Accept", "application/json")
+            var basicAuthRestClientProperties: BasicAuthRestClientProperties = BasicAuthRestClientProperties()
+            basicAuthRestClientProperties.username = username
+            basicAuthRestClientProperties.password = password
+            basicAuthRestClientProperties.url = "$baseUrl/v1/rb/definition/$definition/$definitionVersion"
+            basicAuthRestClientProperties.additionalHeaders = mapOfHeaders
+
+            this.service = UploadFileConfigClientService(basicAuthRestClientProperties)
+        }
+
+        fun createOrUpdateConfig(configJson: K8sConfigPayloadJson, profileName: String) {
+            val objectMapper = ObjectMapper()
+
+            for(snssai in configJson.values.supportedNssai.snssaiInitial.snssaiSecond.snssaiFinalArray){
+                println("snssai->" +snssai.snssai)
+                println("status->"+snssai.status)
+
+            }
+
+            val configJsonString: String = objectMapper.writeValueAsString(configJson)
+
+            log.info("payload generated -> "+ configJsonString)
+
+            val startInd = configJsonString.indexOf('[')
+            val endInd = configJsonString.indexOf(']')
+
+            val snssaiArray: String = configJsonString.substring(startInd, endInd+1).replace("\"","\\\"").replace("[","\"[").replace("]","]\"")
+
+            val finalPayload: String = configJsonString.replaceRange(startInd..endInd, snssaiArray)
+
+            log.info("payload restructured -> "+ finalPayload)
+
+            try {
+                val result: BlueprintWebClientService.WebClientResponse<String> = service.exchangeResource(HttpMethod.POST.name,
+                        "/profile/${profileName}/config", finalPayload)
+                if (result.status < 200 || result.status >= 300) {
+                    throw Exception(result.body)
+                }
+            } catch (e: Exception) {
+                log.info("Caught exception trying to create or update configuration ")
+                throw BluePrintProcessorException("${e.message}")
+            }
+        }
+
+    }
+}
+
+class UploadFileConfigClientService(
+        private val restClientProperties:
+        BasicAuthRestClientProperties
+) : BlueprintWebClientService {
+
+    override fun defaultHeaders(): Map<String, String> {
+
+        val encodedCredentials = setBasicAuth(
+                restClientProperties.username,
+                restClientProperties.password
+        )
+        return mapOf(
+                HttpHeaders.CONTENT_TYPE to MediaType.APPLICATION_JSON_VALUE,
+                HttpHeaders.ACCEPT to MediaType.APPLICATION_JSON_VALUE,
+                HttpHeaders.AUTHORIZATION to "Basic $encodedCredentials"
+        )
+    }
+
+    override fun host(uri: String): String {
+        return restClientProperties.url + uri
+    }
+
+    override fun convertToBasicHeaders(headers: Map<String, String>):
+            Array<BasicHeader> {
+        val customHeaders: MutableMap<String, String> = headers.toMutableMap()
+        // inject additionalHeaders
+        customHeaders.putAll(verifyAdditionalHeaders(restClientProperties))
+
+        if (!headers.containsKey(HttpHeaders.AUTHORIZATION)) {
+            val encodedCredentials = setBasicAuth(
+                    restClientProperties.username,
+                    restClientProperties.password
+            )
+            customHeaders[HttpHeaders.AUTHORIZATION] =
+                    "Basic $encodedCredentials"
+        }
+        return super.convertToBasicHeaders(customHeaders)
+    }
+
+    private fun setBasicAuth(username: String, password: String): String {
+        val credentialsString = "$username:$password"
+        return Base64.getEncoder().encodeToString(
+                credentialsString.toByteArray(Charset.defaultCharset())
+        )
+    }
+
+    @Throws(IOException::class, ClientProtocolException::class)
+    private fun performHttpCall(httpUriRequest: HttpUriRequest): BlueprintWebClientService.WebClientResponse<String> {
+        val httpResponse = httpClient().execute(httpUriRequest)
+        val statusCode = httpResponse.statusLine.statusCode
+        httpResponse.entity.content.use {
+            val body = IOUtils.toString(it, Charset.defaultCharset())
+            return BlueprintWebClientService.WebClientResponse(statusCode, body)
+        }
+    }
+
+    fun uploadBinaryFile(path: String, filePath: Path): BlueprintWebClientService.WebClientResponse<String> {
+        val convertedHeaders: Array<BasicHeader> = convertToBasicHeaders(defaultHeaders())
+        val httpPost = HttpPost(host(path))
+        val entity = EntityBuilder.create().setBinary(Files.readAllBytes(filePath)).build()
+        httpPost.setEntity(entity)
+        RestLoggerService.httpInvoking(convertedHeaders)
+        httpPost.setHeaders(convertedHeaders)
+        return performHttpCall(httpPost)
+    }
+}
+
+
+class K8sConfigPayloadJson {
+    @get:JsonProperty("template-name")
+    var templateName: String? = null
+    @get:JsonProperty("config-name")
+    var configName: String? = null
+    @get:JsonProperty("values")
+    lateinit var values: Config
+
+    override fun toString(): String {
+        return "$templateName:$configName:$values"
+    }
+
+    override fun equals(other: Any?): Boolean {
+        if (this === other) return true
+        if (javaClass != other?.javaClass) return false
+        return true
+    }
+
+    override fun hashCode(): Int {
+        return javaClass.hashCode()
+    }
+}
+
+class Config{
+    @get:JsonProperty("config")
+    lateinit var supportedNssai: SupportedNssai
+}
+
+class SupportedNssai{
+    @get:JsonProperty("supportedNssai")
+    lateinit var snssaiInitial: SnssaiInitial
+}
+
+class SnssaiInitial{
+
+    @get:JsonProperty("sNssai")
+    lateinit var snssaiSecond: SnssaiSecond
+}
+
+class SnssaiSecond{
+
+    @get:JsonProperty("snssai")
+    lateinit var snssaiFinalArray: Array<SnssaiFinal>
+}
+
+
+class SnssaiFinal{
+    @get:JsonProperty("snssai")
+    var snssai: String? = null
+
+    @get:JsonProperty("status")
+    var status: String? = null
+}
+
+
+fun main(args: Array<String>) {
+
+    val supportedNssai = """
+
+        {\r\n                                     \"sNssai\":[\r\n                                        {\r\n                                           \"snssai\":\"001-100001\",\r\n                                           \"status\":\"created-modified\"\r\n                                        },\r\n                                        {\r\n                                           \"snssai\":\"002-100001\",\r\n                                           \"status\":\"activated\"\r\n                                        },\r\n                                        {\r\n                                           \"snssai\":\"003-100001\",\r\n                                           \"status\":\"de-activated\"\r\n                                        }\r\n                                     ]\r\n                                  }\r\n
+
+"""
+
+    val kotlin = KotlinK8sUpdateConfig()
+
+    /* supportedNssai
+     k8sApiUsername
+     k8sApiPassword
+     baseK8sApiUrl
+     vfModuleModelInvariantUuid
+     vfModuleModelUuid
+     templateName
+     configName
+     profileName*/
+
+    kotlin.executeK8sAPI(supportedNssai, "admin", "admin", "http://0.0.0.0:9015", "rb_test", "1", "template_test", "config_test", "profile_test")
+
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/TOSCA-Metadata/TOSCA.meta b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/TOSCA-Metadata/TOSCA.meta
new file mode 100644
index 0000000..f12a776
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/TOSCA-Metadata/TOSCA.meta
@@ -0,0 +1,8 @@
+TOSCA-Meta-File-Version: 1.0.0
+CSAR-Version: 1.0
+Created-By: Thamlur Raju <TR00568434@TechMahindra.com>
+Entry-Definitions: Definitions/5G_Core.json
+Template-Name: 5G_Core
+Template-Version: 1.0.37
+Template-Type: DEFAULT
+Template-Tags: Thamlur Raju, Malinconico Aniello Paolo, Vamshi Namilikonda, 5G_Core
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-mapping.json
new file mode 100644
index 0000000..069d58d
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-mapping.json
@@ -0,0 +1,261 @@
+[
+  {
+    "name": "vf-module-model-invariant-uuid",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-invariant-uuid",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "vf-module-model-version",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-version",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "management-prefix-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "management-prefix-id",
+    "dictionary-source": "processor-db",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-label",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-label",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vf-module-model-customization-uuid",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-customization-uuid",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-naming-policy",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vnf-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vnf_name",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf_name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "k8s-rb-profile-namespace",
+    "property": {
+      "description": "K8s namespace to create helm chart for specified profile",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-namespace",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "k8s-rb-profile-name",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "fiveg0_snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "fiveg0_snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.test",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.test",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.singletest",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "singletest",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.amfName",
+    "property": {
+      "description": "amf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.amfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "amfName",
+    "property": {
+      "description": "amf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "amfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.supportedNssai.sNssai.snssai",
+    "property": {
+      "description": "supportedNssai.sNssai.snssai properties",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.supportedNssai.sNssai.snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": []
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-template.vtl
new file mode 100644
index 0000000..bd487b3
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/amf-template.vtl
@@ -0,0 +1,136 @@
+{
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf-module-name}"
+            }
+          ],
+          "payload": [
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "vfmt"
+            },
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf-module-name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf-module-name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "aai-vf-module-put",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "aai-vf-module-put",
+              "resource-value": ""
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "config.amfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "amfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    }
+  ],
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "vf-module-model-invariant-uuid",
+      "param-value": "${vf-module-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vf-module-model-version",
+      "param-value": "${vf-module-model-version}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "config.test",
+      "param-value": "${config.test}"
+    },
+    {
+      "param-name": "vf-module-id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-name",
+      "param-value": "profile-${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-namespace",
+      "param-value": "ns-${vf-module-id}"
+    },
+    {
+      "param-name": "fiveg0_snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.supportedNssai.sNssai.snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.singletest",
+      "param-value": "${singletest}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-mapping.json
new file mode 100644
index 0000000..cceb4fe
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-mapping.json
@@ -0,0 +1,166 @@
+[
+  {
+    "name": "vf-module-model-invariant-uuid",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-invariant-uuid",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "vf-module-model-version",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-version",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "management-prefix-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "management-prefix-id",
+    "dictionary-source": "processor-db",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vnf_name",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf_name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-label",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-label",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-naming-policy",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vf-module-model-customization-uuid",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-customization-uuid",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vnf-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "k8s-rb-profile-namespace",
+    "property": {
+      "description": "K8s namespace to create helm chart for specified profile",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-namespace",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "k8s-rb-profile-name",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-template.vtl
new file mode 100644
index 0000000..f910f4f
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/base_template-template.vtl
@@ -0,0 +1,90 @@
+{
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf-module-name}"
+            }
+          ],
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf-module-name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf-module-name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "vfmt"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "aai-vf-module-put",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "aai-vf-module-put",
+              "resource-value": ""
+            }
+          ]
+        }
+      ]
+    }
+  ],
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "vf-module-model-invariant-uuid",
+      "param-value": "${vf-module-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vf-module-model-version",
+      "param-value": "${vf-module-model-version}"
+    },
+    {
+      "param-name": "vf-module-id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-name",
+      "param-value": "profile-${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-namespace",
+      "param-value": "ns-${vf-module-id}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-mapping.json
new file mode 100644
index 0000000..e5cc9b6
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-mapping.json
@@ -0,0 +1,42 @@
+[
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "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": false,
+      "type": "string",
+      "status": "",
+      "constraints": [
+        {}
+      ],
+      "entry_schema": {
+        "type": ""
+      }
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-template.vtl
new file mode 100644
index 0000000..b45b814
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfig-template.vtl
@@ -0,0 +1,12 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-mapping.json
new file mode 100644
index 0000000..104f6e9
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-mapping.json
@@ -0,0 +1,56 @@
+[
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "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": false,
+      "type": "string",
+      "status": "",
+      "constraints": [
+        {}
+      ],
+      "entry_schema": {
+        "type": ""
+      }
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "supportedNssai",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string",
+      "default": "hello"
+    },
+    "input-param": false,
+    "dictionary-name": "supportedNssai",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-template.vtl
new file mode 100644
index 0000000..1967a20
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/baseconfigput-template.vtl
@@ -0,0 +1,16 @@
+{
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "service-instance-id",
+      "param-value": "${service-instance-id}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "supportedNssai",
+      "param-value": "${supportedNssai}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/amf-config-template.tar.gz b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/amf-config-template.tar.gz
new file mode 100644
index 0000000..439c26e
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/amf-config-template.tar.gz
Binary files differ
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/smf-config-template.tar.gz b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/smf-config-template.tar.gz
new file mode 100644
index 0000000..49fe8c3
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/smf-config-template.tar.gz
Binary files differ
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/template-profile.tar.gz b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/template-profile.tar.gz
new file mode 100644
index 0000000..fbdcfb6
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/template-profile.tar.gz
Binary files differ
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/upf-config-template.tar.gz b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/upf-config-template.tar.gz
new file mode 100644
index 0000000..ba799ab
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/k8s-profiles/upf-config-template.tar.gz
Binary files differ
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-mapping.json
new file mode 100644
index 0000000..152b9c4
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-mapping.json
@@ -0,0 +1,261 @@
+[
+  {
+    "name": "vf-module-model-invariant-uuid",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-invariant-uuid",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "vf-module-model-version",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-version",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "management-prefix-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "management-prefix-id",
+    "dictionary-source": "processor-db",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-label",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-label",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vf-module-model-customization-uuid",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-customization-uuid",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-naming-policy",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vnf-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vnf_name",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf_name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "k8s-rb-profile-namespace",
+    "property": {
+      "description": "K8s namespace to create helm chart for specified profile",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-namespace",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "k8s-rb-profile-name",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "fiveg0_snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "fiveg0_snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.test",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.test",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.singletest",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "singletest",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.smfName",
+    "property": {
+      "description": "smf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.smfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "smfName",
+    "property": {
+      "description": "smf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "smfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.supportedNssai.sNssai.snssai",
+    "property": {
+      "description": "supportedNssai.sNssai.snssai properties",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.supportedNssai.sNssai.snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": []
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-template.vtl
new file mode 100644
index 0000000..781b3e7
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/smf-template.vtl
@@ -0,0 +1,136 @@
+{
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf-module-name}"
+            }
+          ],
+          "payload": [
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "vfmt"
+            },
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf-module-name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf-module-name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "aai-vf-module-put",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "aai-vf-module-put",
+              "resource-value": ""
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "config.smfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "smfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    }
+  ],
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "vf-module-model-invariant-uuid",
+      "param-value": "${vf-module-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vf-module-model-version",
+      "param-value": "${vf-module-model-version}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "config.test",
+      "param-value": "${config.test}"
+    },
+    {
+      "param-name": "vf-module-id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-name",
+      "param-value": "profile-${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-namespace",
+      "param-value": "ns-${vf-module-id}"
+    },
+    {
+      "param-name": "fiveg0_snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.supportedNssai.sNssai.snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.singletest",
+      "param-value": "${singletest}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-mapping.json
new file mode 100644
index 0000000..2673457
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-mapping.json
@@ -0,0 +1,261 @@
+[
+  {
+    "name": "vf-module-model-invariant-uuid",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-invariant-uuid",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "vf-module-model-version",
+    "property": {
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-version",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ]
+  },
+  {
+    "name": "management-prefix-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "management-prefix-id",
+    "dictionary-source": "processor-db",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-module-label",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-label",
+    "dictionary-source": "processor-db",
+    "dependencies": [
+      "vf-module-model-customization-uuid"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vf-module-model-customization-uuid",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-module-model-customization-uuid",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-naming-policy",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "vnf-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vnf_name",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf_name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ],
+    "version": 0
+  },
+  {
+    "name": "k8s-rb-profile-namespace",
+    "property": {
+      "description": "K8s namespace to create helm chart for specified profile",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-namespace",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "k8s-rb-profile-name",
+    "property": {
+      "description": "Profile name used in multicloud/k8s plugin to identify Helm chart(s) where this mapping is providing override values.",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "k8s-rb-profile-name",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "fiveg0_snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "fiveg0_snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.test",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.test",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.singletest",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "singletest",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.upfName",
+    "property": {
+      "description": "upf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.upfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "upfName",
+    "property": {
+      "description": "upf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "upfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.supportedNssai.sNssai.snssai",
+    "property": {
+      "description": "supportedNssai.sNssai.snssai properties",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.supportedNssai.sNssai.snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": []
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-template.vtl
new file mode 100644
index 0000000..290d0ed
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/upf-template.vtl
@@ -0,0 +1,136 @@
+{
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vf_module_name",
+              "resource-value": "${vf-module-name}"
+            }
+          ],
+          "payload": [
+            {
+              "param-name": "VF_MODULE_TYPE",
+              "param-value": "vfmt"
+            },
+            {
+              "param-name": "resource-name",
+              "param-value": "vf_module_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vf-module-name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vf-module-id}_vf-module-name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VF-MODULE"
+            },
+            {
+              "param-name": "VNF_NAME",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "VF_MODULE_LABEL",
+              "param-value": "${vf-module-label}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "aai-vf-module-put",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "aai-vf-module-put",
+              "resource-value": ""
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "config.upfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    },
+    {
+      "capability-name": "unresolved-composite-data",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "upfName",
+              "resource-value": "${vf_module_name}"
+            }
+          ]
+        }
+      ]
+    }
+  ],
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "vf-module-model-invariant-uuid",
+      "param-value": "${vf-module-model-invariant-uuid}"
+    },
+    {
+      "param-name": "vf-module-model-version",
+      "param-value": "${vf-module-model-version}"
+    },
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "config.test",
+      "param-value": "${config.test}"
+    },
+    {
+      "param-name": "vf-module-id",
+      "param-value": "${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-name",
+      "param-value": "profile-${vf-module-id}"
+    },
+    {
+      "param-name": "k8s-rb-profile-namespace",
+      "param-value": "ns-${vf-module-id}"
+    },
+    {
+      "param-name": "fiveg0_snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.supportedNssai.sNssai.snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.singletest",
+      "param-value": "${singletest}"
+    }
+  ]
+}
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-mapping.json b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-mapping.json
new file mode 100644
index 0000000..69bb79b
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-mapping.json
@@ -0,0 +1,203 @@
+[
+  {
+    "name": "vnf-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "vnf-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "vf-naming-policy",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string",
+      "default": "SDNC_Policy.ONAP_NF_NAMING_TIMESTAMP"
+    },
+    "input-param": false,
+    "dictionary-name": "vf-naming-policy",
+    "dictionary-source": "default",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "aic-cloud-region",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "aic-cloud-region",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "service-instance-id",
+    "property": {
+      "description": "",
+      "required": false,
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "service-instance-id",
+    "dictionary-source": "input",
+    "dependencies": [],
+    "version": 0
+  },
+  {
+    "name": "fiveg0_snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "fiveg0_snssai",
+    "dictionary-source": "input",
+    "dependencies": []
+  },
+  {
+    "name": "snssai",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.test",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.test",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.singletest",
+    "property": {
+      "description": "",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "singletest",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.amfName",
+    "property": {
+      "description": "amf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.amfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "amfName",
+    "property": {
+      "description": "amf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "amfName",
+    "dictionary-source": "sdnc",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.smfName",
+    "property": {
+      "description": "smf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.smfName",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "smfName",
+    "property": {
+      "description": "smf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "smfName",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.upfName",
+    "property": {
+      "description": "upf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.upfName",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "upfName",
+    "property": {
+      "description": "upf name",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "upfName",
+    "dictionary-source": "input",
+    "dependencies": [
+      "service-instance-id",
+      "vnf-id"
+    ]
+  },
+  {
+    "name": "config.supportedNssai.sNssai.snssai",
+    "property": {
+      "description": "supportedNssai.sNssai.snssai properties",
+      "type": "string"
+    },
+    "input-param": false,
+    "dictionary-name": "config.supportedNssai.sNssai.snssai",
+    "dictionary-source": "sdnc",
+    "dependencies": []
+  }
+]
diff --git a/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-template.vtl b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-template.vtl
new file mode 100644
index 0000000..18ebc00
--- /dev/null
+++ b/components/model-catalog/blueprint-model/service-blueprint/5GC_Simulator_CNF_CDS/Templates/vnf-template.vtl
@@ -0,0 +1,73 @@
+{
+  "capability-data": [
+    {
+      "capability-name": "generate-name",
+      "key-mapping": [
+        {
+          "output-key-mapping": [
+            {
+              "resource-name": "vnf_name",
+              "resource-value": "${vnf_name}"
+            }
+          ],
+          "payload": [
+            {
+              "param-name": "resource-name",
+              "param-value": "vnf_name"
+            },
+            {
+              "param-name": "resource-value",
+              "param-value": "${vnf_name}"
+            },
+            {
+              "param-name": "external-key",
+              "param-value": "${vnf-id}_vnf_name"
+            },
+            {
+              "param-name": "policy-instance-name",
+              "param-value": "${vf-naming-policy}"
+            },
+            {
+              "param-name": "naming-type",
+              "param-value": "VNF"
+            },
+            {
+              "param-name": "AIC_CLOUD_REGION",
+              "param-value": "${aic-cloud-region}"
+            }
+          ]
+        }
+      ]
+    }
+  ],
+  "resource-accumulator-resolved-data": [
+    {
+      "param-name": "vnf-id",
+      "param-value": "${vnf-id}"
+    },
+    {
+      "param-name": "vf-naming-policy",
+      "param-value": "${vf-naming-policy}"
+    },
+    {
+      "param-name": "config.test",
+      "param-value": "${config.test}"
+    },
+    {
+      "param-name": "fiveg0_snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.supportedNssai.sNssai.snssai",
+      "param-value": "${fiveg0_snssai}"
+    },
+    {
+      "param-name": "config.singletest",
+      "param-value": "${singletest}"
+    }
+  ]
+}
