summaryrefslogtreecommitdiffstats
path: root/src/orchestrator/api/json-schemas/generic-placement-intent-app.json
diff options
context:
space:
mode:
authorEric Multanen <eric.w.multanen@intel.com>2020-08-21 00:11:26 +0000
committerGerrit Code Review <gerrit@onap.org>2020-08-21 00:11:26 +0000
commit38ed3fbf85636ad5f73538c2de07cce72499f5bf (patch)
tree0b0df9525e67e0180c00abaa078d07fc9b5d9e08 /src/orchestrator/api/json-schemas/generic-placement-intent-app.json
parenta5ffa8aadf49bb92371f06797b264e0bf4c264e2 (diff)
parent6fc3a329aba55dfa2d4867bde9d8a3126b45f59a (diff)
Merge "Add Validation for API's"
Diffstat (limited to 'src/orchestrator/api/json-schemas/generic-placement-intent-app.json')
-rw-r--r--src/orchestrator/api/json-schemas/generic-placement-intent-app.json117
1 files changed, 117 insertions, 0 deletions
diff --git a/src/orchestrator/api/json-schemas/generic-placement-intent-app.json b/src/orchestrator/api/json-schemas/generic-placement-intent-app.json
new file mode 100644
index 00000000..0b6447c2
--- /dev/null
+++ b/src/orchestrator/api/json-schemas/generic-placement-intent-app.json
@@ -0,0 +1,117 @@
+{
+ "$schema": "http://json-schema.org/schema#",
+ "type": "object",
+ "properties": {
+ "spec": {
+ "properties": {
+ "app-name": {
+ "type": "string",
+ "example": "appl",
+ "maxLength": 128
+ },
+ "anyOf": {
+ "items": {
+ "type": "object",
+ "description": "AnyOf consists of Array of ProviderName & ClusterLabelNames",
+ "properties": {
+ "cluster-label-name": {
+ "type": "string",
+ "example": "east",
+ "maxLength": 128
+ },
+ "provider-name": {
+ "type": "string",
+ "example": "provider1",
+ "maxLength": 128
+ },
+ "cluster-name": {
+ "type": "string",
+ "example": "cluster1",
+ "maxLength": 128
+ }
+ }
+ },
+ "type": "array"
+ },
+ "allOf": {
+ "items": {
+ "type": "object",
+ "description": "AllOf ProviderName, ClusterName, ClusterLabelName and AnyOfArray",
+ "properties": {
+ "provider-name": {
+ "type": "string",
+ "example": "provider2",
+ "maxLength": 128
+ },
+ "cluster-label-name": {
+ "type": "string",
+ "example": "west",
+ "maxLength": 128
+ },
+ "anyOf": {
+ "items": {
+ "type": "object",
+ "description": "AnyOf consists of Array of ProviderName & ClusterLabelNames",
+ "properties": {
+ "cluster-label-name": {
+ "type": "string",
+ "example": "east",
+ "maxLength": 128
+ },
+ "provider-name": {
+ "type": "string",
+ "example": "provider1",
+ "maxLength": 128
+ },
+ "cluster-name": {
+ "type": "string",
+ "example": "cluster1",
+ "maxLength": 128
+ }
+ }
+ },
+ "type": "array"
+ },
+ "cluster-name": {
+ "type": "string",
+ "example": "cluster2",
+ "maxLength": 128
+ }
+ }
+ },
+ "type": "array"
+ }
+ }
+ },
+ "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