Update docs for multi model support

Signed-off-by: MichaelMorris <michael.morris@est.tech>
Issue-ID: SDC-3726
Change-Id: I4ba36318fc8c7de60ccb9c3d01d5aadedc94bded
diff --git a/docs/index.rst b/docs/index.rst
index 0d1a6a3..14a2150 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -12,6 +12,7 @@
    configuration.rst
    consumedapis.rst
    offeredapis.rst
+   models.rst
    delivery.rst
    humaninterfaces.rst
    genericdesignerintegration.rst
diff --git a/docs/models.rst b/docs/models.rst
new file mode 100644
index 0000000..9e41f5b
--- /dev/null
+++ b/docs/models.rst
@@ -0,0 +1,19 @@
+.. This work is licensed under a Creative Commons Attribution 4.0 International License.
+.. http://creativecommons.org/licenses/by/4.0
+
+========================
+Models
+========================
+
+SDC supports the onboarding and design of resources and services that adhere to one of a number of models. The following models are included in the default deployment:
+
+**SDC AID**
+
+The `ONAP SDC data model <https://wiki.onap.org/display/DW/SDC+Data+model>`_ supported widely by ONAP components. 
+
+**ETSI SOL001 v2.5.1**
+
+The data model for NFV descriptors standardised by ETSI, `version 2.5.1 <https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20001v2.5.1%20-%20GS%20-%20TOSCA-based%20NFV%20descriptors%20spec.pdf>`_. Limited support exists in ONAP components, but some support is provided in SO SOL003 and SOL005 adapters and ETSI Catalog Manager.
+
+Further models can be added through the :ref:`Supported APIs <offeredapis>` at deployment or runtime.
+Model inheritance is supported though it is expected that the names of the types be unique across the inheritance tree. Resources that are imported or designed to adhere to a particular model can only be used in a service that adheres to the same model.
diff --git a/docs/onboardingpackages.rst b/docs/onboardingpackages.rst
index 82e5334..d48c2d6 100644
--- a/docs/onboardingpackages.rst
+++ b/docs/onboardingpackages.rst
@@ -44,10 +44,27 @@
 
 ETSI SOL004 Tosca CSAR Package
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
-The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure of the supported CSAR package
+The ETSI SOL004 Tosca CSAR Package is a zip archive with a .csar extension. The structure necessary for the supported CSAR package
+depends on the model selected in onboarding as detailed below.
+
+**SDC AID**
+
+If the package is onboarded using the SDC AID model, the structure of the supported CSAR package
 is as described in `ETSI NFV-SOL 004v2.6.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory.
 
-The supported descriptor included in the package is aligned to `ETSI NFV-SOL 001v2.5.1 <https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20001v2.5.1%20-%20GS%20-%20TOSCA-based%20NFV%20descriptors%20spec.pdf>`_
+The supported descriptor included in the package is aligned to `ETSI NFV-SOL 001v2.5.1 <https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20001v2.5.1%20-%20GS%20-%20TOSCA-based%20NFV%20descriptors%20spec.pdf>`_. The descriptor is partially mapped into the SDC AID model. There is also limited support for v2.7.1 and 3.3.1
+
+**ETSI SOL001 v2.5.1**
+
+If the package is onboarded using the ETSI SOL001 v2.5.1 model, the structure of the supported CSAR package
+is as described in `ETSI NFV-SOL 004v2.5.1`_ csar structure option 1 i.e. CSAR containing a TOSCA-Metadata directory.
+
+The supported descriptor included in the package is aligned to `ETSI NFV-SOL 001v2.5.1`_. The tosca types defined in this version of the ETSI NFV-SOL 001 are used in the created VF (rather than the types defined in the SDC AID model).
+
+Note in relation to model selection:
+
+- More than one model can be selected during onboarding. In the subsequent VSP import one model from the list of models selected at onboarding time must be selected.
+- For a package to be used in service design it must be imported with the same model as is selected during service creation.
 
 Other Points to note when onboarding this package are:
 
@@ -55,6 +72,7 @@
 - The original input CSAR is maintained and stored as the SDC artifact *ETSI_PACKAGE* in the xNF internal model. For existing legacy xNF, it can be stored as *ONBOARDED_PACKAGE* instead.
 - The non-mano artifacts are mapped to the corresponding SDC Artifact Type in the xNF internal model.
 
+
 Basic Helm package support for CNF
 ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
 
@@ -99,7 +117,11 @@
 How does SDC determine which package type is being onboarded
 ------------------------------------------------------------
 SDC onboarding processes each of the package types differently. SDC determines which package type is being onboarded, and
-hence which logic to use, based on the following
+hence which logic to use.
+
+If the ETSI SOL001 v2.5.1 model is selected during onboarding, SDC will always treat the package as an `ETSI SOL004 Tosca CSAR Package`_.
+
+If the SDC AID model is selected during onboarding, SDC will determine the package type based on the following.
 
 First SDC checks the extension of the package. If the package extension is *.zip* then the package is treated as a `Heat package`_ or `Basic Helm package support for CNF`_.
 
@@ -145,3 +167,5 @@
    needs to be pre-installed in SDC before onboarding is started. The details of this procedure are described :ref:`here <doc_guide_user_des_res-onb_pre-install_root_certificate>`.
 
 .. _ETSI NFV-SOL 004v2.6.1: https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20004v2.6.1%20-%20GS%20-%20VNF%20Package%20Stage%203%20-%20spec.pdf
+.. _ETSI NFV-SOL 004v2.5.1: https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20004v2.5.1%20-%20GS%20-%20VNF%20Package%20Stage%203%20spec.pdf
+.. _ETSI NFV-SOL 001v2.5.1: https://docbox.etsi.org/ISG/NFV/Open/Publications_pdf/Specs-Reports/NFV-SOL%20001v2.5.1%20-%20GS%20-%20TOSCA-based%20NFV%20descriptors%20spec.pdf
diff --git a/docs/swagger/swagger-sdce-2-sdce-5.json b/docs/swagger/swagger-sdce-2-sdce-5.json
index 6dc3918..24f4486 100644
--- a/docs/swagger/swagger-sdce-2-sdce-5.json
+++ b/docs/swagger/swagger-sdce-2-sdce-5.json
@@ -615,6 +615,13 @@
           "schema" : {
             "type" : "string"
           }
+        }, {
+          "description" : "model",
+          "in" : "query",
+          "name" : "model",
+          "schema" : {
+            "type" : "string"
+          }
         } ],
         "responses" : {
           "200" : {
@@ -906,6 +913,13 @@
           "schema" : {
             "type" : "string"
           }
+        }, {
+          "description" : "model",
+          "in" : "query",
+          "name" : "model",
+          "schema" : {
+            "type" : "string"
+          }
         } ],
         "responses" : {
           "200" : {
@@ -1531,6 +1545,12 @@
           "schema" : {
             "type" : "string"
           }
+        }, {
+          "in" : "query",
+          "name" : "componentModel",
+          "schema" : {
+            "type" : "string"
+          }
         } ],
         "responses" : {
           "200" : {
@@ -1845,6 +1865,13 @@
           "schema" : {
             "type" : "string"
           }
+        }, {
+          "description" : "model",
+          "in" : "query",
+          "name" : "model",
+          "schema" : {
+            "type" : "string"
+          }
         } ],
         "responses" : {
           "200" : {
@@ -2126,6 +2153,961 @@
         "tags" : [ "SDCE-2 APIs" ]
       }
     },
+    "/v1/catalog/lock" : {
+      "post" : {
+        "description" : "Toggle disable locking",
+        "operationId" : "toggleDisableLocking",
+        "parameters" : [ {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "requestBody" : {
+          "content" : {
+            "application/json" : {
+              "schema" : {
+                "type" : "boolean"
+              }
+            }
+          },
+          "description" : "Disable Locking"
+        },
+        "responses" : {
+          "200" : {
+            "description" : "Disable locking successfully updated"
+          },
+          "500" : {
+            "description" : "Update disable locking failed"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "object",
+                  "properties" : {
+                    "allowedMethods" : {
+                      "type" : "array",
+                      "items" : {
+                        "type" : "string"
+                      },
+                      "uniqueItems" : true
+                    },
+                    "cookies" : {
+                      "type" : "object",
+                      "additionalProperties" : {
+                        "type" : "object",
+                        "properties" : {
+                          "comment" : {
+                            "type" : "string"
+                          },
+                          "domain" : {
+                            "type" : "string"
+                          },
+                          "expiry" : {
+                            "type" : "string",
+                            "format" : "date-time"
+                          },
+                          "httpOnly" : {
+                            "type" : "boolean"
+                          },
+                          "maxAge" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          },
+                          "name" : {
+                            "type" : "string"
+                          },
+                          "path" : {
+                            "type" : "string"
+                          },
+                          "secure" : {
+                            "type" : "boolean"
+                          },
+                          "value" : {
+                            "type" : "string"
+                          },
+                          "version" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          }
+                        }
+                      }
+                    },
+                    "date" : {
+                      "type" : "string",
+                      "format" : "date-time"
+                    },
+                    "entity" : {
+                      "type" : "object"
+                    },
+                    "entityTag" : {
+                      "type" : "object",
+                      "properties" : {
+                        "value" : {
+                          "type" : "string"
+                        },
+                        "weak" : {
+                          "type" : "boolean"
+                        }
+                      }
+                    },
+                    "headers" : {
+                      "type" : "object",
+                      "additionalProperties" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object"
+                        }
+                      }
+                    },
+                    "language" : {
+                      "type" : "object",
+                      "properties" : {
+                        "country" : {
+                          "type" : "string"
+                        },
+                        "displayCountry" : {
+                          "type" : "string"
+                        },
+                        "displayLanguage" : {
+                          "type" : "string"
+                        },
+                        "displayName" : {
+                          "type" : "string"
+                        },
+                        "displayScript" : {
+                          "type" : "string"
+                        },
+                        "displayVariant" : {
+                          "type" : "string"
+                        },
+                        "extensionKeys" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          },
+                          "uniqueItems" : true
+                        },
+                        "iso3Country" : {
+                          "type" : "string"
+                        },
+                        "iso3Language" : {
+                          "type" : "string"
+                        },
+                        "language" : {
+                          "type" : "string"
+                        },
+                        "script" : {
+                          "type" : "string"
+                        },
+                        "unicodeLocaleAttributes" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          },
+                          "uniqueItems" : true
+                        },
+                        "unicodeLocaleKeys" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          },
+                          "uniqueItems" : true
+                        },
+                        "variant" : {
+                          "type" : "string"
+                        }
+                      }
+                    },
+                    "lastModified" : {
+                      "type" : "string",
+                      "format" : "date-time"
+                    },
+                    "length" : {
+                      "type" : "integer",
+                      "format" : "int32"
+                    },
+                    "links" : {
+                      "type" : "array",
+                      "items" : {
+                        "type" : "object",
+                        "properties" : {
+                          "params" : {
+                            "type" : "object",
+                            "additionalProperties" : {
+                              "type" : "string"
+                            }
+                          },
+                          "rel" : {
+                            "type" : "string"
+                          },
+                          "rels" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            }
+                          },
+                          "title" : {
+                            "type" : "string"
+                          },
+                          "type" : {
+                            "type" : "string"
+                          },
+                          "uri" : {
+                            "type" : "string",
+                            "format" : "uri"
+                          },
+                          "uriBuilder" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "uniqueItems" : true
+                    },
+                    "location" : {
+                      "type" : "string",
+                      "format" : "uri"
+                    },
+                    "mediaType" : {
+                      "type" : "object",
+                      "properties" : {
+                        "parameters" : {
+                          "type" : "object",
+                          "additionalProperties" : {
+                            "type" : "string"
+                          }
+                        },
+                        "subtype" : {
+                          "type" : "string"
+                        },
+                        "type" : {
+                          "type" : "string"
+                        },
+                        "wildcardSubtype" : {
+                          "type" : "boolean"
+                        },
+                        "wildcardType" : {
+                          "type" : "boolean"
+                        }
+                      }
+                    },
+                    "metadata" : {
+                      "type" : "object",
+                      "additionalProperties" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object"
+                        }
+                      }
+                    },
+                    "status" : {
+                      "type" : "integer",
+                      "format" : "int32"
+                    },
+                    "statusInfo" : {
+                      "type" : "object",
+                      "properties" : {
+                        "family" : {
+                          "type" : "string",
+                          "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
+                        },
+                        "reasonPhrase" : {
+                          "type" : "string"
+                        },
+                        "statusCode" : {
+                          "type" : "integer",
+                          "format" : "int32"
+                        }
+                      }
+                    },
+                    "stringHeaders" : {
+                      "type" : "object",
+                      "additionalProperties" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "string"
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "tags" : [ "SDCE-2 APIs" ]
+      }
+    },
+    "/v1/catalog/model" : {
+      "get" : {
+        "description" : "List all the existing TOSCA models",
+        "operationId" : "listModels",
+        "parameters" : [ {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "query",
+          "name" : "modelType",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Listing successful"
+          },
+          "403" : {
+            "description" : "Restricted operation"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "array",
+                  "items" : {
+                    "$ref" : "#/components/schemas/Model"
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "summary" : "List TOSCA models",
+        "tags" : [ "SDCE-2 APIs" ]
+      },
+      "post" : {
+        "description" : "Create a TOSCA model, along with its imports files",
+        "operationId" : "createModel",
+        "parameters" : [ {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "requestBody" : {
+          "content" : {
+            "multipart/form-data" : {
+              "schema" : {
+                "type" : "object",
+                "properties" : {
+                  "model" : {
+                    "$ref" : "#/components/schemas/ModelCreateRequest"
+                  },
+                  "modelImportsZip" : {
+                    "type" : "object",
+                    "description" : "the model TOSCA imports zipped"
+                  }
+                },
+                "required" : [ "model", "modelImportsZip" ]
+              }
+            }
+          }
+        },
+        "responses" : {
+          "201" : {
+            "description" : "Model created"
+          },
+          "400" : {
+            "description" : "Invalid content / Missing content"
+          },
+          "403" : {
+            "description" : "Restricted operation"
+          },
+          "409" : {
+            "description" : "Model already exists"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "array",
+                  "items" : {
+                    "type" : "object",
+                    "properties" : {
+                      "allowedMethods" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "string"
+                        },
+                        "uniqueItems" : true
+                      },
+                      "cookies" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "object",
+                          "properties" : {
+                            "comment" : {
+                              "type" : "string"
+                            },
+                            "domain" : {
+                              "type" : "string"
+                            },
+                            "expiry" : {
+                              "type" : "string",
+                              "format" : "date-time"
+                            },
+                            "httpOnly" : {
+                              "type" : "boolean"
+                            },
+                            "maxAge" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            },
+                            "name" : {
+                              "type" : "string"
+                            },
+                            "path" : {
+                              "type" : "string"
+                            },
+                            "secure" : {
+                              "type" : "boolean"
+                            },
+                            "value" : {
+                              "type" : "string"
+                            },
+                            "version" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            }
+                          }
+                        }
+                      },
+                      "date" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "entity" : {
+                        "type" : "object"
+                      },
+                      "entityTag" : {
+                        "type" : "object",
+                        "properties" : {
+                          "value" : {
+                            "type" : "string"
+                          },
+                          "weak" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "headers" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "language" : {
+                        "type" : "object",
+                        "properties" : {
+                          "country" : {
+                            "type" : "string"
+                          },
+                          "displayCountry" : {
+                            "type" : "string"
+                          },
+                          "displayLanguage" : {
+                            "type" : "string"
+                          },
+                          "displayName" : {
+                            "type" : "string"
+                          },
+                          "displayScript" : {
+                            "type" : "string"
+                          },
+                          "displayVariant" : {
+                            "type" : "string"
+                          },
+                          "extensionKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "iso3Country" : {
+                            "type" : "string"
+                          },
+                          "iso3Language" : {
+                            "type" : "string"
+                          },
+                          "language" : {
+                            "type" : "string"
+                          },
+                          "script" : {
+                            "type" : "string"
+                          },
+                          "unicodeLocaleAttributes" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "unicodeLocaleKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "variant" : {
+                            "type" : "string"
+                          }
+                        }
+                      },
+                      "lastModified" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "length" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "links" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object",
+                          "properties" : {
+                            "params" : {
+                              "type" : "object",
+                              "additionalProperties" : {
+                                "type" : "string"
+                              }
+                            },
+                            "rel" : {
+                              "type" : "string"
+                            },
+                            "rels" : {
+                              "type" : "array",
+                              "items" : {
+                                "type" : "string"
+                              }
+                            },
+                            "title" : {
+                              "type" : "string"
+                            },
+                            "type" : {
+                              "type" : "string"
+                            },
+                            "uri" : {
+                              "type" : "string",
+                              "format" : "uri"
+                            },
+                            "uriBuilder" : {
+                              "type" : "object"
+                            }
+                          }
+                        },
+                        "uniqueItems" : true
+                      },
+                      "location" : {
+                        "type" : "string",
+                        "format" : "uri"
+                      },
+                      "mediaType" : {
+                        "type" : "object",
+                        "properties" : {
+                          "parameters" : {
+                            "type" : "object",
+                            "additionalProperties" : {
+                              "type" : "string"
+                            }
+                          },
+                          "subtype" : {
+                            "type" : "string"
+                          },
+                          "type" : {
+                            "type" : "string"
+                          },
+                          "wildcardSubtype" : {
+                            "type" : "boolean"
+                          },
+                          "wildcardType" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "metadata" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "status" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "statusInfo" : {
+                        "type" : "object",
+                        "properties" : {
+                          "family" : {
+                            "type" : "string",
+                            "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
+                          },
+                          "reasonPhrase" : {
+                            "type" : "string"
+                          },
+                          "statusCode" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          }
+                        }
+                      },
+                      "stringHeaders" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "summary" : "Create a TOSCA model",
+        "tags" : [ "SDCE-2 APIs" ]
+      }
+    },
+    "/v1/catalog/model/imports" : {
+      "put" : {
+        "description" : "Update a model TOSCA imports",
+        "operationId" : "updateModelImports",
+        "parameters" : [ {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "requestBody" : {
+          "content" : {
+            "multipart/form-data" : {
+              "schema" : {
+                "type" : "object",
+                "properties" : {
+                  "modelImportsZip" : {
+                    "type" : "object",
+                    "description" : "the model TOSCA imports zipped"
+                  },
+                  "modelName" : {
+                    "type" : "string",
+                    "description" : "model to be created"
+                  }
+                },
+                "required" : [ "modelImportsZip", "modelName" ]
+              }
+            }
+          }
+        },
+        "responses" : {
+          "204" : {
+            "description" : "Model imports updated"
+          },
+          "400" : {
+            "description" : "Invalid content / Missing content"
+          },
+          "403" : {
+            "description" : "Restricted operation"
+          },
+          "404" : {
+            "description" : "Model not found"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "array",
+                  "items" : {
+                    "type" : "object",
+                    "properties" : {
+                      "allowedMethods" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "string"
+                        },
+                        "uniqueItems" : true
+                      },
+                      "cookies" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "object",
+                          "properties" : {
+                            "comment" : {
+                              "type" : "string"
+                            },
+                            "domain" : {
+                              "type" : "string"
+                            },
+                            "expiry" : {
+                              "type" : "string",
+                              "format" : "date-time"
+                            },
+                            "httpOnly" : {
+                              "type" : "boolean"
+                            },
+                            "maxAge" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            },
+                            "name" : {
+                              "type" : "string"
+                            },
+                            "path" : {
+                              "type" : "string"
+                            },
+                            "secure" : {
+                              "type" : "boolean"
+                            },
+                            "value" : {
+                              "type" : "string"
+                            },
+                            "version" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            }
+                          }
+                        }
+                      },
+                      "date" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "entity" : {
+                        "type" : "object"
+                      },
+                      "entityTag" : {
+                        "type" : "object",
+                        "properties" : {
+                          "value" : {
+                            "type" : "string"
+                          },
+                          "weak" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "headers" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "language" : {
+                        "type" : "object",
+                        "properties" : {
+                          "country" : {
+                            "type" : "string"
+                          },
+                          "displayCountry" : {
+                            "type" : "string"
+                          },
+                          "displayLanguage" : {
+                            "type" : "string"
+                          },
+                          "displayName" : {
+                            "type" : "string"
+                          },
+                          "displayScript" : {
+                            "type" : "string"
+                          },
+                          "displayVariant" : {
+                            "type" : "string"
+                          },
+                          "extensionKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "iso3Country" : {
+                            "type" : "string"
+                          },
+                          "iso3Language" : {
+                            "type" : "string"
+                          },
+                          "language" : {
+                            "type" : "string"
+                          },
+                          "script" : {
+                            "type" : "string"
+                          },
+                          "unicodeLocaleAttributes" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "unicodeLocaleKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "variant" : {
+                            "type" : "string"
+                          }
+                        }
+                      },
+                      "lastModified" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "length" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "links" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object",
+                          "properties" : {
+                            "params" : {
+                              "type" : "object",
+                              "additionalProperties" : {
+                                "type" : "string"
+                              }
+                            },
+                            "rel" : {
+                              "type" : "string"
+                            },
+                            "rels" : {
+                              "type" : "array",
+                              "items" : {
+                                "type" : "string"
+                              }
+                            },
+                            "title" : {
+                              "type" : "string"
+                            },
+                            "type" : {
+                              "type" : "string"
+                            },
+                            "uri" : {
+                              "type" : "string",
+                              "format" : "uri"
+                            },
+                            "uriBuilder" : {
+                              "type" : "object"
+                            }
+                          }
+                        },
+                        "uniqueItems" : true
+                      },
+                      "location" : {
+                        "type" : "string",
+                        "format" : "uri"
+                      },
+                      "mediaType" : {
+                        "type" : "object",
+                        "properties" : {
+                          "parameters" : {
+                            "type" : "object",
+                            "additionalProperties" : {
+                              "type" : "string"
+                            }
+                          },
+                          "subtype" : {
+                            "type" : "string"
+                          },
+                          "type" : {
+                            "type" : "string"
+                          },
+                          "wildcardSubtype" : {
+                            "type" : "boolean"
+                          },
+                          "wildcardType" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "metadata" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "status" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "statusInfo" : {
+                        "type" : "object",
+                        "properties" : {
+                          "family" : {
+                            "type" : "string",
+                            "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
+                          },
+                          "reasonPhrase" : {
+                            "type" : "string"
+                          },
+                          "statusCode" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          }
+                        }
+                      },
+                      "stringHeaders" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "summary" : "Update a model TOSCA imports",
+        "tags" : [ "SDCE-2 APIs" ]
+      }
+    },
     "/v1/catalog/nodeTypes" : {
       "get" : {
         "description" : "Get node types",
@@ -2517,6 +3499,12 @@
             "type" : "string"
           }
         }, {
+          "in" : "query",
+          "name" : "componentModel",
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
           "description" : "The user id",
           "in" : "header",
           "name" : "USER_ID",
@@ -2566,6 +3554,13 @@
           "schema" : {
             "type" : "string"
           }
+        }, {
+          "description" : "model",
+          "in" : "query",
+          "name" : "model",
+          "schema" : {
+            "type" : "string"
+          }
         } ],
         "responses" : {
           "200" : {
@@ -21384,6 +22379,14 @@
                     "type" : "string",
                     "format" : "binary",
                     "description" : "FileInputStream"
+                  },
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
                   }
                 }
               }
@@ -21998,6 +23001,14 @@
                     "type" : "string",
                     "format" : "binary",
                     "description" : "FileInputStream"
+                  },
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
                   }
                 }
               }
@@ -22306,6 +23317,14 @@
                     "format" : "binary",
                     "description" : "FileInputStream"
                   },
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
+                  },
                   "toscaTypeMetadata" : {
                     "type" : "string",
                     "description" : "toscaTypeMetadata"
@@ -22612,10 +23631,18 @@
               "schema" : {
                 "type" : "object",
                 "properties" : {
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
                   "interfaceLifecycleTypeZip" : {
                     "type" : "string",
                     "format" : "binary",
                     "description" : "FileInputStream"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
                   }
                 }
               }
@@ -22919,6 +23946,14 @@
               "schema" : {
                 "type" : "object",
                 "properties" : {
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
+                  },
                   "policyTypesZip" : {
                     "type" : "string",
                     "format" : "binary",
@@ -23230,6 +24265,14 @@
               "schema" : {
                 "type" : "object",
                 "properties" : {
+                  "includeToModelImport" : {
+                    "type" : "boolean",
+                    "description" : "includeToModelImport"
+                  },
+                  "model" : {
+                    "type" : "string",
+                    "description" : "model"
+                  },
                   "relationshipTypeZip" : {
                     "type" : "string",
                     "format" : "binary",
@@ -23755,6 +24798,18 @@
             "type" : "string"
           }
         }, {
+          "in" : "query",
+          "name" : "componentModel",
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "query",
+          "name" : "includeNormativeExtensionModels",
+          "schema" : {
+            "type" : "boolean"
+          }
+        }, {
           "in" : "header",
           "name" : "USER_ID",
           "schema" : {
@@ -35840,7 +36895,7 @@
         "tags" : [ "SDCE-2 APIs" ]
       }
     },
-    "/v1/catalog/{containerComponentType}/{componentId}/resourceInstance/{componentInstanceId}/attribute" : {
+    "/v1/catalog/{containerComponentType}/{componentId}/resourceInstance/{componentInstanceId}/attributes" : {
       "post" : {
         "description" : "Update resource instance attribute",
         "operationId" : "updateResourceInstanceAttribute",
@@ -35877,6 +36932,17 @@
             "type" : "string"
           }
         } ],
+        "requestBody" : {
+          "content" : {
+            "application/json" : {
+              "schema" : {
+                "type" : "string"
+              }
+            }
+          },
+          "description" : "Component Instance Properties JSON Array",
+          "required" : true
+        },
         "responses" : {
           "201" : {
             "description" : "Resource instance created"
@@ -36150,7 +37216,7 @@
           "url" : "/sdc2/rest",
           "variables" : { }
         } ],
-        "summary" : "Returns updated resource instance attribute",
+        "summary" : "Returns updated resource instance property",
         "tags" : [ "SDCE-2 APIs" ]
       }
     },
@@ -39610,6 +40676,329 @@
         "tags" : [ "SDCE-2 APIs" ]
       }
     },
+    "/v1/catalog/{containerComponentType}/{containerComponentId}/componentInstances/{componentInstanceUniqueId}/capability" : {
+      "put" : {
+        "description" : "Update Component Instance Capability",
+        "operationId" : "updateInstanceRequirement",
+        "parameters" : [ {
+          "in" : "path",
+          "name" : "containerComponentType",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "path",
+          "name" : "containerComponentId",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "path",
+          "name" : "componentInstanceUniqueId",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "requestBody" : {
+          "content" : {
+            "application/json" : {
+              "schema" : {
+                "$ref" : "#/components/schemas/ComponentInstanceCapabilityUpdateModel"
+              }
+            }
+          },
+          "description" : "Component instance capability to update",
+          "required" : true
+        },
+        "responses" : {
+          "200" : {
+            "description" : "Resource instance capability successfully updated"
+          },
+          "400" : {
+            "description" : "Invalid content / Missing content"
+          },
+          "403" : {
+            "description" : "Restricted operation"
+          },
+          "404" : {
+            "description" : "Component/Component Instance/Capability not found"
+          },
+          "default" : {
+            "content" : {
+              "application/json" : {
+                "schema" : {
+                  "type" : "array",
+                  "items" : {
+                    "type" : "object",
+                    "properties" : {
+                      "allowedMethods" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "string"
+                        },
+                        "uniqueItems" : true
+                      },
+                      "cookies" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "object",
+                          "properties" : {
+                            "comment" : {
+                              "type" : "string"
+                            },
+                            "domain" : {
+                              "type" : "string"
+                            },
+                            "expiry" : {
+                              "type" : "string",
+                              "format" : "date-time"
+                            },
+                            "httpOnly" : {
+                              "type" : "boolean"
+                            },
+                            "maxAge" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            },
+                            "name" : {
+                              "type" : "string"
+                            },
+                            "path" : {
+                              "type" : "string"
+                            },
+                            "secure" : {
+                              "type" : "boolean"
+                            },
+                            "value" : {
+                              "type" : "string"
+                            },
+                            "version" : {
+                              "type" : "integer",
+                              "format" : "int32"
+                            }
+                          }
+                        }
+                      },
+                      "date" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "entity" : {
+                        "type" : "object"
+                      },
+                      "entityTag" : {
+                        "type" : "object",
+                        "properties" : {
+                          "value" : {
+                            "type" : "string"
+                          },
+                          "weak" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "headers" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "language" : {
+                        "type" : "object",
+                        "properties" : {
+                          "country" : {
+                            "type" : "string"
+                          },
+                          "displayCountry" : {
+                            "type" : "string"
+                          },
+                          "displayLanguage" : {
+                            "type" : "string"
+                          },
+                          "displayName" : {
+                            "type" : "string"
+                          },
+                          "displayScript" : {
+                            "type" : "string"
+                          },
+                          "displayVariant" : {
+                            "type" : "string"
+                          },
+                          "extensionKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "iso3Country" : {
+                            "type" : "string"
+                          },
+                          "iso3Language" : {
+                            "type" : "string"
+                          },
+                          "language" : {
+                            "type" : "string"
+                          },
+                          "script" : {
+                            "type" : "string"
+                          },
+                          "unicodeLocaleAttributes" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "unicodeLocaleKeys" : {
+                            "type" : "array",
+                            "items" : {
+                              "type" : "string"
+                            },
+                            "uniqueItems" : true
+                          },
+                          "variant" : {
+                            "type" : "string"
+                          }
+                        }
+                      },
+                      "lastModified" : {
+                        "type" : "string",
+                        "format" : "date-time"
+                      },
+                      "length" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "links" : {
+                        "type" : "array",
+                        "items" : {
+                          "type" : "object",
+                          "properties" : {
+                            "params" : {
+                              "type" : "object",
+                              "additionalProperties" : {
+                                "type" : "string"
+                              }
+                            },
+                            "rel" : {
+                              "type" : "string"
+                            },
+                            "rels" : {
+                              "type" : "array",
+                              "items" : {
+                                "type" : "string"
+                              }
+                            },
+                            "title" : {
+                              "type" : "string"
+                            },
+                            "type" : {
+                              "type" : "string"
+                            },
+                            "uri" : {
+                              "type" : "string",
+                              "format" : "uri"
+                            },
+                            "uriBuilder" : {
+                              "type" : "object"
+                            }
+                          }
+                        },
+                        "uniqueItems" : true
+                      },
+                      "location" : {
+                        "type" : "string",
+                        "format" : "uri"
+                      },
+                      "mediaType" : {
+                        "type" : "object",
+                        "properties" : {
+                          "parameters" : {
+                            "type" : "object",
+                            "additionalProperties" : {
+                              "type" : "string"
+                            }
+                          },
+                          "subtype" : {
+                            "type" : "string"
+                          },
+                          "type" : {
+                            "type" : "string"
+                          },
+                          "wildcardSubtype" : {
+                            "type" : "boolean"
+                          },
+                          "wildcardType" : {
+                            "type" : "boolean"
+                          }
+                        }
+                      },
+                      "metadata" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "object"
+                          }
+                        }
+                      },
+                      "status" : {
+                        "type" : "integer",
+                        "format" : "int32"
+                      },
+                      "statusInfo" : {
+                        "type" : "object",
+                        "properties" : {
+                          "family" : {
+                            "type" : "string",
+                            "enum" : [ "INFORMATIONAL", "SUCCESSFUL", "REDIRECTION", "CLIENT_ERROR", "SERVER_ERROR", "OTHER" ]
+                          },
+                          "reasonPhrase" : {
+                            "type" : "string"
+                          },
+                          "statusCode" : {
+                            "type" : "integer",
+                            "format" : "int32"
+                          }
+                        }
+                      },
+                      "stringHeaders" : {
+                        "type" : "object",
+                        "additionalProperties" : {
+                          "type" : "array",
+                          "items" : {
+                            "type" : "string"
+                          }
+                        }
+                      }
+                    }
+                  }
+                }
+              }
+            }
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "summary" : "Returns updated Component Instance Capability",
+        "tags" : [ "SDCE-2 APIs" ]
+      }
+    },
     "/v1/catalog/{containerComponentType}/{containerComponentId}/componentInstances/{componentInstanceUniqueId}/capability/{capabilityType}/capabilityName/{capabilityName}/ownerId/{ownerId}/properties" : {
       "get" : {
         "description" : "Get component instance capability properties",
@@ -40594,7 +41983,7 @@
     "/v1/catalog/{containerComponentType}/{containerComponentId}/componentInstances/{componentInstanceUniqueId}/requirement/{capabilityType}/requirementName/{requirementName}" : {
       "put" : {
         "description" : "Update Instance Requirement",
-        "operationId" : "updateInstanceRequirement",
+        "operationId" : "updateInstanceRequirement_1",
         "parameters" : [ {
           "in" : "path",
           "name" : "containerComponentType",
@@ -42715,6 +44104,57 @@
         "tags" : [ "SDCE-2 APIs" ]
       }
     },
+    "/v1/category/{componentType}/{categoryName}/baseTypes" : {
+      "get" : {
+        "description" : "Get base types for category",
+        "operationId" : "getCategoryBaseTypes",
+        "parameters" : [ {
+          "in" : "path",
+          "name" : "categoryName",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "path",
+          "name" : "componentType",
+          "required" : true,
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "in" : "header",
+          "name" : "USER_ID",
+          "schema" : {
+            "type" : "string"
+          }
+        }, {
+          "description" : "model",
+          "in" : "query",
+          "name" : "model",
+          "schema" : {
+            "type" : "string"
+          }
+        } ],
+        "responses" : {
+          "200" : {
+            "description" : "Returns base types Ok"
+          },
+          "404" : {
+            "description" : "No base types were found"
+          },
+          "500" : {
+            "description" : "Internal Server Error"
+          }
+        },
+        "servers" : [ {
+          "url" : "/sdc2/rest",
+          "variables" : { }
+        } ],
+        "summary" : "Get base types for category",
+        "tags" : [ "SDCE-2 APIs" ]
+      }
+    },
     "/v1/category/{componentType}/{categoryUniqueId}" : {
       "delete" : {
         "description" : "Delete component category",
@@ -44541,6 +45981,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -44713,6 +46156,12 @@
           "empty" : {
             "type" : "boolean"
           },
+          "external" : {
+            "type" : "boolean"
+          },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -44786,6 +46235,12 @@
           "empty" : {
             "type" : "boolean"
           },
+          "external" : {
+            "type" : "boolean"
+          },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -44974,6 +46429,9 @@
           "lifecycleState" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -45312,6 +46770,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -45366,6 +46827,40 @@
           }
         }
       },
+      "ComponentInstanceCapabilityUpdateModel" : {
+        "type" : "object",
+        "properties" : {
+          "external" : {
+            "type" : "boolean"
+          },
+          "name" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 1
+          },
+          "ownerId" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 1
+          },
+          "ownerName" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 1
+          },
+          "type" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 1
+          },
+          "uniqueId" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 1
+          }
+        },
+        "required" : [ "external", "name", "ownerId", "ownerName", "type", "uniqueId" ]
+      },
       "ComponentInstanceInput" : {
         "type" : "object",
         "properties" : {
@@ -45442,12 +46937,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -45512,6 +47013,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -45564,6 +47069,9 @@
             "type" : "integer",
             "format" : "int64"
           },
+          "model" : {
+            "type" : "string"
+          },
           "operations" : {
             "type" : "object",
             "additionalProperties" : {
@@ -45636,6 +47144,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -45759,12 +47270,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -45823,6 +47340,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -45924,9 +47445,6 @@
           "consumerBusinessLogic" : {
             "type" : "boolean"
           },
-          "dcae" : {
-            "$ref" : "#/components/schemas/DcaeConfig"
-          },
           "defaultImports" : {
             "type" : "array",
             "items" : {
@@ -46173,10 +47691,6 @@
             "type" : "boolean"
           },
           "skipUpgradeVSPs" : {
-            "type" : "boolean",
-            "writeOnly" : true
-          },
-          "skipUpgradeVSPsFlag" : {
             "type" : "boolean"
           },
           "startMigrationFrom" : {
@@ -46184,10 +47698,6 @@
             "format" : "int32"
           },
           "supportAllottedResourcesAndProxy" : {
-            "type" : "boolean",
-            "writeOnly" : true
-          },
-          "supportAllottedResourcesAndProxyFlag" : {
             "type" : "boolean"
           },
           "switchoverDetector" : {
@@ -46416,6 +47926,9 @@
           "empty" : {
             "type" : "boolean"
           },
+          "model" : {
+            "type" : "string"
+          },
           "modificationTime" : {
             "type" : "integer",
             "format" : "int64"
@@ -46453,24 +47966,6 @@
           }
         }
       },
-      "DcaeConfig" : {
-        "type" : "object",
-        "properties" : {
-          "healthCheckUri" : {
-            "type" : "string"
-          },
-          "host" : {
-            "type" : "string"
-          },
-          "port" : {
-            "type" : "integer",
-            "format" : "int32"
-          },
-          "protocol" : {
-            "type" : "string"
-          }
-        }
-      },
       "DistributionStatusInfo" : {
         "type" : "object",
         "properties" : {
@@ -46946,6 +48441,9 @@
           "inputName" : {
             "type" : "string"
           },
+          "inputType" : {
+            "type" : "string"
+          },
           "list" : {
             "type" : "boolean"
           },
@@ -47283,12 +48781,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -47335,6 +48839,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -47392,6 +48900,9 @@
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "modificationTime" : {
             "type" : "integer",
             "format" : "int64"
@@ -47599,12 +49110,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -47651,6 +49168,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -47741,12 +49262,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -47799,6 +49326,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -47842,6 +49373,9 @@
             "type" : "integer",
             "format" : "int64"
           },
+          "model" : {
+            "type" : "string"
+          },
           "operations" : {
             "type" : "object",
             "additionalProperties" : {
@@ -48111,6 +49645,9 @@
       "MetadataKeyDataDefinition" : {
         "type" : "object",
         "properties" : {
+          "defaultValue" : {
+            "type" : "string"
+          },
           "empty" : {
             "type" : "boolean"
           },
@@ -48141,6 +49678,39 @@
           }
         }
       },
+      "Model" : {
+        "type" : "object",
+        "properties" : {
+          "derivedFrom" : {
+            "type" : "string"
+          },
+          "modelType" : {
+            "type" : "string",
+            "enum" : [ "NORMATIVE", "NORMATIVE_EXTENSION" ]
+          },
+          "name" : {
+            "type" : "string"
+          }
+        }
+      },
+      "ModelCreateRequest" : {
+        "type" : "object",
+        "properties" : {
+          "derivedFrom" : {
+            "type" : "string"
+          },
+          "modelType" : {
+            "type" : "string",
+            "enum" : [ "NORMATIVE", "NORMATIVE_EXTENSION" ]
+          },
+          "name" : {
+            "type" : "string",
+            "maxLength" : 2147483647,
+            "minLength" : 2
+          }
+        },
+        "required" : [ "name" ]
+      },
       "NameIdPair" : {
         "type" : "object",
         "additionalProperties" : {
@@ -48218,7 +49788,13 @@
       "OnboardingConfig" : {
         "type" : "object",
         "properties" : {
-          "downloadCsarUri" : {
+          "getLatestVspPackageUri" : {
+            "type" : "string"
+          },
+          "getVspPackageUri" : {
+            "type" : "string"
+          },
+          "getVspUri" : {
             "type" : "string"
           },
           "healthCheckUri" : {
@@ -48369,12 +49945,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -48430,6 +50012,10 @@
           "toscaDefaultValue" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -48515,12 +50101,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -48567,6 +50159,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -48640,6 +50236,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -48765,12 +50364,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -48844,6 +50449,10 @@
               }
             }
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -48900,6 +50509,9 @@
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "modificationTime" : {
             "type" : "integer",
             "format" : "int64"
@@ -49011,12 +50623,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -49063,6 +50681,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -49140,12 +50762,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -49192,6 +50820,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -49342,6 +50974,9 @@
           "external" : {
             "type" : "boolean"
           },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -49408,6 +51043,9 @@
           "external" : {
             "type" : "boolean"
           },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -49735,6 +51373,9 @@
           "csarVersion" : {
             "type" : "string"
           },
+          "csarVersionId" : {
+            "type" : "string"
+          },
           "dataTypes" : {
             "type" : "array",
             "items" : {
@@ -49827,6 +51468,9 @@
             "type" : "string",
             "enum" : [ "CERTIFIED", "NOT_CERTIFIED_CHECKIN", "NOT_CERTIFIED_CHECKOUT" ]
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -49894,12 +51538,6 @@
           "substitutionFilter" : {
             "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
           },
-          "substitutionFilterComponents" : {
-            "type" : "object",
-            "additionalProperties" : {
-              "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
-            }
-          },
           "systemName" : {
             "type" : "string"
           },
@@ -50233,6 +51871,9 @@
             "type" : "string",
             "enum" : [ "CERTIFIED", "NOT_CERTIFIED_CHECKIN", "NOT_CERTIFIED_CHECKOUT" ]
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -50315,12 +51956,6 @@
           "substitutionFilter" : {
             "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
           },
-          "substitutionFilterComponents" : {
-            "type" : "object",
-            "additionalProperties" : {
-              "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
-            }
-          },
           "systemName" : {
             "type" : "string"
           },
diff --git a/docs/swagger/swagger-sdce-7.json b/docs/swagger/swagger-sdce-7.json
index c949cd3..603d33b 100644
--- a/docs/swagger/swagger-sdce-7.json
+++ b/docs/swagger/swagger-sdce-7.json
@@ -3878,6 +3878,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -3968,6 +3971,12 @@
           "empty" : {
             "type" : "boolean"
           },
+          "external" : {
+            "type" : "boolean"
+          },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -4041,6 +4050,12 @@
           "empty" : {
             "type" : "boolean"
           },
+          "external" : {
+            "type" : "boolean"
+          },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -4416,6 +4431,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -4546,12 +4564,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -4616,6 +4640,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -4668,6 +4696,9 @@
             "type" : "integer",
             "format" : "int64"
           },
+          "model" : {
+            "type" : "string"
+          },
           "operations" : {
             "type" : "object",
             "additionalProperties" : {
@@ -4740,6 +4771,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -4863,12 +4897,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -4927,6 +4967,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -5016,6 +5060,9 @@
           "empty" : {
             "type" : "boolean"
           },
+          "model" : {
+            "type" : "string"
+          },
           "modificationTime" : {
             "type" : "integer",
             "format" : "int64"
@@ -5097,6 +5144,9 @@
           "inputName" : {
             "type" : "string"
           },
+          "inputType" : {
+            "type" : "string"
+          },
           "list" : {
             "type" : "boolean"
           },
@@ -5519,12 +5569,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -5571,6 +5627,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -5661,12 +5721,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -5719,6 +5785,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -5762,6 +5832,9 @@
             "type" : "integer",
             "format" : "int64"
           },
+          "model" : {
+            "type" : "string"
+          },
           "operations" : {
             "type" : "object",
             "additionalProperties" : {
@@ -5987,6 +6060,9 @@
       "MetadataKeyDataDefinition" : {
         "type" : "object",
         "properties" : {
+          "defaultValue" : {
+            "type" : "string"
+          },
           "empty" : {
             "type" : "boolean"
           },
@@ -6150,12 +6226,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6211,6 +6293,10 @@
           "toscaDefaultValue" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -6296,12 +6382,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6348,6 +6440,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -6421,6 +6517,9 @@
           "instanceUniqueId" : {
             "type" : "string"
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6532,12 +6631,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6611,6 +6716,10 @@
               }
             }
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -6699,12 +6808,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6751,6 +6866,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -6828,12 +6947,18 @@
           "label" : {
             "type" : "string"
           },
+          "mappedToComponentProperty" : {
+            "type" : "boolean"
+          },
           "metadata" : {
             "type" : "object",
             "additionalProperties" : {
               "type" : "string"
             }
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -6880,6 +7005,10 @@
           "subPropertyInputPath" : {
             "type" : "string"
           },
+          "toscaGetFunctionType" : {
+            "type" : "string",
+            "enum" : [ "GET_INPUT", "GET_PROPERTY", "GET_ATTRIBUTE" ]
+          },
           "type" : {
             "type" : "string"
           },
@@ -6999,6 +7128,9 @@
           "external" : {
             "type" : "boolean"
           },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -7065,6 +7197,9 @@
           "external" : {
             "type" : "boolean"
           },
+          "externalName" : {
+            "type" : "string"
+          },
           "leftOccurrences" : {
             "type" : "string"
           },
@@ -7392,6 +7527,9 @@
           "csarVersion" : {
             "type" : "string"
           },
+          "csarVersionId" : {
+            "type" : "string"
+          },
           "dataTypes" : {
             "type" : "array",
             "items" : {
@@ -7484,6 +7622,9 @@
             "type" : "string",
             "enum" : [ "CERTIFIED", "NOT_CERTIFIED_CHECKIN", "NOT_CERTIFIED_CHECKOUT" ]
           },
+          "model" : {
+            "type" : "string"
+          },
           "name" : {
             "type" : "string"
           },
@@ -7551,12 +7692,6 @@
           "substitutionFilter" : {
             "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
           },
-          "substitutionFilterComponents" : {
-            "type" : "object",
-            "additionalProperties" : {
-              "$ref" : "#/components/schemas/SubstitutionFilterDataDefinition"
-            }
-          },
           "systemName" : {
             "type" : "string"
           },