summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/api/json-schemas/controller.json
diff options
context:
space:
mode:
authorRitu Sood <ritu.sood@intel.com>2020-08-04 14:46:34 -0700
committerRitu Sood <ritu.sood@intel.com>2020-08-20 11:42:12 -0700
commit6fc3a329aba55dfa2d4867bde9d8a3126b45f59a (patch)
tree21e39a03255198a8f0781a78ad9e2ade1f3c28ed /src/orchestrator/api/json-schemas/controller.json
parent6e5ca4741dab0de3b4d89f410f0ff9d0313d6aee (diff)
Add Validation for API's
Adding input validations for API based on Json schemas Issue-ID: MULTICLOUD-1096 Signed-off-by: Ritu Sood <ritu.sood@intel.com> Change-Id: If6591bdef6305f87cbce7ef56d894376f687c6c1
Diffstat (limited to 'src/orchestrator/api/json-schemas/controller.json')
-rw-r--r--src/orchestrator/api/json-schemas/controller.json73
1 files changed, 73 insertions, 0 deletions
diff --git a/src/orchestrator/api/json-schemas/controller.json b/src/orchestrator/api/json-schemas/controller.json
new file mode 100644
index 00000000..3263ff21
--- /dev/null
+++ b/src/orchestrator/api/json-schemas/controller.json
@@ -0,0 +1,73 @@
+{
+ "$schema": "http://json-schema.org/schema#",
+ "type": "object",
+ "properties": {
+ "spec": {
+ "required": [
+ "host",
+ "port",
+ "type",
+ "priority"
+ ],
+ "type": "object",
+ "properties": {
+ "priority": {
+ "description": "Priority of controller to be called",
+ "type": "integer",
+ "example": 4,
+ "minimum": 0,
+ "maximum": 100
+ },
+ "host": {
+ "description": "Controller reachibility information",
+ "type": "string",
+ "example": "10.7.100.4",
+ "maxLength": 128
+ },
+ "type": {
+ "description": "Type of controller (placement, action are 2 types supported)",
+ "type": "string",
+ "example": "placement",
+ "maxLength": 48
+ },
+ "port": {
+ "description": "Port for controller",
+ "type": "integer",
+ "minimum": 0,
+ "maximum": 50000,
+ "example": 9029
+ }
+ }
+ },
+ "metadata": {
+ "required": ["name"],
+ "properties": {
+ "userData2": {
+ "description": "User relevant data for the resource",
+ "type": "string",
+ "example": "Some more data",
+ "maxLength": 512
+ },
+ "userData1": {
+ "description": "User relevant data for the resource",
+ "type": "string",
+ "example": "Some data",
+ "maxLength": 512
+ },
+ "name": {
+ "description": "Name of the resource",
+ "type": "string",
+ "example": "ResName",
+ "maxLength": 128,
+ "pattern": "[-_0-9a-zA-Z]+$"
+ },
+ "description": {
+ "description": "Description for the resource",
+ "type": "string",
+ "example": "Resource description",
+ "maxLength": 1024
+ }
+ }
+ }
+ }
+ } \ No newline at end of file