Feature 11073: Enhanced OSM declarative modelling for applications. App as first class citizen

Change-Id: Id4b4b188e02000f8df033d8851394314c3795762
Signed-off-by: garciadeblas <gerardo.garciadeblas@telefonica.com>
diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py
index 2272fa0..349ca05 100644
--- a/osm_nbi/validation.py
+++ b/osm_nbi/validation.py
@@ -1827,6 +1827,26 @@
 }
 
 
+app_instance_schema = {
+    "title": "app instance schema",
+    "$schema": "http://json-schema.org/draft-07/schema#",
+    "type": "object",
+    "properties": {
+        "name": name_schema,
+        "description": description_schema,
+        "profile": id_schema,
+        "profile_type": profile_type_schema,
+        "oka": id_schema,
+        "sw_catalog_path": string_schema,
+        "model": object_schema,
+        "params": object_schema,
+        "secret_params": object_schema,
+    },
+    "additionalProperties": False,
+    "required": ["name", "profile", "profile_type"],
+}
+
+
 class ValidationError(Exception):
     def __init__(self, message, http_code=HTTPStatus.UNPROCESSABLE_ENTITY):
         self.http_code = http_code