{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "additionalProperties": false,
  "definitions": {
    "ACLGroup": {
      "required": ["group"],
      "properties": {
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "group": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ActiveHealthcheck": {
      "properties": {
        "concurrency": {
          "type": "integer"
        },
        "healthy": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Healthy"
        },
        "http_path": {
          "type": "string"
        },
        "https_sni": {
          "type": "string"
        },
        "https_verify_certificate": {
          "type": "boolean"
        },
        "timeout": {
          "type": "integer"
        },
        "type": {
          "type": "string"
        },
        "unhealthy": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Unhealthy"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "BasicAuth": {
      "required": ["username", "password"],
      "properties": {
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "password": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CACertificate": {
      "properties": {
        "cert": {
          "type": "string"
        },
        "cert_digest": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "CIDRPort": {
      "properties": {
        "ip": {
          "type": "string"
        },
        "port": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Certificate": {
      "properties": {
        "cert": {
          "type": "string"
        },
        "cert_alt": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "key_alt": {
          "type": "string"
        },
        "snis": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Consumer": {
      "properties": {
        "created_at": {
          "type": "integer"
        },
        "custom_id": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConsumerGroup": {
      "properties": {
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "ConsumerGroupPlugin": {
      "properties": {
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "consumer_group": {
          "$ref": "#/definitions/ConsumerGroup"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FCACertificate": {
      "required": ["cert"],
      "properties": {
        "cert": {
          "type": "string"
        },
        "cert_digest": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FCertificate": {
      "required": ["id", "cert", "key"],
      "properties": {
        "cert": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "snis": {
          "items": {
            "properties": {
              "name": {
                "type": "string"
              }
            },
            "type": "object"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FConsumer": {
      "properties": {
        "acls": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/ACLGroup"
          },
          "type": "array"
        },
        "basicauth_credentials": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/BasicAuth"
          },
          "type": "array"
        },
        "created_at": {
          "type": "integer"
        },
        "custom_id": {
          "type": "string"
        },
        "groups": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/ConsumerGroup"
          },
          "type": "array"
        },
        "hmacauth_credentials": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/HMACAuth"
          },
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "jwt_secrets": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/JWTAuth"
          },
          "type": "array"
        },
        "keyauth_credentials": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/KeyAuth"
          },
          "type": "array"
        },
        "mtls_auth_credentials": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/MTLSAuth"
          },
          "type": "array"
        },
        "oauth2_credentials": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/Oauth2Credential"
          },
          "type": "array"
        },
        "plugins": {
          "items": {
            "$ref": "#/definitions/FPlugin"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "anyOf": [
        {
          "required": ["username"]
        },
        {
          "required": ["id"]
        }
      ]
    },
    "FConsumerGroupObject": {
      "properties": {
        "consumers": {
          "items": {
            "$ref": "#/definitions/Consumer"
          },
          "type": "array"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "plugins": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/ConsumerGroupPlugin"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FDocument": {
      "properties": {
        "id": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "published": {
          "type": "boolean"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FPlugin": {
      "required": ["name"],
      "properties": {
        "_config": {
          "type": "string"
        },
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "consumer": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "enabled": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "ordering": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/PluginOrdering"
        },
        "protocols": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "route": {
          "type": "string"
        },
        "run_on": {
          "type": "string"
        },
        "service": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FRBACEndpointPermission": {
      "required": ["workspace", "endpoint"],
      "properties": {
        "actions": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "comment": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "endpoint": {
          "type": "string"
        },
        "negative": {
          "type": "boolean"
        },
        "role": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/RBACRole"
        },
        "workspace": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FRBACRole": {
      "required": ["name"],
      "properties": {
        "comment": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "endpoint_permissions": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/FRBACEndpointPermission"
          },
          "type": "array"
        },
        "id": {
          "type": "string"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FRoute": {
      "properties": {
        "created_at": {
          "type": "integer"
        },
        "destinations": {
          "items": {
            "$ref": "#/definitions/CIDRPort"
          },
          "type": "array"
        },
        "expression": {
          "type": "string"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "hosts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "https_redirect_status_code": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "methods": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "path_handling": {
          "type": "string"
        },
        "paths": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "plugins": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/FPlugin"
          },
          "type": "array"
        },
        "preserve_host": {
          "type": "boolean"
        },
        "priority": {
          "type": "integer"
        },
        "protocols": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "regex_priority": {
          "type": "integer"
        },
        "request_buffering": {
          "type": "boolean"
        },
        "response_buffering": {
          "type": "boolean"
        },
        "service": {
          "$ref": "#/definitions/Service"
        },
        "snis": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sources": {
          "items": {
            "$ref": "#/definitions/CIDRPort"
          },
          "type": "array"
        },
        "strip_path": {
          "type": "boolean"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "updated_at": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "anyOf": [
        {
          "required": ["name"]
        },
        {
          "required": ["id"]
        }
      ]
    },
    "FService": {
      "properties": {
        "ca_certificates": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "client_certificate": {
          "type": "string"
        },
        "connect_timeout": {
          "type": "integer"
        },
        "created_at": {
          "type": "integer"
        },
        "enabled": {
          "type": "boolean"
        },
        "host": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "plugins": {
          "items": {
            "$ref": "#/definitions/FPlugin"
          },
          "type": "array"
        },
        "port": {
          "type": "integer"
        },
        "protocol": {
          "type": "string"
        },
        "read_timeout": {
          "type": "integer"
        },
        "retries": {
          "type": "integer"
        },
        "routes": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/FRoute"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tls_verify": {
          "type": "boolean"
        },
        "tls_verify_depth": {
          "type": "integer"
        },
        "updated_at": {
          "type": "integer"
        },
        "url": {
          "type": "string"
        },
        "write_timeout": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object",
      "anyOf": [
        {
          "required": ["name"]
        },
        {
          "required": ["id"]
        }
      ]
    },
    "FServicePackage": {
      "required": ["name"],
      "properties": {
        "description": {
          "type": "string"
        },
        "document": {
          "$ref": "#/definitions/FDocument"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "versions": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/FServiceVersion"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FServiceVersion": {
      "required": ["version"],
      "properties": {
        "document": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/FDocument"
        },
        "id": {
          "type": "string"
        },
        "implementation": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Implementation"
        },
        "version": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FTarget": {
      "required": ["target"],
      "properties": {
        "created_at": {
          "type": "number"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "target": {
          "type": "string"
        },
        "upstream": {
          "$ref": "#/definitions/Upstream"
        },
        "weight": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FUpstream": {
      "required": ["name"],
      "properties": {
        "algorithm": {
          "type": "string"
        },
        "client_certificate": {
          "$ref": "#/definitions/Certificate"
        },
        "created_at": {
          "type": "integer"
        },
        "hash_fallback": {
          "type": "string"
        },
        "hash_fallback_header": {
          "type": "string"
        },
        "hash_fallback_query_arg": {
          "type": "string"
        },
        "hash_fallback_uri_capture": {
          "type": "string"
        },
        "hash_on": {
          "type": "string"
        },
        "hash_on_cookie": {
          "type": "string"
        },
        "hash_on_cookie_path": {
          "type": "string"
        },
        "hash_on_header": {
          "type": "string"
        },
        "hash_on_query_arg": {
          "type": "string"
        },
        "hash_on_uri_capture": {
          "type": "string"
        },
        "healthchecks": {
          "$ref": "#/definitions/Healthcheck"
        },
        "host_header": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "slots": {
          "type": "integer"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "targets": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/FTarget"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "FVault": {
      "properties": {
        "config": {
          "additionalProperties": true,
          "type": "object"
        },
        "created_at": {
          "type": "integer"
        },
        "description": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "prefix": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "updated_at": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "HMACAuth": {
      "required": ["username", "secret"],
      "properties": {
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "secret": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "username": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Healthcheck": {
      "properties": {
        "active": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/ActiveHealthcheck"
        },
        "passive": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/PassiveHealthcheck"
        },
        "threshold": {
          "type": "number"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Healthy": {
      "properties": {
        "http_statuses": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "interval": {
          "type": "integer"
        },
        "successes": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Implementation": {
      "required": ["type", "kong"],
      "properties": {
        "kong": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Kong"
        },
        "type": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Info": {
      "properties": {
        "defaults": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/KongDefaults"
        },
        "select_tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "JWTAuth": {
      "required": ["algorithm", "key", "secret"],
      "properties": {
        "algorithm": {
          "type": "string"
        },
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "rsa_public_key": {
          "type": "string"
        },
        "secret": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KeyAuth": {
      "required": ["key"],
      "properties": {
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "key": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "ttl": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Kong": {
      "properties": {
        "service": {
          "$ref": "#/definitions/FService"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "KongDefaults": {
      "properties": {
        "route": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Route"
        },
        "service": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Service"
        },
        "target": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Target"
        },
        "upstream": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Upstream"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Konnect": {
      "properties": {
        "runtime_group_name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "MTLSAuth": {
      "required": ["id", "subject_name"],
      "properties": {
        "ca_certificate": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/CACertificate"
        },
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "subject_name": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Oauth2Credential": {
      "required": ["name", "client_id", "client_secret"],
      "properties": {
        "client_id": {
          "type": "string"
        },
        "client_secret": {
          "type": "string"
        },
        "client_type": {
          "type": "string"
        },
        "consumer": {
          "$ref": "#/definitions/Consumer"
        },
        "created_at": {
          "type": "integer"
        },
        "hash_secret": {
          "type": "boolean"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "redirect_uris": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PassiveHealthcheck": {
      "properties": {
        "healthy": {
          "$ref": "#/definitions/Healthy"
        },
        "type": {
          "type": "string"
        },
        "unhealthy": {
          "$ref": "#/definitions/Unhealthy"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "PluginOrdering": {
      "properties": {
        "after": {
          "patternProperties": {
            ".*": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "before": {
          "patternProperties": {
            ".*": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "RBACRole": {
      "properties": {
        "comment": {
          "type": "string"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "is_default": {
          "type": "boolean"
        },
        "name": {
          "type": "string"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Route": {
      "properties": {
        "created_at": {
          "type": "integer"
        },
        "destinations": {
          "items": {
            "$ref": "#/definitions/CIDRPort"
          },
          "type": "array"
        },
        "expression": {
          "type": "string"
        },
        "headers": {
          "patternProperties": {
            ".*": {
              "items": {
                "type": "string"
              },
              "type": "array"
            }
          },
          "type": "object"
        },
        "hosts": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "https_redirect_status_code": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "methods": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "name": {
          "type": "string"
        },
        "path_handling": {
          "type": "string"
        },
        "paths": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "preserve_host": {
          "type": "boolean"
        },
        "priority": {
          "type": "integer"
        },
        "protocols": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "regex_priority": {
          "type": "integer"
        },
        "request_buffering": {
          "type": "boolean"
        },
        "response_buffering": {
          "type": "boolean"
        },
        "service": {
          "$ref": "#/definitions/Service"
        },
        "snis": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "sources": {
          "items": {
            "$schema": "http://json-schema.org/draft-04/schema#",
            "$ref": "#/definitions/CIDRPort"
          },
          "type": "array"
        },
        "strip_path": {
          "type": "boolean"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "updated_at": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "SNI": {
      "properties": {
        "certificate": {
          "$ref": "#/definitions/Certificate"
        },
        "created_at": {
          "type": "integer"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Service": {
      "properties": {
        "ca_certificates": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "client_certificate": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Certificate"
        },
        "connect_timeout": {
          "type": "integer"
        },
        "created_at": {
          "type": "integer"
        },
        "enabled": {
          "type": "boolean"
        },
        "host": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "path": {
          "type": "string"
        },
        "port": {
          "type": "integer"
        },
        "protocol": {
          "type": "string"
        },
        "read_timeout": {
          "type": "integer"
        },
        "retries": {
          "type": "integer"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "tls_verify": {
          "type": "boolean"
        },
        "tls_verify_depth": {
          "type": "integer"
        },
        "updated_at": {
          "type": "integer"
        },
        "url": {
          "type": "string"
        },
        "write_timeout": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Target": {
      "properties": {
        "created_at": {
          "type": "number"
        },
        "id": {
          "type": "string"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "target": {
          "type": "string"
        },
        "upstream": {
          "$ref": "#/definitions/Upstream"
        },
        "weight": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Unhealthy": {
      "properties": {
        "http_failures": {
          "type": "integer"
        },
        "http_statuses": {
          "items": {
            "type": "integer"
          },
          "type": "array"
        },
        "interval": {
          "type": "integer"
        },
        "tcp_failures": {
          "type": "integer"
        },
        "timeouts": {
          "type": "integer"
        }
      },
      "additionalProperties": false,
      "type": "object"
    },
    "Upstream": {
      "properties": {
        "algorithm": {
          "type": "string"
        },
        "client_certificate": {
          "$ref": "#/definitions/Certificate"
        },
        "created_at": {
          "type": "integer"
        },
        "hash_fallback": {
          "type": "string"
        },
        "hash_fallback_header": {
          "type": "string"
        },
        "hash_fallback_query_arg": {
          "type": "string"
        },
        "hash_fallback_uri_capture": {
          "type": "string"
        },
        "hash_on": {
          "type": "string"
        },
        "hash_on_cookie": {
          "type": "string"
        },
        "hash_on_cookie_path": {
          "type": "string"
        },
        "hash_on_header": {
          "type": "string"
        },
        "hash_on_query_arg": {
          "type": "string"
        },
        "hash_on_uri_capture": {
          "type": "string"
        },
        "healthchecks": {
          "$schema": "http://json-schema.org/draft-04/schema#",
          "$ref": "#/definitions/Healthcheck"
        },
        "host_header": {
          "type": "string"
        },
        "id": {
          "type": "string"
        },
        "name": {
          "type": "string"
        },
        "slots": {
          "type": "integer"
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": "array"
        }
      },
      "additionalProperties": false,
      "type": "object"
    }
  },
  "id": "https://json.schemastore.org/kong_json_schema.json",
  "properties": {
    "_format_version": {
      "type": "string"
    },
    "_info": {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "$ref": "#/definitions/Info"
    },
    "_konnect": {
      "$schema": "http://json-schema.org/draft-04/schema#",
      "$ref": "#/definitions/Konnect"
    },
    "_plugin_configs": {
      "patternProperties": {
        ".*": {
          "additionalProperties": true,
          "type": "object"
        }
      },
      "type": "object"
    },
    "_transform": {
      "type": "boolean"
    },
    "_workspace": {
      "type": "string"
    },
    "ca_certificates": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FCACertificate"
      },
      "type": "array"
    },
    "certificates": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FCertificate"
      },
      "type": "array"
    },
    "consumer_groups": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FConsumerGroupObject"
      },
      "type": "array"
    },
    "consumers": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FConsumer"
      },
      "type": "array"
    },
    "plugins": {
      "items": {
        "$ref": "#/definitions/FPlugin"
      },
      "type": "array"
    },
    "rbac_roles": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FRBACRole"
      },
      "type": "array"
    },
    "routes": {
      "items": {
        "$ref": "#/definitions/FRoute"
      },
      "type": "array"
    },
    "service_packages": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FServicePackage"
      },
      "type": "array"
    },
    "services": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FService"
      },
      "type": "array"
    },
    "upstreams": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FUpstream"
      },
      "type": "array"
    },
    "vaults": {
      "items": {
        "$schema": "http://json-schema.org/draft-04/schema#",
        "$ref": "#/definitions/FVault"
      },
      "type": "array"
    }
  },
  "type": "object"
}
