Feature 10904: Make all deployment methods optional for K8s cluster

Change-Id: Ie299c87b647a25d838e698da841cc27e5bb478e2
Signed-off-by: Gabriel Cuba <gcuba@whitestack.com>
diff --git a/osm_nbi/validation.py b/osm_nbi/validation.py
index 3fec364..ae9644c 100644
--- a/osm_nbi/validation.py
+++ b/osm_nbi/validation.py
@@ -718,6 +718,18 @@
 }
 
 # K8s Clusters
+k8scluster_deploy_method_schema = {
+    "$schema": "http://json-schema.org/draft-04/schema#",
+    "title": "Deployment methods for K8s cluster",
+    "type": "object",
+    "properties": {
+        "helm-chart": {"type": "boolean"},
+        "juju-bundle": {"type": "boolean"},
+        "helm-chart-v3": {"type": "boolean"},
+    },
+    "additionalProperties": False,
+    "minProperties": 3,
+}
 k8scluster_nets_schema = {
     "title": "k8scluster nets input schema",
     "$schema": "http://json-schema.org/draft-04/schema#",
@@ -740,6 +752,7 @@
         "vca_id": id_schema,
         "k8s_version": string_schema,
         "nets": k8scluster_nets_schema,
+        "deployment_methods": k8scluster_deploy_method_schema,
         "namespace": name_schema,
         "cni": nameshort_list_schema,
     },