github.com/Tyktechnologies/tyk@v2.9.5+incompatible/apidef/schema.go (about) 1 package apidef 2 3 const Schema = `{ 4 "type": ["object", "null"], 5 "$schema": "http://json-schema.org/draft-04/schema", 6 "id": "http://jsonschema.net", 7 "additionalProperties": false, 8 "properties": { 9 "is_site": { 10 "type": "boolean" 11 }, 12 "uptime_tests": { 13 "type": ["object", "null"] 14 }, 15 "expire_analytics_after": { 16 "type": "number" 17 }, 18 "id": { 19 "type": "string" 20 }, 21 "org_id": { 22 "type": "string" 23 }, 24 "api_id": { 25 "type": "string" 26 }, 27 "enable_ip_whitelisting": { 28 "type": "boolean" 29 }, 30 "enable_ip_blacklisting": { 31 "type": "boolean" 32 }, 33 "enable_context_vars": { 34 "type": "boolean" 35 }, 36 "strip_auth_data": { 37 "type": "boolean" 38 }, 39 "do_not_track": { 40 "type": "boolean" 41 }, 42 "enable_jwt": { 43 "type": "boolean" 44 }, 45 "use_openid": { 46 "type": "boolean" 47 }, 48 "openid_options": { 49 "type": ["object", "null"] 50 }, 51 "use_standard_auth": { 52 "type": "boolean" 53 }, 54 "use_go_plugin_auth": { 55 "type": "boolean" 56 }, 57 "enable_coprocess_auth": { 58 "type": "boolean" 59 }, 60 "jwt_skip_kid": { 61 "type": "boolean" 62 }, 63 "base_identity_provided_by": { 64 "type": "string" 65 }, 66 "disable_rate_limit": { 67 "type": "boolean" 68 }, 69 "disable_quota": { 70 "type": "boolean" 71 }, 72 "custom_middleware_bundle": { 73 "type": "string" 74 }, 75 "jwt_policy_field_name": { 76 "type": "string" 77 }, 78 "jwt_default_policies": { 79 "type": ["array", "null"] 80 }, 81 "jwt_signing_method": { 82 "type": "string" 83 }, 84 "jwt_source": { 85 "type": "string" 86 }, 87 "jwt_identity_base_field": { 88 "type": "string" 89 }, 90 "jwt_client_base_field": { 91 "type": "string" 92 }, 93 "jwt_disable_issued_at_validation": { 94 "type": "boolean" 95 }, 96 "jwt_disable_expires_at_validation": { 97 "type": "boolean" 98 }, 99 "jwt_disable_not_before_validation": { 100 "type": "boolean" 101 }, 102 "jwt_issued_at_validation_skew": { 103 "type": "number" 104 }, 105 "jwt_expires_at_validation_skew": { 106 "type": "number" 107 }, 108 "jwt_not_before_validation_skew": { 109 "type": "number" 110 }, 111 "jwt_scope_to_policy_mapping": { 112 "type": ["object", "null"] 113 }, 114 "jwt_scope_claim_name": { 115 "type": "string" 116 }, 117 "use_keyless": { 118 "type": "boolean" 119 }, 120 "use_basic_auth": { 121 "type": "boolean" 122 }, 123 "use_mutual_tls_auth": { 124 "type": "boolean" 125 }, 126 "client_certificates": { 127 "type": ["array", "null"] 128 }, 129 "upstream_certificates": { 130 "type": ["object", "null"] 131 }, 132 "pinned_public_keys": { 133 "type": ["object", "null"] 134 }, 135 "allowed_ips": { 136 "type": ["array", "null"] 137 }, 138 "blacklisted_ips": { 139 "type": ["array", "null"] 140 }, 141 "enable_batch_request_support": { 142 "type": "boolean" 143 }, 144 "event_handlers": { 145 "type":["object", "null"] 146 }, 147 "notifications": { 148 "type":["object", "null"] 149 }, 150 "use_oauth2": { 151 "type": "boolean" 152 }, 153 "oauth_meta": { 154 "type":["object", "null"] 155 }, 156 "cache_options": { 157 "type":["object", "null"] 158 }, 159 "tags": { 160 "type": ["array", "null"] 161 }, 162 "tag_headers": { 163 "type": ["array", "null"] 164 }, 165 "basic_auth": { 166 "type": ["object", "null"] 167 }, 168 "CORS": { 169 "type":["object", "null"] 170 }, 171 "response_processors": { 172 "type": ["array", "null"] 173 }, 174 "auth_provider": { 175 "type":["object", "null"], 176 "properties": { 177 "name": { 178 "type": "string", 179 "enum": [""] 180 }, 181 "storage_engine": { 182 "type": "string", 183 "enum": [""] 184 } 185 } 186 }, 187 "session_provider": { 188 "type":["object", "null"], 189 "properties": { 190 "name": { 191 "type": "string", 192 "enum": [""] 193 }, 194 "storage_engine": { 195 "type": "string", 196 "enum": [""] 197 } 198 } 199 }, 200 "hmac_allowed_clock_skew": { 201 "type": "number" 202 }, 203 "hmac_allowed_algorithms": { 204 "type": ["array", "null"] 205 }, 206 "dont_set_quota_on_create": { 207 "type": "boolean" 208 }, 209 "custom_middleware": { 210 "type":["object", "null"], 211 "properties": { 212 "pre": { 213 "type": ["array", "null"] 214 }, 215 "post": { 216 "type": ["array", "null"] 217 } 218 } 219 }, 220 "session_lifetime": { 221 "type": "number" 222 }, 223 "enable_detailed_recording": { 224 "type": "boolean" 225 }, 226 "enable_signature_checking": { 227 "type": "boolean" 228 }, 229 "active": { 230 "type": "boolean" 231 }, 232 "internal": { 233 "type": "boolean" 234 }, 235 "auth": { 236 "type": ["object", "null"], 237 "id": "http://jsonschema.net/auth", 238 "properties": { 239 "auth_header_name": { 240 "type": "string", 241 "id": "http://jsonschema.net/auth/auth_header_name" 242 }, 243 "use_certificate": { 244 "type": "boolean" 245 } 246 } 247 }, 248 "auth_configs":{ 249 "type": ["object", "null"] 250 }, 251 "definition": { 252 "type": ["object", "null"], 253 "id": "http://jsonschema.net/definition", 254 "properties": { 255 "key": { 256 "type": "string", 257 "id": "http://jsonschema.net/definition/key" 258 }, 259 "location": { 260 "type": "string", 261 "id": "http://jsonschema.net/definition/location" 262 }, 263 "strip_path": { 264 "type": "boolean", 265 "id": "http://jsonschema.net/definition/location" 266 } 267 }, 268 "required": [ 269 "key", 270 "location" 271 ] 272 }, 273 "name": { 274 "type": "string", 275 "id": "http://jsonschema.net/name" 276 }, 277 "slug": { 278 "type": "string", 279 "pattern": "[a-zA-Z0-9]*", 280 "id": "http://jsonschema.net/name" 281 }, 282 "domain": { 283 "type": "string" 284 }, 285 "listen_port": { 286 "type": "number" 287 }, 288 "protocol": { 289 "type": "string" 290 }, 291 "enable_proxy_protocol": { 292 "type": "boolean" 293 }, 294 "certificates": { 295 "type": ["array", "null"] 296 }, 297 "check_host_against_uptime_tests": { 298 "type": "boolean" 299 }, 300 "proxy": { 301 "type": ["object", "null"], 302 "id": "http://jsonschema.net/proxy", 303 "properties": { 304 "target_url": { 305 "type": "string", 306 "id": "http://jsonschema.net/proxy/target_url" 307 }, 308 "check_host_against_uptime_tests": { 309 "type": "boolean" 310 }, 311 "preserve_host_header": { 312 "type": "boolean" 313 }, 314 "transport": { 315 "type": ["object", "null"], 316 "properties": { 317 "ssl_ciphers": { 318 "type": ["array", "null"] 319 }, 320 "ssl_min_version": { 321 "type": "number" 322 }, 323 "proxy_url": { 324 "type": "string" 325 }, 326 "ssl_force_common_name_check": { 327 "type": "boolean" 328 } 329 } 330 } 331 }, 332 "required": [ 333 "target_url" 334 ] 335 }, 336 "hook_references": { 337 "type": ["object", "null"] 338 }, 339 "version_data": { 340 "type": ["object", "null"], 341 "id": "http://jsonschema.net/version_data", 342 "properties": { 343 "not_versioned": { 344 "type": "boolean", 345 "id": "http://jsonschema.net/version_data/not_versioned" 346 }, 347 "default_version":{ 348 "type": "string", 349 "id": "http://jsonschema.net/version_data/default_version" 350 }, 351 "versions": { 352 "type": ["object", "null"], 353 "id": "http://jsonschema.net/version_data/versions", 354 "patternProperties": { 355 "^[a-zA-Z0-9]+$": { 356 "title": "versionInfoProperty", 357 "type": ["object", "null"], 358 "id": "http://jsonschema.net/access_rights/versionInfoProperty", 359 "properties": { 360 "expires": { 361 "type": "string", 362 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/expires" 363 }, 364 "name": { 365 "type": "string", 366 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/name" 367 }, 368 "paths": { 369 "type": ["object", "null"], 370 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/paths", 371 "properties": { 372 "black_list": { 373 "type": ["array", "null"], 374 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/paths/black_list" 375 }, 376 "ignored": { 377 "type": ["array", "null"], 378 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/paths/ignored" 379 }, 380 "white_list": { 381 "type": ["array", "null"], 382 "id": "http://jsonschema.net/version_data/versions/versionInfoProperty/paths/white_list" 383 } 384 } 385 } 386 }, 387 "required": [ 388 "name" 389 ] 390 } 391 } 392 } 393 }, 394 "required": [ 395 "not_versioned", 396 "versions" 397 ] 398 }, 399 "config_data": { 400 "type": ["object", "null"] 401 }, 402 "global_rate_limit": { 403 "type": ["object", "null"], 404 "properties": { 405 "rate": { 406 "type": "number" 407 }, 408 "per": { 409 "type": "number" 410 } 411 } 412 }, 413 "request_signing": { 414 "type": ["object", "null"], 415 "properties": { 416 "is_enabled": { 417 "type": "boolean" 418 }, 419 "secret": { 420 "type": "string" 421 }, 422 "key_id": { 423 "type": "string" 424 }, 425 "algorithm": { 426 "type": "string" 427 } 428 }, 429 "required": [ 430 "is_enabled" 431 ] 432 } 433 }, 434 "required": [ 435 "auth", 436 "name", 437 "proxy", 438 "version_data" 439 ] 440 }`