This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
{ | |
"type": "object", | |
"properties": { | |
"apis": { | |
"title": "APIs", | |
"type": "array", | |
"items": { | |
"type": "object", | |
"title": "API", | |
"required": ["organizationId", "apiId", "version", "endpoint", "endpointType", "endpointContentType"], | |
"properties": { | |
"publicApi": { | |
"title": "Public API", | |
"type": "boolean", | |
"default": false | |
}, | |
"organizationId": { | |
"title": "Organization identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"apiId": { | |
"title": "API identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"version": { | |
"title": "Version identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"endpoint": { | |
"title": "Endpoint URI", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"endpointType": { | |
"title": "Endpoint type", | |
"enum": ["rest", "soap"], | |
"minLength": 1 | |
}, | |
"endpointContentType": { | |
"title": "Endpoint Content Type", | |
"description": "Gateway's content type when responding with errors/failures.", | |
"enum": ["json", "xml"] | |
}, | |
"endpointProperties": { | |
"title": "Endpoint properties", | |
"type": "object", | |
"patternProperties": { | |
".{1,}": { "type": "string" } | |
} | |
}, | |
"parsePayload": { | |
"title": "Parse payload", | |
"description": "Parse whole payload upfront (reduces performance).", | |
"type": "boolean", | |
"default": false | |
}, | |
"apiPolicies": { "$ref": "#/definitions/policies" } | |
} | |
} | |
}, | |
"clients": { | |
"title": "Clients", | |
"type": "array", | |
"required": ["organizationId", "clientId", "version", "apiKey"], | |
"items": { | |
"type": "object", | |
"title": "Client", | |
"properties": { | |
"organizationId": { | |
"title": "Organization identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"clientId": { | |
"title": "Client identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"version": { | |
"title": "Version identifier", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"apiKey": { | |
"title": "API Key", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"contracts": { | |
"title": "Contracts", | |
"type": "array", | |
"required": ["apiOrgId", "apiId", "apiVersion", "plan"], | |
"items": { | |
"title": "Contract", | |
"type": "object", | |
"properties": { | |
"apiOrgId": { | |
"title": "API Organization ID", | |
"description": "Organization of API chosen. Must map to a valid API Organization ID.", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"apiId": { | |
"title": "API ID", | |
"description": "API chosen. Must map to a valid API ID.", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"apiVersion": { | |
"title": "API Version", | |
"description": "Version of API chosen. Must map to a valid API Version.", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"plan": { | |
"title": "Plan Name", | |
"description": "Name of plan.", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"policies": { "$ref": "#/definitions/policies" } | |
} | |
} | |
} | |
} | |
} | |
} | |
}, | |
"definitions": { | |
"policies": { | |
"title": "Policies", | |
"type": "array", | |
"items": { | |
"title": "Policy", | |
"type": "object", | |
"required": ["policyJsonConfig", "policyImpl"], | |
"properties": { | |
"policyJsonConfig": { | |
"title": "Policy JSON config", | |
"description": "The policy's escaped/serialised configuration.", | |
"type": "string", | |
"minLength": 1 | |
}, | |
"policyImpl": { | |
"title": "Policy implementation.", | |
"description": "Policy implementation coordinates", | |
"type": "string", | |
"minLength": 1, | |
"pattern": "^(class:.+)|(plugin:(.+?):(.+?):(.+?):war\\/.+)$" | |
} | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment