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  }`