All Downloads are FREE. Search and download functionalities are using the official Maven repository.

schemas.openapi-forms.json Maven / Gradle / Ivy

{
  "PluginDescription" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "default_config" : {
        "label" : "default_config",
        "type" : "string"
      },
      "config_schema" : {
        "label" : "config_schema",
        "type" : "string"
      },
      "config_flow" : {
        "label" : "config_flow",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugin_visibility" : {
        "label" : "plugin_visibility",
        "type" : "string"
      },
      "plugin_categories" : {
        "label" : "plugin_categories",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugin_steps" : {
        "label" : "plugin_steps",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugin_tags" : {
        "label" : "plugin_tags",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "plugin_tags", "plugin_steps", "plugin_categories", "plugin_visibility", "config_flow", "config_schema", "default_config", "description", "name", "id" ]
  },
  "otoroshi.next.plugins.MissingHeadersIn" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.auth.Credential" : {
    "schema" : {
      "certificate" : {
        "label" : "certificate",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      },
      "certId" : {
        "label" : "certId",
        "type" : "string"
      },
      "useOtoroshiCertificate" : {
        "label" : "useOtoroshiCertificate",
        "type" : "bool"
      }
    },
    "flow" : [ "useOtoroshiCertificate", "certId", "privateKey", "certificate" ]
  },
  "otoroshi.next.plugins.NgResponseCacheCleanupJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.CustomHeadersAuthConstraints" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "clientIdHeaderName" : {
        "label" : "clientIdHeaderName",
        "type" : "string"
      },
      "clientSecretHeaderName" : {
        "label" : "clientSecretHeaderName",
        "type" : "string"
      }
    },
    "flow" : [ "clientSecretHeaderName", "clientIdHeaderName", "enabled" ]
  },
  "otoroshi.models.OtoroshiAdmin" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "simple", "webauthn" ]
        }
      },
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "label" : {
        "label" : "label",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "typ" : {
        "type" : "select",
        "props" : {
          "label" : "typ",
          "options" : [ "SIMPLE", "WEBAUTHN" ]
        }
      },
      "createdAt" : {
        "label" : "createdAt",
        "type" : "number"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "rights" : {
        "label" : "rights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "credentials" : {
        "label" : "credentials",
        "type" : "object"
      },
      "handle" : {
        "label" : "handle",
        "type" : "string"
      }
    },
    "flow" : [ "handle", "credentials", "password", "metadata", "createdAt", "typ", "label", "tags", "username", "type", "_loc", "rights" ]
  },
  "otoroshi.script.Script" : {
    "schema" : {
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "code" : {
        "label" : "code",
        "type" : "string"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ]
        }
      }
    },
    "flow" : [ "type", "id", "code", "desc", "tags", "metadata", "name", "_loc" ]
  },
  "otoroshi.models.GlobalScripts" : {
    "schema" : {
      "jobConfig" : {
        "label" : "jobConfig",
        "type" : "object"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "transformersConfig" : {
        "label" : "transformersConfig",
        "type" : "object"
      },
      "transformersRefs" : {
        "label" : "transformersRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "preRouteRefs" : {
        "label" : "preRouteRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "sinkConfig" : {
        "label" : "sinkConfig",
        "type" : "object"
      },
      "jobRefs" : {
        "label" : "jobRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "validatorRefs" : {
        "label" : "validatorRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "sinkRefs" : {
        "label" : "sinkRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "preRouteConfig" : {
        "label" : "preRouteConfig",
        "type" : "object"
      },
      "validatorConfig" : {
        "label" : "validatorConfig",
        "type" : "object"
      }
    },
    "flow" : [ "validatorConfig", "preRouteConfig", "sinkRefs", "validatorRefs", "jobRefs", "sinkConfig", "preRouteRefs", "transformersRefs", "transformersConfig", "enabled", "jobConfig" ]
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingValidator" : {
    "schema" : {
      "subject_dns" : {
        "label" : "subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "serial_numbers" : {
        "label" : "serial_numbers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "issuer_dns" : {
        "label" : "issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_issuer_dns" : {
        "label" : "regex_issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_subject_dns" : {
        "label" : "regex_subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "regex_subject_dns", "regex_issuer_dns", "issuer_dns", "serial_numbers", "subject_dns" ]
  },
  "otoroshi.models.UserRights" : {
    "schema" : {
      "rights" : {
        "label" : "rights",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "canWrite" : {
                "label" : "canWrite",
                "type" : "bool"
              },
              "value" : {
                "label" : "value",
                "type" : "string"
              },
              "canRead" : {
                "label" : "canRead",
                "type" : "bool"
              }
            },
            "flow" : [ "canWrite", "value", "canRead" ]
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "canRead" : {
                "label" : "canRead",
                "type" : "bool"
              },
              "value" : {
                "label" : "value",
                "type" : "string"
              },
              "canWrite" : {
                "label" : "canWrite",
                "type" : "bool"
              }
            },
            "flow" : [ "canRead", "value", "canWrite" ]
          }
        },
        "flow" : [ "tenant", "teams" ]
      }
    },
    "flow" : [ "rights" ]
  },
  "otoroshi.next.plugins.EurekaTarget" : {
    "schema" : {
      "eureka_server" : {
        "label" : "eureka_server",
        "type" : "string"
      },
      "eureka_app" : {
        "label" : "eureka_app",
        "type" : "string"
      }
    },
    "flow" : [ "eureka_app", "eureka_server" ]
  },
  "otoroshi.plugins.jobs.kubernetes.ClientSupport" : {
    "schema" : {
      "client" : {
        "label" : "client",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "endpoint" : {
                "label" : "endpoint",
                "type" : "string"
              },
              "templates" : {
                "label" : "templates",
                "type" : "object"
              },
              "token" : {
                "label" : "token",
                "type" : "string"
              },
              "restartDependantDeployments" : {
                "label" : "restartDependantDeployments",
                "type" : "bool"
              },
              "watchGracePeriodSeconds" : {
                "label" : "watchGracePeriodSeconds",
                "type" : "number"
              },
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              },
              "crds" : {
                "label" : "crds",
                "type" : "bool"
              },
              "watch" : {
                "label" : "watch",
                "type" : "bool"
              },
              "labels" : {
                "label" : "labels",
                "type" : "object"
              },
              "openshiftDnsOperatorCoreDnsName" : {
                "label" : "openshiftDnsOperatorCoreDnsName",
                "type" : "string"
              },
              "syncIntervalSeconds" : {
                "label" : "syncIntervalSeconds",
                "type" : "number"
              },
              "kubeDnsOperatorCoreDnsName" : {
                "label" : "kubeDnsOperatorCoreDnsName",
                "type" : "string"
              },
              "defaultGroup" : {
                "label" : "defaultGroup",
                "type" : "string"
              },
              "kubeDnsOperatorCoreDnsNamespace" : {
                "label" : "kubeDnsOperatorCoreDnsNamespace",
                "type" : "string"
              },
              "triggerKey" : {
                "label" : "triggerKey",
                "type" : "string"
              },
              "otoroshiNamespace" : {
                "label" : "otoroshiNamespace",
                "type" : "string"
              },
              "watchTimeoutSeconds" : {
                "label" : "watchTimeoutSeconds",
                "type" : "number"
              },
              "openshiftDnsOperatorCleanupDomains" : {
                "label" : "openshiftDnsOperatorCleanupDomains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "namespaces" : {
                "label" : "namespaces",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "openshiftDnsOperatorCoreDnsPort" : {
                "label" : "openshiftDnsOperatorCoreDnsPort",
                "type" : "number"
              },
              "coreDnsEnv" : {
                "label" : "coreDnsEnv",
                "type" : "string"
              },
              "triggerPath" : {
                "label" : "triggerPath",
                "type" : "string"
              },
              "image" : {
                "label" : "image",
                "type" : "string"
              },
              "coreDnsConfigMapName" : {
                "label" : "coreDnsConfigMapName",
                "type" : "string"
              },
              "clusterDomain" : {
                "label" : "clusterDomain",
                "type" : "string"
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "caCert" : {
                "label" : "caCert",
                "type" : "string"
              },
              "trust" : {
                "label" : "trust",
                "type" : "bool"
              },
              "ingressClasses" : {
                "label" : "ingressClasses",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "userPassword" : {
                "label" : "userPassword",
                "type" : "string"
              },
              "syncDaikokuApikeysOnly" : {
                "label" : "syncDaikokuApikeysOnly",
                "type" : "bool"
              },
              "openshiftDnsOperatorCleanup" : {
                "label" : "openshiftDnsOperatorCleanup",
                "type" : "bool"
              },
              "kubeSystemNamespace" : {
                "label" : "kubeSystemNamespace",
                "type" : "string"
              },
              "ingressEndpointIp" : {
                "label" : "ingressEndpointIp",
                "type" : "string"
              },
              "namespacesLabels" : {
                "label" : "namespacesLabels",
                "type" : "object"
              },
              "openshiftDnsOperatorCleanupNames" : {
                "label" : "openshiftDnsOperatorCleanupNames",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "kubeDnsOperatorCoreDnsPort" : {
                "label" : "kubeDnsOperatorCoreDnsPort",
                "type" : "number"
              },
              "mutatingWebhookName" : {
                "label" : "mutatingWebhookName",
                "type" : "string"
              },
              "kubeLeader" : {
                "label" : "kubeLeader",
                "type" : "bool"
              },
              "ingressEndpointHostname" : {
                "label" : "ingressEndpointHostname",
                "type" : "string"
              },
              "openshiftDnsOperatorIntegration" : {
                "label" : "openshiftDnsOperatorIntegration",
                "type" : "bool"
              },
              "validatingWebhookName" : {
                "label" : "validatingWebhookName",
                "type" : "string"
              },
              "coreDnsDeploymentName" : {
                "label" : "coreDnsDeploymentName",
                "type" : "string"
              },
              "ingresses" : {
                "label" : "ingresses",
                "type" : "bool"
              },
              "useProxyState" : {
                "label" : "useProxyState",
                "type" : "bool"
              },
              "coreDnsIntegrationDryRun" : {
                "label" : "coreDnsIntegrationDryRun",
                "type" : "bool"
              },
              "ingressEndpointPublishedService" : {
                "label" : "ingressEndpointPublishedService",
                "type" : "string"
              },
              "coreDnsAzure" : {
                "label" : "coreDnsAzure",
                "type" : "bool"
              },
              "corednsPort" : {
                "label" : "corednsPort",
                "type" : "number"
              },
              "coreDnsIntegration" : {
                "label" : "coreDnsIntegration",
                "type" : "bool"
              },
              "otoroshiServiceName" : {
                "label" : "otoroshiServiceName",
                "type" : "string"
              },
              "meshDomain" : {
                "label" : "meshDomain",
                "type" : "string"
              },
              "kubeDnsOperatorIntegration" : {
                "label" : "kubeDnsOperatorIntegration",
                "type" : "bool"
              },
              "triggerHost" : {
                "label" : "triggerHost",
                "type" : "string"
              },
              "openshiftDnsOperatorCoreDnsNamespace" : {
                "label" : "openshiftDnsOperatorCoreDnsNamespace",
                "type" : "string"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              }
            },
            "flow" : [ "endpoint", "templates", "token", "restartDependantDeployments", "watchGracePeriodSeconds", "connectionTimeout", "crds", "watch", "labels", "openshiftDnsOperatorCoreDnsName", "syncIntervalSeconds", "kubeDnsOperatorCoreDnsName", "defaultGroup", "kubeDnsOperatorCoreDnsNamespace", "triggerKey", "otoroshiNamespace", "watchTimeoutSeconds", "openshiftDnsOperatorCleanupDomains", "namespaces", "openshiftDnsOperatorCoreDnsPort", "coreDnsEnv", "triggerPath", "image", "coreDnsConfigMapName", "clusterDomain", "idleTimeout", "caCert", "trust", "ingressClasses", "userPassword", "syncDaikokuApikeysOnly", "openshiftDnsOperatorCleanup", "kubeSystemNamespace", "ingressEndpointIp", "namespacesLabels", "openshiftDnsOperatorCleanupNames", "kubeDnsOperatorCoreDnsPort", "mutatingWebhookName", "kubeLeader", "ingressEndpointHostname", "openshiftDnsOperatorIntegration", "validatingWebhookName", "coreDnsDeploymentName", "ingresses", "useProxyState", "coreDnsIntegrationDryRun", "ingressEndpointPublishedService", "coreDnsAzure", "corednsPort", "coreDnsIntegration", "otoroshiServiceName", "meshDomain", "kubeDnsOperatorIntegration", "triggerHost", "openshiftDnsOperatorCoreDnsNamespace", "callAndStreamTimeout" ]
          },
          "env" : {
            "label" : "env",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "circuitBeakersHolder" : {
                "label" : "circuitBeakersHolder",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              }
            },
            "flow" : [ "circuitBeakersHolder" ]
          }
        },
        "flow" : [ "config", "env" ]
      },
      "env" : {
        "label" : "env",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "circuitBeakersHolder" : {
            "label" : "circuitBeakersHolder",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "circuitBeakersHolder" ]
      }
    },
    "flow" : [ "client", "env" ]
  },
  "otoroshi.plugins.authcallers.ForceRetryException" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.W3CTracingConfigKind" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgBiscuitValidator" : {
    "schema" : {
      "legacy" : {
        "label" : "legacy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "facts" : {
            "label" : "facts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "resources" : {
            "label" : "resources",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enforce" : {
            "label" : "enforce",
            "type" : "bool"
          },
          "extractorName" : {
            "label" : "extractorName",
            "type" : "string"
          },
          "checks" : {
            "label" : "checks",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extractor" : {
            "label" : "extractor",
            "type" : "string"
          },
          "revocation_ids" : {
            "label" : "revocation_ids",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "facts", "publicKey", "resources", "enforce", "extractorName", "checks", "extractor", "revocation_ids", "rules" ]
      }
    },
    "flow" : [ "legacy" ]
  },
  "otoroshi.tcp.TlsMode" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmSink" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.next.models.NgTarget" : {
    "schema" : {
      "ip_address" : {
        "label" : "ip_address",
        "type" : "string"
      },
      "protocol" : {
        "type" : "select",
        "props" : {
          "label" : "protocol",
          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
        }
      },
      "predicate" : {
        "label" : "predicate",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
            }
          },
          "dc" : {
            "label" : "dc",
            "type" : "string"
          },
          "positions" : {
            "label" : "positions",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "latitude" : {
                "label" : "latitude",
                "type" : "number"
              },
              "longitude" : {
                "label" : "longitude",
                "type" : "number"
              },
              "radius" : {
                "label" : "radius",
                "type" : "number"
              }
            },
            "flow" : [ "latitude", "longitude", "radius" ]
          },
          "provider" : {
            "label" : "provider",
            "type" : "string"
          },
          "dataCenter" : {
            "label" : "dataCenter",
            "type" : "string"
          },
          "rack" : {
            "label" : "rack",
            "type" : "string"
          },
          "region" : {
            "label" : "region",
            "type" : "string"
          },
          "zone" : {
            "label" : "zone",
            "type" : "string"
          }
        },
        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
      },
      "tls_config" : {
        "label" : "tls_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "tls" : {
        "label" : "tls",
        "type" : "bool"
      },
      "port" : {
        "label" : "port",
        "type" : "number"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "weight" : {
        "label" : "weight",
        "type" : "number"
      },
      "hostname" : {
        "label" : "hostname",
        "type" : "string"
      }
    },
    "flow" : [ "hostname", "weight", "id", "port", "tls", "protocol", "ip_address", "predicate", "tls_config" ]
  },
  "otoroshi.models.DataExporterConfigType" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.RSAKPAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "certId" : {
        "label" : "certId",
        "type" : "string"
      }
    },
    "flow" : [ "certId", "size", "type" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesAdmissionWebhookCRDValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.wrappers.AccessValidatorWrapper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.OAuth2Caller" : {
    "schema" : {
      "cache_token_seconds" : {
        "label" : "cache_token_seconds",
        "type" : "number"
      },
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "user" : {
        "label" : "user",
        "type" : "string"
      },
      "kind" : {
        "type" : "select",
        "props" : {
          "label" : "kind",
          "options" : [ "client_credentials", "password" ]
        }
      },
      "header_value_format" : {
        "label" : "header_value_format",
        "type" : "string"
      },
      "json_payload" : {
        "label" : "json_payload",
        "type" : "bool"
      },
      "audience" : {
        "label" : "audience",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "tls_config" : {
        "label" : "tls_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      }
    },
    "flow" : [ "url", "audience", "json_payload", "header_value_format", "kind", "user", "method", "header_name", "password", "scope", "client_secret", "client_id", "cache_token_seconds", "tls_config" ]
  },
  "otoroshi.next.plugins.SnowMonkeyChaos" : {
    "schema" : {
      "large_request_fault_config" : {
        "label" : "large_request_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additional_request_size" : {
            "label" : "additional_request_size",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additional_request_size" ]
      },
      "large_response_fault_config" : {
        "label" : "large_response_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additional_response_size" : {
            "label" : "additional_response_size",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additional_response_size" ]
      },
      "latency_injection_fault_config" : {
        "label" : "latency_injection_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "from", "to" ]
      },
      "bad_responses_fault_config" : {
        "label" : "bad_responses_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "responses" : {
            "label" : "responses",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "status" : {
                "label" : "status",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "body" : {
                "type" : "code",
                "props" : {
                  "label" : "body",
                  "editorOnly" : true,
                  "mode" : "json"
                }
              }
            },
            "flow" : [ "status", "body", "headers" ]
          }
        },
        "flow" : [ "ratio", "responses" ]
      }
    },
    "flow" : [ "large_request_fault_config", "large_response_fault_config", "latency_injection_fault_config", "bad_responses_fault_config" ]
  },
  "otoroshi.next.plugins.MissingMockResponsesException" : {
    "schema" : {
      "message" : {
        "label" : "message",
        "type" : "string"
      }
    },
    "flow" : [ "message" ]
  },
  "otoroshi.next.plugins.OIDCAccessTokenAsApikey" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "at_least_one" : {
        "label" : "at_least_one",
        "type" : "bool"
      },
      "config" : {
        "label" : "config",
        "type" : "string"
      }
    },
    "flow" : [ "config", "at_least_one", "enabled" ]
  },
  "otoroshi.plugins.discovery.DiscoveryTargetsSelector" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.TailscaleStatusPeer" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.plugins.log4j.Log4jExpressionText" : {
    "schema" : {
      "value" : {
        "label" : "value",
        "type" : "string"
      }
    },
    "flow" : [ "value" ]
  },
  "otoroshi.auth.NameIDFormat" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgIpStackGeolocationInfoExtractor" : {
    "schema" : {
      "apikey" : {
        "label" : "apikey",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log", "timeout", "apikey" ]
  },
  "otoroshi.next.plugins.NgGeolocationInfoHeaderConfig" : {
    "schema" : {
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name" ]
  },
  "otoroshi.next.plugins.ApikeyQuotas" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.accesslog.AccessLogJson" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.EurekaTargetConfig" : {
    "schema" : {
      "eureka_server" : {
        "label" : "eureka_server",
        "type" : "string"
      },
      "eureka_app" : {
        "label" : "eureka_app",
        "type" : "string"
      }
    },
    "flow" : [ "eureka_app", "eureka_server" ]
  },
  "otoroshi.models.FileSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "maxFileSize" : {
        "label" : "maxFileSize",
        "type" : "number"
      }
    },
    "flow" : [ "maxFileSize", "path", "type" ]
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlow" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgResponseCacheFilterConfig" : {
    "schema" : {
      "paths" : {
        "label" : "paths",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "not_methods" : {
        "label" : "not_methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "not_paths" : {
        "label" : "not_paths",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "not_paths", "not_methods", "methods", "paths" ]
  },
  "otoroshi.plugins.external.ExternalHttpValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgServiceQuotas" : {
    "schema" : {
      "throttling_quota" : {
        "label" : "throttling_quota",
        "type" : "number"
      },
      "daily_quota" : {
        "label" : "daily_quota",
        "type" : "number"
      },
      "monthly_quota" : {
        "label" : "monthly_quota",
        "type" : "number"
      }
    },
    "flow" : [ "monthly_quota", "daily_quota", "throttling_quota" ]
  },
  "HealthCheckEventList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.GraphQLProxyConfig" : {
    "schema" : {
      "max_complexity" : {
        "label" : "max_complexity",
        "type" : "number"
      },
      "schema" : {
        "label" : "schema",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "max_depth" : {
        "label" : "max_depth",
        "type" : "number"
      }
    },
    "flow" : [ "max_depth", "endpoint", "headers", "path", "schema", "max_complexity" ]
  },
  "otoroshi.next.plugins.WasmJobsConfig" : {
    "schema" : {
      "unique_id" : {
        "label" : "unique_id",
        "type" : "string"
      },
      "instantiation" : {
        "label" : "instantiation",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "cron_expression" : {
        "label" : "cron_expression",
        "type" : "string"
      },
      "kind" : {
        "label" : "kind",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "allowedHosts" : {
            "label" : "allowedHosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "memoryPages" : {
            "label" : "memoryPages",
            "type" : "number"
          },
          "allowedPaths" : {
            "label" : "allowedPaths",
            "type" : "object"
          },
          "instances" : {
            "label" : "instances",
            "type" : "number"
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "authorizations" : {
            "label" : "authorizations",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "proxyStateAccess" : {
                "label" : "proxyStateAccess",
                "type" : "bool"
              },
              "httpAccess" : {
                "label" : "httpAccess",
                "type" : "bool"
              },
              "globalMapAccess" : {
                "label" : "globalMapAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "pluginDataStoreAccess" : {
                "label" : "pluginDataStoreAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "pluginMapAccess" : {
                "label" : "pluginMapAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "proxyHttpCallTimeout" : {
                "label" : "proxyHttpCallTimeout",
                "type" : "number"
              },
              "configurationAccess" : {
                "label" : "configurationAccess",
                "type" : "bool"
              },
              "globalDataStoreAccess" : {
                "label" : "globalDataStoreAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              }
            },
            "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
          },
          "opa" : {
            "label" : "opa",
            "type" : "bool"
          },
          "wasi" : {
            "label" : "wasi",
            "type" : "bool"
          },
          "functionName" : {
            "label" : "functionName",
            "type" : "string"
          }
        },
        "flow" : [ "allowedHosts", "memoryPages", "allowedPaths", "instances", "config", "authorizations", "opa", "wasi", "functionName" ]
      },
      "interval" : {
        "label" : "interval",
        "type" : "string"
      },
      "initial_delay" : {
        "label" : "initial_delay",
        "type" : "string"
      },
      "raw_config" : {
        "label" : "raw_config",
        "type" : "object"
      }
    },
    "flow" : [ "raw_config", "initial_delay", "interval", "cron_expression", "unique_id", "instantiation", "kind", "config" ]
  },
  "otoroshi.models.RefJwtVerifier" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "global", "local", "ref" ]
        }
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "ids" : {
        "label" : "ids",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "ids", "enabled", "excludedPatterns", "type" ]
  },
  "otoroshi.plugins.cache.ResponseCacheFilterConfig" : {
    "schema" : {
      "json" : {
        "label" : "json",
        "type" : "object"
      }
    },
    "flow" : [ "json" ]
  },
  "otoroshi.next.plugins.StaticBackendConfig" : {
    "schema" : {
      "root_path" : {
        "label" : "root_path",
        "type" : "string"
      }
    },
    "flow" : [ "root_path" ]
  },
  "otoroshi.plugins.oidc.OIDCAccessTokenAsApikey" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.ssl.pki.models.GenCsrQuery" : {
    "schema" : {
      "client" : {
        "label" : "client",
        "type" : "bool"
      },
      "hosts" : {
        "label" : "hosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "key" : {
        "label" : "key",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "algo" : {
            "label" : "algo",
            "type" : "string"
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          }
        },
        "flow" : [ "algo", "size" ]
      },
      "includeAIA" : {
        "label" : "includeAIA",
        "type" : "bool"
      },
      "signatureAlg" : {
        "label" : "signatureAlg",
        "type" : "string"
      },
      "existingSerialNumber" : {
        "label" : "existingSerialNumber",
        "type" : "string"
      },
      "duration" : {
        "label" : "duration",
        "type" : "number"
      },
      "digestAlg" : {
        "label" : "digestAlg",
        "type" : "string"
      },
      "ca" : {
        "label" : "ca",
        "type" : "bool"
      },
      "name" : {
        "label" : "name",
        "type" : "object"
      },
      "subject" : {
        "label" : "subject",
        "type" : "string"
      }
    },
    "flow" : [ "subject", "name", "ca", "digestAlg", "duration", "existingSerialNumber", "signatureAlg", "includeAIA", "hosts", "client", "key" ]
  },
  "BulkPatchBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.WebAuthnOtoroshiAdmin" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "simple", "webauthn" ]
        }
      },
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "label" : {
        "label" : "label",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "typ" : {
        "type" : "select",
        "props" : {
          "label" : "typ",
          "options" : [ "SIMPLE", "WEBAUTHN" ]
        }
      },
      "createdAt" : {
        "label" : "createdAt",
        "type" : "number"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "rights" : {
        "label" : "rights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "credentials" : {
        "label" : "credentials",
        "type" : "object"
      },
      "handle" : {
        "label" : "handle",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      }
    },
    "flow" : [ "password", "handle", "credentials", "metadata", "createdAt", "typ", "label", "tags", "username", "type", "_loc", "rights" ]
  },
  "otoroshi.next.plugins.TailscaleStatus" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.models.ApiDescriptor" : {
    "schema" : {
      "exposeApi" : {
        "label" : "exposeApi",
        "type" : "bool"
      },
      "openApiDescriptorUrl" : {
        "label" : "openApiDescriptorUrl",
        "type" : "string"
      }
    },
    "flow" : [ "openApiDescriptorUrl", "exposeApi" ]
  },
  "otoroshi.greenscore.RuleId" : {
    "schema" : {
      "value" : {
        "label" : "value",
        "type" : "string"
      }
    },
    "flow" : [ "value" ]
  },
  "otoroshi.next.plugins.WasmBackend" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "PemCsrBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.FakeEntityLocationSupport" : {
    "schema" : {
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      }
    },
    "flow" : [ "_loc" ]
  },
  "otoroshi.plugins.clientcert.HasClientCertValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.LdapAuthModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "extraMetadata" : {
        "label" : "extraMetadata",
        "type" : "object"
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "allowEmptyPassword" : {
        "label" : "allowEmptyPassword",
        "type" : "bool"
      },
      "groupFilters" : {
        "label" : "groupFilters",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "group" : {
            "label" : "group",
            "type" : "string"
          },
          "tenant" : {
            "label" : "tenant",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "canWrite" : {
                "label" : "canWrite",
                "type" : "bool"
              },
              "value" : {
                "label" : "value",
                "type" : "string"
              },
              "canRead" : {
                "label" : "canRead",
                "type" : "bool"
              }
            },
            "flow" : [ "canWrite", "value", "canRead" ]
          },
          "team" : {
            "label" : "team",
            "type" : "string"
          }
        },
        "flow" : [ "group", "tenant", "team" ]
      },
      "rightsOverride" : {
        "label" : "rightsOverride",
        "type" : "object"
      },
      "serverUrls" : {
        "label" : "serverUrls",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "basicAuth" : {
        "label" : "basicAuth",
        "type" : "bool"
      },
      "searchBase" : {
        "label" : "searchBase",
        "type" : "string"
      },
      "groupRights" : {
        "label" : "groupRights",
        "type" : "object"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "superAdmins" : {
        "label" : "superAdmins",
        "type" : "bool"
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "metadataField" : {
        "label" : "metadataField",
        "type" : "string"
      },
      "searchFilter" : {
        "label" : "searchFilter",
        "type" : "string"
      },
      "adminUsername" : {
        "label" : "adminUsername",
        "type" : "string"
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "emailField" : {
        "label" : "emailField",
        "type" : "string"
      },
      "extractProfileFilter" : {
        "label" : "extractProfileFilter",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "userBase" : {
        "label" : "userBase",
        "type" : "string"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "adminPassword" : {
        "label" : "adminPassword",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "extractProfileFilterNot" : {
        "label" : "extractProfileFilterNot",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "nameField" : {
        "label" : "nameField",
        "type" : "string"
      },
      "extractProfile" : {
        "label" : "extractProfile",
        "type" : "bool"
      },
      "dataOverride" : {
        "label" : "dataOverride",
        "type" : "object"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "dataOverride", "extractProfile", "nameField", "extractProfileFilterNot", "metadata", "adminPassword", "id", "userBase", "extractProfileFilter", "emailField", "userValidators", "adminUsername", "searchFilter", "metadataField", "sessionMaxAge", "superAdmins", "tags", "groupRights", "searchBase", "basicAuth", "clientSideSessionEnabled", "serverUrls", "rightsOverride", "groupFilters", "allowEmptyPassword", "name", "desc", "extraMetadata", "type", "_loc", "sessionCookieValues" ]
  },
  "otoroshi.next.plugins.EurekaServerSink" : {
    "schema" : {
      "eviction_timeout" : {
        "label" : "eviction_timeout",
        "type" : "number"
      }
    },
    "flow" : [ "eviction_timeout" ]
  },
  "otoroshi.next.plugins.NgApikeyExtractorClientId" : {
    "schema" : {
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "query_name" : {
        "label" : "query_name",
        "type" : "string"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "query_name", "header_name" ]
  },
  "otoroshi.next.plugins.ContextValidation" : {
    "schema" : {
      "validators" : {
        "label" : "validators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      }
    },
    "flow" : [ "validators" ]
  },
  "otoroshi.models.LargeRequestFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "additionalRequestSize" : {
        "label" : "additionalRequestSize",
        "type" : "number"
      }
    },
    "flow" : [ "additionalRequestSize", "ratio" ]
  },
  "otoroshi.plugins.biscuit.PubKeyBiscuitToken" : {
    "schema" : {
      "token" : {
        "label" : "token",
        "type" : "string"
      }
    },
    "flow" : [ "token" ]
  },
  "otoroshi.next.plugins.NgIzanamiV1Canary" : {
    "schema" : {
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "experiment_id" : {
        "label" : "experiment_id",
        "type" : "string"
      },
      "route_config" : {
        "label" : "route_config",
        "type" : "string"
      },
      "tls" : {
        "label" : "tls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "izanami_url" : {
        "label" : "izanami_url",
        "type" : "string"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "config_id" : {
        "label" : "config_id",
        "type" : "string"
      }
    },
    "flow" : [ "config_id", "client_secret", "izanami_url", "timeout", "route_config", "experiment_id", "client_id", "tls" ]
  },
  "otoroshi.plugins.hmac.HMACUtils" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgPluginInstanceConfig" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgIpAddressesConfig" : {
    "schema" : {
      "addresses" : {
        "label" : "addresses",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "addresses" ]
  },
  "otoroshi.next.plugins.AllowHttpMethods" : {
    "schema" : {
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "forbidden" : {
        "label" : "forbidden",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "forbidden", "allowed" ]
  },
  "otoroshi.plugins.core.DefaultPlugins" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.greenscore.GreenScoreConfig" : {
    "schema" : {
      "sections" : {
        "label" : "sections",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "id" : {
            "label" : "id",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "value" : {
                "label" : "value",
                "type" : "string"
              }
            },
            "flow" : [ "value" ]
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "sectionWeight" : {
                "label" : "sectionWeight",
                "type" : "number"
              },
              "advice" : {
                "label" : "advice",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "id" : {
                "label" : "id",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  }
                },
                "flow" : [ "value" ]
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              }
            },
            "flow" : [ "sectionWeight", "advice", "weight", "enabled", "id", "description" ]
          }
        },
        "flow" : [ "id", "rules" ]
      },
      "thresholds" : {
        "label" : "thresholds",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "excellent" : {
                "label" : "excellent",
                "type" : "number"
              },
              "sufficient" : {
                "label" : "sufficient",
                "type" : "number"
              },
              "poor" : {
                "label" : "poor",
                "type" : "number"
              }
            },
            "flow" : [ "excellent", "sufficient", "poor" ]
          },
          "dataOut" : {
            "label" : "dataOut",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "excellent" : {
                "label" : "excellent",
                "type" : "number"
              },
              "sufficient" : {
                "label" : "sufficient",
                "type" : "number"
              },
              "poor" : {
                "label" : "poor",
                "type" : "number"
              }
            },
            "flow" : [ "excellent", "sufficient", "poor" ]
          },
          "headersOut" : {
            "label" : "headersOut",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "excellent" : {
                "label" : "excellent",
                "type" : "number"
              },
              "sufficient" : {
                "label" : "sufficient",
                "type" : "number"
              },
              "poor" : {
                "label" : "poor",
                "type" : "number"
              }
            },
            "flow" : [ "excellent", "sufficient", "poor" ]
          }
        },
        "flow" : [ "plugins", "dataOut", "headersOut" ]
      }
    },
    "flow" : [ "sections", "thresholds" ]
  },
  "otoroshi.next.plugins.OAuth2CallerConfig" : {
    "schema" : {
      "cache_token_seconds" : {
        "label" : "cache_token_seconds",
        "type" : "number"
      },
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "user" : {
        "label" : "user",
        "type" : "string"
      },
      "kind" : {
        "type" : "select",
        "props" : {
          "label" : "kind",
          "options" : [ "client_credentials", "password" ]
        }
      },
      "header_value_format" : {
        "label" : "header_value_format",
        "type" : "string"
      },
      "json_payload" : {
        "label" : "json_payload",
        "type" : "bool"
      },
      "audience" : {
        "label" : "audience",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "tls_config" : {
        "label" : "tls_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      }
    },
    "flow" : [ "url", "audience", "json_payload", "header_value_format", "kind", "user", "method", "header_name", "password", "scope", "client_secret", "client_id", "cache_token_seconds", "tls_config" ]
  },
  "otoroshi.next.plugins.NgCertificateAsApikeyConfig" : {
    "schema" : {
      "daily_quota" : {
        "label" : "daily_quota",
        "type" : "number"
      },
      "monthly_quota" : {
        "label" : "monthly_quota",
        "type" : "number"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "read_only" : {
        "label" : "read_only",
        "type" : "bool"
      },
      "allow_client_id_only" : {
        "label" : "allow_client_id_only",
        "type" : "bool"
      },
      "throttling_quota" : {
        "label" : "throttling_quota",
        "type" : "number"
      },
      "constrained_services_only" : {
        "label" : "constrained_services_only",
        "type" : "bool"
      }
    },
    "flow" : [ "constrained_services_only", "throttling_quota", "allow_client_id_only", "read_only", "metadata", "tags", "monthly_quota", "daily_quota" ]
  },
  "otoroshi.plugins.geoloc.IpStackGeolocationInfoExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.RemoveHeadersIn" : {
    "schema" : {
      "names" : {
        "label" : "names",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "names" ]
  },
  "otoroshi.wasm.WasmDataRights" : {
    "schema" : {
      "read" : {
        "label" : "read",
        "type" : "bool"
      },
      "write" : {
        "label" : "write",
        "type" : "bool"
      }
    },
    "flow" : [ "write", "read" ]
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.apikeys.ApikeyAuthModule" : {
    "schema" : { },
    "flow" : [ ]
  },
  "HostMetrics" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.AttributeSetter" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgPlugins" : {
    "schema" : {
      "slots" : {
        "label" : "slots",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "instance_id" : {
            "label" : "instance_id",
            "type" : "number"
          },
          "debug" : {
            "label" : "debug",
            "type" : "bool"
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "exclude" : {
            "label" : "exclude",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "plugin_index" : {
            "label" : "plugin_index",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "include" : {
            "label" : "include",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "plugin" : {
            "label" : "plugin",
            "type" : "string"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "instance_id", "debug", "exclude", "plugin_index", "include", "plugin", "enabled", "config" ]
      }
    },
    "flow" : [ "slots" ]
  },
  "WebauthnAdminList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.SessionCookieValues" : {
    "schema" : {
      "httpOnly" : {
        "label" : "httpOnly",
        "type" : "bool"
      },
      "secure" : {
        "label" : "secure",
        "type" : "bool"
      }
    },
    "flow" : [ "secure", "httpOnly" ]
  },
  "otoroshi.plugins.discovery.DiscoverySelfRegistrationSink" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.utils.ConcurrentMutableTypedMap" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.storage.drivers.inmemory.S3Configuration" : {
    "schema" : {
      "writeEvery" : {
        "label" : "writeEvery",
        "type" : "number"
      },
      "chunkSize" : {
        "label" : "chunkSize",
        "type" : "number"
      },
      "bucket" : {
        "label" : "bucket",
        "type" : "string"
      },
      "key" : {
        "label" : "key",
        "type" : "string"
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "v4auth" : {
        "label" : "v4auth",
        "type" : "bool"
      },
      "access" : {
        "label" : "access",
        "type" : "string"
      },
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "region" : {
        "label" : "region",
        "type" : "string"
      }
    },
    "flow" : [ "region", "secret", "access", "v4auth", "endpoint", "key", "bucket", "chunkSize", "writeEvery" ]
  },
  "otoroshi.models.Target" : {
    "schema" : {
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "host" : {
        "label" : "host",
        "type" : "string"
      },
      "weight" : {
        "label" : "weight",
        "type" : "number"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "protocol" : {
        "type" : "select",
        "props" : {
          "label" : "protocol",
          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
        }
      },
      "predicate" : {
        "label" : "predicate",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
            }
          },
          "dc" : {
            "label" : "dc",
            "type" : "string"
          },
          "positions" : {
            "label" : "positions",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "latitude" : {
                "label" : "latitude",
                "type" : "number"
              },
              "longitude" : {
                "label" : "longitude",
                "type" : "number"
              },
              "radius" : {
                "label" : "radius",
                "type" : "number"
              }
            },
            "flow" : [ "latitude", "longitude", "radius" ]
          },
          "provider" : {
            "label" : "provider",
            "type" : "string"
          },
          "dataCenter" : {
            "label" : "dataCenter",
            "type" : "string"
          },
          "rack" : {
            "label" : "rack",
            "type" : "string"
          },
          "region" : {
            "label" : "region",
            "type" : "string"
          },
          "zone" : {
            "label" : "zone",
            "type" : "string"
          }
        },
        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
      },
      "ipAddress" : {
        "label" : "ipAddress",
        "type" : "string"
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "scheme" : {
        "label" : "scheme",
        "type" : "string"
      }
    },
    "flow" : [ "scheme", "ipAddress", "protocol", "metadata", "weight", "host", "tags", "predicate", "mtlsConfig" ]
  },
  "otoroshi.plugins.authcallers.OAuth2CallerConfig" : {
    "schema" : {
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "tlsConfig" : {
        "label" : "tlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "kind" : {
        "type" : "select",
        "props" : {
          "label" : "kind",
          "options" : [ "client_credentials", "password" ]
        }
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "cacheTokenSeconds" : {
        "label" : "cacheTokenSeconds",
        "type" : "number"
      },
      "headerValueFormat" : {
        "label" : "headerValueFormat",
        "type" : "string"
      },
      "user" : {
        "label" : "user",
        "type" : "string"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "clientSecret" : {
        "label" : "clientSecret",
        "type" : "string"
      },
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "jsonPayload" : {
        "label" : "jsonPayload",
        "type" : "bool"
      },
      "clientId" : {
        "label" : "clientId",
        "type" : "string"
      },
      "audience" : {
        "label" : "audience",
        "type" : "string"
      }
    },
    "flow" : [ "audience", "clientId", "jsonPayload", "scope", "clientSecret", "headerName", "user", "headerValueFormat", "cacheTokenSeconds", "password", "kind", "url", "method", "tlsConfig" ]
  },
  "otoroshi.next.plugins.TailscaleCert" : {
    "schema" : {
      "raw" : {
        "label" : "raw",
        "type" : "string"
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.models.DataExporterConfigFiltering" : {
    "schema" : {
      "include" : {
        "label" : "include",
        "type" : "array",
        "array" : true,
        "format" : "form"
      },
      "exclude" : {
        "label" : "exclude",
        "type" : "array",
        "array" : true,
        "format" : "form"
      }
    },
    "flow" : [ "exclude", "include" ]
  },
  "otoroshi.models.LoadBalancing" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
        }
      },
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      }
    },
    "flow" : [ "ratio", "type" ]
  },
  "otoroshi.next.plugins.NgMaxMindGeolocationInfoExtractor" : {
    "schema" : {
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log", "path" ]
  },
  "TargetsList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmPreRoute" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.models.RouteIdentifier" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id" ]
  },
  "otoroshi.next.plugins.NgLegacyAuthModuleCallConfig" : {
    "schema" : {
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "module" : {
            "label" : "module",
            "type" : "string"
          },
          "pass_with_apikey" : {
            "label" : "pass_with_apikey",
            "type" : "bool"
          }
        },
        "flow" : [ "module", "pass_with_apikey" ]
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "config" ]
  },
  "otoroshi.models.WeightedBestResponseTime" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      }
    },
    "flow" : [ "ratio" ]
  },
  "otoroshi.models.Team" : {
    "schema" : {
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tenant" : {
        "label" : "tenant",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id", "metadata", "tenant", "description", "name", "tags" ]
  },
  "otoroshi.models.CorsSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "allowCredentials" : {
        "label" : "allowCredentials",
        "type" : "bool"
      },
      "maxAge" : {
        "label" : "maxAge",
        "type" : "string"
      },
      "allowMethods" : {
        "label" : "allowMethods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allowHeaders" : {
        "label" : "allowHeaders",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "exposeHeaders" : {
        "label" : "exposeHeaders",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allowOrigin" : {
        "label" : "allowOrigin",
        "type" : "string"
      }
    },
    "flow" : [ "allowOrigin", "exposeHeaders", "excludedPatterns", "allowHeaders", "allowMethods", "maxAge", "allowCredentials", "enabled" ]
  },
  "StringList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.loggers.BodyLoggerConfig" : {
    "schema" : {
      "json" : {
        "label" : "json",
        "type" : "object"
      }
    },
    "flow" : [ "json" ]
  },
  "otoroshi.auth.BasicAuthModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "basicAuth" : {
        "label" : "basicAuth",
        "type" : "bool"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "users" : {
        "label" : "users",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          },
          "webauthn" : {
            "label" : "webauthn",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "handle" : {
                "label" : "handle",
                "type" : "string"
              },
              "credentials" : {
                "label" : "credentials",
                "type" : "object"
              }
            },
            "flow" : [ "handle", "credentials" ]
          },
          "rights" : {
            "label" : "rights",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "rights" : {
                "label" : "rights",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canWrite", "value", "canRead" ]
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canRead", "value", "canWrite" ]
                  }
                },
                "flow" : [ "tenant", "teams" ]
              }
            },
            "flow" : [ "rights" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          }
        },
        "flow" : [ "password", "tags", "email", "webauthn", "rights", "name", "metadata" ]
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "webauthn" : {
        "label" : "webauthn",
        "type" : "bool"
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "metadata", "id", "userValidators", "webauthn", "sessionMaxAge", "users", "tags", "basicAuth", "clientSideSessionEnabled", "name", "desc", "type", "_loc", "sessionCookieValues" ]
  },
  "otoroshi.next.plugins.FileUtils" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.InCookie" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
        }
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      }
    },
    "flow" : [ "name", "type" ]
  },
  "otoroshi.next.models.KvNgRouteCompositionDataStore" : {
    "schema" : {
      "_env" : {
        "label" : "_env",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "circuitBeakersHolder" : {
            "label" : "circuitBeakersHolder",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "circuitBeakersHolder" ]
      }
    },
    "flow" : [ "_env" ]
  },
  "otoroshi.plugins.useragent.UserAgentInfoHeader" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.geoloc.MaxMindGeolocationInfoExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.izanami.IzanamiCanaryRoutingConfigRoute" : {
    "schema" : {
      "variants" : {
        "label" : "variants",
        "type" : "object"
      },
      "wildcard" : {
        "label" : "wildcard",
        "type" : "bool"
      },
      "default" : {
        "label" : "default",
        "type" : "string"
      },
      "regex" : {
        "label" : "regex",
        "type" : "bool"
      },
      "exact" : {
        "label" : "exact",
        "type" : "bool"
      },
      "route" : {
        "label" : "route",
        "type" : "string"
      }
    },
    "flow" : [ "route", "exact", "regex", "default", "wildcard", "variants" ]
  },
  "otoroshi.plugins.biscuit.BiscuitExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.events.AlertEvent" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.HeadersValidation" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.next.plugins.wrappers.RequestTransformerWrapper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgClientConfig" : {
    "schema" : {
      "idle_timeout" : {
        "label" : "idle_timeout",
        "type" : "number"
      },
      "sample_interval" : {
        "label" : "sample_interval",
        "type" : "number"
      },
      "cache_connection_settings" : {
        "label" : "cache_connection_settings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "queue_size" : {
            "label" : "queue_size",
            "type" : "number"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "queue_size", "enabled" ]
      },
      "call_and_stream_timeout" : {
        "label" : "call_and_stream_timeout",
        "type" : "number"
      },
      "custom_timeouts" : {
        "label" : "custom_timeouts",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "connection_timeout" : {
            "label" : "connection_timeout",
            "type" : "number"
          },
          "call_and_stream_timeout" : {
            "label" : "call_and_stream_timeout",
            "type" : "number"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "call_timeout" : {
            "label" : "call_timeout",
            "type" : "number"
          },
          "idle_timeout" : {
            "label" : "idle_timeout",
            "type" : "number"
          },
          "global_timeout" : {
            "label" : "global_timeout",
            "type" : "number"
          }
        },
        "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
      },
      "connection_timeout" : {
        "label" : "connection_timeout",
        "type" : "number"
      },
      "call_timeout" : {
        "label" : "call_timeout",
        "type" : "number"
      },
      "global_timeout" : {
        "label" : "global_timeout",
        "type" : "number"
      },
      "retry_initial_delay" : {
        "label" : "retry_initial_delay",
        "type" : "number"
      },
      "backoff_factor" : {
        "label" : "backoff_factor",
        "type" : "number"
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "retries" : {
        "label" : "retries",
        "type" : "number"
      },
      "max_errors" : {
        "label" : "max_errors",
        "type" : "number"
      }
    },
    "flow" : [ "max_errors", "retries", "backoff_factor", "retry_initial_delay", "global_timeout", "call_timeout", "connection_timeout", "custom_timeouts", "call_and_stream_timeout", "sample_interval", "idle_timeout", "cache_connection_settings", "proxy" ]
  },
  "otoroshi.next.plugins.NgEndlessHttpResponseConfig" : {
    "schema" : {
      "finger" : {
        "label" : "finger",
        "type" : "bool"
      },
      "addresses" : {
        "label" : "addresses",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "addresses", "finger" ]
  },
  "otoroshi.auth.SAMLCanocalizationMethod" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.core.apikeys.ClientIdApikeyExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.JwtSigner" : {
    "schema" : {
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "replace_if_present" : {
        "label" : "replace_if_present",
        "type" : "bool"
      },
      "fail_if_present" : {
        "label" : "fail_if_present",
        "type" : "bool"
      }
    },
    "flow" : [ "fail_if_present", "replace_if_present", "verifier" ]
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingHttpValidator" : {
    "schema" : {
      "subject_dns" : {
        "label" : "subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "serial_numbers" : {
        "label" : "serial_numbers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "issuer_dns" : {
        "label" : "issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_issuer_dns" : {
        "label" : "regex_issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_subject_dns" : {
        "label" : "regex_subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "regex_subject_dns", "regex_issuer_dns", "issuer_dns", "serial_numbers", "subject_dns" ]
  },
  "otoroshi.next.plugins.MultiAuthModule" : {
    "schema" : {
      "modules" : {
        "label" : "modules",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "pass_with_apikey" : {
        "label" : "pass_with_apikey",
        "type" : "bool"
      },
      "use_email_prompt" : {
        "label" : "use_email_prompt",
        "type" : "bool"
      },
      "users_groups" : {
        "label" : "users_groups",
        "type" : "object"
      }
    },
    "flow" : [ "users_groups", "use_email_prompt", "pass_with_apikey", "modules" ]
  },
  "otoroshi.models.BasicAuthConstraints" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "queryName" : {
        "label" : "queryName",
        "type" : "string"
      }
    },
    "flow" : [ "queryName", "headerName", "enabled" ]
  },
  "otoroshi.next.plugins.EurekaInstance" : {
    "schema" : {
      "hostname" : {
        "label" : "hostname",
        "type" : "string"
      },
      "vip_address" : {
        "label" : "vip_address",
        "type" : "string"
      },
      "home_page_url" : {
        "label" : "home_page_url",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "last_dirty_timestamp" : {
        "label" : "last_dirty_timestamp",
        "type" : "number"
      },
      "is_secured" : {
        "label" : "is_secured",
        "type" : "bool"
      },
      "ip_addr" : {
        "label" : "ip_addr",
        "type" : "string"
      },
      "last_updated_timestamp" : {
        "label" : "last_updated_timestamp",
        "type" : "number"
      },
      "app" : {
        "label" : "app",
        "type" : "string"
      },
      "overridden_status" : {
        "label" : "overridden_status",
        "type" : "string"
      },
      "status_page_url" : {
        "label" : "status_page_url",
        "type" : "string"
      },
      "is_coordinating_discovery_server" : {
        "label" : "is_coordinating_discovery_server",
        "type" : "string"
      },
      "instance_id" : {
        "label" : "instance_id",
        "type" : "string"
      },
      "secure_vip_address" : {
        "label" : "secure_vip_address",
        "type" : "string"
      },
      "status" : {
        "label" : "status",
        "type" : "string"
      },
      "port" : {
        "label" : "port",
        "type" : "number"
      },
      "secure_port" : {
        "label" : "secure_port",
        "type" : "number"
      },
      "health_check_url" : {
        "label" : "health_check_url",
        "type" : "string"
      }
    },
    "flow" : [ "health_check_url", "secure_port", "port", "status", "secure_vip_address", "instance_id", "is_coordinating_discovery_server", "status_page_url", "overridden_status", "app", "last_updated_timestamp", "ip_addr", "is_secured", "last_dirty_timestamp", "metadata", "home_page_url", "vip_address", "hostname" ]
  },
  "otoroshi.models.SimpleOtoroshiAdmin" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "simple", "webauthn" ]
        }
      },
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "label" : {
        "label" : "label",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "typ" : {
        "type" : "select",
        "props" : {
          "label" : "typ",
          "options" : [ "SIMPLE", "WEBAUTHN" ]
        }
      },
      "createdAt" : {
        "label" : "createdAt",
        "type" : "number"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "rights" : {
        "label" : "rights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      }
    },
    "flow" : [ "password", "metadata", "createdAt", "typ", "label", "tags", "username", "type", "_loc", "rights" ]
  },
  "otoroshi.next.plugins.IpAddressBlockList" : {
    "schema" : {
      "addresses" : {
        "label" : "addresses",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "addresses" ]
  },
  "otoroshi.script.PreRoutingContext" : {
    "schema" : {
      "globalConfig" : {
        "label" : "globalConfig",
        "type" : "object"
      },
      "snowflake" : {
        "label" : "snowflake",
        "type" : "string"
      },
      "descriptor" : {
        "label" : "descriptor",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "buildMode" : {
            "label" : "buildMode",
            "type" : "bool"
          },
          "hosts" : {
            "label" : "hosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "privateApp" : {
            "label" : "privateApp",
            "type" : "bool"
          },
          "localScheme" : {
            "label" : "localScheme",
            "type" : "string"
          },
          "authConfigRef" : {
            "label" : "authConfigRef",
            "type" : "string"
          },
          "issueCertCA" : {
            "label" : "issueCertCA",
            "type" : "string"
          },
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "additionalHeaders" : {
            "label" : "additionalHeaders",
            "type" : "object"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "clientConfig" : {
            "label" : "clientConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              },
              "useCircuitBreaker" : {
                "label" : "useCircuitBreaker",
                "type" : "bool"
              },
              "retryInitialDelay" : {
                "label" : "retryInitialDelay",
                "type" : "number"
              },
              "cacheConnectionSettings" : {
                "label" : "cacheConnectionSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "queueSize" : {
                    "label" : "queueSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "queueSize" ]
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "callTimeout" : {
                "label" : "callTimeout",
                "type" : "number"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              },
              "globalTimeout" : {
                "label" : "globalTimeout",
                "type" : "number"
              },
              "maxErrors" : {
                "label" : "maxErrors",
                "type" : "number"
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "backoffFactor" : {
                "label" : "backoffFactor",
                "type" : "number"
              },
              "customTimeouts" : {
                "label" : "customTimeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "sampleInterval" : {
                "label" : "sampleInterval",
                "type" : "number"
              }
            },
            "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
          },
          "matchingRoot" : {
            "label" : "matchingRoot",
            "type" : "string"
          },
          "forceHttps" : {
            "label" : "forceHttps",
            "type" : "bool"
          },
          "localHost" : {
            "label" : "localHost",
            "type" : "string"
          },
          "sendOtoroshiHeadersBack" : {
            "label" : "sendOtoroshiHeadersBack",
            "type" : "bool"
          },
          "healthCheck" : {
            "label" : "healthCheck",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "strictlyPrivate" : {
            "label" : "strictlyPrivate",
            "type" : "bool"
          },
          "detectApiKeySooner" : {
            "label" : "detectApiKeySooner",
            "type" : "bool"
          },
          "allowHttp10" : {
            "label" : "allowHttp10",
            "type" : "bool"
          },
          "subdomain" : {
            "label" : "subdomain",
            "type" : "string"
          },
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "stripPath" : {
            "label" : "stripPath",
            "type" : "bool"
          },
          "secComAlgoChallengeOtoToBack" : {
            "label" : "secComAlgoChallengeOtoToBack",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "apiKeyConstraints" : {
            "label" : "apiKeyConstraints",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "customHeadersAuth" : {
                "label" : "customHeadersAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "clientIdHeaderName" : {
                    "label" : "clientIdHeaderName",
                    "type" : "string"
                  },
                  "clientSecretHeaderName" : {
                    "label" : "clientSecretHeaderName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
              },
              "routing" : {
                "label" : "routing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "oneTagIn" : {
                    "label" : "oneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneMetaKeysIn" : {
                    "label" : "noneMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "oneMetaIn" : {
                    "label" : "oneMetaIn",
                    "type" : "object"
                  },
                  "oneMetaKeyIn" : {
                    "label" : "oneMetaKeyIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaKeysIn" : {
                    "label" : "allMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneTagIn" : {
                    "label" : "noneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allTagsIn" : {
                    "label" : "allTagsIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaIn" : {
                    "label" : "allMetaIn",
                    "type" : "object"
                  },
                  "noneMetaIn" : {
                    "label" : "noneMetaIn",
                    "type" : "object"
                  }
                },
                "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
              },
              "clientIdAuth" : {
                "label" : "clientIdAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              },
              "jwtAuth" : {
                "label" : "jwtAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "keyPairSigned" : {
                    "label" : "keyPairSigned",
                    "type" : "bool"
                  },
                  "cookieName" : {
                    "label" : "cookieName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "secretSigned" : {
                    "label" : "secretSigned",
                    "type" : "bool"
                  },
                  "maxJwtLifespanSecs" : {
                    "label" : "maxJwtLifespanSecs",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "includeRequestAttributes" : {
                    "label" : "includeRequestAttributes",
                    "type" : "bool"
                  }
                },
                "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
              },
              "basicAuth" : {
                "label" : "basicAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              }
            },
            "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
          },
          "env" : {
            "label" : "env",
            "type" : "string"
          },
          "xForwardedHeaders" : {
            "label" : "xForwardedHeaders",
            "type" : "bool"
          },
          "transformerRefs" : {
            "label" : "transformerRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "gzip" : {
            "label" : "gzip",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "compressionLevel" : {
                "label" : "compressionLevel",
                "type" : "number"
              },
              "blackList" : {
                "label" : "blackList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "chunkedThreshold" : {
                "label" : "chunkedThreshold",
                "type" : "number"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "bufferSize" : {
                "label" : "bufferSize",
                "type" : "number"
              },
              "whiteList" : {
                "label" : "whiteList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
          },
          "sendInfoToken" : {
            "label" : "sendInfoToken",
            "type" : "bool"
          },
          "tcpUdpTunneling" : {
            "label" : "tcpUdpTunneling",
            "type" : "bool"
          },
          "removeHeadersOut" : {
            "label" : "removeHeadersOut",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "removeHeadersIn" : {
            "label" : "removeHeadersIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "secComAlgoInfoToken" : {
            "label" : "secComAlgoInfoToken",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "userFacing" : {
            "label" : "userFacing",
            "type" : "bool"
          },
          "transformerConfig" : {
            "label" : "transformerConfig",
            "type" : "object"
          },
          "clientValidatorRef" : {
            "label" : "clientValidatorRef",
            "type" : "string"
          },
          "securityExcludedPatterns" : {
            "label" : "securityExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "ipAddress" : {
                "label" : "ipAddress",
                "type" : "string"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "scheme" : {
                "label" : "scheme",
                "type" : "string"
              }
            },
            "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
          },
          "redirection" : {
            "label" : "redirection",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "code" : {
                "label" : "code",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "code", "to" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "overrideHost" : {
            "label" : "overrideHost",
            "type" : "bool"
          },
          "accessValidator" : {
            "label" : "accessValidator",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "sendStateChallenge" : {
            "label" : "sendStateChallenge",
            "type" : "bool"
          },
          "chaosConfig" : {
            "label" : "chaosConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "badResponsesFaultConfig" : {
                "label" : "badResponsesFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "responses" : {
                    "label" : "responses",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "status" : {
                        "label" : "status",
                        "type" : "number"
                      },
                      "body" : {
                        "type" : "code",
                        "props" : {
                          "label" : "body",
                          "editorOnly" : true,
                          "mode" : "json"
                        }
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "status", "body", "headers" ]
                  }
                },
                "flow" : [ "ratio", "responses" ]
              },
              "largeRequestFaultConfig" : {
                "label" : "largeRequestFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalRequestSize" : {
                    "label" : "additionalRequestSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalRequestSize" ]
              },
              "largeResponseFaultConfig" : {
                "label" : "largeResponseFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalResponseSize" : {
                    "label" : "additionalResponseSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalResponseSize" ]
              },
              "latencyInjectionFaultConfig" : {
                "label" : "latencyInjectionFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "from" : {
                    "label" : "from",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "from", "to" ]
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
          },
          "secComInfoTokenVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComInfoTokenVersion",
              "options" : [ "Legacy", "Latest" ]
            }
          },
          "additionalHeadersOut" : {
            "label" : "additionalHeadersOut",
            "type" : "object"
          },
          "secComHeaders" : {
            "label" : "secComHeaders",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "claimRequestName" : {
                "label" : "claimRequestName",
                "type" : "string"
              },
              "stateRequestName" : {
                "label" : "stateRequestName",
                "type" : "string"
              },
              "stateResponseName" : {
                "label" : "stateResponseName",
                "type" : "string"
              }
            },
            "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
          },
          "matchingHeaders" : {
            "label" : "matchingHeaders",
            "type" : "object"
          },
          "secComAlgoChallengeBackToOto" : {
            "label" : "secComAlgoChallengeBackToOto",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "secComUseSameAlgo" : {
            "label" : "secComUseSameAlgo",
            "type" : "bool"
          },
          "useNewWSClient" : {
            "label" : "useNewWSClient",
            "type" : "bool"
          },
          "secComExcludedPatterns" : {
            "label" : "secComExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "redirectToLocal" : {
            "label" : "redirectToLocal",
            "type" : "bool"
          },
          "enforceSecureCommunication" : {
            "label" : "enforceSecureCommunication",
            "type" : "bool"
          },
          "missingOnlyHeadersOut" : {
            "label" : "missingOnlyHeadersOut",
            "type" : "object"
          },
          "secComSettings" : {
            "label" : "secComSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "handleLegacyDomain" : {
            "label" : "handleLegacyDomain",
            "type" : "bool"
          },
          "canary" : {
            "label" : "canary",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "traffic" : {
                "label" : "traffic",
                "type" : "number"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "traffic", "targets", "root" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "secComTtl" : {
            "label" : "secComTtl",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "secComVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComVersion",
              "options" : [ "V1", "v2" ]
            }
          },
          "preRouting" : {
            "label" : "preRouting",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "privatePatterns" : {
            "label" : "privatePatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "targetsLoadBalancing" : {
            "label" : "targetsLoadBalancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "cors" : {
            "label" : "cors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "allowCredentials" : {
                "label" : "allowCredentials",
                "type" : "bool"
              },
              "maxAge" : {
                "label" : "maxAge",
                "type" : "string"
              },
              "allowMethods" : {
                "label" : "allowMethods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowHeaders" : {
                "label" : "allowHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exposeHeaders" : {
                "label" : "exposeHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowOrigin" : {
                "label" : "allowOrigin",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "publicPatterns" : {
            "label" : "publicPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "api" : {
            "label" : "api",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "exposeApi" : {
                "label" : "exposeApi",
                "type" : "bool"
              },
              "openApiDescriptorUrl" : {
                "label" : "openApiDescriptorUrl",
                "type" : "string"
              }
            },
            "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
          },
          "missingOnlyHeadersIn" : {
            "label" : "missingOnlyHeadersIn",
            "type" : "object"
          },
          "issueCert" : {
            "label" : "issueCert",
            "type" : "bool"
          },
          "headersVerification" : {
            "label" : "headersVerification",
            "type" : "object"
          },
          "jwtVerifier" : {
            "label" : "jwtVerifier",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "global", "local", "ref" ]
                }
              },
              "desc" : {
                "label" : "desc",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "source" : {
                "label" : "source",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "strategy" : {
                "label" : "strategy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                    }
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "token" : {
                    "label" : "token",
                    "type" : "object"
                  },
                  "verificationSettings" : {
                    "label" : "verificationSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "fields" : {
                        "label" : "fields",
                        "type" : "object"
                      },
                      "arrayFields" : {
                        "label" : "arrayFields",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "fields", "arrayFields" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "transformSettings" : {
                    "label" : "transformSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "location" : {
                        "label" : "location",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                            }
                          },
                          "name" : {
                            "label" : "name",
                            "type" : "string"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "name", "remove" ]
                      },
                      "mappingSettings" : {
                        "label" : "mappingSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "map" : {
                            "label" : "map",
                            "type" : "object"
                          },
                          "values" : {
                            "label" : "values",
                            "type" : "object"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "map", "values", "remove" ]
                      }
                    },
                    "flow" : [ "location", "mappingSettings" ]
                  }
                },
                "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ids" : {
                "label" : "ids",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
          },
          "letsEncrypt" : {
            "label" : "letsEncrypt",
            "type" : "bool"
          }
        },
        "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "index" : {
        "label" : "index",
        "type" : "number"
      },
      "attrs" : {
        "label" : "attrs",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "index", "config", "snowflake", "globalConfig", "descriptor", "attrs" ]
  },
  "otoroshi.models.SecComInfoTokenVersion" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgTrafficMirroringConfig" : {
    "schema" : {
      "legacy" : {
        "label" : "legacy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "conf" : {
            "label" : "conf",
            "type" : "object"
          }
        },
        "flow" : [ "conf" ]
      }
    },
    "flow" : [ "legacy" ]
  },
  "otoroshi.models.SnowMonkeyConfig" : {
    "schema" : {
      "dryRun" : {
        "label" : "dryRun",
        "type" : "bool"
      },
      "outageDurationTo" : {
        "label" : "outageDurationTo",
        "type" : "number"
      },
      "chaosConfig" : {
        "label" : "chaosConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "badResponsesFaultConfig" : {
            "label" : "badResponsesFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "responses" : {
                "label" : "responses",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "status" : {
                    "label" : "status",
                    "type" : "number"
                  },
                  "body" : {
                    "type" : "code",
                    "props" : {
                      "label" : "body",
                      "editorOnly" : true,
                      "mode" : "json"
                    }
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  }
                },
                "flow" : [ "status", "body", "headers" ]
              }
            },
            "flow" : [ "ratio", "responses" ]
          },
          "largeRequestFaultConfig" : {
            "label" : "largeRequestFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "additionalRequestSize" : {
                "label" : "additionalRequestSize",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "additionalRequestSize" ]
          },
          "largeResponseFaultConfig" : {
            "label" : "largeResponseFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "additionalResponseSize" : {
                "label" : "additionalResponseSize",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "additionalResponseSize" ]
          },
          "latencyInjectionFaultConfig" : {
            "label" : "latencyInjectionFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "from" : {
                "label" : "from",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "from", "to" ]
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
      },
      "timesPerDay" : {
        "label" : "timesPerDay",
        "type" : "number"
      },
      "outageDurationFrom" : {
        "label" : "outageDurationFrom",
        "type" : "number"
      },
      "startTime" : {
        "label" : "startTime",
        "type" : "string"
      },
      "includeUserFacingDescriptors" : {
        "label" : "includeUserFacingDescriptors",
        "type" : "bool"
      },
      "targetGroups" : {
        "label" : "targetGroups",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "stopTime" : {
        "label" : "stopTime",
        "type" : "string"
      },
      "outageStrategy" : {
        "type" : "select",
        "props" : {
          "label" : "outageStrategy",
          "options" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
        }
      }
    },
    "flow" : [ "outageStrategy", "stopTime", "enabled", "targetGroups", "includeUserFacingDescriptors", "startTime", "outageDurationFrom", "timesPerDay", "outageDurationTo", "dryRun", "chaosConfig" ]
  },
  "otoroshi.next.plugins.ForwardedHeader" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.TcpTunnel" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ServiceDescriptorIdentifier" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.QueryTransformerConfig" : {
    "schema" : {
      "remove" : {
        "label" : "remove",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rename" : {
        "label" : "rename",
        "type" : "object"
      }
    },
    "flow" : [ "rename", "remove" ]
  },
  "otoroshi.models.ApiKeyRotation" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "rotationEvery" : {
        "label" : "rotationEvery",
        "type" : "number"
      },
      "gracePeriod" : {
        "label" : "gracePeriod",
        "type" : "number"
      },
      "nextSecret" : {
        "label" : "nextSecret",
        "type" : "string"
      }
    },
    "flow" : [ "nextSecret", "gracePeriod", "rotationEvery", "enabled" ]
  },
  "otoroshi.next.plugins.FakeWasmContext" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "idx" : {
        "label" : "idx",
        "type" : "number"
      }
    },
    "flow" : [ "idx", "config" ]
  },
  "otoroshi.plugins.izanami.IzanamiProxyConfig" : {
    "schema" : {
      "izanamiClientId" : {
        "label" : "izanamiClientId",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "mtls" : {
        "label" : "mtls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "featuresEnabled" : {
        "label" : "featuresEnabled",
        "type" : "bool"
      },
      "featuresWithContextEnabled" : {
        "label" : "featuresWithContextEnabled",
        "type" : "bool"
      },
      "izanamiClientSecret" : {
        "label" : "izanamiClientSecret",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "configurationEnabled" : {
        "label" : "configurationEnabled",
        "type" : "bool"
      },
      "featurePattern" : {
        "label" : "featurePattern",
        "type" : "string"
      },
      "izanamiUrl" : {
        "label" : "izanamiUrl",
        "type" : "string"
      },
      "autoContext" : {
        "label" : "autoContext",
        "type" : "bool"
      },
      "configPattern" : {
        "label" : "configPattern",
        "type" : "string"
      }
    },
    "flow" : [ "configPattern", "autoContext", "izanamiUrl", "featurePattern", "configurationEnabled", "timeout", "izanamiClientSecret", "featuresWithContextEnabled", "featuresEnabled", "path", "izanamiClientId", "mtls" ]
  },
  "otoroshi.plugins.izanami.IzanamiCanaryConfig" : {
    "schema" : {
      "izanamiClientId" : {
        "label" : "izanamiClientId",
        "type" : "string"
      },
      "configId" : {
        "label" : "configId",
        "type" : "string"
      },
      "experimentId" : {
        "label" : "experimentId",
        "type" : "string"
      },
      "mtls" : {
        "label" : "mtls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "izanamiUrl" : {
        "label" : "izanamiUrl",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "izanamiClientSecret" : {
        "label" : "izanamiClientSecret",
        "type" : "string"
      },
      "routeConfig" : {
        "label" : "routeConfig",
        "type" : "string"
      }
    },
    "flow" : [ "routeConfig", "izanamiClientSecret", "timeout", "izanamiUrl", "experimentId", "configId", "izanamiClientId", "mtls" ]
  },
  "otoroshi.greenscore.SectionId" : {
    "schema" : {
      "value" : {
        "label" : "value",
        "type" : "string"
      }
    },
    "flow" : [ "value" ]
  },
  "otoroshi.utils.http.MtlsConfig" : {
    "schema" : {
      "mtls" : {
        "label" : "mtls",
        "type" : "bool"
      },
      "loose" : {
        "label" : "loose",
        "type" : "bool"
      },
      "trustAll" : {
        "label" : "trustAll",
        "type" : "bool"
      },
      "trustedCerts" : {
        "label" : "trustedCerts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "certs" : {
        "label" : "certs",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "certs", "trustedCerts", "trustAll", "loose", "mtls" ]
  },
  "otoroshi.next.plugins.XForwardedHeaders" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgLegacyApikeyCall" : {
    "schema" : {
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mandatory" : {
            "label" : "mandatory",
            "type" : "bool"
          },
          "extractors" : {
            "label" : "extractors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "basic" : {
                "label" : "basic",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "header_name", "query_name" ]
              },
              "custom_headers" : {
                "label" : "custom_headers",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "client_id_header_name" : {
                    "label" : "client_id_header_name",
                    "type" : "string"
                  },
                  "client_secret_header_name" : {
                    "label" : "client_secret_header_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "client_id_header_name", "client_secret_header_name" ]
              },
              "client_id" : {
                "label" : "client_id",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "header_name", "query_name", "enabled" ]
              },
              "jwt" : {
                "label" : "jwt",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "cookie_name" : {
                    "label" : "cookie_name",
                    "type" : "string"
                  },
                  "key_pair_signed" : {
                    "label" : "key_pair_signed",
                    "type" : "bool"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  },
                  "secret_signed" : {
                    "label" : "secret_signed",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "include_request_attrs" : {
                    "label" : "include_request_attrs",
                    "type" : "bool"
                  },
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "cookie_name", "key_pair_signed", "query_name", "secret_signed", "enabled", "include_request_attrs", "header_name" ]
              }
            },
            "flow" : [ "basic", "custom_headers", "client_id", "jwt" ]
          },
          "pass_with_user" : {
            "label" : "pass_with_user",
            "type" : "bool"
          },
          "wipe_backend_request" : {
            "label" : "wipe_backend_request",
            "type" : "bool"
          },
          "validate" : {
            "label" : "validate",
            "type" : "bool"
          },
          "routing" : {
            "label" : "routing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "none_meta_keys_in" : {
                "label" : "none_meta_keys_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "all_meta_keys_in" : {
                "label" : "all_meta_keys_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "all_meta_in" : {
                "label" : "all_meta_in",
                "type" : "object"
              },
              "none_meta_in" : {
                "label" : "none_meta_in",
                "type" : "object"
              },
              "one_tag_in" : {
                "label" : "one_tag_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "one_meta_in" : {
                "label" : "one_meta_in",
                "type" : "object"
              },
              "all_tags_in" : {
                "label" : "all_tags_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "one_meta_key_in" : {
                "label" : "one_meta_key_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "none_tag_in" : {
                "label" : "none_tag_in",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "none_meta_keys_in", "all_meta_keys_in", "all_meta_in", "none_meta_in", "one_tag_in", "enabled", "one_meta_in", "all_tags_in", "one_meta_key_in", "none_tag_in" ]
          },
          "update_quotas" : {
            "label" : "update_quotas",
            "type" : "bool"
          }
        },
        "flow" : [ "mandatory", "extractors", "pass_with_user", "wipe_backend_request", "validate", "routing", "update_quotas" ]
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "config" ]
  },
  "otoroshi.next.plugins.UdpTunnel" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.IpAddressAllowedList" : {
    "schema" : {
      "addresses" : {
        "label" : "addresses",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "addresses" ]
  },
  "otoroshi.plugins.log4j.Log4jExpressionParser" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgMinimalBackend" : {
    "schema" : {
      "root" : {
        "label" : "root",
        "type" : "string"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "ip_address" : {
            "label" : "ip_address",
            "type" : "string"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "tls_config" : {
            "label" : "tls_config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trust_all" : {
                "label" : "trust_all",
                "type" : "bool"
              },
              "trusted_certs" : {
                "label" : "trusted_certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          }
        },
        "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
      },
      "load_balancing" : {
        "label" : "load_balancing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
            }
          },
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          }
        },
        "flow" : [ "type", "ratio" ]
      },
      "rewrite" : {
        "label" : "rewrite",
        "type" : "bool"
      }
    },
    "flow" : [ "rewrite", "targets", "root", "load_balancing" ]
  },
  "otoroshi.utils.letsencrypt.LetsEncryptSettings" : {
    "schema" : {
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      },
      "contacts" : {
        "label" : "contacts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "emails" : {
        "label" : "emails",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "server" : {
        "label" : "server",
        "type" : "string"
      }
    },
    "flow" : [ "server", "publicKey", "enabled", "emails", "contacts", "privateKey" ]
  },
  "otoroshi.next.plugins.NgBrotliConfig" : {
    "schema" : {
      "buffer_size" : {
        "label" : "buffer_size",
        "type" : "number"
      },
      "black_list" : {
        "label" : "black_list",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "white_list" : {
        "label" : "white_list",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "compression_level" : {
        "label" : "compression_level",
        "type" : "number"
      },
      "chunked_threshold" : {
        "label" : "chunked_threshold",
        "type" : "number"
      }
    },
    "flow" : [ "chunked_threshold", "compression_level", "white_list", "black_list", "buffer_size" ]
  },
  "otoroshi.next.plugins.NgHtmlPatcher" : {
    "schema" : {
      "append_head" : {
        "label" : "append_head",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "append_body" : {
        "label" : "append_body",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "append_body", "append_head" ]
  },
  "otoroshi.ssl.pki.models.SignCertResponse" : {
    "schema" : {
      "cert" : {
        "label" : "cert",
        "type" : "string"
      },
      "csr" : {
        "label" : "csr",
        "type" : "string"
      },
      "ca" : {
        "label" : "ca",
        "type" : "string"
      }
    },
    "flow" : [ "ca", "csr", "cert" ]
  },
  "otoroshi.greenscore.RouteScreenScore" : {
    "schema" : {
      "routeId" : {
        "label" : "routeId",
        "type" : "string"
      },
      "rulesConfig" : {
        "label" : "rulesConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "sections" : {
            "label" : "sections",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "id" : {
                "label" : "id",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  }
                },
                "flow" : [ "value" ]
              },
              "rules" : {
                "label" : "rules",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "sectionWeight" : {
                    "label" : "sectionWeight",
                    "type" : "number"
                  },
                  "advice" : {
                    "label" : "advice",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "value" ]
                  },
                  "description" : {
                    "label" : "description",
                    "type" : "string"
                  }
                },
                "flow" : [ "sectionWeight", "advice", "weight", "enabled", "id", "description" ]
              }
            },
            "flow" : [ "id", "rules" ]
          },
          "thresholds" : {
            "label" : "thresholds",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "plugins" : {
                "label" : "plugins",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "excellent" : {
                    "label" : "excellent",
                    "type" : "number"
                  },
                  "sufficient" : {
                    "label" : "sufficient",
                    "type" : "number"
                  },
                  "poor" : {
                    "label" : "poor",
                    "type" : "number"
                  }
                },
                "flow" : [ "excellent", "sufficient", "poor" ]
              },
              "dataOut" : {
                "label" : "dataOut",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "excellent" : {
                    "label" : "excellent",
                    "type" : "number"
                  },
                  "sufficient" : {
                    "label" : "sufficient",
                    "type" : "number"
                  },
                  "poor" : {
                    "label" : "poor",
                    "type" : "number"
                  }
                },
                "flow" : [ "excellent", "sufficient", "poor" ]
              },
              "headersOut" : {
                "label" : "headersOut",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "excellent" : {
                    "label" : "excellent",
                    "type" : "number"
                  },
                  "sufficient" : {
                    "label" : "sufficient",
                    "type" : "number"
                  },
                  "poor" : {
                    "label" : "poor",
                    "type" : "number"
                  }
                },
                "flow" : [ "excellent", "sufficient", "poor" ]
              }
            },
            "flow" : [ "plugins", "dataOut", "headersOut" ]
          }
        },
        "flow" : [ "sections", "thresholds" ]
      }
    },
    "flow" : [ "routeId", "rulesConfig" ]
  },
  "otoroshi.next.plugins.RBACConfig" : {
    "schema" : {
      "roles" : {
        "label" : "roles",
        "type" : "string"
      },
      "allow" : {
        "label" : "allow",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allow_all" : {
        "label" : "allow_all",
        "type" : "bool"
      },
      "role_prefix" : {
        "label" : "role_prefix",
        "type" : "string"
      },
      "jwt_path" : {
        "label" : "jwt_path",
        "type" : "string"
      },
      "apikey_path" : {
        "label" : "apikey_path",
        "type" : "string"
      },
      "deny" : {
        "label" : "deny",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "user_path" : {
        "label" : "user_path",
        "type" : "string"
      },
      "deny_all" : {
        "label" : "deny_all",
        "type" : "bool"
      }
    },
    "flow" : [ "deny_all", "user_path", "deny", "apikey_path", "jwt_path", "role_prefix", "allow_all", "allow", "roles" ]
  },
  "otoroshi.events.SaslConfig" : {
    "schema" : {
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "mechanism" : {
        "label" : "mechanism",
        "type" : "string"
      }
    },
    "flow" : [ "mechanism", "password", "username" ]
  },
  "otoroshi.next.plugins.NgResponseCacheConfig" : {
    "schema" : {
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "max_size" : {
        "label" : "max_size",
        "type" : "number"
      },
      "auto_clean" : {
        "label" : "auto_clean",
        "type" : "bool"
      },
      "filter" : {
        "label" : "filter",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "methods" : {
            "label" : "methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "not_methods" : {
            "label" : "not_methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "not_paths" : {
            "label" : "not_paths",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "paths", "methods", "not_methods", "not_paths" ]
      }
    },
    "flow" : [ "auto_clean", "max_size", "ttl", "filter" ]
  },
  "otoroshi.plugins.geoloc.GeolocationInfoHeader" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.external.ExternalHttpValidatorConfig" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "object"
      }
    },
    "flow" : [ "config" ]
  },
  "otoroshi.next.models.NgRouteComposition" : {
    "schema" : {
      "capture" : {
        "label" : "capture",
        "type" : "bool"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "debug_flow" : {
        "label" : "debug_flow",
        "type" : "bool"
      },
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "override_plugins" : {
            "label" : "override_plugins",
            "type" : "bool"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              }
            },
            "flow" : [ "root", "targets", "load_balancing", "rewrite" ]
          }
        },
        "flow" : [ "backend_ref", "frontend", "override_plugins", "backend" ]
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "export_reporting" : {
        "label" : "export_reporting",
        "type" : "bool"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "client" : {
        "label" : "client",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "idle_timeout" : {
            "label" : "idle_timeout",
            "type" : "number"
          },
          "sample_interval" : {
            "label" : "sample_interval",
            "type" : "number"
          },
          "cache_connection_settings" : {
            "label" : "cache_connection_settings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "queue_size" : {
                "label" : "queue_size",
                "type" : "number"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "queue_size", "enabled" ]
          },
          "call_and_stream_timeout" : {
            "label" : "call_and_stream_timeout",
            "type" : "number"
          },
          "custom_timeouts" : {
            "label" : "custom_timeouts",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "connection_timeout" : {
                "label" : "connection_timeout",
                "type" : "number"
              },
              "call_and_stream_timeout" : {
                "label" : "call_and_stream_timeout",
                "type" : "number"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "call_timeout" : {
                "label" : "call_timeout",
                "type" : "number"
              },
              "idle_timeout" : {
                "label" : "idle_timeout",
                "type" : "number"
              },
              "global_timeout" : {
                "label" : "global_timeout",
                "type" : "number"
              }
            },
            "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
          },
          "connection_timeout" : {
            "label" : "connection_timeout",
            "type" : "number"
          },
          "call_timeout" : {
            "label" : "call_timeout",
            "type" : "number"
          },
          "global_timeout" : {
            "label" : "global_timeout",
            "type" : "number"
          },
          "retry_initial_delay" : {
            "label" : "retry_initial_delay",
            "type" : "number"
          },
          "backoff_factor" : {
            "label" : "backoff_factor",
            "type" : "number"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "retries" : {
            "label" : "retries",
            "type" : "number"
          },
          "max_errors" : {
            "label" : "max_errors",
            "type" : "number"
          }
        },
        "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
      },
      "groups" : {
        "label" : "groups",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "groups", "name", "tags", "export_reporting", "metadata", "description", "enabled", "routes", "debug_flow", "id", "capture", "_loc", "client" ]
  },
  "otoroshi.plugins.mirror.MirroringPlugin" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.S3ExporterSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "maxFileSize" : {
        "label" : "maxFileSize",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "writeEvery" : {
            "label" : "writeEvery",
            "type" : "number"
          },
          "chunkSize" : {
            "label" : "chunkSize",
            "type" : "number"
          },
          "bucket" : {
            "label" : "bucket",
            "type" : "string"
          },
          "key" : {
            "label" : "key",
            "type" : "string"
          },
          "endpoint" : {
            "label" : "endpoint",
            "type" : "string"
          },
          "v4auth" : {
            "label" : "v4auth",
            "type" : "bool"
          },
          "access" : {
            "label" : "access",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "region" : {
            "label" : "region",
            "type" : "string"
          }
        },
        "flow" : [ "writeEvery", "chunkSize", "bucket", "key", "endpoint", "v4auth", "access", "secret", "region" ]
      }
    },
    "flow" : [ "maxFileSize", "type", "config" ]
  },
  "otoroshi.next.models.NgTlsConfig" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "certs" : {
        "label" : "certs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "loose" : {
        "label" : "loose",
        "type" : "bool"
      },
      "trust_all" : {
        "label" : "trust_all",
        "type" : "bool"
      },
      "trusted_certs" : {
        "label" : "trusted_certs",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "trusted_certs", "trust_all", "loose", "certs", "enabled" ]
  },
  "otoroshi.next.plugins.JwtVerificationOnly" : {
    "schema" : {
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "fail_if_absent" : {
        "label" : "fail_if_absent",
        "type" : "bool"
      }
    },
    "flow" : [ "fail_if_absent", "verifier" ]
  },
  "otoroshi.models.SecComHeaders" : {
    "schema" : {
      "claimRequestName" : {
        "label" : "claimRequestName",
        "type" : "string"
      },
      "stateRequestName" : {
        "label" : "stateRequestName",
        "type" : "string"
      },
      "stateResponseName" : {
        "label" : "stateResponseName",
        "type" : "string"
      }
    },
    "flow" : [ "stateResponseName", "stateRequestName", "claimRequestName" ]
  },
  "otoroshi.next.models.NgDomainAndPath" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.JwtVerification" : {
    "schema" : {
      "verifiers" : {
        "label" : "verifiers",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "verifiers" ]
  },
  "otoroshi.next.plugins.NgAuthModuleConfig" : {
    "schema" : {
      "module" : {
        "label" : "module",
        "type" : "string"
      },
      "pass_with_apikey" : {
        "label" : "pass_with_apikey",
        "type" : "bool"
      }
    },
    "flow" : [ "pass_with_apikey", "module" ]
  },
  "otoroshi.next.models.RoutingStrategy" : {
    "schema" : { },
    "flow" : [ ]
  },
  "LiveStats" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.apikeys.HasAllowedApiKeyValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgDefaultRequestBodyConfig" : {
    "schema" : {
      "content_type" : {
        "label" : "content_type",
        "type" : "string"
      },
      "content_encoding" : {
        "label" : "content_encoding",
        "type" : "string"
      }
    },
    "flow" : [ "content_encoding", "content_type" ]
  },
  "otoroshi.next.plugins.OIDCAccessTokenValidator" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "at_least_one" : {
        "label" : "at_least_one",
        "type" : "bool"
      },
      "config" : {
        "label" : "config",
        "type" : "string"
      }
    },
    "flow" : [ "config", "at_least_one", "enabled" ]
  },
  "otoroshi.next.plugins.NgLegacyApikeyCallConfig" : {
    "schema" : {
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mandatory" : {
            "label" : "mandatory",
            "type" : "bool"
          },
          "extractors" : {
            "label" : "extractors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "basic" : {
                "label" : "basic",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "header_name", "query_name" ]
              },
              "custom_headers" : {
                "label" : "custom_headers",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "client_id_header_name" : {
                    "label" : "client_id_header_name",
                    "type" : "string"
                  },
                  "client_secret_header_name" : {
                    "label" : "client_secret_header_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "client_id_header_name", "client_secret_header_name" ]
              },
              "client_id" : {
                "label" : "client_id",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "header_name", "query_name", "enabled" ]
              },
              "jwt" : {
                "label" : "jwt",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "cookie_name" : {
                    "label" : "cookie_name",
                    "type" : "string"
                  },
                  "key_pair_signed" : {
                    "label" : "key_pair_signed",
                    "type" : "bool"
                  },
                  "query_name" : {
                    "label" : "query_name",
                    "type" : "string"
                  },
                  "secret_signed" : {
                    "label" : "secret_signed",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "include_request_attrs" : {
                    "label" : "include_request_attrs",
                    "type" : "bool"
                  },
                  "header_name" : {
                    "label" : "header_name",
                    "type" : "string"
                  }
                },
                "flow" : [ "cookie_name", "key_pair_signed", "query_name", "secret_signed", "enabled", "include_request_attrs", "header_name" ]
              }
            },
            "flow" : [ "basic", "custom_headers", "client_id", "jwt" ]
          },
          "pass_with_user" : {
            "label" : "pass_with_user",
            "type" : "bool"
          },
          "wipe_backend_request" : {
            "label" : "wipe_backend_request",
            "type" : "bool"
          },
          "validate" : {
            "label" : "validate",
            "type" : "bool"
          },
          "routing" : {
            "label" : "routing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "none_meta_keys_in" : {
                "label" : "none_meta_keys_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "all_meta_keys_in" : {
                "label" : "all_meta_keys_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "all_meta_in" : {
                "label" : "all_meta_in",
                "type" : "object"
              },
              "none_meta_in" : {
                "label" : "none_meta_in",
                "type" : "object"
              },
              "one_tag_in" : {
                "label" : "one_tag_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "one_meta_in" : {
                "label" : "one_meta_in",
                "type" : "object"
              },
              "all_tags_in" : {
                "label" : "all_tags_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "one_meta_key_in" : {
                "label" : "one_meta_key_in",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "none_tag_in" : {
                "label" : "none_tag_in",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "none_meta_keys_in", "all_meta_keys_in", "all_meta_in", "none_meta_in", "one_tag_in", "enabled", "one_meta_in", "all_tags_in", "one_meta_key_in", "none_tag_in" ]
          },
          "update_quotas" : {
            "label" : "update_quotas",
            "type" : "bool"
          }
        },
        "flow" : [ "mandatory", "extractors", "pass_with_user", "wipe_backend_request", "validate", "routing", "update_quotas" ]
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "config" ]
  },
  "otoroshi.next.plugins.MockFormData" : {
    "schema" : {
      "resources" : {
        "label" : "resources",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "schema" : {
            "label" : "schema",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "field_name" : {
                "label" : "field_name",
                "type" : "string"
              },
              "field_type" : {
                "label" : "field_type",
                "type" : "string"
              },
              "value" : {
                "label" : "value",
                "type" : "object"
              }
            },
            "flow" : [ "field_name", "field_type", "value" ]
          },
          "additional_data" : {
            "label" : "additional_data",
            "type" : "string"
          }
        },
        "flow" : [ "name", "schema", "additional_data" ]
      },
      "endpoints" : {
        "label" : "endpoints",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "status" : {
            "label" : "status",
            "type" : "number"
          },
          "body" : {
            "type" : "code",
            "props" : {
              "label" : "body",
              "editorOnly" : true,
              "mode" : "json"
            }
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "resource" : {
            "label" : "resource",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "string"
          },
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "resource_list" : {
            "label" : "resource_list",
            "type" : "bool"
          }
        },
        "flow" : [ "status", "body", "path", "resource", "headers", "method", "resource_list" ]
      }
    },
    "flow" : [ "endpoints", "resources" ]
  },
  "otoroshi.plugins.biscuit.BiscuitHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.AdditionalHeadersOut" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.models.Tenant" : {
    "schema" : {
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id", "tags", "name", "metadata", "description" ]
  },
  "ScriptsList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.geoloc.IpStackGeolocationHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgHeaderValuesConfig" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.next.plugins.BasicAuthCallerConfig" : {
    "schema" : {
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "header_value_format" : {
        "label" : "header_value_format",
        "type" : "string"
      }
    },
    "flow" : [ "header_value_format", "header_name", "password", "username" ]
  },
  "otoroshi.events.KafkaConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "sendEvents" : {
        "label" : "sendEvents",
        "type" : "bool"
      },
      "truststore" : {
        "label" : "truststore",
        "type" : "string"
      },
      "hostValidation" : {
        "label" : "hostValidation",
        "type" : "bool"
      },
      "servers" : {
        "label" : "servers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "securityProtocol" : {
        "label" : "securityProtocol",
        "type" : "string"
      },
      "keystore" : {
        "label" : "keystore",
        "type" : "string"
      },
      "topic" : {
        "label" : "topic",
        "type" : "string"
      },
      "keyPass" : {
        "label" : "keyPass",
        "type" : "string"
      },
      "saslConfig" : {
        "label" : "saslConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "username" : {
            "label" : "username",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "mechanism" : {
            "label" : "mechanism",
            "type" : "string"
          }
        },
        "flow" : [ "username", "password", "mechanism" ]
      }
    },
    "flow" : [ "keyPass", "topic", "keystore", "securityProtocol", "servers", "hostValidation", "truststore", "sendEvents", "type", "mtlsConfig", "saslConfig" ]
  },
  "otoroshi.models.GoReplayS3Settings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "s3" : {
        "label" : "s3",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "writeEvery" : {
            "label" : "writeEvery",
            "type" : "number"
          },
          "chunkSize" : {
            "label" : "chunkSize",
            "type" : "number"
          },
          "bucket" : {
            "label" : "bucket",
            "type" : "string"
          },
          "key" : {
            "label" : "key",
            "type" : "string"
          },
          "endpoint" : {
            "label" : "endpoint",
            "type" : "string"
          },
          "v4auth" : {
            "label" : "v4auth",
            "type" : "bool"
          },
          "access" : {
            "label" : "access",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "region" : {
            "label" : "region",
            "type" : "string"
          }
        },
        "flow" : [ "writeEvery", "chunkSize", "bucket", "key", "endpoint", "v4auth", "access", "secret", "region" ]
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "captureResponses" : {
        "label" : "captureResponses",
        "type" : "bool"
      },
      "preferBackendResponse" : {
        "label" : "preferBackendResponse",
        "type" : "bool"
      },
      "maxFileSize" : {
        "label" : "maxFileSize",
        "type" : "number"
      },
      "captureRequests" : {
        "label" : "captureRequests",
        "type" : "bool"
      },
      "preferBackendRequest" : {
        "label" : "preferBackendRequest",
        "type" : "bool"
      }
    },
    "flow" : [ "preferBackendRequest", "captureRequests", "maxFileSize", "preferBackendResponse", "captureResponses", "methods", "type", "s3" ]
  },
  "otoroshi.next.plugins.TailscaleLocalApiClient" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.GlobalConfig" : {
    "schema" : {
      "geolocationSettings" : {
        "label" : "geolocationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "none" ]
            }
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "apikey" : {
            "label" : "apikey",
            "type" : "string"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "type", "enabled", "apikey", "timeout", "path" ]
      },
      "alertsEmails" : {
        "label" : "alertsEmails",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "throttlingQuota" : {
        "label" : "throttlingQuota",
        "type" : "number"
      },
      "anonymousReporting" : {
        "label" : "anonymousReporting",
        "type" : "bool"
      },
      "maxWebhookSize" : {
        "label" : "maxWebhookSize",
        "type" : "number"
      },
      "env" : {
        "label" : "env",
        "type" : "object"
      },
      "maxConcurrentRequests" : {
        "label" : "maxConcurrentRequests",
        "type" : "number"
      },
      "cleverSettings" : {
        "label" : "cleverSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "consumerSecret" : {
            "label" : "consumerSecret",
            "type" : "string"
          },
          "consumerKey" : {
            "label" : "consumerKey",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "token" : {
            "label" : "token",
            "type" : "string"
          },
          "orgaId" : {
            "label" : "orgaId",
            "type" : "string"
          }
        },
        "flow" : [ "consumerSecret", "consumerKey", "secret", "token", "orgaId" ]
      },
      "templates" : {
        "label" : "templates",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "team" : {
            "label" : "team",
            "type" : "string"
          },
          "script" : {
            "label" : "script",
            "type" : "string"
          },
          "apikey" : {
            "label" : "apikey",
            "type" : "string"
          },
          "group" : {
            "label" : "group",
            "type" : "string"
          },
          "tcpService" : {
            "label" : "tcpService",
            "type" : "string"
          },
          "verifier" : {
            "label" : "verifier",
            "type" : "string"
          },
          "service" : {
            "label" : "service",
            "type" : "string"
          },
          "target" : {
            "label" : "target",
            "type" : "string"
          },
          "certificate" : {
            "label" : "certificate",
            "type" : "string"
          },
          "dataExporter" : {
            "label" : "dataExporter",
            "type" : "string"
          },
          "route" : {
            "label" : "route",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "string"
          },
          "template" : {
            "label" : "template",
            "type" : "string"
          },
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "authConfig" : {
            "label" : "authConfig",
            "type" : "string"
          },
          "descriptor" : {
            "label" : "descriptor",
            "type" : "string"
          }
        },
        "flow" : [ "team", "script", "apikey", "group", "tcpService", "verifier", "service", "target", "certificate", "dataExporter", "route", "backend", "template", "tenant", "authConfig", "descriptor" ]
      },
      "endlessIpAddresses" : {
        "label" : "endlessIpAddresses",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugins" : {
        "label" : "plugins",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "excluded" : {
            "label" : "excluded",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "refs" : {
            "label" : "refs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "config", "enabled", "excluded", "refs" ]
      },
      "kafkaConfig" : {
        "label" : "kafkaConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "sendEvents" : {
            "label" : "sendEvents",
            "type" : "bool"
          },
          "truststore" : {
            "label" : "truststore",
            "type" : "string"
          },
          "hostValidation" : {
            "label" : "hostValidation",
            "type" : "bool"
          },
          "servers" : {
            "label" : "servers",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "securityProtocol" : {
            "label" : "securityProtocol",
            "type" : "string"
          },
          "keystore" : {
            "label" : "keystore",
            "type" : "string"
          },
          "topic" : {
            "label" : "topic",
            "type" : "string"
          },
          "keyPass" : {
            "label" : "keyPass",
            "type" : "string"
          },
          "saslConfig" : {
            "label" : "saslConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "username" : {
                "label" : "username",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "mechanism" : {
                "label" : "mechanism",
                "type" : "string"
              }
            },
            "flow" : [ "username", "password", "mechanism" ]
          }
        },
        "flow" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig" ]
      },
      "maxLogsSize" : {
        "label" : "maxLogsSize",
        "type" : "number"
      },
      "proxies" : {
        "label" : "proxies",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "elastic" : {
            "label" : "elastic",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "eventsWebhooks" : {
            "label" : "eventsWebhooks",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "jwk" : {
            "label" : "jwk",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "auth" : {
            "label" : "auth",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "clevercloud" : {
            "label" : "clevercloud",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "alertEmails" : {
            "label" : "alertEmails",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "authority" : {
            "label" : "authority",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "services" : {
            "label" : "services",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          }
        },
        "flow" : [ "elastic", "eventsWebhooks", "jwk", "auth", "clevercloud", "alertEmails", "authority", "services" ]
      },
      "enableEmbeddedMetrics" : {
        "label" : "enableEmbeddedMetrics",
        "type" : "bool"
      },
      "elasticReadsConfig" : {
        "label" : "elasticReadsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "sendWorkers" : {
            "label" : "sendWorkers",
            "type" : "number"
          },
          "applyTemplate" : {
            "label" : "applyTemplate",
            "type" : "bool"
          },
          "uris" : {
            "label" : "uris",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "version" : {
            "label" : "version",
            "type" : "string"
          },
          "maxBulkSize" : {
            "label" : "maxBulkSize",
            "type" : "number"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "indexSettings" : {
            "label" : "indexSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "clientSide" : {
                "label" : "clientSide",
                "type" : "bool"
              },
              "numberOfShards" : {
                "label" : "numberOfShards",
                "type" : "number"
              },
              "numberOfReplicas" : {
                "label" : "numberOfReplicas",
                "type" : "number"
              },
              "interval" : {
                "label" : "interval",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              }
            },
            "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
          },
          "user" : {
            "label" : "user",
            "type" : "string"
          },
          "index" : {
            "label" : "index",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          }
        },
        "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password" ]
      },
      "trustXForwarded" : {
        "label" : "trustXForwarded",
        "type" : "bool"
      },
      "quotasSettings" : {
        "label" : "quotasSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "dailyQuotasThreshold" : {
            "label" : "dailyQuotasThreshold",
            "type" : "number"
          },
          "monthlyQuotasThreshold" : {
            "label" : "monthlyQuotasThreshold",
            "type" : "number"
          }
        },
        "flow" : [ "enabled", "dailyQuotasThreshold", "monthlyQuotasThreshold" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "limitConcurrentRequests" : {
        "label" : "limitConcurrentRequests",
        "type" : "bool"
      },
      "useAkkaHttpClient" : {
        "label" : "useAkkaHttpClient",
        "type" : "bool"
      },
      "elasticWritesConfigs" : {
        "label" : "elasticWritesConfigs",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "sendWorkers" : {
            "label" : "sendWorkers",
            "type" : "number"
          },
          "applyTemplate" : {
            "label" : "applyTemplate",
            "type" : "bool"
          },
          "uris" : {
            "label" : "uris",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "version" : {
            "label" : "version",
            "type" : "string"
          },
          "maxBulkSize" : {
            "label" : "maxBulkSize",
            "type" : "number"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "indexSettings" : {
            "label" : "indexSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "clientSide" : {
                "label" : "clientSide",
                "type" : "bool"
              },
              "numberOfShards" : {
                "label" : "numberOfShards",
                "type" : "number"
              },
              "numberOfReplicas" : {
                "label" : "numberOfReplicas",
                "type" : "number"
              },
              "interval" : {
                "label" : "interval",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              }
            },
            "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
          },
          "user" : {
            "label" : "user",
            "type" : "string"
          },
          "index" : {
            "label" : "index",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          }
        },
        "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "indexSettings", "user", "index", "password", "headers" ]
      },
      "logAnalyticsOnServer" : {
        "label" : "logAnalyticsOnServer",
        "type" : "bool"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "apiReadOnly" : {
        "label" : "apiReadOnly",
        "type" : "bool"
      },
      "backOfficeAuthRef" : {
        "label" : "backOfficeAuthRef",
        "type" : "string"
      },
      "streamEntityOnly" : {
        "label" : "streamEntityOnly",
        "type" : "bool"
      },
      "otoroshiId" : {
        "label" : "otoroshiId",
        "type" : "string"
      },
      "mailerSettings" : {
        "label" : "mailerSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "to" : {
            "label" : "to",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "email" : {
                "label" : "email",
                "type" : "string"
              }
            },
            "flow" : [ "name", "email" ]
          },
          "eu" : {
            "label" : "eu",
            "type" : "bool"
          },
          "apiKey" : {
            "label" : "apiKey",
            "type" : "string"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "apiKeyPublic" : {
            "label" : "apiKeyPublic",
            "type" : "string"
          },
          "apiKeyPrivate" : {
            "label" : "apiKeyPrivate",
            "type" : "string"
          }
        },
        "flow" : [ "type", "url", "headers", "to", "eu", "apiKey", "domain", "apiKeyPublic", "apiKeyPrivate" ]
      },
      "lines" : {
        "label" : "lines",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "extensions" : {
        "label" : "extensions",
        "type" : "object"
      },
      "middleFingers" : {
        "label" : "middleFingers",
        "type" : "bool"
      },
      "analyticsWebhooks" : {
        "label" : "analyticsWebhooks",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          }
        },
        "flow" : [ "type", "url", "mtlsConfig", "headers" ]
      },
      "autoCert" : {
        "label" : "autoCert",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "allowed" : {
            "label" : "allowed",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "replyNicely" : {
            "label" : "replyNicely",
            "type" : "bool"
          },
          "notAllowed" : {
            "label" : "notAllowed",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "caRef" : {
            "label" : "caRef",
            "type" : "string"
          }
        },
        "flow" : [ "allowed", "enabled", "replyNicely", "notAllowed", "caRef" ]
      },
      "maintenanceMode" : {
        "label" : "maintenanceMode",
        "type" : "bool"
      },
      "initWithNewEngine" : {
        "label" : "initWithNewEngine",
        "type" : "bool"
      },
      "letsEncryptSettings" : {
        "label" : "letsEncryptSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "contacts" : {
            "label" : "contacts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "emails" : {
            "label" : "emails",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "server" : {
            "label" : "server",
            "type" : "string"
          }
        },
        "flow" : [ "privateKey", "contacts", "emails", "enabled", "publicKey", "server" ]
      },
      "snowMonkeyConfig" : {
        "label" : "snowMonkeyConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "dryRun" : {
            "label" : "dryRun",
            "type" : "bool"
          },
          "outageDurationTo" : {
            "label" : "outageDurationTo",
            "type" : "number"
          },
          "chaosConfig" : {
            "label" : "chaosConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "badResponsesFaultConfig" : {
                "label" : "badResponsesFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "responses" : {
                    "label" : "responses",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "status" : {
                        "label" : "status",
                        "type" : "number"
                      },
                      "body" : {
                        "type" : "code",
                        "props" : {
                          "label" : "body",
                          "editorOnly" : true,
                          "mode" : "json"
                        }
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "status", "body", "headers" ]
                  }
                },
                "flow" : [ "ratio", "responses" ]
              },
              "largeRequestFaultConfig" : {
                "label" : "largeRequestFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalRequestSize" : {
                    "label" : "additionalRequestSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalRequestSize" ]
              },
              "largeResponseFaultConfig" : {
                "label" : "largeResponseFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalResponseSize" : {
                    "label" : "additionalResponseSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalResponseSize" ]
              },
              "latencyInjectionFaultConfig" : {
                "label" : "latencyInjectionFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "from" : {
                    "label" : "from",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "from", "to" ]
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
          },
          "timesPerDay" : {
            "label" : "timesPerDay",
            "type" : "number"
          },
          "outageDurationFrom" : {
            "label" : "outageDurationFrom",
            "type" : "number"
          },
          "startTime" : {
            "label" : "startTime",
            "type" : "string"
          },
          "includeUserFacingDescriptors" : {
            "label" : "includeUserFacingDescriptors",
            "type" : "bool"
          },
          "targetGroups" : {
            "label" : "targetGroups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "stopTime" : {
            "label" : "stopTime",
            "type" : "string"
          },
          "outageStrategy" : {
            "type" : "select",
            "props" : {
              "label" : "outageStrategy",
              "options" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
            }
          }
        },
        "flow" : [ "dryRun", "outageDurationTo", "chaosConfig", "timesPerDay", "outageDurationFrom", "startTime", "includeUserFacingDescriptors", "targetGroups", "enabled", "stopTime", "outageStrategy" ]
      },
      "scripts" : {
        "label" : "scripts",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "jobConfig" : {
            "label" : "jobConfig",
            "type" : "object"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "transformersConfig" : {
            "label" : "transformersConfig",
            "type" : "object"
          },
          "transformersRefs" : {
            "label" : "transformersRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "preRouteRefs" : {
            "label" : "preRouteRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "sinkConfig" : {
            "label" : "sinkConfig",
            "type" : "object"
          },
          "jobRefs" : {
            "label" : "jobRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "validatorRefs" : {
            "label" : "validatorRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "sinkRefs" : {
            "label" : "sinkRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "preRouteConfig" : {
            "label" : "preRouteConfig",
            "type" : "object"
          },
          "validatorConfig" : {
            "label" : "validatorConfig",
            "type" : "object"
          }
        },
        "flow" : [ "jobConfig", "enabled", "transformersConfig", "transformersRefs", "preRouteRefs", "sinkConfig", "jobRefs", "validatorRefs", "sinkRefs", "preRouteConfig", "validatorConfig" ]
      },
      "perIpThrottlingQuota" : {
        "label" : "perIpThrottlingQuota",
        "type" : "number"
      },
      "useCircuitBreakers" : {
        "label" : "useCircuitBreakers",
        "type" : "bool"
      },
      "maxHttp10ResponseSize" : {
        "label" : "maxHttp10ResponseSize",
        "type" : "number"
      },
      "tlsSettings" : {
        "label" : "tlsSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "trustedCAsServer" : {
            "label" : "trustedCAsServer",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "includeJdkCaClient" : {
            "label" : "includeJdkCaClient",
            "type" : "bool"
          },
          "randomIfNotFound" : {
            "label" : "randomIfNotFound",
            "type" : "bool"
          },
          "defaultDomain" : {
            "label" : "defaultDomain",
            "type" : "string"
          },
          "includeJdkCaServer" : {
            "label" : "includeJdkCaServer",
            "type" : "bool"
          }
        },
        "flow" : [ "trustedCAsServer", "includeJdkCaClient", "randomIfNotFound", "defaultDomain", "includeJdkCaServer" ]
      },
      "statsdConfig" : {
        "label" : "statsdConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "datadog" : {
            "label" : "datadog",
            "type" : "bool"
          },
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          }
        },
        "flow" : [ "datadog", "host", "port" ]
      },
      "autoLinkToDefaultGroup" : {
        "label" : "autoLinkToDefaultGroup",
        "type" : "bool"
      },
      "alertsWebhooks" : {
        "label" : "alertsWebhooks",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          }
        },
        "flow" : [ "type", "url", "mtlsConfig", "headers" ]
      },
      "ipFiltering" : {
        "label" : "ipFiltering",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "whitelist" : {
            "label" : "whitelist",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "blacklist" : {
            "label" : "blacklist",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "whitelist", "blacklist" ]
      },
      "u2fLoginOnly" : {
        "label" : "u2fLoginOnly",
        "type" : "bool"
      },
      "userAgentSettings" : {
        "label" : "userAgentSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "enabled" ]
      }
    },
    "flow" : [ "u2fLoginOnly", "alertsWebhooks", "autoLinkToDefaultGroup", "maxHttp10ResponseSize", "useCircuitBreakers", "perIpThrottlingQuota", "initWithNewEngine", "maintenanceMode", "analyticsWebhooks", "middleFingers", "extensions", "lines", "otoroshiId", "streamEntityOnly", "backOfficeAuthRef", "apiReadOnly", "metadata", "logAnalyticsOnServer", "elasticWritesConfigs", "useAkkaHttpClient", "limitConcurrentRequests", "tags", "trustXForwarded", "enableEmbeddedMetrics", "maxLogsSize", "endlessIpAddresses", "maxConcurrentRequests", "env", "maxWebhookSize", "anonymousReporting", "throttlingQuota", "alertsEmails", "geolocationSettings", "cleverSettings", "templates", "plugins", "kafkaConfig", "proxies", "elasticReadsConfig", "quotasSettings", "mailerSettings", "autoCert", "letsEncryptSettings", "snowMonkeyConfig", "scripts", "tlsSettings", "statsdConfig", "ipFiltering", "userAgentSettings" ]
  },
  "otoroshi.plugins.users.HasAllowedUsersValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.EntityLocation" : {
    "schema" : {
      "tenant" : {
        "label" : "tenant",
        "type" : "string"
      },
      "teams" : {
        "label" : "teams",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "teams", "tenant" ]
  },
  "otoroshi.next.plugins.StaticResponse" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "body", "headers", "status" ]
  },
  "otoroshi.next.plugins.EurekaApp" : {
    "schema" : {
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "instances" : {
        "label" : "instances",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          },
          "vip_address" : {
            "label" : "vip_address",
            "type" : "string"
          },
          "home_page_url" : {
            "label" : "home_page_url",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "last_dirty_timestamp" : {
            "label" : "last_dirty_timestamp",
            "type" : "number"
          },
          "is_secured" : {
            "label" : "is_secured",
            "type" : "bool"
          },
          "ip_addr" : {
            "label" : "ip_addr",
            "type" : "string"
          },
          "last_updated_timestamp" : {
            "label" : "last_updated_timestamp",
            "type" : "number"
          },
          "app" : {
            "label" : "app",
            "type" : "string"
          },
          "overridden_status" : {
            "label" : "overridden_status",
            "type" : "string"
          },
          "status_page_url" : {
            "label" : "status_page_url",
            "type" : "string"
          },
          "is_coordinating_discovery_server" : {
            "label" : "is_coordinating_discovery_server",
            "type" : "string"
          },
          "instance_id" : {
            "label" : "instance_id",
            "type" : "string"
          },
          "secure_vip_address" : {
            "label" : "secure_vip_address",
            "type" : "string"
          },
          "status" : {
            "label" : "status",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "secure_port" : {
            "label" : "secure_port",
            "type" : "number"
          },
          "health_check_url" : {
            "label" : "health_check_url",
            "type" : "string"
          }
        },
        "flow" : [ "hostname", "vip_address", "home_page_url", "last_dirty_timestamp", "is_secured", "ip_addr", "last_updated_timestamp", "app", "overridden_status", "status_page_url", "is_coordinating_discovery_server", "instance_id", "secure_vip_address", "status", "port", "secure_port", "health_check_url", "metadata" ]
      }
    },
    "flow" : [ "instances", "name" ]
  },
  "otoroshi.models.ChaosConfig" : {
    "schema" : {
      "badResponsesFaultConfig" : {
        "label" : "badResponsesFaultConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "responses" : {
            "label" : "responses",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "status" : {
                "label" : "status",
                "type" : "number"
              },
              "body" : {
                "type" : "code",
                "props" : {
                  "label" : "body",
                  "editorOnly" : true,
                  "mode" : "json"
                }
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              }
            },
            "flow" : [ "status", "body", "headers" ]
          }
        },
        "flow" : [ "ratio", "responses" ]
      },
      "largeRequestFaultConfig" : {
        "label" : "largeRequestFaultConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additionalRequestSize" : {
            "label" : "additionalRequestSize",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additionalRequestSize" ]
      },
      "largeResponseFaultConfig" : {
        "label" : "largeResponseFaultConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additionalResponseSize" : {
            "label" : "additionalResponseSize",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additionalResponseSize" ]
      },
      "latencyInjectionFaultConfig" : {
        "label" : "latencyInjectionFaultConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "from", "to" ]
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig" ]
  },
  "otoroshi.models.ServiceGroupIdentifier" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgUserAgentExtractorConfig" : {
    "schema" : {
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log" ]
  },
  "otoroshi.next.plugins.NgBadResponse" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "body", "headers", "status" ]
  },
  "otoroshi.plugins.jobs.kubernetes.FailedCrdParsing" : {
    "schema" : {
      "crd" : {
        "label" : "crd",
        "type" : "object"
      },
      "namespace" : {
        "label" : "namespace",
        "type" : "string"
      },
      "pluralName" : {
        "label" : "pluralName",
        "type" : "string"
      },
      "error" : {
        "label" : "error",
        "type" : "string"
      },
      "customizedSpec" : {
        "label" : "customizedSpec",
        "type" : "object"
      }
    },
    "flow" : [ "customizedSpec", "error", "pluralName", "namespace", "crd" ]
  },
  "otoroshi.next.plugins.NgOtoroshiChallengeKeys" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.MockResponseNotFoundException" : {
    "schema" : {
      "message" : {
        "label" : "message",
        "type" : "string"
      }
    },
    "flow" : [ "message" ]
  },
  "otoroshi.next.plugins.GraphlCallException" : {
    "schema" : {
      "message" : {
        "label" : "message",
        "type" : "string"
      }
    },
    "flow" : [ "message" ]
  },
  "otoroshi.utils.JsonPathValidator" : {
    "schema" : {
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "value" : {
        "label" : "value",
        "type" : "object"
      },
      "error" : {
        "label" : "error",
        "type" : "string"
      }
    },
    "flow" : [ "error", "value", "path" ]
  },
  "otoroshi.models.MappingSettings" : {
    "schema" : {
      "map" : {
        "label" : "map",
        "type" : "object"
      },
      "values" : {
        "label" : "values",
        "type" : "object"
      },
      "remove" : {
        "label" : "remove",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "remove", "values", "map" ]
  },
  "otoroshi.plugins.biscuit.BiscuitValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.JQRequestConfig" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.next.models.NgFrontend" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "query" : {
        "label" : "query",
        "type" : "object"
      },
      "domains" : {
        "label" : "domains",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "exact" : {
        "label" : "exact",
        "type" : "bool"
      },
      "strip_path" : {
        "label" : "strip_path",
        "type" : "bool"
      }
    },
    "flow" : [ "strip_path", "exact", "methods", "domains", "query", "headers" ]
  },
  "otoroshi.next.plugins.ApikeyAuthModuleConfig" : {
    "schema" : {
      "realm" : {
        "label" : "realm",
        "type" : "string"
      },
      "matcher" : {
        "label" : "matcher",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "oneTagIn" : {
            "label" : "oneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneMetaKeysIn" : {
            "label" : "noneMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "oneMetaIn" : {
            "label" : "oneMetaIn",
            "type" : "object"
          },
          "oneMetaKeyIn" : {
            "label" : "oneMetaKeyIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaKeysIn" : {
            "label" : "allMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneTagIn" : {
            "label" : "noneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allTagsIn" : {
            "label" : "allTagsIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaIn" : {
            "label" : "allMetaIn",
            "type" : "object"
          },
          "noneMetaIn" : {
            "label" : "noneMetaIn",
            "type" : "object"
          }
        },
        "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
      }
    },
    "flow" : [ "realm", "matcher" ]
  },
  "OutagesList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.authcallers.BasicAuthCallerConfig" : {
    "schema" : {
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "headerValueFormat" : {
        "label" : "headerValueFormat",
        "type" : "string"
      }
    },
    "flow" : [ "headerValueFormat", "headerName", "password", "username" ]
  },
  "WebAuthnRegistrationStartBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.useragent.UserAgentHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.utils.mailer.ConsoleMailerSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      }
    },
    "flow" : [ "type" ]
  },
  "otoroshi.plugins.log4j.Log4ShellFilter" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.env.Env" : {
    "schema" : {
      "circuitBeakersHolder" : {
        "label" : "circuitBeakersHolder",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "circuitBeakersHolder" ]
  },
  "otoroshi.next.plugins.NgJwtVerificationConfig" : {
    "schema" : {
      "verifiers" : {
        "label" : "verifiers",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "verifiers" ]
  },
  "otoroshi.greenscore.TripleBounds" : {
    "schema" : {
      "excellent" : {
        "label" : "excellent",
        "type" : "number"
      },
      "sufficient" : {
        "label" : "sufficient",
        "type" : "number"
      },
      "poor" : {
        "label" : "poor",
        "type" : "number"
      }
    },
    "flow" : [ "poor", "sufficient", "excellent" ]
  },
  "otoroshi.next.plugins.RBAC" : {
    "schema" : {
      "roles" : {
        "label" : "roles",
        "type" : "string"
      },
      "allow" : {
        "label" : "allow",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allow_all" : {
        "label" : "allow_all",
        "type" : "bool"
      },
      "role_prefix" : {
        "label" : "role_prefix",
        "type" : "string"
      },
      "jwt_path" : {
        "label" : "jwt_path",
        "type" : "string"
      },
      "apikey_path" : {
        "label" : "apikey_path",
        "type" : "string"
      },
      "deny" : {
        "label" : "deny",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "user_path" : {
        "label" : "user_path",
        "type" : "string"
      },
      "deny_all" : {
        "label" : "deny_all",
        "type" : "bool"
      }
    },
    "flow" : [ "deny_all", "user_path", "deny", "apikey_path", "jwt_path", "role_prefix", "allow_all", "allow", "roles" ]
  },
  "otoroshi.next.plugins.NgUserAgentInfoEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.StoredNgBackend" : {
    "schema" : {
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "backend" : {
        "label" : "backend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "health_check" : {
            "label" : "health_check",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "client" : {
            "label" : "client",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "idle_timeout" : {
                "label" : "idle_timeout",
                "type" : "number"
              },
              "sample_interval" : {
                "label" : "sample_interval",
                "type" : "number"
              },
              "cache_connection_settings" : {
                "label" : "cache_connection_settings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "queue_size" : {
                    "label" : "queue_size",
                    "type" : "number"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "queue_size", "enabled" ]
              },
              "call_and_stream_timeout" : {
                "label" : "call_and_stream_timeout",
                "type" : "number"
              },
              "custom_timeouts" : {
                "label" : "custom_timeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
              },
              "connection_timeout" : {
                "label" : "connection_timeout",
                "type" : "number"
              },
              "call_timeout" : {
                "label" : "call_timeout",
                "type" : "number"
              },
              "global_timeout" : {
                "label" : "global_timeout",
                "type" : "number"
              },
              "retry_initial_delay" : {
                "label" : "retry_initial_delay",
                "type" : "number"
              },
              "backoff_factor" : {
                "label" : "backoff_factor",
                "type" : "number"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "max_errors" : {
                "label" : "max_errors",
                "type" : "number"
              }
            },
            "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
          },
          "load_balancing" : {
            "label" : "load_balancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "rewrite" : {
            "label" : "rewrite",
            "type" : "bool"
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "ip_address" : {
                "label" : "ip_address",
                "type" : "string"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "tls_config" : {
                "label" : "tls_config",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trust_all" : {
                    "label" : "trust_all",
                    "type" : "bool"
                  },
                  "trusted_certs" : {
                    "label" : "trusted_certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
              },
              "tls" : {
                "label" : "tls",
                "type" : "bool"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "hostname" : {
                "label" : "hostname",
                "type" : "string"
              }
            },
            "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
          }
        },
        "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id", "name", "metadata", "tags", "description", "backend", "_loc" ]
  },
  "otoroshi.plugins.quotas.InstanceQuotas" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.Http3Switch" : {
    "schema" : {
      "ma" : {
        "label" : "ma",
        "type" : "number"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "protocols" : {
        "label" : "protocols",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "protocols", "domain", "ma" ]
  },
  "otoroshi.next.plugins.WasmException" : {
    "schema" : {
      "message" : {
        "label" : "message",
        "type" : "string"
      }
    },
    "flow" : [ "message" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressToDescriptor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgGeolocationInfoEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingApikeyValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgBiscuitExtractor" : {
    "schema" : {
      "legacy" : {
        "label" : "legacy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "facts" : {
            "label" : "facts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "resources" : {
            "label" : "resources",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enforce" : {
            "label" : "enforce",
            "type" : "bool"
          },
          "extractorName" : {
            "label" : "extractorName",
            "type" : "string"
          },
          "checks" : {
            "label" : "checks",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extractor" : {
            "label" : "extractor",
            "type" : "string"
          },
          "revocation_ids" : {
            "label" : "revocation_ids",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "facts", "publicKey", "resources", "enforce", "extractorName", "checks", "extractor", "revocation_ids", "rules" ]
      }
    },
    "flow" : [ "legacy" ]
  },
  "otoroshi.models.OutageStrategy" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.events.StatsdConfig" : {
    "schema" : {
      "datadog" : {
        "label" : "datadog",
        "type" : "bool"
      },
      "host" : {
        "label" : "host",
        "type" : "string"
      },
      "port" : {
        "label" : "port",
        "type" : "number"
      }
    },
    "flow" : [ "port", "host", "datadog" ]
  },
  "otoroshi.next.plugins.MockResource" : {
    "schema" : {
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "schema" : {
        "label" : "schema",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "field_name" : {
            "label" : "field_name",
            "type" : "string"
          },
          "field_type" : {
            "label" : "field_type",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          }
        },
        "flow" : [ "field_name", "field_type", "value" ]
      },
      "additional_data" : {
        "label" : "additional_data",
        "type" : "string"
      }
    },
    "flow" : [ "additional_data", "schema", "name" ]
  },
  "otoroshi.next.plugins.GlobalPerIpAddressThrottlingQuotas" : {
    "schema" : {
      "within" : {
        "label" : "within",
        "type" : "bool"
      },
      "sec_calls" : {
        "label" : "sec_calls",
        "type" : "number"
      }
    },
    "flow" : [ "sec_calls", "within" ]
  },
  "otoroshi.next.plugins.StaticResponseConfig" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "body", "headers", "status" ]
  },
  "otoroshi.utils.mailer.GenericMailerSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      }
    },
    "flow" : [ "to", "headers", "url", "type" ]
  },
  "otoroshi.models.QuotasAlmostExceededSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "dailyQuotasThreshold" : {
        "label" : "dailyQuotasThreshold",
        "type" : "number"
      },
      "monthlyQuotasThreshold" : {
        "label" : "monthlyQuotasThreshold",
        "type" : "number"
      }
    },
    "flow" : [ "monthlyQuotasThreshold", "dailyQuotasThreshold", "enabled" ]
  },
  "otoroshi.next.plugins.Http3SwitchConfig" : {
    "schema" : {
      "ma" : {
        "label" : "ma",
        "type" : "number"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "protocols" : {
        "label" : "protocols",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "protocols", "domain", "ma" ]
  },
  "otoroshi.models.ESKPAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "certId" : {
        "label" : "certId",
        "type" : "string"
      }
    },
    "flow" : [ "certId", "size", "type" ]
  },
  "otoroshi.next.plugins.NgClientCredentialsConfig" : {
    "schema" : {
      "default_key_pair" : {
        "label" : "default_key_pair",
        "type" : "string"
      },
      "expiration" : {
        "label" : "expiration",
        "type" : "number"
      },
      "secure" : {
        "label" : "secure",
        "type" : "bool"
      },
      "biscuit" : {
        "label" : "biscuit",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "privkey" : {
            "label" : "privkey",
            "type" : "string"
          },
          "checks" : {
            "label" : "checks",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "facts" : {
            "label" : "facts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "privkey", "checks", "facts", "rules" ]
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      }
    },
    "flow" : [ "domain", "secure", "expiration", "default_key_pair", "biscuit" ]
  },
  "otoroshi.plugins.biscuit.vavr_implicits" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesClient" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "endpoint" : {
            "label" : "endpoint",
            "type" : "string"
          },
          "templates" : {
            "label" : "templates",
            "type" : "object"
          },
          "token" : {
            "label" : "token",
            "type" : "string"
          },
          "restartDependantDeployments" : {
            "label" : "restartDependantDeployments",
            "type" : "bool"
          },
          "watchGracePeriodSeconds" : {
            "label" : "watchGracePeriodSeconds",
            "type" : "number"
          },
          "connectionTimeout" : {
            "label" : "connectionTimeout",
            "type" : "number"
          },
          "crds" : {
            "label" : "crds",
            "type" : "bool"
          },
          "watch" : {
            "label" : "watch",
            "type" : "bool"
          },
          "labels" : {
            "label" : "labels",
            "type" : "object"
          },
          "openshiftDnsOperatorCoreDnsName" : {
            "label" : "openshiftDnsOperatorCoreDnsName",
            "type" : "string"
          },
          "syncIntervalSeconds" : {
            "label" : "syncIntervalSeconds",
            "type" : "number"
          },
          "kubeDnsOperatorCoreDnsName" : {
            "label" : "kubeDnsOperatorCoreDnsName",
            "type" : "string"
          },
          "defaultGroup" : {
            "label" : "defaultGroup",
            "type" : "string"
          },
          "kubeDnsOperatorCoreDnsNamespace" : {
            "label" : "kubeDnsOperatorCoreDnsNamespace",
            "type" : "string"
          },
          "triggerKey" : {
            "label" : "triggerKey",
            "type" : "string"
          },
          "otoroshiNamespace" : {
            "label" : "otoroshiNamespace",
            "type" : "string"
          },
          "watchTimeoutSeconds" : {
            "label" : "watchTimeoutSeconds",
            "type" : "number"
          },
          "openshiftDnsOperatorCleanupDomains" : {
            "label" : "openshiftDnsOperatorCleanupDomains",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "namespaces" : {
            "label" : "namespaces",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "openshiftDnsOperatorCoreDnsPort" : {
            "label" : "openshiftDnsOperatorCoreDnsPort",
            "type" : "number"
          },
          "coreDnsEnv" : {
            "label" : "coreDnsEnv",
            "type" : "string"
          },
          "triggerPath" : {
            "label" : "triggerPath",
            "type" : "string"
          },
          "image" : {
            "label" : "image",
            "type" : "string"
          },
          "coreDnsConfigMapName" : {
            "label" : "coreDnsConfigMapName",
            "type" : "string"
          },
          "clusterDomain" : {
            "label" : "clusterDomain",
            "type" : "string"
          },
          "idleTimeout" : {
            "label" : "idleTimeout",
            "type" : "number"
          },
          "caCert" : {
            "label" : "caCert",
            "type" : "string"
          },
          "trust" : {
            "label" : "trust",
            "type" : "bool"
          },
          "ingressClasses" : {
            "label" : "ingressClasses",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "userPassword" : {
            "label" : "userPassword",
            "type" : "string"
          },
          "syncDaikokuApikeysOnly" : {
            "label" : "syncDaikokuApikeysOnly",
            "type" : "bool"
          },
          "openshiftDnsOperatorCleanup" : {
            "label" : "openshiftDnsOperatorCleanup",
            "type" : "bool"
          },
          "kubeSystemNamespace" : {
            "label" : "kubeSystemNamespace",
            "type" : "string"
          },
          "ingressEndpointIp" : {
            "label" : "ingressEndpointIp",
            "type" : "string"
          },
          "namespacesLabels" : {
            "label" : "namespacesLabels",
            "type" : "object"
          },
          "openshiftDnsOperatorCleanupNames" : {
            "label" : "openshiftDnsOperatorCleanupNames",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "kubeDnsOperatorCoreDnsPort" : {
            "label" : "kubeDnsOperatorCoreDnsPort",
            "type" : "number"
          },
          "mutatingWebhookName" : {
            "label" : "mutatingWebhookName",
            "type" : "string"
          },
          "kubeLeader" : {
            "label" : "kubeLeader",
            "type" : "bool"
          },
          "ingressEndpointHostname" : {
            "label" : "ingressEndpointHostname",
            "type" : "string"
          },
          "openshiftDnsOperatorIntegration" : {
            "label" : "openshiftDnsOperatorIntegration",
            "type" : "bool"
          },
          "validatingWebhookName" : {
            "label" : "validatingWebhookName",
            "type" : "string"
          },
          "coreDnsDeploymentName" : {
            "label" : "coreDnsDeploymentName",
            "type" : "string"
          },
          "ingresses" : {
            "label" : "ingresses",
            "type" : "bool"
          },
          "useProxyState" : {
            "label" : "useProxyState",
            "type" : "bool"
          },
          "coreDnsIntegrationDryRun" : {
            "label" : "coreDnsIntegrationDryRun",
            "type" : "bool"
          },
          "ingressEndpointPublishedService" : {
            "label" : "ingressEndpointPublishedService",
            "type" : "string"
          },
          "coreDnsAzure" : {
            "label" : "coreDnsAzure",
            "type" : "bool"
          },
          "corednsPort" : {
            "label" : "corednsPort",
            "type" : "number"
          },
          "coreDnsIntegration" : {
            "label" : "coreDnsIntegration",
            "type" : "bool"
          },
          "otoroshiServiceName" : {
            "label" : "otoroshiServiceName",
            "type" : "string"
          },
          "meshDomain" : {
            "label" : "meshDomain",
            "type" : "string"
          },
          "kubeDnsOperatorIntegration" : {
            "label" : "kubeDnsOperatorIntegration",
            "type" : "bool"
          },
          "triggerHost" : {
            "label" : "triggerHost",
            "type" : "string"
          },
          "openshiftDnsOperatorCoreDnsNamespace" : {
            "label" : "openshiftDnsOperatorCoreDnsNamespace",
            "type" : "string"
          },
          "callAndStreamTimeout" : {
            "label" : "callAndStreamTimeout",
            "type" : "number"
          }
        },
        "flow" : [ "endpoint", "templates", "token", "restartDependantDeployments", "watchGracePeriodSeconds", "connectionTimeout", "crds", "watch", "labels", "openshiftDnsOperatorCoreDnsName", "syncIntervalSeconds", "kubeDnsOperatorCoreDnsName", "defaultGroup", "kubeDnsOperatorCoreDnsNamespace", "triggerKey", "otoroshiNamespace", "watchTimeoutSeconds", "openshiftDnsOperatorCleanupDomains", "namespaces", "openshiftDnsOperatorCoreDnsPort", "coreDnsEnv", "triggerPath", "image", "coreDnsConfigMapName", "clusterDomain", "idleTimeout", "caCert", "trust", "ingressClasses", "userPassword", "syncDaikokuApikeysOnly", "openshiftDnsOperatorCleanup", "kubeSystemNamespace", "ingressEndpointIp", "namespacesLabels", "openshiftDnsOperatorCleanupNames", "kubeDnsOperatorCoreDnsPort", "mutatingWebhookName", "kubeLeader", "ingressEndpointHostname", "openshiftDnsOperatorIntegration", "validatingWebhookName", "coreDnsDeploymentName", "ingresses", "useProxyState", "coreDnsIntegrationDryRun", "ingressEndpointPublishedService", "coreDnsAzure", "corednsPort", "coreDnsIntegration", "otoroshiServiceName", "meshDomain", "kubeDnsOperatorIntegration", "triggerHost", "openshiftDnsOperatorCoreDnsNamespace", "callAndStreamTimeout" ]
      },
      "env" : {
        "label" : "env",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "circuitBeakersHolder" : {
            "label" : "circuitBeakersHolder",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "circuitBeakersHolder" ]
      }
    },
    "flow" : [ "config", "env" ]
  },
  "otoroshi.tcp.SniSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "forwardIfNoMatch" : {
        "label" : "forwardIfNoMatch",
        "type" : "bool"
      },
      "forwardsTo" : {
        "label" : "forwardsTo",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "ip" : {
            "label" : "ip",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          }
        },
        "flow" : [ "host", "ip", "port", "tls" ]
      }
    },
    "flow" : [ "forwardIfNoMatch", "enabled", "forwardsTo" ]
  },
  "otoroshi.plugins.apikeys.CertificateAsApikey" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.utils.mailer.EmailLocation" : {
    "schema" : {
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "email" : {
        "label" : "email",
        "type" : "string"
      }
    },
    "flow" : [ "email", "name" ]
  },
  "otoroshi.plugins.metrics.PrometheusEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "AlertEventList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.Transform" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
        }
      },
      "verificationSettings" : {
        "label" : "verificationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "fields" : {
            "label" : "fields",
            "type" : "object"
          },
          "arrayFields" : {
            "label" : "arrayFields",
            "type" : "object"
          }
        },
        "flow" : [ "fields", "arrayFields" ]
      },
      "transformSettings" : {
        "label" : "transformSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "location" : {
            "label" : "location",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                }
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "remove" : {
                "label" : "remove",
                "type" : "string"
              }
            },
            "flow" : [ "type", "name", "remove" ]
          },
          "mappingSettings" : {
            "label" : "mappingSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "map" : {
                "label" : "map",
                "type" : "object"
              },
              "values" : {
                "label" : "values",
                "type" : "object"
              },
              "remove" : {
                "label" : "remove",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "map", "values", "remove" ]
          }
        },
        "flow" : [ "location", "mappingSettings" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      }
    },
    "flow" : [ "type", "verificationSettings", "transformSettings", "algoSettings" ]
  },
  "otoroshi.plugins.biscuit.BiscuitToken" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.KidAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "onlyExposedCerts" : {
        "label" : "onlyExposedCerts",
        "type" : "bool"
      }
    },
    "flow" : [ "onlyExposedCerts", "type" ]
  },
  "otoroshi.models.PassThrough" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
        }
      },
      "verificationSettings" : {
        "label" : "verificationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "fields" : {
            "label" : "fields",
            "type" : "object"
          },
          "arrayFields" : {
            "label" : "arrayFields",
            "type" : "object"
          }
        },
        "flow" : [ "fields", "arrayFields" ]
      }
    },
    "flow" : [ "type", "verificationSettings" ]
  },
  "otoroshi.plugins.security.SecurityTxt" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.LargeResponseFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "additionalResponseSize" : {
        "label" : "additionalResponseSize",
        "type" : "number"
      }
    },
    "flow" : [ "additionalResponseSize", "ratio" ]
  },
  "otoroshi.next.plugins.BrotliResponseCompressor" : {
    "schema" : {
      "compression_level" : {
        "label" : "compression_level",
        "type" : "number"
      },
      "buffer_size" : {
        "label" : "buffer_size",
        "type" : "number"
      },
      "chunked_threshold" : {
        "label" : "chunked_threshold",
        "type" : "number"
      },
      "excluded_patterns" : {
        "label" : "excluded_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "white_list" : {
        "label" : "white_list",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "black_list" : {
        "label" : "black_list",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "black_list", "white_list", "excluded_patterns", "chunked_threshold", "buffer_size", "compression_level" ]
  },
  "otoroshi.models.RegionMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "region" : {
        "label" : "region",
        "type" : "string"
      }
    },
    "flow" : [ "region", "type" ]
  },
  "otoroshi.next.plugins.WasmJob" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "unique_id" : {
            "label" : "unique_id",
            "type" : "string"
          },
          "instantiation" : {
            "label" : "instantiation",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "cron_expression" : {
            "label" : "cron_expression",
            "type" : "string"
          },
          "kind" : {
            "label" : "kind",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "allowedHosts" : {
                "label" : "allowedHosts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "memoryPages" : {
                "label" : "memoryPages",
                "type" : "number"
              },
              "allowedPaths" : {
                "label" : "allowedPaths",
                "type" : "object"
              },
              "instances" : {
                "label" : "instances",
                "type" : "number"
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "authorizations" : {
                "label" : "authorizations",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "proxyStateAccess" : {
                    "label" : "proxyStateAccess",
                    "type" : "bool"
                  },
                  "httpAccess" : {
                    "label" : "httpAccess",
                    "type" : "bool"
                  },
                  "globalMapAccess" : {
                    "label" : "globalMapAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "pluginDataStoreAccess" : {
                    "label" : "pluginDataStoreAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "pluginMapAccess" : {
                    "label" : "pluginMapAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "proxyHttpCallTimeout" : {
                    "label" : "proxyHttpCallTimeout",
                    "type" : "number"
                  },
                  "configurationAccess" : {
                    "label" : "configurationAccess",
                    "type" : "bool"
                  },
                  "globalDataStoreAccess" : {
                    "label" : "globalDataStoreAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  }
                },
                "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
              },
              "opa" : {
                "label" : "opa",
                "type" : "bool"
              },
              "wasi" : {
                "label" : "wasi",
                "type" : "bool"
              },
              "functionName" : {
                "label" : "functionName",
                "type" : "string"
              }
            },
            "flow" : [ "allowedHosts", "memoryPages", "allowedPaths", "instances", "config", "authorizations", "opa", "wasi", "functionName" ]
          },
          "interval" : {
            "label" : "interval",
            "type" : "string"
          },
          "initial_delay" : {
            "label" : "initial_delay",
            "type" : "string"
          },
          "raw_config" : {
            "label" : "raw_config",
            "type" : "object"
          }
        },
        "flow" : [ "unique_id", "instantiation", "cron_expression", "kind", "config", "interval", "initial_delay", "raw_config" ]
      }
    },
    "flow" : [ "config" ]
  },
  "otoroshi.models.AutoCert" : {
    "schema" : {
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "replyNicely" : {
        "label" : "replyNicely",
        "type" : "bool"
      },
      "notAllowed" : {
        "label" : "notAllowed",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "caRef" : {
        "label" : "caRef",
        "type" : "string"
      }
    },
    "flow" : [ "caRef", "notAllowed", "replyNicely", "enabled", "allowed" ]
  },
  "otoroshi.plugins.discovery.DiscoveryHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.SOAPActionConfig" : {
    "schema" : {
      "jq_response_filter" : {
        "label" : "jq_response_filter",
        "type" : "string"
      },
      "jq_request_filter" : {
        "label" : "jq_request_filter",
        "type" : "string"
      },
      "preserve_query" : {
        "label" : "preserve_query",
        "type" : "bool"
      },
      "convert_request_body_to_xml" : {
        "label" : "convert_request_body_to_xml",
        "type" : "bool"
      },
      "charset" : {
        "label" : "charset",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "action" : {
        "label" : "action",
        "type" : "string"
      },
      "envelope" : {
        "label" : "envelope",
        "type" : "string"
      }
    },
    "flow" : [ "envelope", "action", "url", "charset", "convert_request_body_to_xml", "preserve_query", "jq_request_filter", "jq_response_filter" ]
  },
  "otoroshi.next.plugins.OAuth1Caller" : {
    "schema" : {
      "token_secret" : {
        "label" : "token_secret",
        "type" : "string"
      },
      "consumer_secret" : {
        "label" : "consumer_secret",
        "type" : "string"
      },
      "algo" : {
        "label" : "algo",
        "type" : "string"
      },
      "token" : {
        "label" : "token",
        "type" : "string"
      },
      "consumer_key" : {
        "label" : "consumer_key",
        "type" : "string"
      }
    },
    "flow" : [ "consumer_key", "token", "algo", "consumer_secret", "token_secret" ]
  },
  "otoroshi.next.plugins.EurekaServerConfig" : {
    "schema" : {
      "eviction_timeout" : {
        "label" : "eviction_timeout",
        "type" : "number"
      }
    },
    "flow" : [ "eviction_timeout" ]
  },
  "otoroshi.plugins.hmac.HMACValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.SubIss" : {
    "schema" : {
      "sn" : {
        "label" : "sn",
        "type" : "string"
      },
      "subject" : {
        "label" : "subject",
        "type" : "string"
      },
      "issuer" : {
        "label" : "issuer",
        "type" : "string"
      }
    },
    "flow" : [ "issuer", "subject", "sn" ]
  },
  "otoroshi.models.DataExporterConfig" : {
    "schema" : {
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "bufferSize" : {
        "label" : "bufferSize",
        "type" : "number"
      },
      "jsonWorkers" : {
        "label" : "jsonWorkers",
        "type" : "number"
      },
      "groupDuration" : {
        "label" : "groupDuration",
        "type" : "number"
      },
      "groupSize" : {
        "label" : "groupSize",
        "type" : "number"
      },
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "kafka", "pulsar", "elastic", "webhook", "file", "mailer", "custom", "none", "console", "metrics" ]
        }
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "sendWorkers" : {
        "label" : "sendWorkers",
        "type" : "number"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
            }
          },
          "sendEvents" : {
            "label" : "sendEvents",
            "type" : "bool"
          },
          "truststore" : {
            "label" : "truststore",
            "type" : "string"
          },
          "hostValidation" : {
            "label" : "hostValidation",
            "type" : "bool"
          },
          "servers" : {
            "label" : "servers",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "securityProtocol" : {
            "label" : "securityProtocol",
            "type" : "string"
          },
          "keystore" : {
            "label" : "keystore",
            "type" : "string"
          },
          "topic" : {
            "label" : "topic",
            "type" : "string"
          },
          "keyPass" : {
            "label" : "keyPass",
            "type" : "string"
          },
          "saslConfig" : {
            "label" : "saslConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "username" : {
                "label" : "username",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "mechanism" : {
                "label" : "mechanism",
                "type" : "string"
              }
            },
            "flow" : [ "username", "password", "mechanism" ]
          },
          "tlsTrustCertsFilePath" : {
            "label" : "tlsTrustCertsFilePath",
            "type" : "string"
          },
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "uri" : {
            "label" : "uri",
            "type" : "string"
          },
          "namespace" : {
            "label" : "namespace",
            "type" : "string"
          },
          "sendWorkers" : {
            "label" : "sendWorkers",
            "type" : "number"
          },
          "applyTemplate" : {
            "label" : "applyTemplate",
            "type" : "bool"
          },
          "uris" : {
            "label" : "uris",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "version" : {
            "label" : "version",
            "type" : "string"
          },
          "maxBulkSize" : {
            "label" : "maxBulkSize",
            "type" : "number"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "indexSettings" : {
            "label" : "indexSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "clientSide" : {
                "label" : "clientSide",
                "type" : "bool"
              },
              "numberOfShards" : {
                "label" : "numberOfShards",
                "type" : "number"
              },
              "numberOfReplicas" : {
                "label" : "numberOfReplicas",
                "type" : "number"
              },
              "interval" : {
                "label" : "interval",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              }
            },
            "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
          },
          "user" : {
            "label" : "user",
            "type" : "string"
          },
          "index" : {
            "label" : "index",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ref" : {
            "label" : "ref",
            "type" : "string"
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "maxFileSize" : {
            "label" : "maxFileSize",
            "type" : "number"
          },
          "labels" : {
            "label" : "labels",
            "type" : "object"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "to" : {
            "label" : "to",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "email" : {
                "label" : "email",
                "type" : "string"
              }
            },
            "flow" : [ "name", "email" ]
          },
          "eu" : {
            "label" : "eu",
            "type" : "bool"
          },
          "apiKey" : {
            "label" : "apiKey",
            "type" : "string"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "apiKeyPublic" : {
            "label" : "apiKeyPublic",
            "type" : "string"
          },
          "apiKeyPrivate" : {
            "label" : "apiKeyPrivate",
            "type" : "string"
          }
        },
        "flow" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig", "tlsTrustCertsFilePath", "tenant", "uri", "namespace", "sendWorkers", "applyTemplate", "uris", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password", "ref", "config", "path", "maxFileSize", "labels", "url", "to", "eu", "apiKey", "domain", "apiKeyPublic", "apiKeyPrivate" ]
      },
      "projection" : {
        "label" : "projection",
        "type" : "object"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "filtering" : {
        "label" : "filtering",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "include" : {
            "label" : "include",
            "type" : "array",
            "array" : true,
            "format" : "form"
          },
          "exclude" : {
            "label" : "exclude",
            "type" : "array",
            "array" : true,
            "format" : "form"
          }
        },
        "flow" : [ "include", "exclude" ]
      }
    },
    "flow" : [ "enabled", "projection", "metadata", "name", "id", "sendWorkers", "tags", "type", "groupSize", "groupDuration", "jsonWorkers", "bufferSize", "desc", "_loc", "config", "filtering" ]
  },
  "otoroshi.plugins.jobs.kubernetes.OtoroshiToKubernetesCertSyncJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.OIDCHeadersConfig" : {
    "schema" : {
      "profile" : {
        "label" : "profile",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          }
        },
        "flow" : [ "send", "header_name" ]
      },
      "idtoken" : {
        "label" : "idtoken",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "bool"
          }
        },
        "flow" : [ "send", "name", "header_name", "jwt" ]
      },
      "access_token" : {
        "label" : "access_token",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "bool"
          }
        },
        "flow" : [ "send", "name", "header_name", "jwt" ]
      }
    },
    "flow" : [ "profile", "idtoken", "access_token" ]
  },
  "otoroshi.plugins.biscuit.SealedBiscuitToken" : {
    "schema" : {
      "token" : {
        "label" : "token",
        "type" : "string"
      }
    },
    "flow" : [ "token" ]
  },
  "otoroshi.models.IndexSettings" : {
    "schema" : {
      "clientSide" : {
        "label" : "clientSide",
        "type" : "bool"
      },
      "numberOfShards" : {
        "label" : "numberOfShards",
        "type" : "number"
      },
      "numberOfReplicas" : {
        "label" : "numberOfReplicas",
        "type" : "number"
      },
      "interval" : {
        "label" : "interval",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "numberOfReplicas", "numberOfShards", "clientSide", "interval" ]
  },
  "otoroshi.next.plugins.wrappers.RequestSinkWrapper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.ApikeyCalls" : {
    "schema" : {
      "mandatory" : {
        "label" : "mandatory",
        "type" : "bool"
      },
      "extractors" : {
        "label" : "extractors",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "basic" : {
            "label" : "basic",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "header_name", "query_name" ]
          },
          "custom_headers" : {
            "label" : "custom_headers",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "client_id_header_name" : {
                "label" : "client_id_header_name",
                "type" : "string"
              },
              "client_secret_header_name" : {
                "label" : "client_secret_header_name",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "client_id_header_name", "client_secret_header_name" ]
          },
          "client_id" : {
            "label" : "client_id",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "header_name", "query_name", "enabled" ]
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "cookie_name" : {
                "label" : "cookie_name",
                "type" : "string"
              },
              "key_pair_signed" : {
                "label" : "key_pair_signed",
                "type" : "bool"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              },
              "secret_signed" : {
                "label" : "secret_signed",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "include_request_attrs" : {
                "label" : "include_request_attrs",
                "type" : "bool"
              },
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              }
            },
            "flow" : [ "cookie_name", "key_pair_signed", "query_name", "secret_signed", "enabled", "include_request_attrs", "header_name" ]
          }
        },
        "flow" : [ "basic", "custom_headers", "client_id", "jwt" ]
      },
      "pass_with_user" : {
        "label" : "pass_with_user",
        "type" : "bool"
      },
      "wipe_backend_request" : {
        "label" : "wipe_backend_request",
        "type" : "bool"
      },
      "validate" : {
        "label" : "validate",
        "type" : "bool"
      },
      "routing" : {
        "label" : "routing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "none_meta_keys_in" : {
            "label" : "none_meta_keys_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "all_meta_keys_in" : {
            "label" : "all_meta_keys_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "all_meta_in" : {
            "label" : "all_meta_in",
            "type" : "object"
          },
          "none_meta_in" : {
            "label" : "none_meta_in",
            "type" : "object"
          },
          "one_tag_in" : {
            "label" : "one_tag_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "one_meta_in" : {
            "label" : "one_meta_in",
            "type" : "object"
          },
          "all_tags_in" : {
            "label" : "all_tags_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "one_meta_key_in" : {
            "label" : "one_meta_key_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "none_tag_in" : {
            "label" : "none_tag_in",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "none_meta_keys_in", "all_meta_keys_in", "all_meta_in", "none_meta_in", "one_tag_in", "enabled", "one_meta_in", "all_tags_in", "one_meta_key_in", "none_tag_in" ]
      },
      "update_quotas" : {
        "label" : "update_quotas",
        "type" : "bool"
      }
    },
    "flow" : [ "update_quotas", "validate", "wipe_backend_request", "pass_with_user", "mandatory", "extractors", "routing" ]
  },
  "otoroshi.plugins.oauth1.OAuth1CallerPlugin" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ESAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      }
    },
    "flow" : [ "privateKey", "publicKey", "size", "type" ]
  },
  "otoroshi.next.plugins.TailscaleTargetsJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgMatchedRoute" : {
    "schema" : {
      "route" : {
        "label" : "route",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          }
        },
        "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "metadata", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend" ]
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "no_more_segments" : {
        "label" : "no_more_segments",
        "type" : "bool"
      }
    },
    "flow" : [ "no_more_segments", "path", "route" ]
  },
  "otoroshi.plugins.izanami.IzanamiCanaryRoutingConfig" : {
    "schema" : {
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "variants" : {
            "label" : "variants",
            "type" : "object"
          },
          "wildcard" : {
            "label" : "wildcard",
            "type" : "bool"
          },
          "default" : {
            "label" : "default",
            "type" : "string"
          },
          "regex" : {
            "label" : "regex",
            "type" : "bool"
          },
          "exact" : {
            "label" : "exact",
            "type" : "bool"
          },
          "route" : {
            "label" : "route",
            "type" : "string"
          }
        },
        "flow" : [ "wildcard", "default", "regex", "exact", "route", "variants" ]
      }
    },
    "flow" : [ "routes" ]
  },
  "otoroshi.next.models.NgRouteDomainAndPathWrapper" : {
    "schema" : {
      "route" : {
        "label" : "route",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          }
        },
        "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "metadata", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend" ]
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      }
    },
    "flow" : [ "path", "domain", "route" ]
  },
  "otoroshi.next.plugins.ReactorResponse" : {
    "schema" : {
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "body" ]
  },
  "otoroshi.plugins.oidc.ThirdPartyApiKeyConfigType" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.OAuth1CallerConfig" : {
    "schema" : {
      "token_secret" : {
        "label" : "token_secret",
        "type" : "string"
      },
      "consumer_secret" : {
        "label" : "consumer_secret",
        "type" : "string"
      },
      "algo" : {
        "label" : "algo",
        "type" : "string"
      },
      "token" : {
        "label" : "token",
        "type" : "string"
      },
      "consumer_key" : {
        "label" : "consumer_key",
        "type" : "string"
      }
    },
    "flow" : [ "consumer_key", "token", "algo", "consumer_secret", "token_secret" ]
  },
  "otoroshi.plugins.clientcert.ClientCertChainHeader" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.GraphQLProxy" : {
    "schema" : {
      "max_complexity" : {
        "label" : "max_complexity",
        "type" : "number"
      },
      "schema" : {
        "label" : "schema",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "max_depth" : {
        "label" : "max_depth",
        "type" : "number"
      }
    },
    "flow" : [ "max_depth", "endpoint", "headers", "path", "schema", "max_complexity" ]
  },
  "otoroshi.models.IndexSettingsInterval" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.hmac.HMACCallerPlugin" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.TlsSettings" : {
    "schema" : {
      "trustedCAsServer" : {
        "label" : "trustedCAsServer",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "includeJdkCaClient" : {
        "label" : "includeJdkCaClient",
        "type" : "bool"
      },
      "randomIfNotFound" : {
        "label" : "randomIfNotFound",
        "type" : "bool"
      },
      "defaultDomain" : {
        "label" : "defaultDomain",
        "type" : "string"
      },
      "includeJdkCaServer" : {
        "label" : "includeJdkCaServer",
        "type" : "bool"
      }
    },
    "flow" : [ "includeJdkCaServer", "defaultDomain", "randomIfNotFound", "includeJdkCaClient", "trustedCAsServer" ]
  },
  "otoroshi.next.plugins.W3CTracing" : {
    "schema" : {
      "kind" : {
        "type" : "select",
        "props" : {
          "label" : "kind",
          "options" : [ "jaeger", "zipkin", "logger", "noop" ]
        }
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "baggage" : {
        "label" : "baggage",
        "type" : "object"
      }
    },
    "flow" : [ "baggage", "timeout", "endpoint", "kind" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesAdmissionWebhookSidecarInjector" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.GroupRights" : {
    "schema" : {
      "userRights" : {
        "label" : "userRights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "users" : {
        "label" : "users",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "users", "userRights" ]
  },
  "otoroshi.plugins.mirror.MirroringPluginConfig" : {
    "schema" : {
      "conf" : {
        "label" : "conf",
        "type" : "object"
      }
    },
    "flow" : [ "conf" ]
  },
  "otoroshi.next.plugins.NgServiceQuotasConfig" : {
    "schema" : {
      "throttling_quota" : {
        "label" : "throttling_quota",
        "type" : "number"
      },
      "daily_quota" : {
        "label" : "daily_quota",
        "type" : "number"
      },
      "monthly_quota" : {
        "label" : "monthly_quota",
        "type" : "number"
      }
    },
    "flow" : [ "monthly_quota", "daily_quota", "throttling_quota" ]
  },
  "otoroshi.next.plugins.QueryTransformer" : {
    "schema" : {
      "remove" : {
        "label" : "remove",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rename" : {
        "label" : "rename",
        "type" : "object"
      }
    },
    "flow" : [ "rename", "remove" ]
  },
  "otoroshi.next.models.NgRoute" : {
    "schema" : {
      "debug_flow" : {
        "label" : "debug_flow",
        "type" : "bool"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "export_reporting" : {
        "label" : "export_reporting",
        "type" : "bool"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "frontend" : {
        "label" : "frontend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "query" : {
            "label" : "query",
            "type" : "object"
          },
          "domains" : {
            "label" : "domains",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "methods" : {
            "label" : "methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "exact" : {
            "label" : "exact",
            "type" : "bool"
          },
          "strip_path" : {
            "label" : "strip_path",
            "type" : "bool"
          }
        },
        "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "capture" : {
        "label" : "capture",
        "type" : "bool"
      },
      "groups" : {
        "label" : "groups",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "backend_ref" : {
        "label" : "backend_ref",
        "type" : "string"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "backend" : {
        "label" : "backend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "health_check" : {
            "label" : "health_check",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "client" : {
            "label" : "client",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "idle_timeout" : {
                "label" : "idle_timeout",
                "type" : "number"
              },
              "sample_interval" : {
                "label" : "sample_interval",
                "type" : "number"
              },
              "cache_connection_settings" : {
                "label" : "cache_connection_settings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "queue_size" : {
                    "label" : "queue_size",
                    "type" : "number"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "queue_size", "enabled" ]
              },
              "call_and_stream_timeout" : {
                "label" : "call_and_stream_timeout",
                "type" : "number"
              },
              "custom_timeouts" : {
                "label" : "custom_timeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
              },
              "connection_timeout" : {
                "label" : "connection_timeout",
                "type" : "number"
              },
              "call_timeout" : {
                "label" : "call_timeout",
                "type" : "number"
              },
              "global_timeout" : {
                "label" : "global_timeout",
                "type" : "number"
              },
              "retry_initial_delay" : {
                "label" : "retry_initial_delay",
                "type" : "number"
              },
              "backoff_factor" : {
                "label" : "backoff_factor",
                "type" : "number"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "max_errors" : {
                "label" : "max_errors",
                "type" : "number"
              }
            },
            "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
          },
          "load_balancing" : {
            "label" : "load_balancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "rewrite" : {
            "label" : "rewrite",
            "type" : "bool"
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "ip_address" : {
                "label" : "ip_address",
                "type" : "string"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "tls_config" : {
                "label" : "tls_config",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trust_all" : {
                    "label" : "trust_all",
                    "type" : "bool"
                  },
                  "trusted_certs" : {
                    "label" : "trusted_certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
              },
              "tls" : {
                "label" : "tls",
                "type" : "bool"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "hostname" : {
                "label" : "hostname",
                "type" : "string"
              }
            },
            "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
          }
        },
        "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
      }
    },
    "flow" : [ "description", "backend_ref", "groups", "capture", "tags", "metadata", "export_reporting", "id", "name", "enabled", "debug_flow", "frontend", "_loc", "backend" ]
  },
  "otoroshi.next.plugins.NgMultiAuthModuleConfig" : {
    "schema" : {
      "modules" : {
        "label" : "modules",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "pass_with_apikey" : {
        "label" : "pass_with_apikey",
        "type" : "bool"
      },
      "use_email_prompt" : {
        "label" : "use_email_prompt",
        "type" : "bool"
      },
      "users_groups" : {
        "label" : "users_groups",
        "type" : "object"
      }
    },
    "flow" : [ "users_groups", "use_email_prompt", "pass_with_apikey", "modules" ]
  },
  "otoroshi.next.plugins.NgSecurityTxtConfig" : {
    "schema" : {
      "preferred_languages" : {
        "label" : "preferred_languages",
        "type" : "string"
      },
      "encryption" : {
        "label" : "encryption",
        "type" : "string"
      },
      "policy" : {
        "label" : "policy",
        "type" : "string"
      },
      "acknowledgments" : {
        "label" : "acknowledgments",
        "type" : "string"
      },
      "hiring" : {
        "label" : "hiring",
        "type" : "string"
      },
      "contact" : {
        "label" : "contact",
        "type" : "string"
      }
    },
    "flow" : [ "contact", "hiring", "acknowledgments", "policy", "encryption", "preferred_languages" ]
  },
  "otoroshi.next.plugins.NgJwtUserExtractor" : {
    "schema" : {
      "meta_path" : {
        "label" : "meta_path",
        "type" : "string"
      },
      "strip" : {
        "label" : "strip",
        "type" : "bool"
      },
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "email_path" : {
        "label" : "email_path",
        "type" : "string"
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "name_path" : {
        "label" : "name_path",
        "type" : "string"
      }
    },
    "flow" : [ "name_path", "strict", "email_path", "verifier", "strip", "meta_path" ]
  },
  "otoroshi.next.plugins.NgApikeyExtractors" : {
    "schema" : {
      "basic" : {
        "label" : "basic",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "query_name" : {
            "label" : "query_name",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "header_name", "query_name" ]
      },
      "custom_headers" : {
        "label" : "custom_headers",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "client_id_header_name" : {
            "label" : "client_id_header_name",
            "type" : "string"
          },
          "client_secret_header_name" : {
            "label" : "client_secret_header_name",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "client_id_header_name", "client_secret_header_name" ]
      },
      "client_id" : {
        "label" : "client_id",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "query_name" : {
            "label" : "query_name",
            "type" : "string"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "header_name", "query_name", "enabled" ]
      },
      "jwt" : {
        "label" : "jwt",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "cookie_name" : {
            "label" : "cookie_name",
            "type" : "string"
          },
          "key_pair_signed" : {
            "label" : "key_pair_signed",
            "type" : "bool"
          },
          "query_name" : {
            "label" : "query_name",
            "type" : "string"
          },
          "secret_signed" : {
            "label" : "secret_signed",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "include_request_attrs" : {
            "label" : "include_request_attrs",
            "type" : "bool"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          }
        },
        "flow" : [ "cookie_name", "key_pair_signed", "query_name", "secret_signed", "enabled", "include_request_attrs", "header_name" ]
      }
    },
    "flow" : [ "basic", "custom_headers", "client_id", "jwt" ]
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryConfig" : {
    "schema" : {
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "experiment_id" : {
        "label" : "experiment_id",
        "type" : "string"
      },
      "route_config" : {
        "label" : "route_config",
        "type" : "string"
      },
      "tls" : {
        "label" : "tls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "izanami_url" : {
        "label" : "izanami_url",
        "type" : "string"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "config_id" : {
        "label" : "config_id",
        "type" : "string"
      }
    },
    "flow" : [ "config_id", "client_secret", "izanami_url", "timeout", "route_config", "experiment_id", "client_id", "tls" ]
  },
  "PatchBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.Canary" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "traffic" : {
        "label" : "traffic",
        "type" : "number"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "ipAddress" : {
            "label" : "ipAddress",
            "type" : "string"
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "scheme" : {
            "label" : "scheme",
            "type" : "string"
          }
        },
        "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
      },
      "root" : {
        "label" : "root",
        "type" : "string"
      }
    },
    "flow" : [ "root", "targets", "traffic", "enabled" ]
  },
  "otoroshi.events.HealthCheckEvent" : {
    "schema" : {
      "error" : {
        "label" : "error",
        "type" : "string"
      },
      "health" : {
        "label" : "health",
        "type" : "string"
      },
      "logicCheck" : {
        "label" : "logicCheck",
        "type" : "bool"
      },
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "duration" : {
        "label" : "duration",
        "type" : "number"
      }
    },
    "flow" : [ "duration", "url", "status", "logicCheck", "health", "error" ]
  },
  "otoroshi.plugins.jq.JqBodyTransformer" : {
    "schema" : { },
    "flow" : [ ]
  },
  "play.api.libs.ws.DefaultWSProxyServer" : {
    "schema" : {
      "host" : {
        "label" : "host",
        "type" : "string"
      },
      "port" : {
        "label" : "port",
        "type" : "string"
      },
      "protocol" : {
        "label" : "protocol",
        "type" : "string"
      },
      "principal" : {
        "label" : "principal",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "ntlmDomain" : {
        "label" : "ntlmDomain",
        "type" : "string"
      },
      "encoding" : {
        "label" : "encoding",
        "type" : "string"
      },
      "nonProxyHosts" : {
        "label" : "nonProxyHosts",
        "type" : "string"
      }
    },
    "flow" : [ "nonProxyHosts", "encoding", "ntlmDomain", "password", "principal", "protocol", "port", "host" ]
  },
  "otoroshi.models.MetricsSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "labels" : {
        "label" : "labels",
        "type" : "object"
      }
    },
    "flow" : [ "labels", "type" ]
  },
  "otoroshi.tcp.TcpRule" : {
    "schema" : {
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "ip" : {
            "label" : "ip",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          }
        },
        "flow" : [ "host", "ip", "port", "tls" ]
      }
    },
    "flow" : [ "targets", "domain" ]
  },
  "otoroshi.next.plugins.ReadOnlyCalls" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgLegacyAuthModuleCall" : {
    "schema" : {
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "module" : {
            "label" : "module",
            "type" : "string"
          },
          "pass_with_apikey" : {
            "label" : "pass_with_apikey",
            "type" : "bool"
          }
        },
        "flow" : [ "module", "pass_with_apikey" ]
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "config" ]
  },
  "otoroshi.next.plugins.NoopSpanExporter" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgUserAgentInfoHeaderConfig" : {
    "schema" : {
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name" ]
  },
  "otoroshi.next.plugins.TailscaleSelectTargetByName" : {
    "schema" : {
      "machine_name" : {
        "label" : "machine_name",
        "type" : "string"
      },
      "use_ip_address" : {
        "label" : "use_ip_address",
        "type" : "bool"
      }
    },
    "flow" : [ "use_ip_address", "machine_name" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesCRDsJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.biscuit.AccessValidatorContext" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "attrs" : {
            "label" : "attrs",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "descriptor" : {
            "label" : "descriptor",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "buildMode" : {
                "label" : "buildMode",
                "type" : "bool"
              },
              "hosts" : {
                "label" : "hosts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "privateApp" : {
                "label" : "privateApp",
                "type" : "bool"
              },
              "localScheme" : {
                "label" : "localScheme",
                "type" : "string"
              },
              "authConfigRef" : {
                "label" : "authConfigRef",
                "type" : "string"
              },
              "issueCertCA" : {
                "label" : "issueCertCA",
                "type" : "string"
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "additionalHeaders" : {
                "label" : "additionalHeaders",
                "type" : "object"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "clientConfig" : {
                "label" : "clientConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  },
                  "useCircuitBreaker" : {
                    "label" : "useCircuitBreaker",
                    "type" : "bool"
                  },
                  "retryInitialDelay" : {
                    "label" : "retryInitialDelay",
                    "type" : "number"
                  },
                  "cacheConnectionSettings" : {
                    "label" : "cacheConnectionSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "queueSize" : {
                        "label" : "queueSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "enabled", "queueSize" ]
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "maxErrors" : {
                    "label" : "maxErrors",
                    "type" : "number"
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "backoffFactor" : {
                    "label" : "backoffFactor",
                    "type" : "number"
                  },
                  "customTimeouts" : {
                    "label" : "customTimeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "callAndStreamTimeout" : {
                        "label" : "callAndStreamTimeout",
                        "type" : "number"
                      },
                      "callTimeout" : {
                        "label" : "callTimeout",
                        "type" : "number"
                      },
                      "idleTimeout" : {
                        "label" : "idleTimeout",
                        "type" : "number"
                      },
                      "globalTimeout" : {
                        "label" : "globalTimeout",
                        "type" : "number"
                      },
                      "connectionTimeout" : {
                        "label" : "connectionTimeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "sampleInterval" : {
                    "label" : "sampleInterval",
                    "type" : "number"
                  }
                },
                "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
              },
              "matchingRoot" : {
                "label" : "matchingRoot",
                "type" : "string"
              },
              "forceHttps" : {
                "label" : "forceHttps",
                "type" : "bool"
              },
              "localHost" : {
                "label" : "localHost",
                "type" : "string"
              },
              "sendOtoroshiHeadersBack" : {
                "label" : "sendOtoroshiHeadersBack",
                "type" : "bool"
              },
              "healthCheck" : {
                "label" : "healthCheck",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "strictlyPrivate" : {
                "label" : "strictlyPrivate",
                "type" : "bool"
              },
              "detectApiKeySooner" : {
                "label" : "detectApiKeySooner",
                "type" : "bool"
              },
              "allowHttp10" : {
                "label" : "allowHttp10",
                "type" : "bool"
              },
              "subdomain" : {
                "label" : "subdomain",
                "type" : "string"
              },
              "paths" : {
                "label" : "paths",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "stripPath" : {
                "label" : "stripPath",
                "type" : "bool"
              },
              "secComAlgoChallengeOtoToBack" : {
                "label" : "secComAlgoChallengeOtoToBack",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "apiKeyConstraints" : {
                "label" : "apiKeyConstraints",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "customHeadersAuth" : {
                    "label" : "customHeadersAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "clientIdHeaderName" : {
                        "label" : "clientIdHeaderName",
                        "type" : "string"
                      },
                      "clientSecretHeaderName" : {
                        "label" : "clientSecretHeaderName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
                  },
                  "routing" : {
                    "label" : "routing",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "oneTagIn" : {
                        "label" : "oneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneMetaKeysIn" : {
                        "label" : "noneMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "oneMetaIn" : {
                        "label" : "oneMetaIn",
                        "type" : "object"
                      },
                      "oneMetaKeyIn" : {
                        "label" : "oneMetaKeyIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaKeysIn" : {
                        "label" : "allMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneTagIn" : {
                        "label" : "noneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allTagsIn" : {
                        "label" : "allTagsIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaIn" : {
                        "label" : "allMetaIn",
                        "type" : "object"
                      },
                      "noneMetaIn" : {
                        "label" : "noneMetaIn",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
                  },
                  "clientIdAuth" : {
                    "label" : "clientIdAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  },
                  "jwtAuth" : {
                    "label" : "jwtAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "keyPairSigned" : {
                        "label" : "keyPairSigned",
                        "type" : "bool"
                      },
                      "cookieName" : {
                        "label" : "cookieName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "secretSigned" : {
                        "label" : "secretSigned",
                        "type" : "bool"
                      },
                      "maxJwtLifespanSecs" : {
                        "label" : "maxJwtLifespanSecs",
                        "type" : "string"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "includeRequestAttributes" : {
                        "label" : "includeRequestAttributes",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
                  },
                  "basicAuth" : {
                    "label" : "basicAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  }
                },
                "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
              },
              "env" : {
                "label" : "env",
                "type" : "string"
              },
              "xForwardedHeaders" : {
                "label" : "xForwardedHeaders",
                "type" : "bool"
              },
              "transformerRefs" : {
                "label" : "transformerRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "gzip" : {
                "label" : "gzip",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "compressionLevel" : {
                    "label" : "compressionLevel",
                    "type" : "number"
                  },
                  "blackList" : {
                    "label" : "blackList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "chunkedThreshold" : {
                    "label" : "chunkedThreshold",
                    "type" : "number"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "bufferSize" : {
                    "label" : "bufferSize",
                    "type" : "number"
                  },
                  "whiteList" : {
                    "label" : "whiteList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
              },
              "sendInfoToken" : {
                "label" : "sendInfoToken",
                "type" : "bool"
              },
              "tcpUdpTunneling" : {
                "label" : "tcpUdpTunneling",
                "type" : "bool"
              },
              "removeHeadersOut" : {
                "label" : "removeHeadersOut",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "useAkkaHttpClient" : {
                "label" : "useAkkaHttpClient",
                "type" : "bool"
              },
              "maintenanceMode" : {
                "label" : "maintenanceMode",
                "type" : "bool"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "removeHeadersIn" : {
                "label" : "removeHeadersIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "logAnalyticsOnServer" : {
                "label" : "logAnalyticsOnServer",
                "type" : "bool"
              },
              "secComAlgoInfoToken" : {
                "label" : "secComAlgoInfoToken",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "userFacing" : {
                "label" : "userFacing",
                "type" : "bool"
              },
              "transformerConfig" : {
                "label" : "transformerConfig",
                "type" : "object"
              },
              "clientValidatorRef" : {
                "label" : "clientValidatorRef",
                "type" : "string"
              },
              "securityExcludedPatterns" : {
                "label" : "securityExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ipFiltering" : {
                "label" : "ipFiltering",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "whitelist" : {
                    "label" : "whitelist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "blacklist" : {
                    "label" : "blacklist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "whitelist", "blacklist" ]
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "redirection" : {
                "label" : "redirection",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "code" : {
                    "label" : "code",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "code", "to" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "restrictions" : {
                "label" : "restrictions",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "forbidden" : {
                    "label" : "forbidden",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowed" : {
                    "label" : "allowed",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "notFound" : {
                    "label" : "notFound",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowLast" : {
                    "label" : "allowLast",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
              },
              "overrideHost" : {
                "label" : "overrideHost",
                "type" : "bool"
              },
              "accessValidator" : {
                "label" : "accessValidator",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "sendStateChallenge" : {
                "label" : "sendStateChallenge",
                "type" : "bool"
              },
              "chaosConfig" : {
                "label" : "chaosConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "badResponsesFaultConfig" : {
                    "label" : "badResponsesFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "responses" : {
                        "label" : "responses",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "status" : {
                            "label" : "status",
                            "type" : "number"
                          },
                          "body" : {
                            "type" : "code",
                            "props" : {
                              "label" : "body",
                              "editorOnly" : true,
                              "mode" : "json"
                            }
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "status", "body", "headers" ]
                      }
                    },
                    "flow" : [ "ratio", "responses" ]
                  },
                  "largeRequestFaultConfig" : {
                    "label" : "largeRequestFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalRequestSize" : {
                        "label" : "additionalRequestSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalRequestSize" ]
                  },
                  "largeResponseFaultConfig" : {
                    "label" : "largeResponseFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalResponseSize" : {
                        "label" : "additionalResponseSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalResponseSize" ]
                  },
                  "latencyInjectionFaultConfig" : {
                    "label" : "latencyInjectionFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "from" : {
                        "label" : "from",
                        "type" : "number"
                      },
                      "to" : {
                        "label" : "to",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "from", "to" ]
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
              },
              "secComInfoTokenVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComInfoTokenVersion",
                  "options" : [ "Legacy", "Latest" ]
                }
              },
              "additionalHeadersOut" : {
                "label" : "additionalHeadersOut",
                "type" : "object"
              },
              "secComHeaders" : {
                "label" : "secComHeaders",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "claimRequestName" : {
                    "label" : "claimRequestName",
                    "type" : "string"
                  },
                  "stateRequestName" : {
                    "label" : "stateRequestName",
                    "type" : "string"
                  },
                  "stateResponseName" : {
                    "label" : "stateResponseName",
                    "type" : "string"
                  }
                },
                "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
              },
              "matchingHeaders" : {
                "label" : "matchingHeaders",
                "type" : "object"
              },
              "secComAlgoChallengeBackToOto" : {
                "label" : "secComAlgoChallengeBackToOto",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "secComUseSameAlgo" : {
                "label" : "secComUseSameAlgo",
                "type" : "bool"
              },
              "useNewWSClient" : {
                "label" : "useNewWSClient",
                "type" : "bool"
              },
              "secComExcludedPatterns" : {
                "label" : "secComExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "redirectToLocal" : {
                "label" : "redirectToLocal",
                "type" : "bool"
              },
              "enforceSecureCommunication" : {
                "label" : "enforceSecureCommunication",
                "type" : "bool"
              },
              "missingOnlyHeadersOut" : {
                "label" : "missingOnlyHeadersOut",
                "type" : "object"
              },
              "secComSettings" : {
                "label" : "secComSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "handleLegacyDomain" : {
                "label" : "handleLegacyDomain",
                "type" : "bool"
              },
              "canary" : {
                "label" : "canary",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "traffic" : {
                    "label" : "traffic",
                    "type" : "number"
                  },
                  "targets" : {
                    "label" : "targets",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "tags" : {
                        "label" : "tags",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "metadata" : {
                        "label" : "metadata",
                        "type" : "object"
                      },
                      "protocol" : {
                        "type" : "select",
                        "props" : {
                          "label" : "protocol",
                          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                        }
                      },
                      "predicate" : {
                        "label" : "predicate",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            }
                          },
                          "dc" : {
                            "label" : "dc",
                            "type" : "string"
                          },
                          "positions" : {
                            "label" : "positions",
                            "type" : "array",
                            "array" : true,
                            "format" : "form",
                            "schema" : {
                              "latitude" : {
                                "label" : "latitude",
                                "type" : "number"
                              },
                              "longitude" : {
                                "label" : "longitude",
                                "type" : "number"
                              },
                              "radius" : {
                                "label" : "radius",
                                "type" : "number"
                              }
                            },
                            "flow" : [ "latitude", "longitude", "radius" ]
                          },
                          "provider" : {
                            "label" : "provider",
                            "type" : "string"
                          },
                          "dataCenter" : {
                            "label" : "dataCenter",
                            "type" : "string"
                          },
                          "rack" : {
                            "label" : "rack",
                            "type" : "string"
                          },
                          "region" : {
                            "label" : "region",
                            "type" : "string"
                          },
                          "zone" : {
                            "label" : "zone",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                      },
                      "ipAddress" : {
                        "label" : "ipAddress",
                        "type" : "string"
                      },
                      "mtlsConfig" : {
                        "label" : "mtlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "scheme" : {
                        "label" : "scheme",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
                  },
                  "root" : {
                    "label" : "root",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "traffic", "targets", "root" ]
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "plugins" : {
                "label" : "plugins",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excluded" : {
                    "label" : "excluded",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "config", "enabled", "excluded", "refs" ]
              },
              "secComTtl" : {
                "label" : "secComTtl",
                "type" : "number"
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              },
              "secComVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComVersion",
                  "options" : [ "V1", "v2" ]
                }
              },
              "preRouting" : {
                "label" : "preRouting",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "groups" : {
                "label" : "groups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "readOnly" : {
                "label" : "readOnly",
                "type" : "bool"
              },
              "privatePatterns" : {
                "label" : "privatePatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "targetsLoadBalancing" : {
                "label" : "targetsLoadBalancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "cors" : {
                "label" : "cors",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "allowCredentials" : {
                    "label" : "allowCredentials",
                    "type" : "bool"
                  },
                  "maxAge" : {
                    "label" : "maxAge",
                    "type" : "string"
                  },
                  "allowMethods" : {
                    "label" : "allowMethods",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowHeaders" : {
                    "label" : "allowHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "exposeHeaders" : {
                    "label" : "exposeHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowOrigin" : {
                    "label" : "allowOrigin",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "publicPatterns" : {
                "label" : "publicPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "api" : {
                "label" : "api",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "exposeApi" : {
                    "label" : "exposeApi",
                    "type" : "bool"
                  },
                  "openApiDescriptorUrl" : {
                    "label" : "openApiDescriptorUrl",
                    "type" : "string"
                  }
                },
                "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
              },
              "missingOnlyHeadersIn" : {
                "label" : "missingOnlyHeadersIn",
                "type" : "object"
              },
              "issueCert" : {
                "label" : "issueCert",
                "type" : "bool"
              },
              "headersVerification" : {
                "label" : "headersVerification",
                "type" : "object"
              },
              "jwtVerifier" : {
                "label" : "jwtVerifier",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "global", "local", "ref" ]
                    }
                  },
                  "desc" : {
                    "label" : "desc",
                    "type" : "string"
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "source" : {
                    "label" : "source",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                        }
                      },
                      "name" : {
                        "label" : "name",
                        "type" : "string"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "name", "remove" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "_loc" : {
                    "label" : "_loc",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "tenant" : {
                        "label" : "tenant",
                        "type" : "string"
                      },
                      "teams" : {
                        "label" : "teams",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "tenant", "teams" ]
                  },
                  "strategy" : {
                    "label" : "strategy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                        }
                      },
                      "strict" : {
                        "label" : "strict",
                        "type" : "bool"
                      },
                      "token" : {
                        "label" : "token",
                        "type" : "object"
                      },
                      "verificationSettings" : {
                        "label" : "verificationSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "fields" : {
                            "label" : "fields",
                            "type" : "object"
                          },
                          "arrayFields" : {
                            "label" : "arrayFields",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "fields", "arrayFields" ]
                      },
                      "algoSettings" : {
                        "label" : "algoSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                            }
                          },
                          "size" : {
                            "label" : "size",
                            "type" : "number"
                          },
                          "publicKey" : {
                            "label" : "publicKey",
                            "type" : "string"
                          },
                          "privateKey" : {
                            "label" : "privateKey",
                            "type" : "string"
                          },
                          "certId" : {
                            "label" : "certId",
                            "type" : "string"
                          },
                          "secret" : {
                            "label" : "secret",
                            "type" : "string"
                          },
                          "base64" : {
                            "label" : "base64",
                            "type" : "bool"
                          },
                          "url" : {
                            "label" : "url",
                            "type" : "string"
                          },
                          "tlsConfig" : {
                            "label" : "tlsConfig",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "mtls" : {
                                "label" : "mtls",
                                "type" : "bool"
                              },
                              "loose" : {
                                "label" : "loose",
                                "type" : "bool"
                              },
                              "trustAll" : {
                                "label" : "trustAll",
                                "type" : "bool"
                              },
                              "trustedCerts" : {
                                "label" : "trustedCerts",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              },
                              "certs" : {
                                "label" : "certs",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                          },
                          "kty" : {
                            "label" : "kty",
                            "type" : "string"
                          },
                          "proxy" : {
                            "label" : "proxy",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "host" : {
                                "label" : "host",
                                "type" : "string"
                              },
                              "port" : {
                                "label" : "port",
                                "type" : "string"
                              },
                              "protocol" : {
                                "label" : "protocol",
                                "type" : "string"
                              },
                              "principal" : {
                                "label" : "principal",
                                "type" : "string"
                              },
                              "password" : {
                                "label" : "password",
                                "type" : "string"
                              },
                              "ntlmDomain" : {
                                "label" : "ntlmDomain",
                                "type" : "string"
                              },
                              "encoding" : {
                                "label" : "encoding",
                                "type" : "string"
                              },
                              "nonProxyHosts" : {
                                "label" : "nonProxyHosts",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          },
                          "ttl" : {
                            "label" : "ttl",
                            "type" : "number"
                          },
                          "timeout" : {
                            "label" : "timeout",
                            "type" : "number"
                          },
                          "onlyExposedCerts" : {
                            "label" : "onlyExposedCerts",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                      },
                      "transformSettings" : {
                        "label" : "transformSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "location" : {
                            "label" : "location",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "type" : {
                                "type" : "select",
                                "props" : {
                                  "label" : "type",
                                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                                }
                              },
                              "name" : {
                                "label" : "name",
                                "type" : "string"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "type", "name", "remove" ]
                          },
                          "mappingSettings" : {
                            "label" : "mappingSettings",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "map" : {
                                "label" : "map",
                                "type" : "object"
                              },
                              "values" : {
                                "label" : "values",
                                "type" : "object"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "map", "values", "remove" ]
                          }
                        },
                        "flow" : [ "location", "mappingSettings" ]
                      }
                    },
                    "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "ids" : {
                    "label" : "ids",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
              },
              "letsEncrypt" : {
                "label" : "letsEncrypt",
                "type" : "bool"
              }
            },
            "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
          },
          "index" : {
            "label" : "index",
            "type" : "number"
          },
          "globalConfig" : {
            "label" : "globalConfig",
            "type" : "object"
          },
          "apikey" : {
            "label" : "apikey",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "dailyQuota" : {
                "label" : "dailyQuota",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "throttlingQuota" : {
                "label" : "throttlingQuota",
                "type" : "number"
              },
              "constrainedServicesOnly" : {
                "label" : "constrainedServicesOnly",
                "type" : "bool"
              },
              "allowClientIdOnly" : {
                "label" : "allowClientIdOnly",
                "type" : "bool"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "restrictions" : {
                "label" : "restrictions",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "forbidden" : {
                    "label" : "forbidden",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowed" : {
                    "label" : "allowed",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "notFound" : {
                    "label" : "notFound",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowLast" : {
                    "label" : "allowLast",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "readOnly" : {
                "label" : "readOnly",
                "type" : "bool"
              },
              "clientSecret" : {
                "label" : "clientSecret",
                "type" : "string"
              },
              "validUntil" : {
                "label" : "validUntil",
                "type" : "string"
              },
              "clientName" : {
                "label" : "clientName",
                "type" : "string"
              },
              "monthlyQuota" : {
                "label" : "monthlyQuota",
                "type" : "number"
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              },
              "rotation" : {
                "label" : "rotation",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "rotationEvery" : {
                    "label" : "rotationEvery",
                    "type" : "number"
                  },
                  "gracePeriod" : {
                    "label" : "gracePeriod",
                    "type" : "number"
                  },
                  "nextSecret" : {
                    "label" : "nextSecret",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
              },
              "authorizedEntities" : {
                "label" : "authorizedEntities",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "clientId" : {
                "label" : "clientId",
                "type" : "string"
              }
            },
            "flow" : [ "dailyQuota", "metadata", "throttlingQuota", "constrainedServicesOnly", "allowClientIdOnly", "_loc", "restrictions", "tags", "enabled", "readOnly", "clientSecret", "validUntil", "clientName", "monthlyQuota", "description", "rotation", "authorizedEntities", "clientId" ]
          },
          "snowflake" : {
            "label" : "snowflake",
            "type" : "string"
          },
          "user" : {
            "label" : "user",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "realm" : {
                "label" : "realm",
                "type" : "string"
              },
              "token" : {
                "label" : "token",
                "type" : "object"
              },
              "expiredAt" : {
                "label" : "expiredAt",
                "type" : "number"
              },
              "profile" : {
                "label" : "profile",
                "type" : "object"
              },
              "lastRefresh" : {
                "label" : "lastRefresh",
                "type" : "number"
              },
              "randomId" : {
                "label" : "randomId",
                "type" : "string"
              },
              "email" : {
                "label" : "email",
                "type" : "string"
              },
              "createdAt" : {
                "label" : "createdAt",
                "type" : "number"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "authConfigId" : {
                "label" : "authConfigId",
                "type" : "string"
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "otoroshiData" : {
                "label" : "otoroshiData",
                "type" : "string"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              }
            },
            "flow" : [ "realm", "token", "expiredAt", "profile", "lastRefresh", "randomId", "email", "createdAt", "_loc", "authConfigId", "tags", "name", "otoroshiData", "metadata" ]
          }
        },
        "flow" : [ "attrs", "config", "descriptor", "index", "globalConfig", "apikey", "snowflake", "user" ]
      }
    },
    "flow" : [ "ctx" ]
  },
  "otoroshi.models.ElasticAnalyticsConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "sendWorkers" : {
        "label" : "sendWorkers",
        "type" : "number"
      },
      "applyTemplate" : {
        "label" : "applyTemplate",
        "type" : "bool"
      },
      "uris" : {
        "label" : "uris",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "version" : {
        "label" : "version",
        "type" : "string"
      },
      "maxBulkSize" : {
        "label" : "maxBulkSize",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "indexSettings" : {
        "label" : "indexSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "clientSide" : {
            "label" : "clientSide",
            "type" : "bool"
          },
          "numberOfShards" : {
            "label" : "numberOfShards",
            "type" : "number"
          },
          "numberOfReplicas" : {
            "label" : "numberOfReplicas",
            "type" : "number"
          },
          "interval" : {
            "label" : "interval",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
      },
      "user" : {
        "label" : "user",
        "type" : "string"
      },
      "index" : {
        "label" : "index",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      }
    },
    "flow" : [ "password", "index", "user", "headers", "maxBulkSize", "version", "uris", "applyTemplate", "sendWorkers", "type", "mtlsConfig", "indexSettings" ]
  },
  "otoroshi.models.ApiKeyConstraints" : {
    "schema" : {
      "customHeadersAuth" : {
        "label" : "customHeadersAuth",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "clientIdHeaderName" : {
            "label" : "clientIdHeaderName",
            "type" : "string"
          },
          "clientSecretHeaderName" : {
            "label" : "clientSecretHeaderName",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
      },
      "routing" : {
        "label" : "routing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "oneTagIn" : {
            "label" : "oneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneMetaKeysIn" : {
            "label" : "noneMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "oneMetaIn" : {
            "label" : "oneMetaIn",
            "type" : "object"
          },
          "oneMetaKeyIn" : {
            "label" : "oneMetaKeyIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaKeysIn" : {
            "label" : "allMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneTagIn" : {
            "label" : "noneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allTagsIn" : {
            "label" : "allTagsIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaIn" : {
            "label" : "allMetaIn",
            "type" : "object"
          },
          "noneMetaIn" : {
            "label" : "noneMetaIn",
            "type" : "object"
          }
        },
        "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
      },
      "clientIdAuth" : {
        "label" : "clientIdAuth",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "headerName" : {
            "label" : "headerName",
            "type" : "string"
          },
          "queryName" : {
            "label" : "queryName",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "headerName", "queryName" ]
      },
      "jwtAuth" : {
        "label" : "jwtAuth",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "keyPairSigned" : {
            "label" : "keyPairSigned",
            "type" : "bool"
          },
          "cookieName" : {
            "label" : "cookieName",
            "type" : "string"
          },
          "queryName" : {
            "label" : "queryName",
            "type" : "string"
          },
          "headerName" : {
            "label" : "headerName",
            "type" : "string"
          },
          "secretSigned" : {
            "label" : "secretSigned",
            "type" : "bool"
          },
          "maxJwtLifespanSecs" : {
            "label" : "maxJwtLifespanSecs",
            "type" : "string"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "includeRequestAttributes" : {
            "label" : "includeRequestAttributes",
            "type" : "bool"
          }
        },
        "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
      },
      "basicAuth" : {
        "label" : "basicAuth",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "headerName" : {
            "label" : "headerName",
            "type" : "string"
          },
          "queryName" : {
            "label" : "queryName",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "headerName", "queryName" ]
      }
    },
    "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
  },
  "otoroshi.next.models.NgCustomTimeouts" : {
    "schema" : {
      "connection_timeout" : {
        "label" : "connection_timeout",
        "type" : "number"
      },
      "call_and_stream_timeout" : {
        "label" : "call_and_stream_timeout",
        "type" : "number"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "call_timeout" : {
        "label" : "call_timeout",
        "type" : "number"
      },
      "idle_timeout" : {
        "label" : "idle_timeout",
        "type" : "number"
      },
      "global_timeout" : {
        "label" : "global_timeout",
        "type" : "number"
      }
    },
    "flow" : [ "global_timeout", "idle_timeout", "call_timeout", "path", "call_and_stream_timeout", "connection_timeout" ]
  },
  "otoroshi.next.plugins.Robots" : {
    "schema" : {
      "robot_txt_content" : {
        "label" : "robot_txt_content",
        "type" : "string"
      },
      "meta_content" : {
        "label" : "meta_content",
        "type" : "string"
      },
      "robot_enabled" : {
        "label" : "robot_enabled",
        "type" : "bool"
      },
      "header_content" : {
        "label" : "header_content",
        "type" : "string"
      },
      "header_enabled" : {
        "label" : "header_enabled",
        "type" : "bool"
      },
      "meta_enabled" : {
        "label" : "meta_enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "meta_enabled", "header_enabled", "header_content", "robot_enabled", "meta_content", "robot_txt_content" ]
  },
  "otoroshi.plugins.quotas.ServiceQuotasConfig" : {
    "schema" : {
      "throttlingQuota" : {
        "label" : "throttlingQuota",
        "type" : "number"
      },
      "dailyQuota" : {
        "label" : "dailyQuota",
        "type" : "number"
      },
      "monthlyQuota" : {
        "label" : "monthlyQuota",
        "type" : "number"
      }
    },
    "flow" : [ "monthlyQuota", "dailyQuota", "throttlingQuota" ]
  },
  "otoroshi.auth.WebAuthnDetails" : {
    "schema" : {
      "handle" : {
        "label" : "handle",
        "type" : "string"
      },
      "credentials" : {
        "label" : "credentials",
        "type" : "object"
      }
    },
    "flow" : [ "credentials", "handle" ]
  },
  "otoroshi.next.plugins.GzipResponseCompressor" : {
    "schema" : {
      "compression_level" : {
        "label" : "compression_level",
        "type" : "number"
      },
      "buffer_size" : {
        "label" : "buffer_size",
        "type" : "number"
      },
      "chunked_threshold" : {
        "label" : "chunked_threshold",
        "type" : "number"
      },
      "excluded_patterns" : {
        "label" : "excluded_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "white_list" : {
        "label" : "white_list",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "black_list" : {
        "label" : "black_list",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "black_list", "white_list", "excluded_patterns", "chunked_threshold", "buffer_size", "compression_level" ]
  },
  "otoroshi.next.models.PluginIndex" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.wrappers.PreRoutingWrapper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgLargeRequestFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "additional_request_size" : {
        "label" : "additional_request_size",
        "type" : "number"
      }
    },
    "flow" : [ "additional_request_size", "ratio" ]
  },
  "UserTokenBody" : {
    "schema" : {
      "token" : {
        "label" : "token",
        "type" : "string"
      }
    },
    "flow" : [ "token" ]
  },
  "otoroshi.next.plugins.NgLatencyInjectionFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "from" : {
        "label" : "from",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "number"
      }
    },
    "flow" : [ "to", "from", "ratio" ]
  },
  "otoroshi.models.CleverCloudSettings" : {
    "schema" : {
      "consumerSecret" : {
        "label" : "consumerSecret",
        "type" : "string"
      },
      "consumerKey" : {
        "label" : "consumerKey",
        "type" : "string"
      },
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "token" : {
        "label" : "token",
        "type" : "string"
      },
      "orgaId" : {
        "label" : "orgaId",
        "type" : "string"
      }
    },
    "flow" : [ "orgaId", "token", "secret", "consumerKey", "consumerSecret" ]
  },
  "otoroshi.script.AccessContext" : {
    "schema" : {
      "attrs" : {
        "label" : "attrs",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "descriptor" : {
        "label" : "descriptor",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "buildMode" : {
            "label" : "buildMode",
            "type" : "bool"
          },
          "hosts" : {
            "label" : "hosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "privateApp" : {
            "label" : "privateApp",
            "type" : "bool"
          },
          "localScheme" : {
            "label" : "localScheme",
            "type" : "string"
          },
          "authConfigRef" : {
            "label" : "authConfigRef",
            "type" : "string"
          },
          "issueCertCA" : {
            "label" : "issueCertCA",
            "type" : "string"
          },
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "additionalHeaders" : {
            "label" : "additionalHeaders",
            "type" : "object"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "clientConfig" : {
            "label" : "clientConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              },
              "useCircuitBreaker" : {
                "label" : "useCircuitBreaker",
                "type" : "bool"
              },
              "retryInitialDelay" : {
                "label" : "retryInitialDelay",
                "type" : "number"
              },
              "cacheConnectionSettings" : {
                "label" : "cacheConnectionSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "queueSize" : {
                    "label" : "queueSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "queueSize" ]
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "callTimeout" : {
                "label" : "callTimeout",
                "type" : "number"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              },
              "globalTimeout" : {
                "label" : "globalTimeout",
                "type" : "number"
              },
              "maxErrors" : {
                "label" : "maxErrors",
                "type" : "number"
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "backoffFactor" : {
                "label" : "backoffFactor",
                "type" : "number"
              },
              "customTimeouts" : {
                "label" : "customTimeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "sampleInterval" : {
                "label" : "sampleInterval",
                "type" : "number"
              }
            },
            "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
          },
          "matchingRoot" : {
            "label" : "matchingRoot",
            "type" : "string"
          },
          "forceHttps" : {
            "label" : "forceHttps",
            "type" : "bool"
          },
          "localHost" : {
            "label" : "localHost",
            "type" : "string"
          },
          "sendOtoroshiHeadersBack" : {
            "label" : "sendOtoroshiHeadersBack",
            "type" : "bool"
          },
          "healthCheck" : {
            "label" : "healthCheck",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "strictlyPrivate" : {
            "label" : "strictlyPrivate",
            "type" : "bool"
          },
          "detectApiKeySooner" : {
            "label" : "detectApiKeySooner",
            "type" : "bool"
          },
          "allowHttp10" : {
            "label" : "allowHttp10",
            "type" : "bool"
          },
          "subdomain" : {
            "label" : "subdomain",
            "type" : "string"
          },
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "stripPath" : {
            "label" : "stripPath",
            "type" : "bool"
          },
          "secComAlgoChallengeOtoToBack" : {
            "label" : "secComAlgoChallengeOtoToBack",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "apiKeyConstraints" : {
            "label" : "apiKeyConstraints",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "customHeadersAuth" : {
                "label" : "customHeadersAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "clientIdHeaderName" : {
                    "label" : "clientIdHeaderName",
                    "type" : "string"
                  },
                  "clientSecretHeaderName" : {
                    "label" : "clientSecretHeaderName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
              },
              "routing" : {
                "label" : "routing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "oneTagIn" : {
                    "label" : "oneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneMetaKeysIn" : {
                    "label" : "noneMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "oneMetaIn" : {
                    "label" : "oneMetaIn",
                    "type" : "object"
                  },
                  "oneMetaKeyIn" : {
                    "label" : "oneMetaKeyIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaKeysIn" : {
                    "label" : "allMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneTagIn" : {
                    "label" : "noneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allTagsIn" : {
                    "label" : "allTagsIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaIn" : {
                    "label" : "allMetaIn",
                    "type" : "object"
                  },
                  "noneMetaIn" : {
                    "label" : "noneMetaIn",
                    "type" : "object"
                  }
                },
                "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
              },
              "clientIdAuth" : {
                "label" : "clientIdAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              },
              "jwtAuth" : {
                "label" : "jwtAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "keyPairSigned" : {
                    "label" : "keyPairSigned",
                    "type" : "bool"
                  },
                  "cookieName" : {
                    "label" : "cookieName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "secretSigned" : {
                    "label" : "secretSigned",
                    "type" : "bool"
                  },
                  "maxJwtLifespanSecs" : {
                    "label" : "maxJwtLifespanSecs",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "includeRequestAttributes" : {
                    "label" : "includeRequestAttributes",
                    "type" : "bool"
                  }
                },
                "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
              },
              "basicAuth" : {
                "label" : "basicAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              }
            },
            "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
          },
          "env" : {
            "label" : "env",
            "type" : "string"
          },
          "xForwardedHeaders" : {
            "label" : "xForwardedHeaders",
            "type" : "bool"
          },
          "transformerRefs" : {
            "label" : "transformerRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "gzip" : {
            "label" : "gzip",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "compressionLevel" : {
                "label" : "compressionLevel",
                "type" : "number"
              },
              "blackList" : {
                "label" : "blackList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "chunkedThreshold" : {
                "label" : "chunkedThreshold",
                "type" : "number"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "bufferSize" : {
                "label" : "bufferSize",
                "type" : "number"
              },
              "whiteList" : {
                "label" : "whiteList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
          },
          "sendInfoToken" : {
            "label" : "sendInfoToken",
            "type" : "bool"
          },
          "tcpUdpTunneling" : {
            "label" : "tcpUdpTunneling",
            "type" : "bool"
          },
          "removeHeadersOut" : {
            "label" : "removeHeadersOut",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "removeHeadersIn" : {
            "label" : "removeHeadersIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "secComAlgoInfoToken" : {
            "label" : "secComAlgoInfoToken",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "userFacing" : {
            "label" : "userFacing",
            "type" : "bool"
          },
          "transformerConfig" : {
            "label" : "transformerConfig",
            "type" : "object"
          },
          "clientValidatorRef" : {
            "label" : "clientValidatorRef",
            "type" : "string"
          },
          "securityExcludedPatterns" : {
            "label" : "securityExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "ipAddress" : {
                "label" : "ipAddress",
                "type" : "string"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "scheme" : {
                "label" : "scheme",
                "type" : "string"
              }
            },
            "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
          },
          "redirection" : {
            "label" : "redirection",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "code" : {
                "label" : "code",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "code", "to" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "overrideHost" : {
            "label" : "overrideHost",
            "type" : "bool"
          },
          "accessValidator" : {
            "label" : "accessValidator",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "sendStateChallenge" : {
            "label" : "sendStateChallenge",
            "type" : "bool"
          },
          "chaosConfig" : {
            "label" : "chaosConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "badResponsesFaultConfig" : {
                "label" : "badResponsesFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "responses" : {
                    "label" : "responses",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "status" : {
                        "label" : "status",
                        "type" : "number"
                      },
                      "body" : {
                        "type" : "code",
                        "props" : {
                          "label" : "body",
                          "editorOnly" : true,
                          "mode" : "json"
                        }
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "status", "body", "headers" ]
                  }
                },
                "flow" : [ "ratio", "responses" ]
              },
              "largeRequestFaultConfig" : {
                "label" : "largeRequestFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalRequestSize" : {
                    "label" : "additionalRequestSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalRequestSize" ]
              },
              "largeResponseFaultConfig" : {
                "label" : "largeResponseFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalResponseSize" : {
                    "label" : "additionalResponseSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalResponseSize" ]
              },
              "latencyInjectionFaultConfig" : {
                "label" : "latencyInjectionFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "from" : {
                    "label" : "from",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "from", "to" ]
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
          },
          "secComInfoTokenVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComInfoTokenVersion",
              "options" : [ "Legacy", "Latest" ]
            }
          },
          "additionalHeadersOut" : {
            "label" : "additionalHeadersOut",
            "type" : "object"
          },
          "secComHeaders" : {
            "label" : "secComHeaders",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "claimRequestName" : {
                "label" : "claimRequestName",
                "type" : "string"
              },
              "stateRequestName" : {
                "label" : "stateRequestName",
                "type" : "string"
              },
              "stateResponseName" : {
                "label" : "stateResponseName",
                "type" : "string"
              }
            },
            "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
          },
          "matchingHeaders" : {
            "label" : "matchingHeaders",
            "type" : "object"
          },
          "secComAlgoChallengeBackToOto" : {
            "label" : "secComAlgoChallengeBackToOto",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "secComUseSameAlgo" : {
            "label" : "secComUseSameAlgo",
            "type" : "bool"
          },
          "useNewWSClient" : {
            "label" : "useNewWSClient",
            "type" : "bool"
          },
          "secComExcludedPatterns" : {
            "label" : "secComExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "redirectToLocal" : {
            "label" : "redirectToLocal",
            "type" : "bool"
          },
          "enforceSecureCommunication" : {
            "label" : "enforceSecureCommunication",
            "type" : "bool"
          },
          "missingOnlyHeadersOut" : {
            "label" : "missingOnlyHeadersOut",
            "type" : "object"
          },
          "secComSettings" : {
            "label" : "secComSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "handleLegacyDomain" : {
            "label" : "handleLegacyDomain",
            "type" : "bool"
          },
          "canary" : {
            "label" : "canary",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "traffic" : {
                "label" : "traffic",
                "type" : "number"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "traffic", "targets", "root" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "secComTtl" : {
            "label" : "secComTtl",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "secComVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComVersion",
              "options" : [ "V1", "v2" ]
            }
          },
          "preRouting" : {
            "label" : "preRouting",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "privatePatterns" : {
            "label" : "privatePatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "targetsLoadBalancing" : {
            "label" : "targetsLoadBalancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "cors" : {
            "label" : "cors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "allowCredentials" : {
                "label" : "allowCredentials",
                "type" : "bool"
              },
              "maxAge" : {
                "label" : "maxAge",
                "type" : "string"
              },
              "allowMethods" : {
                "label" : "allowMethods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowHeaders" : {
                "label" : "allowHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exposeHeaders" : {
                "label" : "exposeHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowOrigin" : {
                "label" : "allowOrigin",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "publicPatterns" : {
            "label" : "publicPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "api" : {
            "label" : "api",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "exposeApi" : {
                "label" : "exposeApi",
                "type" : "bool"
              },
              "openApiDescriptorUrl" : {
                "label" : "openApiDescriptorUrl",
                "type" : "string"
              }
            },
            "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
          },
          "missingOnlyHeadersIn" : {
            "label" : "missingOnlyHeadersIn",
            "type" : "object"
          },
          "issueCert" : {
            "label" : "issueCert",
            "type" : "bool"
          },
          "headersVerification" : {
            "label" : "headersVerification",
            "type" : "object"
          },
          "jwtVerifier" : {
            "label" : "jwtVerifier",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "global", "local", "ref" ]
                }
              },
              "desc" : {
                "label" : "desc",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "source" : {
                "label" : "source",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "strategy" : {
                "label" : "strategy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                    }
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "token" : {
                    "label" : "token",
                    "type" : "object"
                  },
                  "verificationSettings" : {
                    "label" : "verificationSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "fields" : {
                        "label" : "fields",
                        "type" : "object"
                      },
                      "arrayFields" : {
                        "label" : "arrayFields",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "fields", "arrayFields" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "transformSettings" : {
                    "label" : "transformSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "location" : {
                        "label" : "location",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                            }
                          },
                          "name" : {
                            "label" : "name",
                            "type" : "string"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "name", "remove" ]
                      },
                      "mappingSettings" : {
                        "label" : "mappingSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "map" : {
                            "label" : "map",
                            "type" : "object"
                          },
                          "values" : {
                            "label" : "values",
                            "type" : "object"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "map", "values", "remove" ]
                      }
                    },
                    "flow" : [ "location", "mappingSettings" ]
                  }
                },
                "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ids" : {
                "label" : "ids",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
          },
          "letsEncrypt" : {
            "label" : "letsEncrypt",
            "type" : "bool"
          }
        },
        "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
      },
      "index" : {
        "label" : "index",
        "type" : "number"
      },
      "globalConfig" : {
        "label" : "globalConfig",
        "type" : "object"
      },
      "apikey" : {
        "label" : "apikey",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "dailyQuota" : {
            "label" : "dailyQuota",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "constrainedServicesOnly" : {
            "label" : "constrainedServicesOnly",
            "type" : "bool"
          },
          "allowClientIdOnly" : {
            "label" : "allowClientIdOnly",
            "type" : "bool"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "clientSecret" : {
            "label" : "clientSecret",
            "type" : "string"
          },
          "validUntil" : {
            "label" : "validUntil",
            "type" : "string"
          },
          "clientName" : {
            "label" : "clientName",
            "type" : "string"
          },
          "monthlyQuota" : {
            "label" : "monthlyQuota",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "rotation" : {
            "label" : "rotation",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "rotationEvery" : {
                "label" : "rotationEvery",
                "type" : "number"
              },
              "gracePeriod" : {
                "label" : "gracePeriod",
                "type" : "number"
              },
              "nextSecret" : {
                "label" : "nextSecret",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
          },
          "authorizedEntities" : {
            "label" : "authorizedEntities",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "clientId" : {
            "label" : "clientId",
            "type" : "string"
          }
        },
        "flow" : [ "dailyQuota", "metadata", "throttlingQuota", "constrainedServicesOnly", "allowClientIdOnly", "_loc", "restrictions", "tags", "enabled", "readOnly", "clientSecret", "validUntil", "clientName", "monthlyQuota", "description", "rotation", "authorizedEntities", "clientId" ]
      },
      "snowflake" : {
        "label" : "snowflake",
        "type" : "string"
      },
      "user" : {
        "label" : "user",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "realm" : {
            "label" : "realm",
            "type" : "string"
          },
          "token" : {
            "label" : "token",
            "type" : "object"
          },
          "expiredAt" : {
            "label" : "expiredAt",
            "type" : "number"
          },
          "profile" : {
            "label" : "profile",
            "type" : "object"
          },
          "lastRefresh" : {
            "label" : "lastRefresh",
            "type" : "number"
          },
          "randomId" : {
            "label" : "randomId",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          },
          "createdAt" : {
            "label" : "createdAt",
            "type" : "number"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "authConfigId" : {
            "label" : "authConfigId",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "otoroshiData" : {
            "label" : "otoroshiData",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          }
        },
        "flow" : [ "realm", "token", "expiredAt", "profile", "lastRefresh", "randomId", "email", "createdAt", "_loc", "authConfigId", "tags", "name", "otoroshiData", "metadata" ]
      }
    },
    "flow" : [ "snowflake", "globalConfig", "index", "config", "attrs", "descriptor", "apikey", "user" ]
  },
  "otoroshi.models.AlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      },
      "certId" : {
        "label" : "certId",
        "type" : "string"
      },
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "base64" : {
        "label" : "base64",
        "type" : "bool"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "tlsConfig" : {
        "label" : "tlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "kty" : {
        "label" : "kty",
        "type" : "string"
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "onlyExposedCerts" : {
        "label" : "onlyExposedCerts",
        "type" : "bool"
      }
    },
    "flow" : [ "onlyExposedCerts", "timeout", "ttl", "headers", "kty", "url", "base64", "secret", "certId", "privateKey", "publicKey", "size", "type", "tlsConfig", "proxy" ]
  },
  "otoroshi.next.plugins.SendOtoroshiHeadersBack" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.WasmAuthModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "wasmRef" : {
        "label" : "wasmRef",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "metadata", "id", "userValidators", "sessionMaxAge", "tags", "description", "clientSideSessionEnabled", "name", "wasmRef", "type", "_loc", "sessionCookieValues" ]
  },
  "otoroshi.utils.gzip.GzipConfig" : {
    "schema" : {
      "compressionLevel" : {
        "label" : "compressionLevel",
        "type" : "number"
      },
      "blackList" : {
        "label" : "blackList",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "chunkedThreshold" : {
        "label" : "chunkedThreshold",
        "type" : "number"
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "bufferSize" : {
        "label" : "bufferSize",
        "type" : "number"
      },
      "whiteList" : {
        "label" : "whiteList",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "whiteList", "bufferSize", "excludedPatterns", "chunkedThreshold", "blackList", "compressionLevel" ]
  },
  "PluginDescriptionsResponse" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgHasClientCertValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.TeamId" : {
    "schema" : { },
    "flow" : [ ]
  },
  "WebAuthnRegistrationFinishBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.TenantId" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.ApikeyAuthModule" : {
    "schema" : {
      "realm" : {
        "label" : "realm",
        "type" : "string"
      },
      "matcher" : {
        "label" : "matcher",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "oneTagIn" : {
            "label" : "oneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneMetaKeysIn" : {
            "label" : "noneMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "oneMetaIn" : {
            "label" : "oneMetaIn",
            "type" : "object"
          },
          "oneMetaKeyIn" : {
            "label" : "oneMetaKeyIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaKeysIn" : {
            "label" : "allMetaKeysIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "noneTagIn" : {
            "label" : "noneTagIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allTagsIn" : {
            "label" : "allTagsIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allMetaIn" : {
            "label" : "allMetaIn",
            "type" : "object"
          },
          "noneMetaIn" : {
            "label" : "noneMetaIn",
            "type" : "object"
          }
        },
        "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
      }
    },
    "flow" : [ "realm", "matcher" ]
  },
  "otoroshi.next.plugins.NgAuthModuleExpectedUserConfig" : {
    "schema" : {
      "only_from" : {
        "label" : "only_from",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "only_from" ]
  },
  "PatchDocument" : {
    "schema" : {
      "op" : {
        "type" : "select",
        "props" : {
          "label" : "op",
          "options" : [ "add", "remove", "replace", "move", "copy", "test" ]
        }
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "value" : {
        "label" : "value",
        "type" : "object"
      },
      "from" : {
        "label" : "from",
        "type" : "string"
      }
    },
    "flow" : [ "from", "value", "path", "op" ]
  },
  "ServiceDescriptorList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.oidc.OIDCThirdPartyApiKeyConfig" : {
    "schema" : {
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "localVerificationOnly" : {
        "label" : "localVerificationOnly",
        "type" : "bool"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "uniqueApiKey" : {
        "label" : "uniqueApiKey",
        "type" : "bool"
      },
      "rolesPath" : {
        "label" : "rolesPath",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mode" : {
        "label" : "mode",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "quotasEnabled" : {
        "label" : "quotasEnabled",
        "type" : "bool"
      },
      "monthlyQuota" : {
        "label" : "monthlyQuota",
        "type" : "number"
      },
      "scopes" : {
        "label" : "scopes",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "roles" : {
        "label" : "roles",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "throttlingQuota" : {
        "label" : "throttlingQuota",
        "type" : "number"
      },
      "dailyQuota" : {
        "label" : "dailyQuota",
        "type" : "number"
      },
      "oidcConfigRef" : {
        "label" : "oidcConfigRef",
        "type" : "string"
      }
    },
    "flow" : [ "oidcConfigRef", "dailyQuota", "throttlingQuota", "roles", "scopes", "monthlyQuota", "quotasEnabled", "rolesPath", "uniqueApiKey", "ttl", "enabled", "localVerificationOnly", "headerName", "excludedPatterns", "mode" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesOtoroshiCRDsControllerJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.GlobalPerIpAddressThrottling" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgClientCredentials" : {
    "schema" : {
      "default_key_pair" : {
        "label" : "default_key_pair",
        "type" : "string"
      },
      "expiration" : {
        "label" : "expiration",
        "type" : "number"
      },
      "secure" : {
        "label" : "secure",
        "type" : "bool"
      },
      "biscuit" : {
        "label" : "biscuit",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "privkey" : {
            "label" : "privkey",
            "type" : "string"
          },
          "checks" : {
            "label" : "checks",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "facts" : {
            "label" : "facts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "privkey", "checks", "facts", "rules" ]
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      }
    },
    "flow" : [ "domain", "secure", "expiration", "default_key_pair", "biscuit" ]
  },
  "otoroshi.plugins.accesslog.AccessLog" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesConfig" : {
    "schema" : {
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "templates" : {
        "label" : "templates",
        "type" : "object"
      },
      "token" : {
        "label" : "token",
        "type" : "string"
      },
      "restartDependantDeployments" : {
        "label" : "restartDependantDeployments",
        "type" : "bool"
      },
      "watchGracePeriodSeconds" : {
        "label" : "watchGracePeriodSeconds",
        "type" : "number"
      },
      "connectionTimeout" : {
        "label" : "connectionTimeout",
        "type" : "number"
      },
      "crds" : {
        "label" : "crds",
        "type" : "bool"
      },
      "watch" : {
        "label" : "watch",
        "type" : "bool"
      },
      "labels" : {
        "label" : "labels",
        "type" : "object"
      },
      "openshiftDnsOperatorCoreDnsName" : {
        "label" : "openshiftDnsOperatorCoreDnsName",
        "type" : "string"
      },
      "syncIntervalSeconds" : {
        "label" : "syncIntervalSeconds",
        "type" : "number"
      },
      "kubeDnsOperatorCoreDnsName" : {
        "label" : "kubeDnsOperatorCoreDnsName",
        "type" : "string"
      },
      "defaultGroup" : {
        "label" : "defaultGroup",
        "type" : "string"
      },
      "kubeDnsOperatorCoreDnsNamespace" : {
        "label" : "kubeDnsOperatorCoreDnsNamespace",
        "type" : "string"
      },
      "triggerKey" : {
        "label" : "triggerKey",
        "type" : "string"
      },
      "otoroshiNamespace" : {
        "label" : "otoroshiNamespace",
        "type" : "string"
      },
      "watchTimeoutSeconds" : {
        "label" : "watchTimeoutSeconds",
        "type" : "number"
      },
      "openshiftDnsOperatorCleanupDomains" : {
        "label" : "openshiftDnsOperatorCleanupDomains",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "namespaces" : {
        "label" : "namespaces",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "openshiftDnsOperatorCoreDnsPort" : {
        "label" : "openshiftDnsOperatorCoreDnsPort",
        "type" : "number"
      },
      "coreDnsEnv" : {
        "label" : "coreDnsEnv",
        "type" : "string"
      },
      "triggerPath" : {
        "label" : "triggerPath",
        "type" : "string"
      },
      "image" : {
        "label" : "image",
        "type" : "string"
      },
      "coreDnsConfigMapName" : {
        "label" : "coreDnsConfigMapName",
        "type" : "string"
      },
      "clusterDomain" : {
        "label" : "clusterDomain",
        "type" : "string"
      },
      "idleTimeout" : {
        "label" : "idleTimeout",
        "type" : "number"
      },
      "caCert" : {
        "label" : "caCert",
        "type" : "string"
      },
      "trust" : {
        "label" : "trust",
        "type" : "bool"
      },
      "ingressClasses" : {
        "label" : "ingressClasses",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "userPassword" : {
        "label" : "userPassword",
        "type" : "string"
      },
      "syncDaikokuApikeysOnly" : {
        "label" : "syncDaikokuApikeysOnly",
        "type" : "bool"
      },
      "openshiftDnsOperatorCleanup" : {
        "label" : "openshiftDnsOperatorCleanup",
        "type" : "bool"
      },
      "kubeSystemNamespace" : {
        "label" : "kubeSystemNamespace",
        "type" : "string"
      },
      "ingressEndpointIp" : {
        "label" : "ingressEndpointIp",
        "type" : "string"
      },
      "namespacesLabels" : {
        "label" : "namespacesLabels",
        "type" : "object"
      },
      "openshiftDnsOperatorCleanupNames" : {
        "label" : "openshiftDnsOperatorCleanupNames",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "kubeDnsOperatorCoreDnsPort" : {
        "label" : "kubeDnsOperatorCoreDnsPort",
        "type" : "number"
      },
      "mutatingWebhookName" : {
        "label" : "mutatingWebhookName",
        "type" : "string"
      },
      "kubeLeader" : {
        "label" : "kubeLeader",
        "type" : "bool"
      },
      "ingressEndpointHostname" : {
        "label" : "ingressEndpointHostname",
        "type" : "string"
      },
      "openshiftDnsOperatorIntegration" : {
        "label" : "openshiftDnsOperatorIntegration",
        "type" : "bool"
      },
      "validatingWebhookName" : {
        "label" : "validatingWebhookName",
        "type" : "string"
      },
      "coreDnsDeploymentName" : {
        "label" : "coreDnsDeploymentName",
        "type" : "string"
      },
      "ingresses" : {
        "label" : "ingresses",
        "type" : "bool"
      },
      "useProxyState" : {
        "label" : "useProxyState",
        "type" : "bool"
      },
      "coreDnsIntegrationDryRun" : {
        "label" : "coreDnsIntegrationDryRun",
        "type" : "bool"
      },
      "ingressEndpointPublishedService" : {
        "label" : "ingressEndpointPublishedService",
        "type" : "string"
      },
      "coreDnsAzure" : {
        "label" : "coreDnsAzure",
        "type" : "bool"
      },
      "corednsPort" : {
        "label" : "corednsPort",
        "type" : "number"
      },
      "coreDnsIntegration" : {
        "label" : "coreDnsIntegration",
        "type" : "bool"
      },
      "otoroshiServiceName" : {
        "label" : "otoroshiServiceName",
        "type" : "string"
      },
      "meshDomain" : {
        "label" : "meshDomain",
        "type" : "string"
      },
      "kubeDnsOperatorIntegration" : {
        "label" : "kubeDnsOperatorIntegration",
        "type" : "bool"
      },
      "triggerHost" : {
        "label" : "triggerHost",
        "type" : "string"
      },
      "openshiftDnsOperatorCoreDnsNamespace" : {
        "label" : "openshiftDnsOperatorCoreDnsNamespace",
        "type" : "string"
      },
      "callAndStreamTimeout" : {
        "label" : "callAndStreamTimeout",
        "type" : "number"
      }
    },
    "flow" : [ "callAndStreamTimeout", "openshiftDnsOperatorCoreDnsNamespace", "triggerHost", "kubeDnsOperatorIntegration", "meshDomain", "otoroshiServiceName", "coreDnsIntegration", "corednsPort", "coreDnsAzure", "ingressEndpointPublishedService", "coreDnsIntegrationDryRun", "useProxyState", "ingresses", "coreDnsDeploymentName", "validatingWebhookName", "openshiftDnsOperatorIntegration", "ingressEndpointHostname", "kubeLeader", "mutatingWebhookName", "kubeDnsOperatorCoreDnsPort", "openshiftDnsOperatorCleanupNames", "namespacesLabels", "ingressEndpointIp", "kubeSystemNamespace", "openshiftDnsOperatorCleanup", "syncDaikokuApikeysOnly", "userPassword", "ingressClasses", "trust", "caCert", "idleTimeout", "clusterDomain", "coreDnsConfigMapName", "image", "triggerPath", "coreDnsEnv", "openshiftDnsOperatorCoreDnsPort", "namespaces", "openshiftDnsOperatorCleanupDomains", "watchTimeoutSeconds", "otoroshiNamespace", "triggerKey", "kubeDnsOperatorCoreDnsNamespace", "defaultGroup", "kubeDnsOperatorCoreDnsName", "syncIntervalSeconds", "openshiftDnsOperatorCoreDnsName", "labels", "watch", "crds", "connectionTimeout", "watchGracePeriodSeconds", "restartDependantDeployments", "token", "templates", "endpoint" ]
  },
  "otoroshi.next.plugins.ResponseStatusRange" : {
    "schema" : {
      "from" : {
        "label" : "from",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "number"
      }
    },
    "flow" : [ "to", "from" ]
  },
  "otoroshi.plugins.workflow.WorkflowJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmResponseTransformer" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesToOtoroshiCertSyncJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgRouteCompositionDataStore" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgUserAgentExtractor" : {
    "schema" : {
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log" ]
  },
  "otoroshi.next.plugins.WasmRouteMatcher" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.script.PluginType" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.AttrsHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "Done" : {
    "schema" : {
      "done" : {
        "label" : "done",
        "type" : "bool"
      }
    },
    "flow" : [ "done" ]
  },
  "otoroshi.next.plugins.NgDeferPluginConfig" : {
    "schema" : {
      "duration" : {
        "label" : "duration",
        "type" : "number"
      }
    },
    "flow" : [ "duration" ]
  },
  "otoroshi.next.plugins.RoutingRestrictions" : {
    "schema" : {
      "allow_last" : {
        "label" : "allow_last",
        "type" : "bool"
      },
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "forbidden" : {
        "label" : "forbidden",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "not_found" : {
        "label" : "not_found",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      }
    },
    "flow" : [ "not_found", "forbidden", "allowed", "allow_last" ]
  },
  "otoroshi.next.plugins.NgBiscuitConfig" : {
    "schema" : {
      "legacy" : {
        "label" : "legacy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "facts" : {
            "label" : "facts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "resources" : {
            "label" : "resources",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enforce" : {
            "label" : "enforce",
            "type" : "bool"
          },
          "extractorName" : {
            "label" : "extractorName",
            "type" : "string"
          },
          "checks" : {
            "label" : "checks",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extractor" : {
            "label" : "extractor",
            "type" : "string"
          },
          "revocation_ids" : {
            "label" : "revocation_ids",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "facts", "publicKey", "resources", "enforce", "extractorName", "checks", "extractor", "revocation_ids", "rules" ]
      }
    },
    "flow" : [ "legacy" ]
  },
  "otoroshi.models.ClientIdAuthConstraints" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "queryName" : {
        "label" : "queryName",
        "type" : "string"
      }
    },
    "flow" : [ "queryName", "headerName", "enabled" ]
  },
  "otoroshi.plugins.apikeys.ClientCredentialService" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgRouteDataStore" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmOPA" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.plugins.geoloc.MaxMindGeolocationHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.apikeys.ApiKeyAllowedOnThisServiceValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.jobs.kubernetes.OtoroshiResourcesContext" : {
    "schema" : {
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          }
        },
        "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend", "metadata" ]
      },
      "apiKeys" : {
        "label" : "apiKeys",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "dailyQuota" : {
            "label" : "dailyQuota",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "constrainedServicesOnly" : {
            "label" : "constrainedServicesOnly",
            "type" : "bool"
          },
          "allowClientIdOnly" : {
            "label" : "allowClientIdOnly",
            "type" : "bool"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "clientSecret" : {
            "label" : "clientSecret",
            "type" : "string"
          },
          "validUntil" : {
            "label" : "validUntil",
            "type" : "string"
          },
          "clientName" : {
            "label" : "clientName",
            "type" : "string"
          },
          "monthlyQuota" : {
            "label" : "monthlyQuota",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "rotation" : {
            "label" : "rotation",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "rotationEvery" : {
                "label" : "rotationEvery",
                "type" : "number"
              },
              "gracePeriod" : {
                "label" : "gracePeriod",
                "type" : "number"
              },
              "nextSecret" : {
                "label" : "nextSecret",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
          },
          "authorizedEntities" : {
            "label" : "authorizedEntities",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "clientId" : {
            "label" : "clientId",
            "type" : "string"
          }
        },
        "flow" : [ "dailyQuota", "throttlingQuota", "constrainedServicesOnly", "allowClientIdOnly", "_loc", "restrictions", "tags", "enabled", "readOnly", "clientSecret", "validUntil", "clientName", "monthlyQuota", "description", "rotation", "authorizedEntities", "clientId", "metadata" ]
      },
      "backends" : {
        "label" : "backends",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          }
        },
        "flow" : [ "description", "tags", "backend", "name", "_loc", "id", "metadata" ]
      },
      "scripts" : {
        "label" : "scripts",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "desc" : {
            "label" : "desc",
            "type" : "string"
          },
          "code" : {
            "label" : "code",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "app", "transformer", "validator", "preroute", "sink", "listener", "job", "exporter" ]
            }
          }
        },
        "flow" : [ "name", "tags", "_loc", "desc", "code", "id", "type", "metadata" ]
      },
      "jwtVerifiers" : {
        "label" : "jwtVerifiers",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "global" ]
            }
          },
          "desc" : {
            "label" : "desc",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "strict" : {
            "label" : "strict",
            "type" : "bool"
          },
          "source" : {
            "label" : "source",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                }
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "remove" : {
                "label" : "remove",
                "type" : "string"
              }
            },
            "flow" : [ "type", "name", "remove" ]
          },
          "algoSettings" : {
            "label" : "algoSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "strategy" : {
            "label" : "strategy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                }
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "token" : {
                "label" : "token",
                "type" : "object"
              },
              "verificationSettings" : {
                "label" : "verificationSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "fields" : {
                    "label" : "fields",
                    "type" : "object"
                  },
                  "arrayFields" : {
                    "label" : "arrayFields",
                    "type" : "object"
                  }
                },
                "flow" : [ "fields", "arrayFields" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "transformSettings" : {
                "label" : "transformSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "location" : {
                    "label" : "location",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                        }
                      },
                      "name" : {
                        "label" : "name",
                        "type" : "string"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "name", "remove" ]
                  },
                  "mappingSettings" : {
                    "label" : "mappingSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "map" : {
                        "label" : "map",
                        "type" : "object"
                      },
                      "values" : {
                        "label" : "values",
                        "type" : "object"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "map", "values", "remove" ]
                  }
                },
                "flow" : [ "location", "mappingSettings" ]
              }
            },
            "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          }
        },
        "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata" ]
      },
      "tenants" : {
        "label" : "tenants",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          }
        },
        "flow" : [ "description", "name", "tags", "id", "metadata" ]
      },
      "dataExporters" : {
        "label" : "dataExporters",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "desc" : {
            "label" : "desc",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "bufferSize" : {
            "label" : "bufferSize",
            "type" : "number"
          },
          "jsonWorkers" : {
            "label" : "jsonWorkers",
            "type" : "number"
          },
          "groupDuration" : {
            "label" : "groupDuration",
            "type" : "number"
          },
          "groupSize" : {
            "label" : "groupSize",
            "type" : "number"
          },
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "kafka", "pulsar", "elastic", "webhook", "file", "mailer", "custom", "none", "console", "metrics" ]
            }
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "sendWorkers" : {
            "label" : "sendWorkers",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendEvents" : {
                "label" : "sendEvents",
                "type" : "bool"
              },
              "truststore" : {
                "label" : "truststore",
                "type" : "string"
              },
              "hostValidation" : {
                "label" : "hostValidation",
                "type" : "bool"
              },
              "servers" : {
                "label" : "servers",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "securityProtocol" : {
                "label" : "securityProtocol",
                "type" : "string"
              },
              "keystore" : {
                "label" : "keystore",
                "type" : "string"
              },
              "topic" : {
                "label" : "topic",
                "type" : "string"
              },
              "keyPass" : {
                "label" : "keyPass",
                "type" : "string"
              },
              "saslConfig" : {
                "label" : "saslConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "username" : {
                    "label" : "username",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "mechanism" : {
                    "label" : "mechanism",
                    "type" : "string"
                  }
                },
                "flow" : [ "username", "password", "mechanism" ]
              },
              "tlsTrustCertsFilePath" : {
                "label" : "tlsTrustCertsFilePath",
                "type" : "string"
              },
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "uri" : {
                "label" : "uri",
                "type" : "string"
              },
              "namespace" : {
                "label" : "namespace",
                "type" : "string"
              },
              "sendWorkers" : {
                "label" : "sendWorkers",
                "type" : "number"
              },
              "applyTemplate" : {
                "label" : "applyTemplate",
                "type" : "bool"
              },
              "uris" : {
                "label" : "uris",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "version" : {
                "label" : "version",
                "type" : "string"
              },
              "maxBulkSize" : {
                "label" : "maxBulkSize",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "indexSettings" : {
                "label" : "indexSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "clientSide" : {
                    "label" : "clientSide",
                    "type" : "bool"
                  },
                  "numberOfShards" : {
                    "label" : "numberOfShards",
                    "type" : "number"
                  },
                  "numberOfReplicas" : {
                    "label" : "numberOfReplicas",
                    "type" : "number"
                  },
                  "interval" : {
                    "label" : "interval",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : { },
                    "flow" : [ ]
                  }
                },
                "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
              },
              "user" : {
                "label" : "user",
                "type" : "string"
              },
              "index" : {
                "label" : "index",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ref" : {
                "label" : "ref",
                "type" : "string"
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "maxFileSize" : {
                "label" : "maxFileSize",
                "type" : "number"
              },
              "labels" : {
                "label" : "labels",
                "type" : "object"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "to" : {
                "label" : "to",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "email" : {
                    "label" : "email",
                    "type" : "string"
                  }
                },
                "flow" : [ "name", "email" ]
              },
              "eu" : {
                "label" : "eu",
                "type" : "bool"
              },
              "apiKey" : {
                "label" : "apiKey",
                "type" : "string"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "apiKeyPublic" : {
                "label" : "apiKeyPublic",
                "type" : "string"
              },
              "apiKeyPrivate" : {
                "label" : "apiKeyPrivate",
                "type" : "string"
              }
            },
            "flow" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig", "tlsTrustCertsFilePath", "tenant", "uri", "namespace", "sendWorkers", "applyTemplate", "uris", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password", "ref", "config", "path", "maxFileSize", "labels", "url", "to", "eu", "apiKey", "domain", "apiKeyPublic", "apiKeyPrivate" ]
          },
          "projection" : {
            "label" : "projection",
            "type" : "object"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "filtering" : {
            "label" : "filtering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "include" : {
                "label" : "include",
                "type" : "array",
                "array" : true,
                "format" : "form"
              },
              "exclude" : {
                "label" : "exclude",
                "type" : "array",
                "array" : true,
                "format" : "form"
              }
            },
            "flow" : [ "include", "exclude" ]
          }
        },
        "flow" : [ "desc", "_loc", "bufferSize", "jsonWorkers", "groupDuration", "groupSize", "type", "tags", "sendWorkers", "id", "name", "config", "enabled", "filtering", "metadata", "projection" ]
      },
      "teams" : {
        "label" : "teams",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          }
        },
        "flow" : [ "tags", "name", "description", "tenant", "id", "metadata" ]
      },
      "routeCompositions" : {
        "label" : "routeCompositions",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "routes" : {
            "label" : "routes",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "backend_ref" : {
                "label" : "backend_ref",
                "type" : "string"
              },
              "frontend" : {
                "label" : "frontend",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "query" : {
                    "label" : "query",
                    "type" : "object"
                  },
                  "domains" : {
                    "label" : "domains",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "methods" : {
                    "label" : "methods",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "exact" : {
                    "label" : "exact",
                    "type" : "bool"
                  },
                  "strip_path" : {
                    "label" : "strip_path",
                    "type" : "bool"
                  }
                },
                "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
              },
              "override_plugins" : {
                "label" : "override_plugins",
                "type" : "bool"
              },
              "backend" : {
                "label" : "backend",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "root" : {
                    "label" : "root",
                    "type" : "string"
                  },
                  "targets" : {
                    "label" : "targets",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "ip_address" : {
                        "label" : "ip_address",
                        "type" : "string"
                      },
                      "protocol" : {
                        "type" : "select",
                        "props" : {
                          "label" : "protocol",
                          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                        }
                      },
                      "predicate" : {
                        "label" : "predicate",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            }
                          },
                          "dc" : {
                            "label" : "dc",
                            "type" : "string"
                          },
                          "positions" : {
                            "label" : "positions",
                            "type" : "array",
                            "array" : true,
                            "format" : "form",
                            "schema" : {
                              "latitude" : {
                                "label" : "latitude",
                                "type" : "number"
                              },
                              "longitude" : {
                                "label" : "longitude",
                                "type" : "number"
                              },
                              "radius" : {
                                "label" : "radius",
                                "type" : "number"
                              }
                            },
                            "flow" : [ "latitude", "longitude", "radius" ]
                          },
                          "provider" : {
                            "label" : "provider",
                            "type" : "string"
                          },
                          "dataCenter" : {
                            "label" : "dataCenter",
                            "type" : "string"
                          },
                          "rack" : {
                            "label" : "rack",
                            "type" : "string"
                          },
                          "region" : {
                            "label" : "region",
                            "type" : "string"
                          },
                          "zone" : {
                            "label" : "zone",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                      },
                      "tls_config" : {
                        "label" : "tls_config",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "enabled" : {
                            "label" : "enabled",
                            "type" : "bool"
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trust_all" : {
                            "label" : "trust_all",
                            "type" : "bool"
                          },
                          "trusted_certs" : {
                            "label" : "trusted_certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                      },
                      "tls" : {
                        "label" : "tls",
                        "type" : "bool"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "number"
                      },
                      "id" : {
                        "label" : "id",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "hostname" : {
                        "label" : "hostname",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
                  },
                  "load_balancing" : {
                    "label" : "load_balancing",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                        }
                      },
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "type", "ratio" ]
                  },
                  "rewrite" : {
                    "label" : "rewrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "root", "targets", "load_balancing", "rewrite" ]
              }
            },
            "flow" : [ "backend_ref", "frontend", "override_plugins", "backend" ]
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "client" : {
            "label" : "client",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "idle_timeout" : {
                "label" : "idle_timeout",
                "type" : "number"
              },
              "sample_interval" : {
                "label" : "sample_interval",
                "type" : "number"
              },
              "cache_connection_settings" : {
                "label" : "cache_connection_settings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "queue_size" : {
                    "label" : "queue_size",
                    "type" : "number"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "queue_size", "enabled" ]
              },
              "call_and_stream_timeout" : {
                "label" : "call_and_stream_timeout",
                "type" : "number"
              },
              "custom_timeouts" : {
                "label" : "custom_timeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
              },
              "connection_timeout" : {
                "label" : "connection_timeout",
                "type" : "number"
              },
              "call_timeout" : {
                "label" : "call_timeout",
                "type" : "number"
              },
              "global_timeout" : {
                "label" : "global_timeout",
                "type" : "number"
              },
              "retry_initial_delay" : {
                "label" : "retry_initial_delay",
                "type" : "number"
              },
              "backoff_factor" : {
                "label" : "backoff_factor",
                "type" : "number"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "max_errors" : {
                "label" : "max_errors",
                "type" : "number"
              }
            },
            "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "capture", "id", "debug_flow", "routes", "enabled", "description", "export_reporting", "tags", "name", "_loc", "client", "groups", "metadata" ]
      },
      "serviceDescriptors" : {
        "label" : "serviceDescriptors",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "buildMode" : {
            "label" : "buildMode",
            "type" : "bool"
          },
          "hosts" : {
            "label" : "hosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "privateApp" : {
            "label" : "privateApp",
            "type" : "bool"
          },
          "localScheme" : {
            "label" : "localScheme",
            "type" : "string"
          },
          "authConfigRef" : {
            "label" : "authConfigRef",
            "type" : "string"
          },
          "issueCertCA" : {
            "label" : "issueCertCA",
            "type" : "string"
          },
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "additionalHeaders" : {
            "label" : "additionalHeaders",
            "type" : "object"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "clientConfig" : {
            "label" : "clientConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              },
              "useCircuitBreaker" : {
                "label" : "useCircuitBreaker",
                "type" : "bool"
              },
              "retryInitialDelay" : {
                "label" : "retryInitialDelay",
                "type" : "number"
              },
              "cacheConnectionSettings" : {
                "label" : "cacheConnectionSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "queueSize" : {
                    "label" : "queueSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "queueSize" ]
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "callTimeout" : {
                "label" : "callTimeout",
                "type" : "number"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              },
              "globalTimeout" : {
                "label" : "globalTimeout",
                "type" : "number"
              },
              "maxErrors" : {
                "label" : "maxErrors",
                "type" : "number"
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "backoffFactor" : {
                "label" : "backoffFactor",
                "type" : "number"
              },
              "customTimeouts" : {
                "label" : "customTimeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "sampleInterval" : {
                "label" : "sampleInterval",
                "type" : "number"
              }
            },
            "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
          },
          "matchingRoot" : {
            "label" : "matchingRoot",
            "type" : "string"
          },
          "forceHttps" : {
            "label" : "forceHttps",
            "type" : "bool"
          },
          "localHost" : {
            "label" : "localHost",
            "type" : "string"
          },
          "sendOtoroshiHeadersBack" : {
            "label" : "sendOtoroshiHeadersBack",
            "type" : "bool"
          },
          "healthCheck" : {
            "label" : "healthCheck",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "strictlyPrivate" : {
            "label" : "strictlyPrivate",
            "type" : "bool"
          },
          "detectApiKeySooner" : {
            "label" : "detectApiKeySooner",
            "type" : "bool"
          },
          "allowHttp10" : {
            "label" : "allowHttp10",
            "type" : "bool"
          },
          "subdomain" : {
            "label" : "subdomain",
            "type" : "string"
          },
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "stripPath" : {
            "label" : "stripPath",
            "type" : "bool"
          },
          "secComAlgoChallengeOtoToBack" : {
            "label" : "secComAlgoChallengeOtoToBack",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "apiKeyConstraints" : {
            "label" : "apiKeyConstraints",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "customHeadersAuth" : {
                "label" : "customHeadersAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "clientIdHeaderName" : {
                    "label" : "clientIdHeaderName",
                    "type" : "string"
                  },
                  "clientSecretHeaderName" : {
                    "label" : "clientSecretHeaderName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
              },
              "routing" : {
                "label" : "routing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "oneTagIn" : {
                    "label" : "oneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneMetaKeysIn" : {
                    "label" : "noneMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "oneMetaIn" : {
                    "label" : "oneMetaIn",
                    "type" : "object"
                  },
                  "oneMetaKeyIn" : {
                    "label" : "oneMetaKeyIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaKeysIn" : {
                    "label" : "allMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneTagIn" : {
                    "label" : "noneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allTagsIn" : {
                    "label" : "allTagsIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaIn" : {
                    "label" : "allMetaIn",
                    "type" : "object"
                  },
                  "noneMetaIn" : {
                    "label" : "noneMetaIn",
                    "type" : "object"
                  }
                },
                "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
              },
              "clientIdAuth" : {
                "label" : "clientIdAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              },
              "jwtAuth" : {
                "label" : "jwtAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "keyPairSigned" : {
                    "label" : "keyPairSigned",
                    "type" : "bool"
                  },
                  "cookieName" : {
                    "label" : "cookieName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "secretSigned" : {
                    "label" : "secretSigned",
                    "type" : "bool"
                  },
                  "maxJwtLifespanSecs" : {
                    "label" : "maxJwtLifespanSecs",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "includeRequestAttributes" : {
                    "label" : "includeRequestAttributes",
                    "type" : "bool"
                  }
                },
                "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
              },
              "basicAuth" : {
                "label" : "basicAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              }
            },
            "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
          },
          "env" : {
            "label" : "env",
            "type" : "string"
          },
          "xForwardedHeaders" : {
            "label" : "xForwardedHeaders",
            "type" : "bool"
          },
          "transformerRefs" : {
            "label" : "transformerRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "gzip" : {
            "label" : "gzip",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "compressionLevel" : {
                "label" : "compressionLevel",
                "type" : "number"
              },
              "blackList" : {
                "label" : "blackList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "chunkedThreshold" : {
                "label" : "chunkedThreshold",
                "type" : "number"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "bufferSize" : {
                "label" : "bufferSize",
                "type" : "number"
              },
              "whiteList" : {
                "label" : "whiteList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
          },
          "sendInfoToken" : {
            "label" : "sendInfoToken",
            "type" : "bool"
          },
          "tcpUdpTunneling" : {
            "label" : "tcpUdpTunneling",
            "type" : "bool"
          },
          "removeHeadersOut" : {
            "label" : "removeHeadersOut",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "removeHeadersIn" : {
            "label" : "removeHeadersIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "secComAlgoInfoToken" : {
            "label" : "secComAlgoInfoToken",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "userFacing" : {
            "label" : "userFacing",
            "type" : "bool"
          },
          "transformerConfig" : {
            "label" : "transformerConfig",
            "type" : "object"
          },
          "clientValidatorRef" : {
            "label" : "clientValidatorRef",
            "type" : "string"
          },
          "securityExcludedPatterns" : {
            "label" : "securityExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "ipAddress" : {
                "label" : "ipAddress",
                "type" : "string"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "scheme" : {
                "label" : "scheme",
                "type" : "string"
              }
            },
            "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
          },
          "redirection" : {
            "label" : "redirection",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "code" : {
                "label" : "code",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "code", "to" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "overrideHost" : {
            "label" : "overrideHost",
            "type" : "bool"
          },
          "accessValidator" : {
            "label" : "accessValidator",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "sendStateChallenge" : {
            "label" : "sendStateChallenge",
            "type" : "bool"
          },
          "chaosConfig" : {
            "label" : "chaosConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "badResponsesFaultConfig" : {
                "label" : "badResponsesFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "responses" : {
                    "label" : "responses",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "status" : {
                        "label" : "status",
                        "type" : "number"
                      },
                      "body" : {
                        "type" : "code",
                        "props" : {
                          "label" : "body",
                          "editorOnly" : true,
                          "mode" : "json"
                        }
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "status", "body", "headers" ]
                  }
                },
                "flow" : [ "ratio", "responses" ]
              },
              "largeRequestFaultConfig" : {
                "label" : "largeRequestFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalRequestSize" : {
                    "label" : "additionalRequestSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalRequestSize" ]
              },
              "largeResponseFaultConfig" : {
                "label" : "largeResponseFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalResponseSize" : {
                    "label" : "additionalResponseSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalResponseSize" ]
              },
              "latencyInjectionFaultConfig" : {
                "label" : "latencyInjectionFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "from" : {
                    "label" : "from",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "from", "to" ]
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
          },
          "secComInfoTokenVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComInfoTokenVersion",
              "options" : [ "Legacy", "Latest" ]
            }
          },
          "additionalHeadersOut" : {
            "label" : "additionalHeadersOut",
            "type" : "object"
          },
          "secComHeaders" : {
            "label" : "secComHeaders",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "claimRequestName" : {
                "label" : "claimRequestName",
                "type" : "string"
              },
              "stateRequestName" : {
                "label" : "stateRequestName",
                "type" : "string"
              },
              "stateResponseName" : {
                "label" : "stateResponseName",
                "type" : "string"
              }
            },
            "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
          },
          "matchingHeaders" : {
            "label" : "matchingHeaders",
            "type" : "object"
          },
          "secComAlgoChallengeBackToOto" : {
            "label" : "secComAlgoChallengeBackToOto",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "secComUseSameAlgo" : {
            "label" : "secComUseSameAlgo",
            "type" : "bool"
          },
          "useNewWSClient" : {
            "label" : "useNewWSClient",
            "type" : "bool"
          },
          "secComExcludedPatterns" : {
            "label" : "secComExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "redirectToLocal" : {
            "label" : "redirectToLocal",
            "type" : "bool"
          },
          "enforceSecureCommunication" : {
            "label" : "enforceSecureCommunication",
            "type" : "bool"
          },
          "missingOnlyHeadersOut" : {
            "label" : "missingOnlyHeadersOut",
            "type" : "object"
          },
          "secComSettings" : {
            "label" : "secComSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "handleLegacyDomain" : {
            "label" : "handleLegacyDomain",
            "type" : "bool"
          },
          "canary" : {
            "label" : "canary",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "traffic" : {
                "label" : "traffic",
                "type" : "number"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "traffic", "targets", "root" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "secComTtl" : {
            "label" : "secComTtl",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "secComVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComVersion",
              "options" : [ "V1", "v2" ]
            }
          },
          "preRouting" : {
            "label" : "preRouting",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "privatePatterns" : {
            "label" : "privatePatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "targetsLoadBalancing" : {
            "label" : "targetsLoadBalancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "cors" : {
            "label" : "cors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "allowCredentials" : {
                "label" : "allowCredentials",
                "type" : "bool"
              },
              "maxAge" : {
                "label" : "maxAge",
                "type" : "string"
              },
              "allowMethods" : {
                "label" : "allowMethods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowHeaders" : {
                "label" : "allowHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exposeHeaders" : {
                "label" : "exposeHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowOrigin" : {
                "label" : "allowOrigin",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "publicPatterns" : {
            "label" : "publicPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "api" : {
            "label" : "api",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "exposeApi" : {
                "label" : "exposeApi",
                "type" : "bool"
              },
              "openApiDescriptorUrl" : {
                "label" : "openApiDescriptorUrl",
                "type" : "string"
              }
            },
            "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
          },
          "missingOnlyHeadersIn" : {
            "label" : "missingOnlyHeadersIn",
            "type" : "object"
          },
          "issueCert" : {
            "label" : "issueCert",
            "type" : "bool"
          },
          "headersVerification" : {
            "label" : "headersVerification",
            "type" : "object"
          },
          "jwtVerifier" : {
            "label" : "jwtVerifier",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "global", "local", "ref" ]
                }
              },
              "desc" : {
                "label" : "desc",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "source" : {
                "label" : "source",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "strategy" : {
                "label" : "strategy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                    }
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "token" : {
                    "label" : "token",
                    "type" : "object"
                  },
                  "verificationSettings" : {
                    "label" : "verificationSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "fields" : {
                        "label" : "fields",
                        "type" : "object"
                      },
                      "arrayFields" : {
                        "label" : "arrayFields",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "fields", "arrayFields" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "transformSettings" : {
                    "label" : "transformSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "location" : {
                        "label" : "location",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                            }
                          },
                          "name" : {
                            "label" : "name",
                            "type" : "string"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "name", "remove" ]
                      },
                      "mappingSettings" : {
                        "label" : "mappingSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "map" : {
                            "label" : "map",
                            "type" : "object"
                          },
                          "values" : {
                            "label" : "values",
                            "type" : "object"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "map", "values", "remove" ]
                      }
                    },
                    "flow" : [ "location", "mappingSettings" ]
                  }
                },
                "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ids" : {
                "label" : "ids",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
          },
          "letsEncrypt" : {
            "label" : "letsEncrypt",
            "type" : "bool"
          }
        },
        "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "secComHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "publicPatterns", "api", "issueCert", "jwtVerifier", "letsEncrypt", "additionalHeaders", "transformerConfig", "additionalHeadersOut", "matchingHeaders", "missingOnlyHeadersOut", "metadata", "missingOnlyHeadersIn", "headersVerification" ]
      },
      "globalConfigs" : {
        "label" : "globalConfigs",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "geolocationSettings" : {
            "label" : "geolocationSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "none" ]
                }
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "apikey" : {
                "label" : "apikey",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "type", "enabled", "apikey", "timeout", "path" ]
          },
          "alertsEmails" : {
            "label" : "alertsEmails",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "anonymousReporting" : {
            "label" : "anonymousReporting",
            "type" : "bool"
          },
          "maxWebhookSize" : {
            "label" : "maxWebhookSize",
            "type" : "number"
          },
          "env" : {
            "label" : "env",
            "type" : "object"
          },
          "maxConcurrentRequests" : {
            "label" : "maxConcurrentRequests",
            "type" : "number"
          },
          "cleverSettings" : {
            "label" : "cleverSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "consumerSecret" : {
                "label" : "consumerSecret",
                "type" : "string"
              },
              "consumerKey" : {
                "label" : "consumerKey",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "token" : {
                "label" : "token",
                "type" : "string"
              },
              "orgaId" : {
                "label" : "orgaId",
                "type" : "string"
              }
            },
            "flow" : [ "consumerSecret", "consumerKey", "secret", "token", "orgaId" ]
          },
          "templates" : {
            "label" : "templates",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "team" : {
                "label" : "team",
                "type" : "string"
              },
              "script" : {
                "label" : "script",
                "type" : "string"
              },
              "apikey" : {
                "label" : "apikey",
                "type" : "string"
              },
              "group" : {
                "label" : "group",
                "type" : "string"
              },
              "tcpService" : {
                "label" : "tcpService",
                "type" : "string"
              },
              "verifier" : {
                "label" : "verifier",
                "type" : "string"
              },
              "service" : {
                "label" : "service",
                "type" : "string"
              },
              "target" : {
                "label" : "target",
                "type" : "string"
              },
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "dataExporter" : {
                "label" : "dataExporter",
                "type" : "string"
              },
              "route" : {
                "label" : "route",
                "type" : "string"
              },
              "backend" : {
                "label" : "backend",
                "type" : "string"
              },
              "template" : {
                "label" : "template",
                "type" : "string"
              },
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "authConfig" : {
                "label" : "authConfig",
                "type" : "string"
              },
              "descriptor" : {
                "label" : "descriptor",
                "type" : "string"
              }
            },
            "flow" : [ "team", "script", "apikey", "group", "tcpService", "verifier", "service", "target", "certificate", "dataExporter", "route", "backend", "template", "tenant", "authConfig", "descriptor" ]
          },
          "endlessIpAddresses" : {
            "label" : "endlessIpAddresses",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "kafkaConfig" : {
            "label" : "kafkaConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendEvents" : {
                "label" : "sendEvents",
                "type" : "bool"
              },
              "truststore" : {
                "label" : "truststore",
                "type" : "string"
              },
              "hostValidation" : {
                "label" : "hostValidation",
                "type" : "bool"
              },
              "servers" : {
                "label" : "servers",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "securityProtocol" : {
                "label" : "securityProtocol",
                "type" : "string"
              },
              "keystore" : {
                "label" : "keystore",
                "type" : "string"
              },
              "topic" : {
                "label" : "topic",
                "type" : "string"
              },
              "keyPass" : {
                "label" : "keyPass",
                "type" : "string"
              },
              "saslConfig" : {
                "label" : "saslConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "username" : {
                    "label" : "username",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "mechanism" : {
                    "label" : "mechanism",
                    "type" : "string"
                  }
                },
                "flow" : [ "username", "password", "mechanism" ]
              }
            },
            "flow" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig" ]
          },
          "maxLogsSize" : {
            "label" : "maxLogsSize",
            "type" : "number"
          },
          "proxies" : {
            "label" : "proxies",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "elastic" : {
                "label" : "elastic",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "eventsWebhooks" : {
                "label" : "eventsWebhooks",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "jwk" : {
                "label" : "jwk",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "auth" : {
                "label" : "auth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "clevercloud" : {
                "label" : "clevercloud",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "alertEmails" : {
                "label" : "alertEmails",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "authority" : {
                "label" : "authority",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "services" : {
                "label" : "services",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              }
            },
            "flow" : [ "elastic", "eventsWebhooks", "jwk", "auth", "clevercloud", "alertEmails", "authority", "services" ]
          },
          "enableEmbeddedMetrics" : {
            "label" : "enableEmbeddedMetrics",
            "type" : "bool"
          },
          "elasticReadsConfig" : {
            "label" : "elasticReadsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendWorkers" : {
                "label" : "sendWorkers",
                "type" : "number"
              },
              "applyTemplate" : {
                "label" : "applyTemplate",
                "type" : "bool"
              },
              "uris" : {
                "label" : "uris",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "version" : {
                "label" : "version",
                "type" : "string"
              },
              "maxBulkSize" : {
                "label" : "maxBulkSize",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "indexSettings" : {
                "label" : "indexSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "clientSide" : {
                    "label" : "clientSide",
                    "type" : "bool"
                  },
                  "numberOfShards" : {
                    "label" : "numberOfShards",
                    "type" : "number"
                  },
                  "numberOfReplicas" : {
                    "label" : "numberOfReplicas",
                    "type" : "number"
                  },
                  "interval" : {
                    "label" : "interval",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : { },
                    "flow" : [ ]
                  }
                },
                "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
              },
              "user" : {
                "label" : "user",
                "type" : "string"
              },
              "index" : {
                "label" : "index",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              }
            },
            "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password" ]
          },
          "trustXForwarded" : {
            "label" : "trustXForwarded",
            "type" : "bool"
          },
          "quotasSettings" : {
            "label" : "quotasSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "dailyQuotasThreshold" : {
                "label" : "dailyQuotasThreshold",
                "type" : "number"
              },
              "monthlyQuotasThreshold" : {
                "label" : "monthlyQuotasThreshold",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "dailyQuotasThreshold", "monthlyQuotasThreshold" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "limitConcurrentRequests" : {
            "label" : "limitConcurrentRequests",
            "type" : "bool"
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "elasticWritesConfigs" : {
            "label" : "elasticWritesConfigs",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendWorkers" : {
                "label" : "sendWorkers",
                "type" : "number"
              },
              "applyTemplate" : {
                "label" : "applyTemplate",
                "type" : "bool"
              },
              "uris" : {
                "label" : "uris",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "version" : {
                "label" : "version",
                "type" : "string"
              },
              "maxBulkSize" : {
                "label" : "maxBulkSize",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "indexSettings" : {
                "label" : "indexSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "clientSide" : {
                    "label" : "clientSide",
                    "type" : "bool"
                  },
                  "numberOfShards" : {
                    "label" : "numberOfShards",
                    "type" : "number"
                  },
                  "numberOfReplicas" : {
                    "label" : "numberOfReplicas",
                    "type" : "number"
                  },
                  "interval" : {
                    "label" : "interval",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : { },
                    "flow" : [ ]
                  }
                },
                "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
              },
              "user" : {
                "label" : "user",
                "type" : "string"
              },
              "index" : {
                "label" : "index",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              }
            },
            "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "indexSettings", "user", "index", "password", "headers" ]
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "apiReadOnly" : {
            "label" : "apiReadOnly",
            "type" : "bool"
          },
          "backOfficeAuthRef" : {
            "label" : "backOfficeAuthRef",
            "type" : "string"
          },
          "streamEntityOnly" : {
            "label" : "streamEntityOnly",
            "type" : "bool"
          },
          "otoroshiId" : {
            "label" : "otoroshiId",
            "type" : "string"
          },
          "mailerSettings" : {
            "label" : "mailerSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "to" : {
                "label" : "to",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "email" : {
                    "label" : "email",
                    "type" : "string"
                  }
                },
                "flow" : [ "name", "email" ]
              },
              "eu" : {
                "label" : "eu",
                "type" : "bool"
              },
              "apiKey" : {
                "label" : "apiKey",
                "type" : "string"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "apiKeyPublic" : {
                "label" : "apiKeyPublic",
                "type" : "string"
              },
              "apiKeyPrivate" : {
                "label" : "apiKeyPrivate",
                "type" : "string"
              }
            },
            "flow" : [ "type", "url", "headers", "to", "eu", "apiKey", "domain", "apiKeyPublic", "apiKeyPrivate" ]
          },
          "lines" : {
            "label" : "lines",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extensions" : {
            "label" : "extensions",
            "type" : "object"
          },
          "middleFingers" : {
            "label" : "middleFingers",
            "type" : "bool"
          },
          "analyticsWebhooks" : {
            "label" : "analyticsWebhooks",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              }
            },
            "flow" : [ "type", "url", "mtlsConfig", "headers" ]
          },
          "autoCert" : {
            "label" : "autoCert",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "replyNicely" : {
                "label" : "replyNicely",
                "type" : "bool"
              },
              "notAllowed" : {
                "label" : "notAllowed",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "caRef" : {
                "label" : "caRef",
                "type" : "string"
              }
            },
            "flow" : [ "allowed", "enabled", "replyNicely", "notAllowed", "caRef" ]
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "initWithNewEngine" : {
            "label" : "initWithNewEngine",
            "type" : "bool"
          },
          "letsEncryptSettings" : {
            "label" : "letsEncryptSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "contacts" : {
                "label" : "contacts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "emails" : {
                "label" : "emails",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "server" : {
                "label" : "server",
                "type" : "string"
              }
            },
            "flow" : [ "privateKey", "contacts", "emails", "enabled", "publicKey", "server" ]
          },
          "snowMonkeyConfig" : {
            "label" : "snowMonkeyConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "dryRun" : {
                "label" : "dryRun",
                "type" : "bool"
              },
              "outageDurationTo" : {
                "label" : "outageDurationTo",
                "type" : "number"
              },
              "chaosConfig" : {
                "label" : "chaosConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "badResponsesFaultConfig" : {
                    "label" : "badResponsesFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "responses" : {
                        "label" : "responses",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "status" : {
                            "label" : "status",
                            "type" : "number"
                          },
                          "body" : {
                            "type" : "code",
                            "props" : {
                              "label" : "body",
                              "editorOnly" : true,
                              "mode" : "json"
                            }
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "status", "body", "headers" ]
                      }
                    },
                    "flow" : [ "ratio", "responses" ]
                  },
                  "largeRequestFaultConfig" : {
                    "label" : "largeRequestFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalRequestSize" : {
                        "label" : "additionalRequestSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalRequestSize" ]
                  },
                  "largeResponseFaultConfig" : {
                    "label" : "largeResponseFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalResponseSize" : {
                        "label" : "additionalResponseSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalResponseSize" ]
                  },
                  "latencyInjectionFaultConfig" : {
                    "label" : "latencyInjectionFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "from" : {
                        "label" : "from",
                        "type" : "number"
                      },
                      "to" : {
                        "label" : "to",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "from", "to" ]
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
              },
              "timesPerDay" : {
                "label" : "timesPerDay",
                "type" : "number"
              },
              "outageDurationFrom" : {
                "label" : "outageDurationFrom",
                "type" : "number"
              },
              "startTime" : {
                "label" : "startTime",
                "type" : "string"
              },
              "includeUserFacingDescriptors" : {
                "label" : "includeUserFacingDescriptors",
                "type" : "bool"
              },
              "targetGroups" : {
                "label" : "targetGroups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "stopTime" : {
                "label" : "stopTime",
                "type" : "string"
              },
              "outageStrategy" : {
                "type" : "select",
                "props" : {
                  "label" : "outageStrategy",
                  "options" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
                }
              }
            },
            "flow" : [ "dryRun", "outageDurationTo", "chaosConfig", "timesPerDay", "outageDurationFrom", "startTime", "includeUserFacingDescriptors", "targetGroups", "enabled", "stopTime", "outageStrategy" ]
          },
          "scripts" : {
            "label" : "scripts",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "jobConfig" : {
                "label" : "jobConfig",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "transformersConfig" : {
                "label" : "transformersConfig",
                "type" : "object"
              },
              "transformersRefs" : {
                "label" : "transformersRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "preRouteRefs" : {
                "label" : "preRouteRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "sinkConfig" : {
                "label" : "sinkConfig",
                "type" : "object"
              },
              "jobRefs" : {
                "label" : "jobRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "validatorRefs" : {
                "label" : "validatorRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "sinkRefs" : {
                "label" : "sinkRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "preRouteConfig" : {
                "label" : "preRouteConfig",
                "type" : "object"
              },
              "validatorConfig" : {
                "label" : "validatorConfig",
                "type" : "object"
              }
            },
            "flow" : [ "jobConfig", "enabled", "transformersConfig", "transformersRefs", "preRouteRefs", "sinkConfig", "jobRefs", "validatorRefs", "sinkRefs", "preRouteConfig", "validatorConfig" ]
          },
          "perIpThrottlingQuota" : {
            "label" : "perIpThrottlingQuota",
            "type" : "number"
          },
          "useCircuitBreakers" : {
            "label" : "useCircuitBreakers",
            "type" : "bool"
          },
          "maxHttp10ResponseSize" : {
            "label" : "maxHttp10ResponseSize",
            "type" : "number"
          },
          "tlsSettings" : {
            "label" : "tlsSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "trustedCAsServer" : {
                "label" : "trustedCAsServer",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "includeJdkCaClient" : {
                "label" : "includeJdkCaClient",
                "type" : "bool"
              },
              "randomIfNotFound" : {
                "label" : "randomIfNotFound",
                "type" : "bool"
              },
              "defaultDomain" : {
                "label" : "defaultDomain",
                "type" : "string"
              },
              "includeJdkCaServer" : {
                "label" : "includeJdkCaServer",
                "type" : "bool"
              }
            },
            "flow" : [ "trustedCAsServer", "includeJdkCaClient", "randomIfNotFound", "defaultDomain", "includeJdkCaServer" ]
          },
          "statsdConfig" : {
            "label" : "statsdConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "datadog" : {
                "label" : "datadog",
                "type" : "bool"
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              }
            },
            "flow" : [ "datadog", "host", "port" ]
          },
          "autoLinkToDefaultGroup" : {
            "label" : "autoLinkToDefaultGroup",
            "type" : "bool"
          },
          "alertsWebhooks" : {
            "label" : "alertsWebhooks",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              }
            },
            "flow" : [ "type", "url", "mtlsConfig", "headers" ]
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "u2fLoginOnly" : {
            "label" : "u2fLoginOnly",
            "type" : "bool"
          },
          "userAgentSettings" : {
            "label" : "userAgentSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "enabled" ]
          }
        },
        "flow" : [ "geolocationSettings", "alertsEmails", "throttlingQuota", "anonymousReporting", "maxWebhookSize", "maxConcurrentRequests", "cleverSettings", "templates", "endlessIpAddresses", "plugins", "kafkaConfig", "maxLogsSize", "proxies", "enableEmbeddedMetrics", "elasticReadsConfig", "trustXForwarded", "quotasSettings", "tags", "limitConcurrentRequests", "useAkkaHttpClient", "elasticWritesConfigs", "logAnalyticsOnServer", "apiReadOnly", "backOfficeAuthRef", "streamEntityOnly", "otoroshiId", "mailerSettings", "lines", "middleFingers", "analyticsWebhooks", "autoCert", "maintenanceMode", "initWithNewEngine", "letsEncryptSettings", "snowMonkeyConfig", "scripts", "perIpThrottlingQuota", "useCircuitBreakers", "maxHttp10ResponseSize", "tlsSettings", "statsdConfig", "autoLinkToDefaultGroup", "alertsWebhooks", "ipFiltering", "u2fLoginOnly", "userAgentSettings", "env", "metadata", "extensions" ]
      },
      "authModules" : {
        "label" : "authModules",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
            }
          },
          "desc" : {
            "label" : "desc",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "clientSideSessionEnabled" : {
            "label" : "clientSideSessionEnabled",
            "type" : "bool"
          },
          "basicAuth" : {
            "label" : "basicAuth",
            "type" : "bool"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "users" : {
            "label" : "users",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "email" : {
                "label" : "email",
                "type" : "string"
              },
              "webauthn" : {
                "label" : "webauthn",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "handle" : {
                    "label" : "handle",
                    "type" : "string"
                  },
                  "credentials" : {
                    "label" : "credentials",
                    "type" : "object"
                  }
                },
                "flow" : [ "handle", "credentials" ]
              },
              "rights" : {
                "label" : "rights",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "rights" : {
                    "label" : "rights",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "tenant" : {
                        "label" : "tenant",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "canWrite" : {
                            "label" : "canWrite",
                            "type" : "bool"
                          },
                          "value" : {
                            "label" : "value",
                            "type" : "string"
                          },
                          "canRead" : {
                            "label" : "canRead",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "canWrite", "value", "canRead" ]
                      },
                      "teams" : {
                        "label" : "teams",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "canRead" : {
                            "label" : "canRead",
                            "type" : "bool"
                          },
                          "value" : {
                            "label" : "value",
                            "type" : "string"
                          },
                          "canWrite" : {
                            "label" : "canWrite",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "canRead", "value", "canWrite" ]
                      }
                    },
                    "flow" : [ "tenant", "teams" ]
                  }
                },
                "flow" : [ "rights" ]
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              }
            },
            "flow" : [ "password", "tags", "email", "webauthn", "rights", "name", "metadata" ]
          },
          "sessionMaxAge" : {
            "label" : "sessionMaxAge",
            "type" : "number"
          },
          "webauthn" : {
            "label" : "webauthn",
            "type" : "bool"
          },
          "userValidators" : {
            "label" : "userValidators",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "value" : {
                "label" : "value",
                "type" : "object"
              },
              "error" : {
                "label" : "error",
                "type" : "string"
              }
            },
            "flow" : [ "path", "error", "value" ]
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "sessionCookieValues" : {
            "label" : "sessionCookieValues",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "httpOnly" : {
                "label" : "httpOnly",
                "type" : "bool"
              },
              "secure" : {
                "label" : "secure",
                "type" : "bool"
              }
            },
            "flow" : [ "httpOnly", "secure" ]
          },
          "extraMetadata" : {
            "label" : "extraMetadata",
            "type" : "object"
          },
          "rightsOverride" : {
            "label" : "rightsOverride",
            "type" : "object"
          },
          "clientId" : {
            "label" : "clientId",
            "type" : "string"
          },
          "otoroshiRightsField" : {
            "label" : "otoroshiRightsField",
            "type" : "string"
          },
          "scope" : {
            "label" : "scope",
            "type" : "string"
          },
          "accessTokenField" : {
            "label" : "accessTokenField",
            "type" : "string"
          },
          "superAdmins" : {
            "label" : "superAdmins",
            "type" : "bool"
          },
          "refreshTokens" : {
            "label" : "refreshTokens",
            "type" : "bool"
          },
          "loginUrl" : {
            "label" : "loginUrl",
            "type" : "string"
          },
          "apiKeyTagsField" : {
            "label" : "apiKeyTagsField",
            "type" : "string"
          },
          "otoroshiDataField" : {
            "label" : "otoroshiDataField",
            "type" : "string"
          },
          "emailField" : {
            "label" : "emailField",
            "type" : "string"
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "tokenUrl" : {
            "label" : "tokenUrl",
            "type" : "string"
          },
          "useCookie" : {
            "label" : "useCookie",
            "type" : "bool"
          },
          "pkce" : {
            "label" : "pkce",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "algorithm" : {
                "label" : "algorithm",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "algorithm" ]
          },
          "authorizeUrl" : {
            "label" : "authorizeUrl",
            "type" : "string"
          },
          "callbackUrl" : {
            "label" : "callbackUrl",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "apiKeyMetaField" : {
            "label" : "apiKeyMetaField",
            "type" : "string"
          },
          "clientSecret" : {
            "label" : "clientSecret",
            "type" : "string"
          },
          "useJson" : {
            "label" : "useJson",
            "type" : "bool"
          },
          "oidConfig" : {
            "label" : "oidConfig",
            "type" : "string"
          },
          "claims" : {
            "label" : "claims",
            "type" : "string"
          },
          "noWildcardRedirectURI" : {
            "label" : "noWildcardRedirectURI",
            "type" : "bool"
          },
          "nameField" : {
            "label" : "nameField",
            "type" : "string"
          },
          "introspectionUrl" : {
            "label" : "introspectionUrl",
            "type" : "string"
          },
          "logoutUrl" : {
            "label" : "logoutUrl",
            "type" : "string"
          },
          "dataOverride" : {
            "label" : "dataOverride",
            "type" : "object"
          },
          "userInfoUrl" : {
            "label" : "userInfoUrl",
            "type" : "string"
          },
          "jwtVerifier" : {
            "label" : "jwtVerifier",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "readProfileFromToken" : {
            "label" : "readProfileFromToken",
            "type" : "bool"
          },
          "allowEmptyPassword" : {
            "label" : "allowEmptyPassword",
            "type" : "bool"
          },
          "groupFilters" : {
            "label" : "groupFilters",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "group" : {
                "label" : "group",
                "type" : "string"
              },
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "team" : {
                "label" : "team",
                "type" : "string"
              }
            },
            "flow" : [ "group", "tenant", "team" ]
          },
          "serverUrls" : {
            "label" : "serverUrls",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "searchBase" : {
            "label" : "searchBase",
            "type" : "string"
          },
          "groupRights" : {
            "label" : "groupRights",
            "type" : "object"
          },
          "metadataField" : {
            "label" : "metadataField",
            "type" : "string"
          },
          "searchFilter" : {
            "label" : "searchFilter",
            "type" : "string"
          },
          "adminUsername" : {
            "label" : "adminUsername",
            "type" : "string"
          },
          "extractProfileFilter" : {
            "label" : "extractProfileFilter",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "userBase" : {
            "label" : "userBase",
            "type" : "string"
          },
          "adminPassword" : {
            "label" : "adminPassword",
            "type" : "string"
          },
          "extractProfileFilterNot" : {
            "label" : "extractProfileFilterNot",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extractProfile" : {
            "label" : "extractProfile",
            "type" : "bool"
          },
          "accessTokenURL" : {
            "label" : "accessTokenURL",
            "type" : "string"
          },
          "authorizeURL" : {
            "label" : "authorizeURL",
            "type" : "string"
          },
          "consumerKey" : {
            "label" : "consumerKey",
            "type" : "string"
          },
          "callbackURL" : {
            "label" : "callbackURL",
            "type" : "string"
          },
          "profileURL" : {
            "label" : "profileURL",
            "type" : "string"
          },
          "httpMethod" : {
            "label" : "httpMethod",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "requestTokenURL" : {
            "label" : "requestTokenURL",
            "type" : "string"
          },
          "consumerSecret" : {
            "label" : "consumerSecret",
            "type" : "string"
          },
          "ssoProtocolBinding" : {
            "label" : "ssoProtocolBinding",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "emailAttributeName" : {
            "label" : "emailAttributeName",
            "type" : "string"
          },
          "validatingCertificates" : {
            "label" : "validatingCertificates",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "singleLogoutProtocolBinding" : {
            "label" : "singleLogoutProtocolBinding",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "issuer" : {
            "label" : "issuer",
            "type" : "string"
          },
          "signature" : {
            "label" : "signature",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "algorithm" : {
                "label" : "algorithm",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              },
              "canocalizationMethod" : {
                "label" : "canocalizationMethod",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : { },
                "flow" : [ ]
              }
            },
            "flow" : [ "algorithm", "canocalizationMethod" ]
          },
          "singleLogoutUrl" : {
            "label" : "singleLogoutUrl",
            "type" : "string"
          },
          "usedNameIDAsEmail" : {
            "label" : "usedNameIDAsEmail",
            "type" : "bool"
          },
          "singleSignOnUrl" : {
            "label" : "singleSignOnUrl",
            "type" : "string"
          },
          "validateAssertions" : {
            "label" : "validateAssertions",
            "type" : "bool"
          },
          "nameIDFormat" : {
            "label" : "nameIDFormat",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "validateSignature" : {
            "label" : "validateSignature",
            "type" : "bool"
          },
          "credentials" : {
            "label" : "credentials",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "signingKey" : {
                "label" : "signingKey",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "certificate" : {
                    "label" : "certificate",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "useOtoroshiCertificate" : {
                    "label" : "useOtoroshiCertificate",
                    "type" : "bool"
                  }
                },
                "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
              },
              "encryptionKey" : {
                "label" : "encryptionKey",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "certificate" : {
                    "label" : "certificate",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "useOtoroshiCertificate" : {
                    "label" : "useOtoroshiCertificate",
                    "type" : "bool"
                  }
                },
                "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
              },
              "signedDocuments" : {
                "label" : "signedDocuments",
                "type" : "bool"
              },
              "encryptedAssertions" : {
                "label" : "encryptedAssertions",
                "type" : "bool"
              }
            },
            "flow" : [ "signingKey", "encryptionKey", "signedDocuments", "encryptedAssertions" ]
          }
        },
        "flow" : [ "type", "desc", "name", "clientSideSessionEnabled", "basicAuth", "tags", "users", "sessionMaxAge", "webauthn", "userValidators", "id", "_loc", "sessionCookieValues", "clientId", "otoroshiRightsField", "scope", "accessTokenField", "superAdmins", "refreshTokens", "loginUrl", "apiKeyTagsField", "otoroshiDataField", "emailField", "mtlsConfig", "tokenUrl", "useCookie", "pkce", "authorizeUrl", "callbackUrl", "proxy", "apiKeyMetaField", "clientSecret", "useJson", "oidConfig", "claims", "noWildcardRedirectURI", "nameField", "introspectionUrl", "logoutUrl", "userInfoUrl", "jwtVerifier", "readProfileFromToken", "allowEmptyPassword", "groupFilters", "serverUrls", "searchBase", "metadataField", "searchFilter", "adminUsername", "extractProfileFilter", "userBase", "adminPassword", "extractProfileFilterNot", "extractProfile", "accessTokenURL", "authorizeURL", "consumerKey", "callbackURL", "profileURL", "httpMethod", "requestTokenURL", "consumerSecret", "ssoProtocolBinding", "emailAttributeName", "validatingCertificates", "singleLogoutProtocolBinding", "issuer", "signature", "singleLogoutUrl", "usedNameIDAsEmail", "singleSignOnUrl", "validateAssertions", "nameIDFormat", "validateSignature", "credentials", "metadata", "extraMetadata", "rightsOverride", "dataOverride", "groupRights" ]
      },
      "tcpServices" : {
        "label" : "tcpServices",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "rules" : {
            "label" : "rules",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "ip" : {
                    "label" : "ip",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  }
                },
                "flow" : [ "host", "ip", "port", "tls" ]
              }
            },
            "flow" : [ "domain", "targets" ]
          },
          "clientAuth" : {
            "type" : "select",
            "props" : {
              "label" : "clientAuth",
              "options" : [ "Need", "None", "Want" ]
            }
          },
          "interface" : {
            "label" : "interface",
            "type" : "string"
          },
          "sni" : {
            "label" : "sni",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "forwardIfNoMatch" : {
                "label" : "forwardIfNoMatch",
                "type" : "bool"
              },
              "forwardsTo" : {
                "label" : "forwardsTo",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "ip" : {
                    "label" : "ip",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  }
                },
                "flow" : [ "host", "ip", "port", "tls" ]
              }
            },
            "flow" : [ "enabled", "forwardIfNoMatch", "forwardsTo" ]
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "tls" : {
            "type" : "select",
            "props" : {
              "label" : "tls",
              "options" : [ "Disabled", "Enabled", "PassThrough" ]
            }
          }
        },
        "flow" : [ "enabled", "description", "port", "tags", "rules", "clientAuth", "interface", "sni", "id", "_loc", "name", "tls", "metadata" ]
      },
      "certificates" : {
        "label" : "certificates",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "certType" : {
            "type" : "select",
            "props" : {
              "label" : "certType",
              "options" : [ "client", "ca", "letsEncrypt", "keypair", "selfSigned", "certificate" ]
            }
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "revoked" : {
            "label" : "revoked",
            "type" : "bool"
          },
          "subject" : {
            "label" : "subject",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "ca" : {
            "label" : "ca",
            "type" : "bool"
          },
          "keypair" : {
            "label" : "keypair",
            "type" : "bool"
          },
          "letsEncrypt" : {
            "label" : "letsEncrypt",
            "type" : "bool"
          },
          "autoRenew" : {
            "label" : "autoRenew",
            "type" : "bool"
          },
          "caRef" : {
            "label" : "caRef",
            "type" : "string"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          },
          "exposed" : {
            "label" : "exposed",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "sans" : {
            "label" : "sans",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "client" : {
            "label" : "client",
            "type" : "bool"
          },
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "valid" : {
            "label" : "valid",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "selfSigned" : {
            "label" : "selfSigned",
            "type" : "bool"
          },
          "chain" : {
            "label" : "chain",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          }
        },
        "flow" : [ "certType", "name", "revoked", "subject", "description", "tags", "domain", "ca", "keypair", "letsEncrypt", "autoRenew", "caRef", "to", "exposed", "id", "_loc", "sans", "client", "from", "valid", "privateKey", "selfSigned", "chain", "password", "metadata" ]
      },
      "simpleAdmins" : {
        "label" : "simpleAdmins",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "simple", "webauthn" ]
            }
          },
          "username" : {
            "label" : "username",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "label" : {
            "label" : "label",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "typ" : {
            "type" : "select",
            "props" : {
              "label" : "typ",
              "options" : [ "SIMPLE", "WEBAUTHN" ]
            }
          },
          "createdAt" : {
            "label" : "createdAt",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "rights" : {
            "label" : "rights",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "rights" : {
                "label" : "rights",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canWrite", "value", "canRead" ]
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canRead", "value", "canWrite" ]
                  }
                },
                "flow" : [ "tenant", "teams" ]
              }
            },
            "flow" : [ "rights" ]
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          }
        },
        "flow" : [ "type", "username", "tags", "label", "_loc", "typ", "createdAt", "rights", "password", "metadata" ]
      },
      "wasmPlugins" : {
        "label" : "wasmPlugins",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "steps" : {
            "label" : "steps",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : { },
            "flow" : [ ]
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "allowedHosts" : {
                "label" : "allowedHosts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "memoryPages" : {
                "label" : "memoryPages",
                "type" : "number"
              },
              "allowedPaths" : {
                "label" : "allowedPaths",
                "type" : "object"
              },
              "instances" : {
                "label" : "instances",
                "type" : "number"
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "authorizations" : {
                "label" : "authorizations",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "proxyStateAccess" : {
                    "label" : "proxyStateAccess",
                    "type" : "bool"
                  },
                  "httpAccess" : {
                    "label" : "httpAccess",
                    "type" : "bool"
                  },
                  "globalMapAccess" : {
                    "label" : "globalMapAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "pluginDataStoreAccess" : {
                    "label" : "pluginDataStoreAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "pluginMapAccess" : {
                    "label" : "pluginMapAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  },
                  "proxyHttpCallTimeout" : {
                    "label" : "proxyHttpCallTimeout",
                    "type" : "number"
                  },
                  "configurationAccess" : {
                    "label" : "configurationAccess",
                    "type" : "bool"
                  },
                  "globalDataStoreAccess" : {
                    "label" : "globalDataStoreAccess",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "read" : {
                        "label" : "read",
                        "type" : "bool"
                      },
                      "write" : {
                        "label" : "write",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "read", "write" ]
                  }
                },
                "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
              },
              "opa" : {
                "label" : "opa",
                "type" : "bool"
              },
              "wasi" : {
                "label" : "wasi",
                "type" : "bool"
              },
              "functionName" : {
                "label" : "functionName",
                "type" : "string"
              }
            },
            "flow" : [ "allowedHosts", "memoryPages", "allowedPaths", "instances", "config", "authorizations", "opa", "wasi", "functionName" ]
          }
        },
        "flow" : [ "_loc", "name", "tags", "steps", "id", "description", "config", "metadata" ]
      },
      "serviceGroups" : {
        "label" : "serviceGroups",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "id", "_loc", "name", "description", "tags", "metadata" ]
      }
    },
    "flow" : [ "serviceGroups", "wasmPlugins", "simpleAdmins", "certificates", "tcpServices", "authModules", "globalConfigs", "serviceDescriptors", "routeCompositions", "teams", "dataExporters", "tenants", "jwtVerifiers", "scripts", "backends", "apiKeys", "routes" ]
  },
  "otoroshi.models.BadResponse" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers", "body", "status" ]
  },
  "otoroshi.next.plugins.JsonTransform" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.AccessValidatorContext" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "ctx" ]
  },
  "otoroshi.next.plugins.OIDCAccessTokenConfig" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "at_least_one" : {
        "label" : "at_least_one",
        "type" : "bool"
      },
      "config" : {
        "label" : "config",
        "type" : "string"
      }
    },
    "flow" : [ "config", "at_least_one", "enabled" ]
  },
  "ExperimentalFormResponse" : {
    "schema" : { },
    "flow" : [ ]
  },
  "UpdateQuotasBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ClientConfig" : {
    "schema" : {
      "connectionTimeout" : {
        "label" : "connectionTimeout",
        "type" : "number"
      },
      "useCircuitBreaker" : {
        "label" : "useCircuitBreaker",
        "type" : "bool"
      },
      "retryInitialDelay" : {
        "label" : "retryInitialDelay",
        "type" : "number"
      },
      "cacheConnectionSettings" : {
        "label" : "cacheConnectionSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "queueSize" : {
            "label" : "queueSize",
            "type" : "number"
          }
        },
        "flow" : [ "enabled", "queueSize" ]
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "callTimeout" : {
        "label" : "callTimeout",
        "type" : "number"
      },
      "callAndStreamTimeout" : {
        "label" : "callAndStreamTimeout",
        "type" : "number"
      },
      "globalTimeout" : {
        "label" : "globalTimeout",
        "type" : "number"
      },
      "maxErrors" : {
        "label" : "maxErrors",
        "type" : "number"
      },
      "retries" : {
        "label" : "retries",
        "type" : "number"
      },
      "backoffFactor" : {
        "label" : "backoffFactor",
        "type" : "number"
      },
      "customTimeouts" : {
        "label" : "customTimeouts",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "callAndStreamTimeout" : {
            "label" : "callAndStreamTimeout",
            "type" : "number"
          },
          "callTimeout" : {
            "label" : "callTimeout",
            "type" : "number"
          },
          "idleTimeout" : {
            "label" : "idleTimeout",
            "type" : "number"
          },
          "globalTimeout" : {
            "label" : "globalTimeout",
            "type" : "number"
          },
          "connectionTimeout" : {
            "label" : "connectionTimeout",
            "type" : "number"
          }
        },
        "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
      },
      "idleTimeout" : {
        "label" : "idleTimeout",
        "type" : "number"
      },
      "sampleInterval" : {
        "label" : "sampleInterval",
        "type" : "number"
      }
    },
    "flow" : [ "sampleInterval", "idleTimeout", "customTimeouts", "backoffFactor", "retries", "maxErrors", "globalTimeout", "callAndStreamTimeout", "callTimeout", "retryInitialDelay", "useCircuitBreaker", "connectionTimeout", "cacheConnectionSettings", "proxy" ]
  },
  "play.api.libs.ws.WSProxyServer" : {
    "schema" : {
      "host" : {
        "label" : "host",
        "type" : "string"
      },
      "port" : {
        "label" : "port",
        "type" : "string"
      },
      "protocol" : {
        "label" : "protocol",
        "type" : "string"
      },
      "principal" : {
        "label" : "principal",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "ntlmDomain" : {
        "label" : "ntlmDomain",
        "type" : "string"
      },
      "encoding" : {
        "label" : "encoding",
        "type" : "string"
      },
      "nonProxyHosts" : {
        "label" : "nonProxyHosts",
        "type" : "string"
      }
    },
    "flow" : [ "nonProxyHosts", "encoding", "ntlmDomain", "password", "principal", "protocol", "port", "host" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressSyncJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.OtoroshiAdminType" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgCanarySettings" : {
    "schema" : {
      "traffic" : {
        "label" : "traffic",
        "type" : "number"
      },
      "root" : {
        "label" : "root",
        "type" : "string"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "ip_address" : {
            "label" : "ip_address",
            "type" : "string"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "tls_config" : {
            "label" : "tls_config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trust_all" : {
                "label" : "trust_all",
                "type" : "bool"
              },
              "trusted_certs" : {
                "label" : "trusted_certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          }
        },
        "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
      }
    },
    "flow" : [ "targets", "root", "traffic" ]
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationConfig" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.next.plugins.JwtVerifierUtils" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgRestrictionPath" : {
    "schema" : {
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      }
    },
    "flow" : [ "path", "method" ]
  },
  "LetsEncryptCertBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.OIDCAccessTokenHeader" : {
    "schema" : {
      "send" : {
        "label" : "send",
        "type" : "bool"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "jwt" : {
        "label" : "jwt",
        "type" : "bool"
      }
    },
    "flow" : [ "jwt", "header_name", "name", "send" ]
  },
  "otoroshi.next.plugins.NgFaultConfig" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.RemoveHeadersOut" : {
    "schema" : {
      "names" : {
        "label" : "names",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "names" ]
  },
  "otoroshi.plugins.jwt.JwtUserExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.RobotConfig" : {
    "schema" : {
      "robot_txt_content" : {
        "label" : "robot_txt_content",
        "type" : "string"
      },
      "meta_content" : {
        "label" : "meta_content",
        "type" : "string"
      },
      "robot_enabled" : {
        "label" : "robot_enabled",
        "type" : "bool"
      },
      "header_content" : {
        "label" : "header_content",
        "type" : "string"
      },
      "header_enabled" : {
        "label" : "header_enabled",
        "type" : "bool"
      },
      "meta_enabled" : {
        "label" : "meta_enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "meta_enabled", "header_enabled", "header_content", "robot_enabled", "meta_content", "robot_txt_content" ]
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlowBody" : {
    "schema" : {
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "clientId" : {
        "label" : "clientId",
        "type" : "string"
      },
      "clientSecret" : {
        "label" : "clientSecret",
        "type" : "string"
      },
      "grantType" : {
        "label" : "grantType",
        "type" : "string"
      },
      "bearerKind" : {
        "label" : "bearerKind",
        "type" : "string"
      }
    },
    "flow" : [ "bearerKind", "grantType", "clientSecret", "clientId", "scope" ]
  },
  "otoroshi.auth.PKCEConfig" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "algorithm" : {
        "label" : "algorithm",
        "type" : "string"
      }
    },
    "flow" : [ "algorithm", "enabled" ]
  },
  "otoroshi.plugins.oidc.OIDCAccessTokenValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "SimpleAdminList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgGeolocationInfoHeader" : {
    "schema" : {
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name" ]
  },
  "otoroshi.plugins.biscuit.PreRoutingVerifierContext" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "globalConfig" : {
            "label" : "globalConfig",
            "type" : "object"
          },
          "snowflake" : {
            "label" : "snowflake",
            "type" : "string"
          },
          "descriptor" : {
            "label" : "descriptor",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "buildMode" : {
                "label" : "buildMode",
                "type" : "bool"
              },
              "hosts" : {
                "label" : "hosts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "privateApp" : {
                "label" : "privateApp",
                "type" : "bool"
              },
              "localScheme" : {
                "label" : "localScheme",
                "type" : "string"
              },
              "authConfigRef" : {
                "label" : "authConfigRef",
                "type" : "string"
              },
              "issueCertCA" : {
                "label" : "issueCertCA",
                "type" : "string"
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "additionalHeaders" : {
                "label" : "additionalHeaders",
                "type" : "object"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "clientConfig" : {
                "label" : "clientConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  },
                  "useCircuitBreaker" : {
                    "label" : "useCircuitBreaker",
                    "type" : "bool"
                  },
                  "retryInitialDelay" : {
                    "label" : "retryInitialDelay",
                    "type" : "number"
                  },
                  "cacheConnectionSettings" : {
                    "label" : "cacheConnectionSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "queueSize" : {
                        "label" : "queueSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "enabled", "queueSize" ]
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "maxErrors" : {
                    "label" : "maxErrors",
                    "type" : "number"
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "backoffFactor" : {
                    "label" : "backoffFactor",
                    "type" : "number"
                  },
                  "customTimeouts" : {
                    "label" : "customTimeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "callAndStreamTimeout" : {
                        "label" : "callAndStreamTimeout",
                        "type" : "number"
                      },
                      "callTimeout" : {
                        "label" : "callTimeout",
                        "type" : "number"
                      },
                      "idleTimeout" : {
                        "label" : "idleTimeout",
                        "type" : "number"
                      },
                      "globalTimeout" : {
                        "label" : "globalTimeout",
                        "type" : "number"
                      },
                      "connectionTimeout" : {
                        "label" : "connectionTimeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "sampleInterval" : {
                    "label" : "sampleInterval",
                    "type" : "number"
                  }
                },
                "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
              },
              "matchingRoot" : {
                "label" : "matchingRoot",
                "type" : "string"
              },
              "forceHttps" : {
                "label" : "forceHttps",
                "type" : "bool"
              },
              "localHost" : {
                "label" : "localHost",
                "type" : "string"
              },
              "sendOtoroshiHeadersBack" : {
                "label" : "sendOtoroshiHeadersBack",
                "type" : "bool"
              },
              "healthCheck" : {
                "label" : "healthCheck",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "strictlyPrivate" : {
                "label" : "strictlyPrivate",
                "type" : "bool"
              },
              "detectApiKeySooner" : {
                "label" : "detectApiKeySooner",
                "type" : "bool"
              },
              "allowHttp10" : {
                "label" : "allowHttp10",
                "type" : "bool"
              },
              "subdomain" : {
                "label" : "subdomain",
                "type" : "string"
              },
              "paths" : {
                "label" : "paths",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "stripPath" : {
                "label" : "stripPath",
                "type" : "bool"
              },
              "secComAlgoChallengeOtoToBack" : {
                "label" : "secComAlgoChallengeOtoToBack",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "apiKeyConstraints" : {
                "label" : "apiKeyConstraints",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "customHeadersAuth" : {
                    "label" : "customHeadersAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "clientIdHeaderName" : {
                        "label" : "clientIdHeaderName",
                        "type" : "string"
                      },
                      "clientSecretHeaderName" : {
                        "label" : "clientSecretHeaderName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
                  },
                  "routing" : {
                    "label" : "routing",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "oneTagIn" : {
                        "label" : "oneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneMetaKeysIn" : {
                        "label" : "noneMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "oneMetaIn" : {
                        "label" : "oneMetaIn",
                        "type" : "object"
                      },
                      "oneMetaKeyIn" : {
                        "label" : "oneMetaKeyIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaKeysIn" : {
                        "label" : "allMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneTagIn" : {
                        "label" : "noneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allTagsIn" : {
                        "label" : "allTagsIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaIn" : {
                        "label" : "allMetaIn",
                        "type" : "object"
                      },
                      "noneMetaIn" : {
                        "label" : "noneMetaIn",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
                  },
                  "clientIdAuth" : {
                    "label" : "clientIdAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  },
                  "jwtAuth" : {
                    "label" : "jwtAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "keyPairSigned" : {
                        "label" : "keyPairSigned",
                        "type" : "bool"
                      },
                      "cookieName" : {
                        "label" : "cookieName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "secretSigned" : {
                        "label" : "secretSigned",
                        "type" : "bool"
                      },
                      "maxJwtLifespanSecs" : {
                        "label" : "maxJwtLifespanSecs",
                        "type" : "string"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "includeRequestAttributes" : {
                        "label" : "includeRequestAttributes",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
                  },
                  "basicAuth" : {
                    "label" : "basicAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  }
                },
                "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
              },
              "env" : {
                "label" : "env",
                "type" : "string"
              },
              "xForwardedHeaders" : {
                "label" : "xForwardedHeaders",
                "type" : "bool"
              },
              "transformerRefs" : {
                "label" : "transformerRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "gzip" : {
                "label" : "gzip",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "compressionLevel" : {
                    "label" : "compressionLevel",
                    "type" : "number"
                  },
                  "blackList" : {
                    "label" : "blackList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "chunkedThreshold" : {
                    "label" : "chunkedThreshold",
                    "type" : "number"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "bufferSize" : {
                    "label" : "bufferSize",
                    "type" : "number"
                  },
                  "whiteList" : {
                    "label" : "whiteList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
              },
              "sendInfoToken" : {
                "label" : "sendInfoToken",
                "type" : "bool"
              },
              "tcpUdpTunneling" : {
                "label" : "tcpUdpTunneling",
                "type" : "bool"
              },
              "removeHeadersOut" : {
                "label" : "removeHeadersOut",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "useAkkaHttpClient" : {
                "label" : "useAkkaHttpClient",
                "type" : "bool"
              },
              "maintenanceMode" : {
                "label" : "maintenanceMode",
                "type" : "bool"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "removeHeadersIn" : {
                "label" : "removeHeadersIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "logAnalyticsOnServer" : {
                "label" : "logAnalyticsOnServer",
                "type" : "bool"
              },
              "secComAlgoInfoToken" : {
                "label" : "secComAlgoInfoToken",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "userFacing" : {
                "label" : "userFacing",
                "type" : "bool"
              },
              "transformerConfig" : {
                "label" : "transformerConfig",
                "type" : "object"
              },
              "clientValidatorRef" : {
                "label" : "clientValidatorRef",
                "type" : "string"
              },
              "securityExcludedPatterns" : {
                "label" : "securityExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ipFiltering" : {
                "label" : "ipFiltering",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "whitelist" : {
                    "label" : "whitelist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "blacklist" : {
                    "label" : "blacklist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "whitelist", "blacklist" ]
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "redirection" : {
                "label" : "redirection",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "code" : {
                    "label" : "code",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "code", "to" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "restrictions" : {
                "label" : "restrictions",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "forbidden" : {
                    "label" : "forbidden",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowed" : {
                    "label" : "allowed",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "notFound" : {
                    "label" : "notFound",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowLast" : {
                    "label" : "allowLast",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
              },
              "overrideHost" : {
                "label" : "overrideHost",
                "type" : "bool"
              },
              "accessValidator" : {
                "label" : "accessValidator",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "sendStateChallenge" : {
                "label" : "sendStateChallenge",
                "type" : "bool"
              },
              "chaosConfig" : {
                "label" : "chaosConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "badResponsesFaultConfig" : {
                    "label" : "badResponsesFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "responses" : {
                        "label" : "responses",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "status" : {
                            "label" : "status",
                            "type" : "number"
                          },
                          "body" : {
                            "type" : "code",
                            "props" : {
                              "label" : "body",
                              "editorOnly" : true,
                              "mode" : "json"
                            }
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "status", "body", "headers" ]
                      }
                    },
                    "flow" : [ "ratio", "responses" ]
                  },
                  "largeRequestFaultConfig" : {
                    "label" : "largeRequestFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalRequestSize" : {
                        "label" : "additionalRequestSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalRequestSize" ]
                  },
                  "largeResponseFaultConfig" : {
                    "label" : "largeResponseFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalResponseSize" : {
                        "label" : "additionalResponseSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalResponseSize" ]
                  },
                  "latencyInjectionFaultConfig" : {
                    "label" : "latencyInjectionFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "from" : {
                        "label" : "from",
                        "type" : "number"
                      },
                      "to" : {
                        "label" : "to",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "from", "to" ]
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
              },
              "secComInfoTokenVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComInfoTokenVersion",
                  "options" : [ "Legacy", "Latest" ]
                }
              },
              "additionalHeadersOut" : {
                "label" : "additionalHeadersOut",
                "type" : "object"
              },
              "secComHeaders" : {
                "label" : "secComHeaders",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "claimRequestName" : {
                    "label" : "claimRequestName",
                    "type" : "string"
                  },
                  "stateRequestName" : {
                    "label" : "stateRequestName",
                    "type" : "string"
                  },
                  "stateResponseName" : {
                    "label" : "stateResponseName",
                    "type" : "string"
                  }
                },
                "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
              },
              "matchingHeaders" : {
                "label" : "matchingHeaders",
                "type" : "object"
              },
              "secComAlgoChallengeBackToOto" : {
                "label" : "secComAlgoChallengeBackToOto",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "secComUseSameAlgo" : {
                "label" : "secComUseSameAlgo",
                "type" : "bool"
              },
              "useNewWSClient" : {
                "label" : "useNewWSClient",
                "type" : "bool"
              },
              "secComExcludedPatterns" : {
                "label" : "secComExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "redirectToLocal" : {
                "label" : "redirectToLocal",
                "type" : "bool"
              },
              "enforceSecureCommunication" : {
                "label" : "enforceSecureCommunication",
                "type" : "bool"
              },
              "missingOnlyHeadersOut" : {
                "label" : "missingOnlyHeadersOut",
                "type" : "object"
              },
              "secComSettings" : {
                "label" : "secComSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "handleLegacyDomain" : {
                "label" : "handleLegacyDomain",
                "type" : "bool"
              },
              "canary" : {
                "label" : "canary",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "traffic" : {
                    "label" : "traffic",
                    "type" : "number"
                  },
                  "targets" : {
                    "label" : "targets",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "tags" : {
                        "label" : "tags",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "metadata" : {
                        "label" : "metadata",
                        "type" : "object"
                      },
                      "protocol" : {
                        "type" : "select",
                        "props" : {
                          "label" : "protocol",
                          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                        }
                      },
                      "predicate" : {
                        "label" : "predicate",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            }
                          },
                          "dc" : {
                            "label" : "dc",
                            "type" : "string"
                          },
                          "positions" : {
                            "label" : "positions",
                            "type" : "array",
                            "array" : true,
                            "format" : "form",
                            "schema" : {
                              "latitude" : {
                                "label" : "latitude",
                                "type" : "number"
                              },
                              "longitude" : {
                                "label" : "longitude",
                                "type" : "number"
                              },
                              "radius" : {
                                "label" : "radius",
                                "type" : "number"
                              }
                            },
                            "flow" : [ "latitude", "longitude", "radius" ]
                          },
                          "provider" : {
                            "label" : "provider",
                            "type" : "string"
                          },
                          "dataCenter" : {
                            "label" : "dataCenter",
                            "type" : "string"
                          },
                          "rack" : {
                            "label" : "rack",
                            "type" : "string"
                          },
                          "region" : {
                            "label" : "region",
                            "type" : "string"
                          },
                          "zone" : {
                            "label" : "zone",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                      },
                      "ipAddress" : {
                        "label" : "ipAddress",
                        "type" : "string"
                      },
                      "mtlsConfig" : {
                        "label" : "mtlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "scheme" : {
                        "label" : "scheme",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
                  },
                  "root" : {
                    "label" : "root",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "traffic", "targets", "root" ]
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "plugins" : {
                "label" : "plugins",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excluded" : {
                    "label" : "excluded",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "config", "enabled", "excluded", "refs" ]
              },
              "secComTtl" : {
                "label" : "secComTtl",
                "type" : "number"
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              },
              "secComVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComVersion",
                  "options" : [ "V1", "v2" ]
                }
              },
              "preRouting" : {
                "label" : "preRouting",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "groups" : {
                "label" : "groups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "readOnly" : {
                "label" : "readOnly",
                "type" : "bool"
              },
              "privatePatterns" : {
                "label" : "privatePatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "targetsLoadBalancing" : {
                "label" : "targetsLoadBalancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "cors" : {
                "label" : "cors",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "allowCredentials" : {
                    "label" : "allowCredentials",
                    "type" : "bool"
                  },
                  "maxAge" : {
                    "label" : "maxAge",
                    "type" : "string"
                  },
                  "allowMethods" : {
                    "label" : "allowMethods",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowHeaders" : {
                    "label" : "allowHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "exposeHeaders" : {
                    "label" : "exposeHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowOrigin" : {
                    "label" : "allowOrigin",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "publicPatterns" : {
                "label" : "publicPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "api" : {
                "label" : "api",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "exposeApi" : {
                    "label" : "exposeApi",
                    "type" : "bool"
                  },
                  "openApiDescriptorUrl" : {
                    "label" : "openApiDescriptorUrl",
                    "type" : "string"
                  }
                },
                "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
              },
              "missingOnlyHeadersIn" : {
                "label" : "missingOnlyHeadersIn",
                "type" : "object"
              },
              "issueCert" : {
                "label" : "issueCert",
                "type" : "bool"
              },
              "headersVerification" : {
                "label" : "headersVerification",
                "type" : "object"
              },
              "jwtVerifier" : {
                "label" : "jwtVerifier",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "global", "local", "ref" ]
                    }
                  },
                  "desc" : {
                    "label" : "desc",
                    "type" : "string"
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "source" : {
                    "label" : "source",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                        }
                      },
                      "name" : {
                        "label" : "name",
                        "type" : "string"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "name", "remove" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "_loc" : {
                    "label" : "_loc",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "tenant" : {
                        "label" : "tenant",
                        "type" : "string"
                      },
                      "teams" : {
                        "label" : "teams",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "tenant", "teams" ]
                  },
                  "strategy" : {
                    "label" : "strategy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                        }
                      },
                      "strict" : {
                        "label" : "strict",
                        "type" : "bool"
                      },
                      "token" : {
                        "label" : "token",
                        "type" : "object"
                      },
                      "verificationSettings" : {
                        "label" : "verificationSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "fields" : {
                            "label" : "fields",
                            "type" : "object"
                          },
                          "arrayFields" : {
                            "label" : "arrayFields",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "fields", "arrayFields" ]
                      },
                      "algoSettings" : {
                        "label" : "algoSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                            }
                          },
                          "size" : {
                            "label" : "size",
                            "type" : "number"
                          },
                          "publicKey" : {
                            "label" : "publicKey",
                            "type" : "string"
                          },
                          "privateKey" : {
                            "label" : "privateKey",
                            "type" : "string"
                          },
                          "certId" : {
                            "label" : "certId",
                            "type" : "string"
                          },
                          "secret" : {
                            "label" : "secret",
                            "type" : "string"
                          },
                          "base64" : {
                            "label" : "base64",
                            "type" : "bool"
                          },
                          "url" : {
                            "label" : "url",
                            "type" : "string"
                          },
                          "tlsConfig" : {
                            "label" : "tlsConfig",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "mtls" : {
                                "label" : "mtls",
                                "type" : "bool"
                              },
                              "loose" : {
                                "label" : "loose",
                                "type" : "bool"
                              },
                              "trustAll" : {
                                "label" : "trustAll",
                                "type" : "bool"
                              },
                              "trustedCerts" : {
                                "label" : "trustedCerts",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              },
                              "certs" : {
                                "label" : "certs",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                          },
                          "kty" : {
                            "label" : "kty",
                            "type" : "string"
                          },
                          "proxy" : {
                            "label" : "proxy",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "host" : {
                                "label" : "host",
                                "type" : "string"
                              },
                              "port" : {
                                "label" : "port",
                                "type" : "string"
                              },
                              "protocol" : {
                                "label" : "protocol",
                                "type" : "string"
                              },
                              "principal" : {
                                "label" : "principal",
                                "type" : "string"
                              },
                              "password" : {
                                "label" : "password",
                                "type" : "string"
                              },
                              "ntlmDomain" : {
                                "label" : "ntlmDomain",
                                "type" : "string"
                              },
                              "encoding" : {
                                "label" : "encoding",
                                "type" : "string"
                              },
                              "nonProxyHosts" : {
                                "label" : "nonProxyHosts",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          },
                          "ttl" : {
                            "label" : "ttl",
                            "type" : "number"
                          },
                          "timeout" : {
                            "label" : "timeout",
                            "type" : "number"
                          },
                          "onlyExposedCerts" : {
                            "label" : "onlyExposedCerts",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                      },
                      "transformSettings" : {
                        "label" : "transformSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "location" : {
                            "label" : "location",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "type" : {
                                "type" : "select",
                                "props" : {
                                  "label" : "type",
                                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                                }
                              },
                              "name" : {
                                "label" : "name",
                                "type" : "string"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "type", "name", "remove" ]
                          },
                          "mappingSettings" : {
                            "label" : "mappingSettings",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "map" : {
                                "label" : "map",
                                "type" : "object"
                              },
                              "values" : {
                                "label" : "values",
                                "type" : "object"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "map", "values", "remove" ]
                          }
                        },
                        "flow" : [ "location", "mappingSettings" ]
                      }
                    },
                    "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "ids" : {
                    "label" : "ids",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
              },
              "letsEncrypt" : {
                "label" : "letsEncrypt",
                "type" : "bool"
              }
            },
            "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "index" : {
            "label" : "index",
            "type" : "number"
          },
          "attrs" : {
            "label" : "attrs",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "globalConfig", "snowflake", "descriptor", "config", "index", "attrs" ]
      },
      "apk" : {
        "label" : "apk",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "dailyQuota" : {
            "label" : "dailyQuota",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "constrainedServicesOnly" : {
            "label" : "constrainedServicesOnly",
            "type" : "bool"
          },
          "allowClientIdOnly" : {
            "label" : "allowClientIdOnly",
            "type" : "bool"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "clientSecret" : {
            "label" : "clientSecret",
            "type" : "string"
          },
          "validUntil" : {
            "label" : "validUntil",
            "type" : "string"
          },
          "clientName" : {
            "label" : "clientName",
            "type" : "string"
          },
          "monthlyQuota" : {
            "label" : "monthlyQuota",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "rotation" : {
            "label" : "rotation",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "rotationEvery" : {
                "label" : "rotationEvery",
                "type" : "number"
              },
              "gracePeriod" : {
                "label" : "gracePeriod",
                "type" : "number"
              },
              "nextSecret" : {
                "label" : "nextSecret",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
          },
          "authorizedEntities" : {
            "label" : "authorizedEntities",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "clientId" : {
            "label" : "clientId",
            "type" : "string"
          }
        },
        "flow" : [ "dailyQuota", "metadata", "throttlingQuota", "constrainedServicesOnly", "allowClientIdOnly", "_loc", "restrictions", "tags", "enabled", "readOnly", "clientSecret", "validUntil", "clientName", "monthlyQuota", "description", "rotation", "authorizedEntities", "clientId" ]
      }
    },
    "flow" : [ "ctx", "apk" ]
  },
  "otoroshi.next.plugins.HMACCaller" : {
    "schema" : {
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "algo" : {
        "label" : "algo",
        "type" : "string"
      },
      "authorization_header" : {
        "label" : "authorization_header",
        "type" : "string"
      }
    },
    "flow" : [ "authorization_header", "algo", "secret" ]
  },
  "otoroshi.ssl.pki.models.GenKeyPairResponse" : {
    "schema" : {
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      }
    },
    "flow" : [ "privateKey", "publicKey" ]
  },
  "otoroshi.models.BackOfficeUser" : {
    "schema" : {
      "randomId" : {
        "label" : "randomId",
        "type" : "string"
      },
      "profile" : {
        "label" : "profile",
        "type" : "object"
      },
      "authConfigId" : {
        "label" : "authConfigId",
        "type" : "string"
      },
      "rights" : {
        "label" : "rights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "createdAt" : {
        "label" : "createdAt",
        "type" : "number"
      },
      "token" : {
        "label" : "token",
        "type" : "object"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "email" : {
        "label" : "email",
        "type" : "string"
      },
      "simpleLogin" : {
        "label" : "simpleLogin",
        "type" : "bool"
      },
      "expiredAt" : {
        "label" : "expiredAt",
        "type" : "number"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "lastRefresh" : {
        "label" : "lastRefresh",
        "type" : "number"
      }
    },
    "flow" : [ "lastRefresh", "expiredAt", "simpleLogin", "email", "metadata", "tags", "name", "token", "createdAt", "authConfigId", "profile", "randomId", "rights", "_loc" ]
  },
  "otoroshi.auth.GroupFilter" : {
    "schema" : {
      "group" : {
        "label" : "group",
        "type" : "string"
      },
      "tenant" : {
        "label" : "tenant",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "canWrite" : {
            "label" : "canWrite",
            "type" : "bool"
          },
          "value" : {
            "label" : "value",
            "type" : "string"
          },
          "canRead" : {
            "label" : "canRead",
            "type" : "bool"
          }
        },
        "flow" : [ "canWrite", "value", "canRead" ]
      },
      "team" : {
        "label" : "team",
        "type" : "string"
      }
    },
    "flow" : [ "team", "group", "tenant" ]
  },
  "otoroshi.next.models.NgPluginInstance" : {
    "schema" : {
      "instance_id" : {
        "label" : "instance_id",
        "type" : "number"
      },
      "debug" : {
        "label" : "debug",
        "type" : "bool"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "exclude" : {
        "label" : "exclude",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugin_index" : {
        "label" : "plugin_index",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "include" : {
        "label" : "include",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "plugin" : {
        "label" : "plugin",
        "type" : "string"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "plugin", "include", "exclude", "config", "debug", "instance_id", "plugin_index" ]
  },
  "otoroshi.models.HealthCheck" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      }
    },
    "flow" : [ "timeout", "url", "enabled" ]
  },
  "otoroshi.next.plugins.NgDeferPlugin" : {
    "schema" : {
      "duration" : {
        "label" : "duration",
        "type" : "number"
      }
    },
    "flow" : [ "duration" ]
  },
  "otoroshi.plugins.oidc.ThirdPartyApiKeyConfig" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.tcp.TcpTarget" : {
    "schema" : {
      "host" : {
        "label" : "host",
        "type" : "string"
      },
      "ip" : {
        "label" : "ip",
        "type" : "string"
      },
      "port" : {
        "label" : "port",
        "type" : "number"
      },
      "tls" : {
        "label" : "tls",
        "type" : "bool"
      }
    },
    "flow" : [ "tls", "port", "ip", "host" ]
  },
  "otoroshi.models.GeoPositionRadius" : {
    "schema" : {
      "latitude" : {
        "label" : "latitude",
        "type" : "number"
      },
      "longitude" : {
        "label" : "longitude",
        "type" : "number"
      },
      "radius" : {
        "label" : "radius",
        "type" : "number"
      }
    },
    "flow" : [ "radius", "longitude", "latitude" ]
  },
  "otoroshi.plugins.jsoup.HtmlPatcher" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.discovery.DiscoveryJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.IpStackGeolocationSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "none", "maxmind", "ipstack" ]
        }
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "apikey" : {
        "label" : "apikey",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      }
    },
    "flow" : [ "timeout", "apikey", "enabled", "type" ]
  },
  "otoroshi.models.PrivateAppsUser" : {
    "schema" : {
      "realm" : {
        "label" : "realm",
        "type" : "string"
      },
      "token" : {
        "label" : "token",
        "type" : "object"
      },
      "expiredAt" : {
        "label" : "expiredAt",
        "type" : "number"
      },
      "profile" : {
        "label" : "profile",
        "type" : "object"
      },
      "lastRefresh" : {
        "label" : "lastRefresh",
        "type" : "number"
      },
      "randomId" : {
        "label" : "randomId",
        "type" : "string"
      },
      "email" : {
        "label" : "email",
        "type" : "string"
      },
      "createdAt" : {
        "label" : "createdAt",
        "type" : "number"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "authConfigId" : {
        "label" : "authConfigId",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "otoroshiData" : {
        "label" : "otoroshiData",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      }
    },
    "flow" : [ "metadata", "otoroshiData", "name", "tags", "authConfigId", "createdAt", "email", "randomId", "lastRefresh", "profile", "expiredAt", "token", "realm", "_loc" ]
  },
  "otoroshi.next.plugins.NgIzanamiV1ProxyConfig" : {
    "schema" : {
      "features_enabled" : {
        "label" : "features_enabled",
        "type" : "bool"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "features_with_context_enabled" : {
        "label" : "features_with_context_enabled",
        "type" : "bool"
      },
      "config_pattern" : {
        "label" : "config_pattern",
        "type" : "string"
      },
      "feature_pattern" : {
        "label" : "feature_pattern",
        "type" : "string"
      },
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "tls" : {
        "label" : "tls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "izanami_url" : {
        "label" : "izanami_url",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "auto_context" : {
        "label" : "auto_context",
        "type" : "bool"
      },
      "configuration_enabled" : {
        "label" : "configuration_enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "configuration_enabled", "auto_context", "path", "timeout", "izanami_url", "client_id", "feature_pattern", "config_pattern", "features_with_context_enabled", "client_secret", "features_enabled", "tls" ]
  },
  "otoroshi.plugins.core.apikeys.CustomHeadersApikeyExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.events.PulsarConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "tlsTrustCertsFilePath" : {
        "label" : "tlsTrustCertsFilePath",
        "type" : "string"
      },
      "tenant" : {
        "label" : "tenant",
        "type" : "string"
      },
      "uri" : {
        "label" : "uri",
        "type" : "string"
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "topic" : {
        "label" : "topic",
        "type" : "string"
      },
      "namespace" : {
        "label" : "namespace",
        "type" : "string"
      }
    },
    "flow" : [ "namespace", "topic", "uri", "tenant", "tlsTrustCertsFilePath", "type", "mtlsConfig" ]
  },
  "otoroshi.auth.SAMLProtocolBinding" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesEntity" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgMinimalRoute" : {
    "schema" : {
      "backend_ref" : {
        "label" : "backend_ref",
        "type" : "string"
      },
      "frontend" : {
        "label" : "frontend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "query" : {
            "label" : "query",
            "type" : "object"
          },
          "domains" : {
            "label" : "domains",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "methods" : {
            "label" : "methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "exact" : {
            "label" : "exact",
            "type" : "bool"
          },
          "strip_path" : {
            "label" : "strip_path",
            "type" : "bool"
          }
        },
        "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
      },
      "override_plugins" : {
        "label" : "override_plugins",
        "type" : "bool"
      },
      "backend" : {
        "label" : "backend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "ip_address" : {
                "label" : "ip_address",
                "type" : "string"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "tls_config" : {
                "label" : "tls_config",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trust_all" : {
                    "label" : "trust_all",
                    "type" : "bool"
                  },
                  "trusted_certs" : {
                    "label" : "trusted_certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
              },
              "tls" : {
                "label" : "tls",
                "type" : "bool"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "hostname" : {
                "label" : "hostname",
                "type" : "string"
              }
            },
            "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
          },
          "load_balancing" : {
            "label" : "load_balancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "rewrite" : {
            "label" : "rewrite",
            "type" : "bool"
          }
        },
        "flow" : [ "root", "targets", "load_balancing", "rewrite" ]
      }
    },
    "flow" : [ "override_plugins", "backend_ref", "frontend", "backend" ]
  },
  "otoroshi.ssl.pki.models.GenKeyPairQuery" : {
    "schema" : {
      "algo" : {
        "label" : "algo",
        "type" : "string"
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      }
    },
    "flow" : [ "size", "algo" ]
  },
  "otoroshi.models.RemainingQuotas" : {
    "schema" : {
      "currentCallsPerSec" : {
        "label" : "currentCallsPerSec",
        "type" : "number"
      },
      "remainingCallsPerSec" : {
        "label" : "remainingCallsPerSec",
        "type" : "number"
      },
      "currentCallsPerDay" : {
        "label" : "currentCallsPerDay",
        "type" : "number"
      },
      "authorizedCallsPerDay" : {
        "label" : "authorizedCallsPerDay",
        "type" : "number"
      },
      "currentCallsPerMonth" : {
        "label" : "currentCallsPerMonth",
        "type" : "number"
      },
      "remainingCallsPerMonth" : {
        "label" : "remainingCallsPerMonth",
        "type" : "number"
      },
      "authorizedCallsPerSec" : {
        "label" : "authorizedCallsPerSec",
        "type" : "number"
      },
      "authorizedCallsPerMonth" : {
        "label" : "authorizedCallsPerMonth",
        "type" : "number"
      },
      "remainingCallsPerDay" : {
        "label" : "remainingCallsPerDay",
        "type" : "number"
      }
    },
    "flow" : [ "remainingCallsPerDay", "authorizedCallsPerMonth", "authorizedCallsPerSec", "remainingCallsPerMonth", "currentCallsPerMonth", "authorizedCallsPerDay", "currentCallsPerDay", "remainingCallsPerSec", "currentCallsPerSec" ]
  },
  "otoroshi.next.plugins.JQRequest" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.script.JobInstantiation" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.discovery.DiscoveryJobServiceId" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id" ]
  },
  "otoroshi.next.plugins.GraphQLQueryConfig" : {
    "schema" : {
      "response_path" : {
        "label" : "response_path",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "response_filter" : {
        "label" : "response_filter",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "query" : {
        "label" : "query",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      }
    },
    "flow" : [ "method", "query", "timeout", "headers", "response_filter", "url", "response_path" ]
  },
  "otoroshi.script.plugins.Plugins" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "excluded" : {
        "label" : "excluded",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "refs" : {
        "label" : "refs",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "refs", "excluded", "enabled", "config" ]
  },
  "otoroshi.next.plugins.MaintenanceMode" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.Sign" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
        }
      },
      "verificationSettings" : {
        "label" : "verificationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "fields" : {
            "label" : "fields",
            "type" : "object"
          },
          "arrayFields" : {
            "label" : "arrayFields",
            "type" : "object"
          }
        },
        "flow" : [ "fields", "arrayFields" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      }
    },
    "flow" : [ "type", "verificationSettings", "algoSettings" ]
  },
  "otoroshi.models.DataCenterMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "dc" : {
        "label" : "dc",
        "type" : "string"
      }
    },
    "flow" : [ "dc", "type" ]
  },
  "otoroshi.next.plugins.MockResponses" : {
    "schema" : {
      "responses" : {
        "label" : "responses",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "body" : {
            "type" : "code",
            "props" : {
              "label" : "body",
              "editorOnly" : true,
              "mode" : "json"
            }
          },
          "status" : {
            "label" : "status",
            "type" : "number"
          },
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          }
        },
        "flow" : [ "path", "body", "status", "method", "headers" ]
      },
      "pass_through" : {
        "label" : "pass_through",
        "type" : "bool"
      },
      "form_data" : {
        "label" : "form_data",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "resources" : {
            "label" : "resources",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "schema" : {
                "label" : "schema",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "field_name" : {
                    "label" : "field_name",
                    "type" : "string"
                  },
                  "field_type" : {
                    "label" : "field_type",
                    "type" : "string"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "object"
                  }
                },
                "flow" : [ "field_name", "field_type", "value" ]
              },
              "additional_data" : {
                "label" : "additional_data",
                "type" : "string"
              }
            },
            "flow" : [ "name", "schema", "additional_data" ]
          },
          "endpoints" : {
            "label" : "endpoints",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "status" : {
                "label" : "status",
                "type" : "number"
              },
              "body" : {
                "type" : "code",
                "props" : {
                  "label" : "body",
                  "editorOnly" : true,
                  "mode" : "json"
                }
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "resource" : {
                "label" : "resource",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "string"
              },
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "resource_list" : {
                "label" : "resource_list",
                "type" : "bool"
              }
            },
            "flow" : [ "status", "body", "path", "resource", "headers", "method", "resource_list" ]
          }
        },
        "flow" : [ "resources", "endpoints" ]
      }
    },
    "flow" : [ "pass_through", "responses", "form_data" ]
  },
  "otoroshi.models.TeamAccess" : {
    "schema" : {
      "canRead" : {
        "label" : "canRead",
        "type" : "bool"
      },
      "value" : {
        "label" : "value",
        "type" : "string"
      },
      "canWrite" : {
        "label" : "canWrite",
        "type" : "bool"
      }
    },
    "flow" : [ "canWrite", "value", "canRead" ]
  },
  "otoroshi.plugins.apikeys.BiscuitConf" : {
    "schema" : {
      "privkey" : {
        "label" : "privkey",
        "type" : "string"
      },
      "checks" : {
        "label" : "checks",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "facts" : {
        "label" : "facts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rules" : {
        "label" : "rules",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "rules", "facts", "checks", "privkey" ]
  },
  "otoroshi.plugins.metrics.ServiceMetrics" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.VerifierStrategy" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
        }
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "token" : {
        "label" : "token",
        "type" : "object"
      },
      "verificationSettings" : {
        "label" : "verificationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "fields" : {
            "label" : "fields",
            "type" : "object"
          },
          "arrayFields" : {
            "label" : "arrayFields",
            "type" : "object"
          }
        },
        "flow" : [ "fields", "arrayFields" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "transformSettings" : {
        "label" : "transformSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "location" : {
            "label" : "location",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                }
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "remove" : {
                "label" : "remove",
                "type" : "string"
              }
            },
            "flow" : [ "type", "name", "remove" ]
          },
          "mappingSettings" : {
            "label" : "mappingSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "map" : {
                "label" : "map",
                "type" : "object"
              },
              "values" : {
                "label" : "values",
                "type" : "object"
              },
              "remove" : {
                "label" : "remove",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "map", "values", "remove" ]
          }
        },
        "flow" : [ "location", "mappingSettings" ]
      }
    },
    "flow" : [ "token", "strict", "type", "verificationSettings", "algoSettings", "transformSettings" ]
  },
  "otoroshi.plugins.mirror.RequestContext" : {
    "schema" : {
      "descriptor" : {
        "label" : "descriptor",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "buildMode" : {
            "label" : "buildMode",
            "type" : "bool"
          },
          "hosts" : {
            "label" : "hosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "privateApp" : {
            "label" : "privateApp",
            "type" : "bool"
          },
          "localScheme" : {
            "label" : "localScheme",
            "type" : "string"
          },
          "authConfigRef" : {
            "label" : "authConfigRef",
            "type" : "string"
          },
          "issueCertCA" : {
            "label" : "issueCertCA",
            "type" : "string"
          },
          "root" : {
            "label" : "root",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "additionalHeaders" : {
            "label" : "additionalHeaders",
            "type" : "object"
          },
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "clientConfig" : {
            "label" : "clientConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              },
              "useCircuitBreaker" : {
                "label" : "useCircuitBreaker",
                "type" : "bool"
              },
              "retryInitialDelay" : {
                "label" : "retryInitialDelay",
                "type" : "number"
              },
              "cacheConnectionSettings" : {
                "label" : "cacheConnectionSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "queueSize" : {
                    "label" : "queueSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "queueSize" ]
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "callTimeout" : {
                "label" : "callTimeout",
                "type" : "number"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              },
              "globalTimeout" : {
                "label" : "globalTimeout",
                "type" : "number"
              },
              "maxErrors" : {
                "label" : "maxErrors",
                "type" : "number"
              },
              "retries" : {
                "label" : "retries",
                "type" : "number"
              },
              "backoffFactor" : {
                "label" : "backoffFactor",
                "type" : "number"
              },
              "customTimeouts" : {
                "label" : "customTimeouts",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "sampleInterval" : {
                "label" : "sampleInterval",
                "type" : "number"
              }
            },
            "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
          },
          "matchingRoot" : {
            "label" : "matchingRoot",
            "type" : "string"
          },
          "forceHttps" : {
            "label" : "forceHttps",
            "type" : "bool"
          },
          "localHost" : {
            "label" : "localHost",
            "type" : "string"
          },
          "sendOtoroshiHeadersBack" : {
            "label" : "sendOtoroshiHeadersBack",
            "type" : "bool"
          },
          "healthCheck" : {
            "label" : "healthCheck",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "url", "timeout" ]
          },
          "strictlyPrivate" : {
            "label" : "strictlyPrivate",
            "type" : "bool"
          },
          "detectApiKeySooner" : {
            "label" : "detectApiKeySooner",
            "type" : "bool"
          },
          "allowHttp10" : {
            "label" : "allowHttp10",
            "type" : "bool"
          },
          "subdomain" : {
            "label" : "subdomain",
            "type" : "string"
          },
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "stripPath" : {
            "label" : "stripPath",
            "type" : "bool"
          },
          "secComAlgoChallengeOtoToBack" : {
            "label" : "secComAlgoChallengeOtoToBack",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "apiKeyConstraints" : {
            "label" : "apiKeyConstraints",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "customHeadersAuth" : {
                "label" : "customHeadersAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "clientIdHeaderName" : {
                    "label" : "clientIdHeaderName",
                    "type" : "string"
                  },
                  "clientSecretHeaderName" : {
                    "label" : "clientSecretHeaderName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
              },
              "routing" : {
                "label" : "routing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "oneTagIn" : {
                    "label" : "oneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneMetaKeysIn" : {
                    "label" : "noneMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "oneMetaIn" : {
                    "label" : "oneMetaIn",
                    "type" : "object"
                  },
                  "oneMetaKeyIn" : {
                    "label" : "oneMetaKeyIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaKeysIn" : {
                    "label" : "allMetaKeysIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "noneTagIn" : {
                    "label" : "noneTagIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allTagsIn" : {
                    "label" : "allTagsIn",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allMetaIn" : {
                    "label" : "allMetaIn",
                    "type" : "object"
                  },
                  "noneMetaIn" : {
                    "label" : "noneMetaIn",
                    "type" : "object"
                  }
                },
                "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
              },
              "clientIdAuth" : {
                "label" : "clientIdAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              },
              "jwtAuth" : {
                "label" : "jwtAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "keyPairSigned" : {
                    "label" : "keyPairSigned",
                    "type" : "bool"
                  },
                  "cookieName" : {
                    "label" : "cookieName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "secretSigned" : {
                    "label" : "secretSigned",
                    "type" : "bool"
                  },
                  "maxJwtLifespanSecs" : {
                    "label" : "maxJwtLifespanSecs",
                    "type" : "string"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "includeRequestAttributes" : {
                    "label" : "includeRequestAttributes",
                    "type" : "bool"
                  }
                },
                "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
              },
              "basicAuth" : {
                "label" : "basicAuth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "headerName" : {
                    "label" : "headerName",
                    "type" : "string"
                  },
                  "queryName" : {
                    "label" : "queryName",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "headerName", "queryName" ]
              }
            },
            "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
          },
          "env" : {
            "label" : "env",
            "type" : "string"
          },
          "xForwardedHeaders" : {
            "label" : "xForwardedHeaders",
            "type" : "bool"
          },
          "transformerRefs" : {
            "label" : "transformerRefs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "gzip" : {
            "label" : "gzip",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "compressionLevel" : {
                "label" : "compressionLevel",
                "type" : "number"
              },
              "blackList" : {
                "label" : "blackList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "chunkedThreshold" : {
                "label" : "chunkedThreshold",
                "type" : "number"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "bufferSize" : {
                "label" : "bufferSize",
                "type" : "number"
              },
              "whiteList" : {
                "label" : "whiteList",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
          },
          "sendInfoToken" : {
            "label" : "sendInfoToken",
            "type" : "bool"
          },
          "tcpUdpTunneling" : {
            "label" : "tcpUdpTunneling",
            "type" : "bool"
          },
          "removeHeadersOut" : {
            "label" : "removeHeadersOut",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "removeHeadersIn" : {
            "label" : "removeHeadersIn",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "secComAlgoInfoToken" : {
            "label" : "secComAlgoInfoToken",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "userFacing" : {
            "label" : "userFacing",
            "type" : "bool"
          },
          "transformerConfig" : {
            "label" : "transformerConfig",
            "type" : "object"
          },
          "clientValidatorRef" : {
            "label" : "clientValidatorRef",
            "type" : "string"
          },
          "securityExcludedPatterns" : {
            "label" : "securityExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "ipAddress" : {
                "label" : "ipAddress",
                "type" : "string"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "scheme" : {
                "label" : "scheme",
                "type" : "string"
              }
            },
            "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
          },
          "redirection" : {
            "label" : "redirection",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "code" : {
                "label" : "code",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "code", "to" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "overrideHost" : {
            "label" : "overrideHost",
            "type" : "bool"
          },
          "accessValidator" : {
            "label" : "accessValidator",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "sendStateChallenge" : {
            "label" : "sendStateChallenge",
            "type" : "bool"
          },
          "chaosConfig" : {
            "label" : "chaosConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "badResponsesFaultConfig" : {
                "label" : "badResponsesFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "responses" : {
                    "label" : "responses",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "status" : {
                        "label" : "status",
                        "type" : "number"
                      },
                      "body" : {
                        "type" : "code",
                        "props" : {
                          "label" : "body",
                          "editorOnly" : true,
                          "mode" : "json"
                        }
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "status", "body", "headers" ]
                  }
                },
                "flow" : [ "ratio", "responses" ]
              },
              "largeRequestFaultConfig" : {
                "label" : "largeRequestFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalRequestSize" : {
                    "label" : "additionalRequestSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalRequestSize" ]
              },
              "largeResponseFaultConfig" : {
                "label" : "largeResponseFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "additionalResponseSize" : {
                    "label" : "additionalResponseSize",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "additionalResponseSize" ]
              },
              "latencyInjectionFaultConfig" : {
                "label" : "latencyInjectionFaultConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  },
                  "from" : {
                    "label" : "from",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "number"
                  }
                },
                "flow" : [ "ratio", "from", "to" ]
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
          },
          "secComInfoTokenVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComInfoTokenVersion",
              "options" : [ "Legacy", "Latest" ]
            }
          },
          "additionalHeadersOut" : {
            "label" : "additionalHeadersOut",
            "type" : "object"
          },
          "secComHeaders" : {
            "label" : "secComHeaders",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "claimRequestName" : {
                "label" : "claimRequestName",
                "type" : "string"
              },
              "stateRequestName" : {
                "label" : "stateRequestName",
                "type" : "string"
              },
              "stateResponseName" : {
                "label" : "stateResponseName",
                "type" : "string"
              }
            },
            "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
          },
          "matchingHeaders" : {
            "label" : "matchingHeaders",
            "type" : "object"
          },
          "secComAlgoChallengeBackToOto" : {
            "label" : "secComAlgoChallengeBackToOto",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "secComUseSameAlgo" : {
            "label" : "secComUseSameAlgo",
            "type" : "bool"
          },
          "useNewWSClient" : {
            "label" : "useNewWSClient",
            "type" : "bool"
          },
          "secComExcludedPatterns" : {
            "label" : "secComExcludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "redirectToLocal" : {
            "label" : "redirectToLocal",
            "type" : "bool"
          },
          "enforceSecureCommunication" : {
            "label" : "enforceSecureCommunication",
            "type" : "bool"
          },
          "missingOnlyHeadersOut" : {
            "label" : "missingOnlyHeadersOut",
            "type" : "object"
          },
          "secComSettings" : {
            "label" : "secComSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "handleLegacyDomain" : {
            "label" : "handleLegacyDomain",
            "type" : "bool"
          },
          "canary" : {
            "label" : "canary",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "traffic" : {
                "label" : "traffic",
                "type" : "number"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "traffic", "targets", "root" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "secComTtl" : {
            "label" : "secComTtl",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "secComVersion" : {
            "type" : "select",
            "props" : {
              "label" : "secComVersion",
              "options" : [ "V1", "v2" ]
            }
          },
          "preRouting" : {
            "label" : "preRouting",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "config" : {
                "label" : "config",
                "type" : "object"
              }
            },
            "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "privatePatterns" : {
            "label" : "privatePatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "targetsLoadBalancing" : {
            "label" : "targetsLoadBalancing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                }
              },
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              }
            },
            "flow" : [ "type", "ratio" ]
          },
          "cors" : {
            "label" : "cors",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "allowCredentials" : {
                "label" : "allowCredentials",
                "type" : "bool"
              },
              "maxAge" : {
                "label" : "maxAge",
                "type" : "string"
              },
              "allowMethods" : {
                "label" : "allowMethods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowHeaders" : {
                "label" : "allowHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exposeHeaders" : {
                "label" : "exposeHeaders",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allowOrigin" : {
                "label" : "allowOrigin",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "publicPatterns" : {
            "label" : "publicPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "api" : {
            "label" : "api",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "exposeApi" : {
                "label" : "exposeApi",
                "type" : "bool"
              },
              "openApiDescriptorUrl" : {
                "label" : "openApiDescriptorUrl",
                "type" : "string"
              }
            },
            "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
          },
          "missingOnlyHeadersIn" : {
            "label" : "missingOnlyHeadersIn",
            "type" : "object"
          },
          "issueCert" : {
            "label" : "issueCert",
            "type" : "bool"
          },
          "headersVerification" : {
            "label" : "headersVerification",
            "type" : "object"
          },
          "jwtVerifier" : {
            "label" : "jwtVerifier",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "global", "local", "ref" ]
                }
              },
              "desc" : {
                "label" : "desc",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "source" : {
                "label" : "source",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "strategy" : {
                "label" : "strategy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                    }
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "token" : {
                    "label" : "token",
                    "type" : "object"
                  },
                  "verificationSettings" : {
                    "label" : "verificationSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "fields" : {
                        "label" : "fields",
                        "type" : "object"
                      },
                      "arrayFields" : {
                        "label" : "arrayFields",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "fields", "arrayFields" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "transformSettings" : {
                    "label" : "transformSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "location" : {
                        "label" : "location",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                            }
                          },
                          "name" : {
                            "label" : "name",
                            "type" : "string"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "name", "remove" ]
                      },
                      "mappingSettings" : {
                        "label" : "mappingSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "map" : {
                            "label" : "map",
                            "type" : "object"
                          },
                          "values" : {
                            "label" : "values",
                            "type" : "object"
                          },
                          "remove" : {
                            "label" : "remove",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "map", "values", "remove" ]
                      }
                    },
                    "flow" : [ "location", "mappingSettings" ]
                  }
                },
                "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excludedPatterns" : {
                "label" : "excludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ids" : {
                "label" : "ids",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
          },
          "letsEncrypt" : {
            "label" : "letsEncrypt",
            "type" : "bool"
          }
        },
        "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "conf" : {
            "label" : "conf",
            "type" : "object"
          }
        },
        "flow" : [ "conf" ]
      }
    },
    "flow" : [ "id", "descriptor", "config" ]
  },
  "otoroshi.models.RedirectionSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "code" : {
        "label" : "code",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "string"
      }
    },
    "flow" : [ "to", "code", "enabled" ]
  },
  "otoroshi.ssl.ClientAuth" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.TransformSettings" : {
    "schema" : {
      "location" : {
        "label" : "location",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
            }
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "remove" : {
            "label" : "remove",
            "type" : "string"
          }
        },
        "flow" : [ "type", "name", "remove" ]
      },
      "mappingSettings" : {
        "label" : "mappingSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "map" : {
            "label" : "map",
            "type" : "object"
          },
          "values" : {
            "label" : "values",
            "type" : "object"
          },
          "remove" : {
            "label" : "remove",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "map", "values", "remove" ]
      }
    },
    "flow" : [ "location", "mappingSettings" ]
  },
  "otoroshi.greenscore.Rule" : {
    "schema" : {
      "sectionWeight" : {
        "label" : "sectionWeight",
        "type" : "number"
      },
      "advice" : {
        "label" : "advice",
        "type" : "string"
      },
      "weight" : {
        "label" : "weight",
        "type" : "number"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "id" : {
        "label" : "id",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "value" : {
            "label" : "value",
            "type" : "string"
          }
        },
        "flow" : [ "value" ]
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      }
    },
    "flow" : [ "description", "enabled", "weight", "advice", "sectionWeight", "id" ]
  },
  "otoroshi.next.plugins.MockField" : {
    "schema" : {
      "field_name" : {
        "label" : "field_name",
        "type" : "string"
      },
      "field_type" : {
        "label" : "field_type",
        "type" : "string"
      },
      "value" : {
        "label" : "value",
        "type" : "object"
      }
    },
    "flow" : [ "value", "field_type", "field_name" ]
  },
  "otoroshi.plugins.useragent.UserAgentInfoEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgJwtUserExtractorConfig" : {
    "schema" : {
      "meta_path" : {
        "label" : "meta_path",
        "type" : "string"
      },
      "strip" : {
        "label" : "strip",
        "type" : "bool"
      },
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "email_path" : {
        "label" : "email_path",
        "type" : "string"
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "name_path" : {
        "label" : "name_path",
        "type" : "string"
      }
    },
    "flow" : [ "name_path", "strict", "email_path", "verifier", "strip", "meta_path" ]
  },
  "otoroshi.plugins.biscuit.VerificationContext" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.RackMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "rack" : {
        "label" : "rack",
        "type" : "string"
      }
    },
    "flow" : [ "rack", "type" ]
  },
  "otoroshi.models.RouteCompositionIdentifier" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id" ]
  },
  "otoroshi.plugins.loggers.RequestBodyEvent" : {
    "schema" : {
      "ua" : {
        "label" : "ua",
        "type" : "string"
      },
      "reqId" : {
        "label" : "reqId",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "from" : {
        "label" : "from",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      }
    },
    "flow" : [ "method", "headers", "from", "url", "reqId", "ua" ]
  },
  "otoroshi.plugins.discovery.DiscoveryJobRegistrationId" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      }
    },
    "flow" : [ "id" ]
  },
  "otoroshi.plugins.composite.CompositePlugin" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.SecComVersion" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.MaxmindGeolocationSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "none", "maxmind", "ipstack" ]
        }
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      }
    },
    "flow" : [ "path", "enabled", "type" ]
  },
  "otoroshi.models.GoReplayFileSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "captureResponses" : {
        "label" : "captureResponses",
        "type" : "bool"
      },
      "preferBackendResponse" : {
        "label" : "preferBackendResponse",
        "type" : "bool"
      },
      "maxFileSize" : {
        "label" : "maxFileSize",
        "type" : "number"
      },
      "captureRequests" : {
        "label" : "captureRequests",
        "type" : "bool"
      },
      "preferBackendRequest" : {
        "label" : "preferBackendRequest",
        "type" : "bool"
      }
    },
    "flow" : [ "preferBackendRequest", "captureRequests", "maxFileSize", "preferBackendResponse", "captureResponses", "methods", "path", "type" ]
  },
  "Empty" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.AuthModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "basicAuth" : {
        "label" : "basicAuth",
        "type" : "bool"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "users" : {
        "label" : "users",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          },
          "webauthn" : {
            "label" : "webauthn",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "handle" : {
                "label" : "handle",
                "type" : "string"
              },
              "credentials" : {
                "label" : "credentials",
                "type" : "object"
              }
            },
            "flow" : [ "handle", "credentials" ]
          },
          "rights" : {
            "label" : "rights",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "rights" : {
                "label" : "rights",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canWrite", "value", "canRead" ]
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "canRead" : {
                        "label" : "canRead",
                        "type" : "bool"
                      },
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      },
                      "canWrite" : {
                        "label" : "canWrite",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "canRead", "value", "canWrite" ]
                  }
                },
                "flow" : [ "tenant", "teams" ]
              }
            },
            "flow" : [ "rights" ]
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          }
        },
        "flow" : [ "password", "tags", "email", "webauthn", "rights", "name", "metadata" ]
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "webauthn" : {
        "label" : "webauthn",
        "type" : "bool"
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      },
      "extraMetadata" : {
        "label" : "extraMetadata",
        "type" : "object"
      },
      "rightsOverride" : {
        "label" : "rightsOverride",
        "type" : "object"
      },
      "clientId" : {
        "label" : "clientId",
        "type" : "string"
      },
      "otoroshiRightsField" : {
        "label" : "otoroshiRightsField",
        "type" : "string"
      },
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "accessTokenField" : {
        "label" : "accessTokenField",
        "type" : "string"
      },
      "superAdmins" : {
        "label" : "superAdmins",
        "type" : "bool"
      },
      "refreshTokens" : {
        "label" : "refreshTokens",
        "type" : "bool"
      },
      "loginUrl" : {
        "label" : "loginUrl",
        "type" : "string"
      },
      "apiKeyTagsField" : {
        "label" : "apiKeyTagsField",
        "type" : "string"
      },
      "otoroshiDataField" : {
        "label" : "otoroshiDataField",
        "type" : "string"
      },
      "emailField" : {
        "label" : "emailField",
        "type" : "string"
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "tokenUrl" : {
        "label" : "tokenUrl",
        "type" : "string"
      },
      "useCookie" : {
        "label" : "useCookie",
        "type" : "bool"
      },
      "pkce" : {
        "label" : "pkce",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "algorithm" : {
            "label" : "algorithm",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "algorithm" ]
      },
      "authorizeUrl" : {
        "label" : "authorizeUrl",
        "type" : "string"
      },
      "callbackUrl" : {
        "label" : "callbackUrl",
        "type" : "string"
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "apiKeyMetaField" : {
        "label" : "apiKeyMetaField",
        "type" : "string"
      },
      "clientSecret" : {
        "label" : "clientSecret",
        "type" : "string"
      },
      "useJson" : {
        "label" : "useJson",
        "type" : "bool"
      },
      "oidConfig" : {
        "label" : "oidConfig",
        "type" : "string"
      },
      "claims" : {
        "label" : "claims",
        "type" : "string"
      },
      "noWildcardRedirectURI" : {
        "label" : "noWildcardRedirectURI",
        "type" : "bool"
      },
      "nameField" : {
        "label" : "nameField",
        "type" : "string"
      },
      "introspectionUrl" : {
        "label" : "introspectionUrl",
        "type" : "string"
      },
      "logoutUrl" : {
        "label" : "logoutUrl",
        "type" : "string"
      },
      "dataOverride" : {
        "label" : "dataOverride",
        "type" : "object"
      },
      "userInfoUrl" : {
        "label" : "userInfoUrl",
        "type" : "string"
      },
      "jwtVerifier" : {
        "label" : "jwtVerifier",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "readProfileFromToken" : {
        "label" : "readProfileFromToken",
        "type" : "bool"
      },
      "allowEmptyPassword" : {
        "label" : "allowEmptyPassword",
        "type" : "bool"
      },
      "groupFilters" : {
        "label" : "groupFilters",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "group" : {
            "label" : "group",
            "type" : "string"
          },
          "tenant" : {
            "label" : "tenant",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "canWrite" : {
                "label" : "canWrite",
                "type" : "bool"
              },
              "value" : {
                "label" : "value",
                "type" : "string"
              },
              "canRead" : {
                "label" : "canRead",
                "type" : "bool"
              }
            },
            "flow" : [ "canWrite", "value", "canRead" ]
          },
          "team" : {
            "label" : "team",
            "type" : "string"
          }
        },
        "flow" : [ "group", "tenant", "team" ]
      },
      "serverUrls" : {
        "label" : "serverUrls",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "searchBase" : {
        "label" : "searchBase",
        "type" : "string"
      },
      "groupRights" : {
        "label" : "groupRights",
        "type" : "object"
      },
      "metadataField" : {
        "label" : "metadataField",
        "type" : "string"
      },
      "searchFilter" : {
        "label" : "searchFilter",
        "type" : "string"
      },
      "adminUsername" : {
        "label" : "adminUsername",
        "type" : "string"
      },
      "extractProfileFilter" : {
        "label" : "extractProfileFilter",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "userBase" : {
        "label" : "userBase",
        "type" : "string"
      },
      "adminPassword" : {
        "label" : "adminPassword",
        "type" : "string"
      },
      "extractProfileFilterNot" : {
        "label" : "extractProfileFilterNot",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "extractProfile" : {
        "label" : "extractProfile",
        "type" : "bool"
      },
      "accessTokenURL" : {
        "label" : "accessTokenURL",
        "type" : "string"
      },
      "authorizeURL" : {
        "label" : "authorizeURL",
        "type" : "string"
      },
      "consumerKey" : {
        "label" : "consumerKey",
        "type" : "string"
      },
      "callbackURL" : {
        "label" : "callbackURL",
        "type" : "string"
      },
      "profileURL" : {
        "label" : "profileURL",
        "type" : "string"
      },
      "httpMethod" : {
        "label" : "httpMethod",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "requestTokenURL" : {
        "label" : "requestTokenURL",
        "type" : "string"
      },
      "consumerSecret" : {
        "label" : "consumerSecret",
        "type" : "string"
      },
      "ssoProtocolBinding" : {
        "label" : "ssoProtocolBinding",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "emailAttributeName" : {
        "label" : "emailAttributeName",
        "type" : "string"
      },
      "validatingCertificates" : {
        "label" : "validatingCertificates",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "singleLogoutProtocolBinding" : {
        "label" : "singleLogoutProtocolBinding",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "issuer" : {
        "label" : "issuer",
        "type" : "string"
      },
      "signature" : {
        "label" : "signature",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "algorithm" : {
            "label" : "algorithm",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "canocalizationMethod" : {
            "label" : "canocalizationMethod",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "algorithm", "canocalizationMethod" ]
      },
      "singleLogoutUrl" : {
        "label" : "singleLogoutUrl",
        "type" : "string"
      },
      "usedNameIDAsEmail" : {
        "label" : "usedNameIDAsEmail",
        "type" : "bool"
      },
      "singleSignOnUrl" : {
        "label" : "singleSignOnUrl",
        "type" : "string"
      },
      "validateAssertions" : {
        "label" : "validateAssertions",
        "type" : "bool"
      },
      "nameIDFormat" : {
        "label" : "nameIDFormat",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "validateSignature" : {
        "label" : "validateSignature",
        "type" : "bool"
      },
      "credentials" : {
        "label" : "credentials",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "signingKey" : {
            "label" : "signingKey",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "useOtoroshiCertificate" : {
                "label" : "useOtoroshiCertificate",
                "type" : "bool"
              }
            },
            "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
          },
          "encryptionKey" : {
            "label" : "encryptionKey",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "useOtoroshiCertificate" : {
                "label" : "useOtoroshiCertificate",
                "type" : "bool"
              }
            },
            "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
          },
          "signedDocuments" : {
            "label" : "signedDocuments",
            "type" : "bool"
          },
          "encryptedAssertions" : {
            "label" : "encryptedAssertions",
            "type" : "bool"
          }
        },
        "flow" : [ "signingKey", "encryptionKey", "signedDocuments", "encryptedAssertions" ]
      }
    },
    "flow" : [ "validateSignature", "validateAssertions", "singleSignOnUrl", "usedNameIDAsEmail", "singleLogoutUrl", "issuer", "validatingCertificates", "emailAttributeName", "consumerSecret", "requestTokenURL", "profileURL", "callbackURL", "consumerKey", "authorizeURL", "accessTokenURL", "extractProfile", "extractProfileFilterNot", "adminPassword", "userBase", "extractProfileFilter", "adminUsername", "searchFilter", "metadataField", "groupRights", "searchBase", "serverUrls", "groupFilters", "allowEmptyPassword", "readProfileFromToken", "userInfoUrl", "dataOverride", "logoutUrl", "introspectionUrl", "nameField", "noWildcardRedirectURI", "claims", "oidConfig", "useJson", "clientSecret", "apiKeyMetaField", "callbackUrl", "authorizeUrl", "useCookie", "tokenUrl", "emailField", "otoroshiDataField", "apiKeyTagsField", "loginUrl", "refreshTokens", "superAdmins", "accessTokenField", "scope", "otoroshiRightsField", "clientId", "rightsOverride", "extraMetadata", "metadata", "id", "userValidators", "webauthn", "sessionMaxAge", "users", "tags", "basicAuth", "clientSideSessionEnabled", "name", "desc", "type", "_loc", "sessionCookieValues", "mtlsConfig", "pkce", "proxy", "jwtVerifier", "httpMethod", "ssoProtocolBinding", "singleLogoutProtocolBinding", "signature", "nameIDFormat", "credentials" ]
  },
  "otoroshi.next.plugins.JQResponse" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.next.plugins.NgResponseCache" : {
    "schema" : {
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "max_size" : {
        "label" : "max_size",
        "type" : "number"
      },
      "auto_clean" : {
        "label" : "auto_clean",
        "type" : "bool"
      },
      "filter" : {
        "label" : "filter",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "paths" : {
            "label" : "paths",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "methods" : {
            "label" : "methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "not_methods" : {
            "label" : "not_methods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "not_paths" : {
            "label" : "not_paths",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "paths", "methods", "not_methods", "not_paths" ]
      }
    },
    "flow" : [ "auto_clean", "max_size", "ttl", "filter" ]
  },
  "otoroshi.next.models.GraphQLFormats" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgMatchedRoutes" : {
    "schema" : {
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          }
        },
        "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend", "metadata" ]
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "no_more_segments" : {
        "label" : "no_more_segments",
        "type" : "bool"
      }
    },
    "flow" : [ "no_more_segments", "path", "routes" ]
  },
  "otoroshi.next.models.NgCacheConnectionSettings" : {
    "schema" : {
      "queue_size" : {
        "label" : "queue_size",
        "type" : "number"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "queue_size" ]
  },
  "otoroshi.plugins.authcallers.OAuth2Kind" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmRouter" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.next.plugins.NgJwtVerificationOnlyConfig" : {
    "schema" : {
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "fail_if_absent" : {
        "label" : "fail_if_absent",
        "type" : "bool"
      }
    },
    "flow" : [ "fail_if_absent", "verifier" ]
  },
  "otoroshi.next.plugins.NgChaosConfig" : {
    "schema" : {
      "large_request_fault_config" : {
        "label" : "large_request_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additional_request_size" : {
            "label" : "additional_request_size",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additional_request_size" ]
      },
      "large_response_fault_config" : {
        "label" : "large_response_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "additional_response_size" : {
            "label" : "additional_response_size",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "additional_response_size" ]
      },
      "latency_injection_fault_config" : {
        "label" : "latency_injection_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          }
        },
        "flow" : [ "ratio", "from", "to" ]
      },
      "bad_responses_fault_config" : {
        "label" : "bad_responses_fault_config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          },
          "responses" : {
            "label" : "responses",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "status" : {
                "label" : "status",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "body" : {
                "type" : "code",
                "props" : {
                  "label" : "body",
                  "editorOnly" : true,
                  "mode" : "json"
                }
              }
            },
            "flow" : [ "status", "body", "headers" ]
          }
        },
        "flow" : [ "ratio", "responses" ]
      }
    },
    "flow" : [ "large_request_fault_config", "large_response_fault_config", "latency_injection_fault_config", "bad_responses_fault_config" ]
  },
  "otoroshi.next.plugins.HMACValidatorConfig" : {
    "schema" : {
      "secret" : {
        "label" : "secret",
        "type" : "string"
      }
    },
    "flow" : [ "secret" ]
  },
  "otoroshi.models.NoneGeolocationSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "none" ]
        }
      }
    },
    "flow" : [ "type" ]
  },
  "otoroshi.next.plugins.NgErrorRewriterConfig" : {
    "schema" : {
      "ranges" : {
        "label" : "ranges",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          }
        },
        "flow" : [ "from", "to" ]
      },
      "templates" : {
        "label" : "templates",
        "type" : "object"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      },
      "export" : {
        "label" : "export",
        "type" : "bool"
      }
    },
    "flow" : [ "export", "log", "templates", "ranges" ]
  },
  "otoroshi.next.plugins.XmlToJsonRequest" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "ErrorResponse" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.accesslog.KafkaAccessLog" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.metrics.PrometheusSupport" : {
    "schema" : { },
    "flow" : [ ]
  },
  "ServiceFromOpenApiBody" : {
    "schema" : {
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "openapi" : {
        "label" : "openapi",
        "type" : "string"
      }
    },
    "flow" : [ "openapi", "domain" ]
  },
  "otoroshi.next.plugins.JsonToXmlResponse" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.next.plugins.StaticBackend" : {
    "schema" : {
      "root_path" : {
        "label" : "root_path",
        "type" : "string"
      }
    },
    "flow" : [ "root_path" ]
  },
  "otoroshi.models.ErrorTemplate" : {
    "schema" : {
      "template50x" : {
        "label" : "template50x",
        "type" : "string"
      },
      "templateMaintenance" : {
        "label" : "templateMaintenance",
        "type" : "string"
      },
      "templateBuild" : {
        "label" : "templateBuild",
        "type" : "string"
      },
      "serviceId" : {
        "label" : "serviceId",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "messages" : {
        "label" : "messages",
        "type" : "object"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "template40x" : {
        "label" : "template40x",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      }
    },
    "flow" : [ "description", "tags", "template40x", "name", "messages", "metadata", "serviceId", "templateBuild", "templateMaintenance", "template50x", "_loc" ]
  },
  "otoroshi.plugins.oidc.OIDCHeaders" : {
    "schema" : { },
    "flow" : [ ]
  },
  "BulkResponseBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.wasm.WasmAuthorizations" : {
    "schema" : {
      "proxyStateAccess" : {
        "label" : "proxyStateAccess",
        "type" : "bool"
      },
      "httpAccess" : {
        "label" : "httpAccess",
        "type" : "bool"
      },
      "globalMapAccess" : {
        "label" : "globalMapAccess",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "read" : {
            "label" : "read",
            "type" : "bool"
          },
          "write" : {
            "label" : "write",
            "type" : "bool"
          }
        },
        "flow" : [ "read", "write" ]
      },
      "pluginDataStoreAccess" : {
        "label" : "pluginDataStoreAccess",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "read" : {
            "label" : "read",
            "type" : "bool"
          },
          "write" : {
            "label" : "write",
            "type" : "bool"
          }
        },
        "flow" : [ "read", "write" ]
      },
      "pluginMapAccess" : {
        "label" : "pluginMapAccess",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "read" : {
            "label" : "read",
            "type" : "bool"
          },
          "write" : {
            "label" : "write",
            "type" : "bool"
          }
        },
        "flow" : [ "read", "write" ]
      },
      "proxyHttpCallTimeout" : {
        "label" : "proxyHttpCallTimeout",
        "type" : "number"
      },
      "configurationAccess" : {
        "label" : "configurationAccess",
        "type" : "bool"
      },
      "globalDataStoreAccess" : {
        "label" : "globalDataStoreAccess",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "read" : {
            "label" : "read",
            "type" : "bool"
          },
          "write" : {
            "label" : "write",
            "type" : "bool"
          }
        },
        "flow" : [ "read", "write" ]
      }
    },
    "flow" : [ "configurationAccess", "proxyHttpCallTimeout", "httpAccess", "proxyStateAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "globalDataStoreAccess" ]
  },
  "otoroshi.models.ApiKeyRouteMatcher" : {
    "schema" : {
      "oneTagIn" : {
        "label" : "oneTagIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "noneMetaKeysIn" : {
        "label" : "noneMetaKeysIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "oneMetaIn" : {
        "label" : "oneMetaIn",
        "type" : "object"
      },
      "oneMetaKeyIn" : {
        "label" : "oneMetaKeyIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allMetaKeysIn" : {
        "label" : "allMetaKeysIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "noneTagIn" : {
        "label" : "noneTagIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allTagsIn" : {
        "label" : "allTagsIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allMetaIn" : {
        "label" : "allMetaIn",
        "type" : "object"
      },
      "noneMetaIn" : {
        "label" : "noneMetaIn",
        "type" : "object"
      }
    },
    "flow" : [ "noneMetaIn", "allMetaIn", "allTagsIn", "noneTagIn", "allMetaKeysIn", "oneMetaKeyIn", "oneMetaIn", "noneMetaKeysIn", "oneTagIn" ]
  },
  "otoroshi.controllers.ServiceLike" : {
    "schema" : {
      "entity" : {
        "label" : "entity",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "groups" : {
        "label" : "groups",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "groups", "entity" ]
  },
  "otoroshi.next.plugins.GlobalMaintenanceMode" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingHttpValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgMaxMindGeolocationInfoExtractorConfig" : {
    "schema" : {
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log", "path" ]
  },
  "otoroshi.models.UserAgentSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled" ]
  },
  "otoroshi.next.plugins.NgApikeyMatcher" : {
    "schema" : {
      "none_meta_keys_in" : {
        "label" : "none_meta_keys_in",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "all_meta_keys_in" : {
        "label" : "all_meta_keys_in",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "all_meta_in" : {
        "label" : "all_meta_in",
        "type" : "object"
      },
      "none_meta_in" : {
        "label" : "none_meta_in",
        "type" : "object"
      },
      "one_tag_in" : {
        "label" : "one_tag_in",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "one_meta_in" : {
        "label" : "one_meta_in",
        "type" : "object"
      },
      "all_tags_in" : {
        "label" : "all_tags_in",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "one_meta_key_in" : {
        "label" : "one_meta_key_in",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "none_tag_in" : {
        "label" : "none_tag_in",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "none_tag_in", "one_meta_key_in", "all_tags_in", "one_meta_in", "enabled", "one_tag_in", "none_meta_in", "all_meta_in", "all_meta_keys_in", "none_meta_keys_in" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesCertSyncJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ExporterRef" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "ref" : {
        "label" : "ref",
        "type" : "string"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      }
    },
    "flow" : [ "config", "ref", "type" ]
  },
  "otoroshi.models.ApiKey" : {
    "schema" : {
      "dailyQuota" : {
        "label" : "dailyQuota",
        "type" : "number"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "throttlingQuota" : {
        "label" : "throttlingQuota",
        "type" : "number"
      },
      "constrainedServicesOnly" : {
        "label" : "constrainedServicesOnly",
        "type" : "bool"
      },
      "allowClientIdOnly" : {
        "label" : "allowClientIdOnly",
        "type" : "bool"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "restrictions" : {
        "label" : "restrictions",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "forbidden" : {
            "label" : "forbidden",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "allowed" : {
            "label" : "allowed",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "notFound" : {
            "label" : "notFound",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "allowLast" : {
            "label" : "allowLast",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "readOnly" : {
        "label" : "readOnly",
        "type" : "bool"
      },
      "clientSecret" : {
        "label" : "clientSecret",
        "type" : "string"
      },
      "validUntil" : {
        "label" : "validUntil",
        "type" : "string"
      },
      "clientName" : {
        "label" : "clientName",
        "type" : "string"
      },
      "monthlyQuota" : {
        "label" : "monthlyQuota",
        "type" : "number"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "rotation" : {
        "label" : "rotation",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "rotationEvery" : {
            "label" : "rotationEvery",
            "type" : "number"
          },
          "gracePeriod" : {
            "label" : "gracePeriod",
            "type" : "number"
          },
          "nextSecret" : {
            "label" : "nextSecret",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
      },
      "authorizedEntities" : {
        "label" : "authorizedEntities",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "clientId" : {
        "label" : "clientId",
        "type" : "string"
      }
    },
    "flow" : [ "clientId", "authorizedEntities", "description", "monthlyQuota", "clientName", "validUntil", "clientSecret", "readOnly", "enabled", "tags", "allowClientIdOnly", "constrainedServicesOnly", "throttlingQuota", "metadata", "dailyQuota", "_loc", "restrictions", "rotation" ]
  },
  "otoroshi.next.plugins.ExternalEurekaTarget" : {
    "schema" : {
      "eureka_server" : {
        "label" : "eureka_server",
        "type" : "string"
      },
      "eureka_app" : {
        "label" : "eureka_app",
        "type" : "string"
      }
    },
    "flow" : [ "eureka_app", "eureka_server" ]
  },
  "ByteStreamBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgHtmlPatcherConfig" : {
    "schema" : {
      "append_head" : {
        "label" : "append_head",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "append_body" : {
        "label" : "append_body",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "append_body", "append_head" ]
  },
  "otoroshi.models.GeolocationMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "positions" : {
        "label" : "positions",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "latitude" : {
            "label" : "latitude",
            "type" : "number"
          },
          "longitude" : {
            "label" : "longitude",
            "type" : "number"
          },
          "radius" : {
            "label" : "radius",
            "type" : "number"
          }
        },
        "flow" : [ "latitude", "longitude", "radius" ]
      }
    },
    "flow" : [ "positions", "type" ]
  },
  "otoroshi.next.plugins.HMACValidator" : {
    "schema" : {
      "secret" : {
        "label" : "secret",
        "type" : "string"
      }
    },
    "flow" : [ "secret" ]
  },
  "otoroshi.next.plugins.MockResponse" : {
    "schema" : {
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      },
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers", "method", "status", "body", "path" ]
  },
  "otoroshi.next.plugins.JsonToXmlRequest" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "BulkBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgPublicPrivatePathsConfig" : {
    "schema" : {
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "strict" ]
  },
  "otoroshi.next.plugins.NgBadResponsesFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "responses" : {
        "label" : "responses",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "status" : {
            "label" : "status",
            "type" : "number"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "body" : {
            "type" : "code",
            "props" : {
              "label" : "body",
              "editorOnly" : true,
              "mode" : "json"
            }
          }
        },
        "flow" : [ "status", "body", "headers" ]
      }
    },
    "flow" : [ "responses", "ratio" ]
  },
  "Null" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.ExternalEurekaTargetConfig" : {
    "schema" : {
      "service_url_default_zone" : {
        "label" : "service_url_default_zone",
        "type" : "string"
      },
      "eureka_app" : {
        "label" : "eureka_app",
        "type" : "string"
      }
    },
    "flow" : [ "eureka_app", "service_url_default_zone" ]
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationSink" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.next.plugins.CanaryMode" : {
    "schema" : {
      "traffic" : {
        "label" : "traffic",
        "type" : "number"
      },
      "root" : {
        "label" : "root",
        "type" : "string"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "ip_address" : {
            "label" : "ip_address",
            "type" : "string"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "tls_config" : {
            "label" : "tls_config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trust_all" : {
                "label" : "trust_all",
                "type" : "bool"
              },
              "trusted_certs" : {
                "label" : "trusted_certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          }
        },
        "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
      }
    },
    "flow" : [ "targets", "root", "traffic" ]
  },
  "otoroshi.plugins.geoloc.GeolocationInfoEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.S3Backend" : {
    "schema" : {
      "writeEvery" : {
        "label" : "writeEvery",
        "type" : "number"
      },
      "chunkSize" : {
        "label" : "chunkSize",
        "type" : "number"
      },
      "bucket" : {
        "label" : "bucket",
        "type" : "string"
      },
      "key" : {
        "label" : "key",
        "type" : "string"
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "v4auth" : {
        "label" : "v4auth",
        "type" : "bool"
      },
      "access" : {
        "label" : "access",
        "type" : "string"
      },
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "region" : {
        "label" : "region",
        "type" : "string"
      }
    },
    "flow" : [ "region", "secret", "access", "v4auth", "endpoint", "key", "bucket", "chunkSize", "writeEvery" ]
  },
  "otoroshi.next.plugins.NgRestrictions" : {
    "schema" : {
      "allow_last" : {
        "label" : "allow_last",
        "type" : "bool"
      },
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "forbidden" : {
        "label" : "forbidden",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "not_found" : {
        "label" : "not_found",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      }
    },
    "flow" : [ "not_found", "forbidden", "allowed", "allow_last" ]
  },
  "otoroshi.next.plugins.BuildMode" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.HSAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "base64" : {
        "label" : "base64",
        "type" : "bool"
      }
    },
    "flow" : [ "base64", "secret", "size", "type" ]
  },
  "otoroshi.models.InQueryParam" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
        }
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      }
    },
    "flow" : [ "name", "type" ]
  },
  "otoroshi.next.plugins.NgRedirectionSettings" : {
    "schema" : {
      "code" : {
        "label" : "code",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "string"
      }
    },
    "flow" : [ "to", "code" ]
  },
  "otoroshi.next.plugins.NgHttpClientCacheConfig" : {
    "schema" : {
      "max_age_seconds" : {
        "label" : "max_age_seconds",
        "type" : "number"
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mime_types" : {
        "label" : "mime_types",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "mime_types", "methods", "max_age_seconds" ]
  },
  "otoroshi.next.models.NgSelectedBackendTarget" : {
    "schema" : {
      "target" : {
        "label" : "target",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "ip_address" : {
            "label" : "ip_address",
            "type" : "string"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "tls_config" : {
            "label" : "tls_config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trust_all" : {
                "label" : "trust_all",
                "type" : "bool"
              },
              "trusted_certs" : {
                "label" : "trusted_certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          }
        },
        "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
      },
      "attempts" : {
        "label" : "attempts",
        "type" : "number"
      },
      "cb_start" : {
        "label" : "cb_start",
        "type" : "number"
      }
    },
    "flow" : [ "cb_start", "attempts", "target" ]
  },
  "otoroshi.next.plugins.NgIpStackGeolocationInfoExtractorConfig" : {
    "schema" : {
      "apikey" : {
        "label" : "apikey",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      }
    },
    "flow" : [ "log", "timeout", "apikey" ]
  },
  "otoroshi.next.plugins.NgAuthModuleUserExtractorConfig" : {
    "schema" : {
      "module" : {
        "label" : "module",
        "type" : "string"
      }
    },
    "flow" : [ "module" ]
  },
  "otoroshi.models.JWKSAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "tlsConfig" : {
        "label" : "tlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "kty" : {
        "label" : "kty",
        "type" : "string"
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      }
    },
    "flow" : [ "timeout", "ttl", "headers", "kty", "url", "type", "tlsConfig", "proxy" ]
  },
  "otoroshi.next.plugins.NgHasAllowedUsersValidatorConfig" : {
    "schema" : {
      "profile_not_match" : {
        "label" : "profile_not_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "profile_match" : {
        "label" : "profile_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "email_domains" : {
        "label" : "email_domains",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "usernames" : {
        "label" : "usernames",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata_match" : {
        "label" : "metadata_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata_not_match" : {
        "label" : "metadata_not_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "emails" : {
        "label" : "emails",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "emails", "metadata_not_match", "metadata_match", "usernames", "email_domains", "profile_match", "profile_not_match" ]
  },
  "otoroshi.next.plugins.NgDiscoverySelfRegistrationTransformer" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.next.plugins.NgApikeyExtractorJwt" : {
    "schema" : {
      "cookie_name" : {
        "label" : "cookie_name",
        "type" : "string"
      },
      "key_pair_signed" : {
        "label" : "key_pair_signed",
        "type" : "bool"
      },
      "query_name" : {
        "label" : "query_name",
        "type" : "string"
      },
      "secret_signed" : {
        "label" : "secret_signed",
        "type" : "bool"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "include_request_attrs" : {
        "label" : "include_request_attrs",
        "type" : "bool"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name", "include_request_attrs", "enabled", "secret_signed", "query_name", "key_pair_signed", "cookie_name" ]
  },
  "otoroshi.next.plugins.GraphQLQuery" : {
    "schema" : {
      "response_path" : {
        "label" : "response_path",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "response_filter" : {
        "label" : "response_filter",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "query" : {
        "label" : "query",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      }
    },
    "flow" : [ "method", "query", "timeout", "headers", "response_filter", "url", "response_path" ]
  },
  "otoroshi.next.plugins.AdditionalHeadersIn" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.next.plugins.NgApikeyExtractorBasic" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "query_name" : {
        "label" : "query_name",
        "type" : "string"
      }
    },
    "flow" : [ "query_name", "header_name", "enabled" ]
  },
  "otoroshi.models.TenantAccess" : {
    "schema" : {
      "canWrite" : {
        "label" : "canWrite",
        "type" : "bool"
      },
      "value" : {
        "label" : "value",
        "type" : "string"
      },
      "canRead" : {
        "label" : "canRead",
        "type" : "bool"
      }
    },
    "flow" : [ "canRead", "value", "canWrite" ]
  },
  "otoroshi.models.BadResponsesFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "responses" : {
        "label" : "responses",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "status" : {
            "label" : "status",
            "type" : "number"
          },
          "body" : {
            "type" : "code",
            "props" : {
              "label" : "body",
              "editorOnly" : true,
              "mode" : "json"
            }
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          }
        },
        "flow" : [ "status", "body", "headers" ]
      }
    },
    "flow" : [ "responses", "ratio" ]
  },
  "otoroshi.next.plugins.NgDefaultRequestBody" : {
    "schema" : {
      "content_type" : {
        "label" : "content_type",
        "type" : "string"
      },
      "content_encoding" : {
        "label" : "content_encoding",
        "type" : "string"
      }
    },
    "flow" : [ "content_encoding", "content_type" ]
  },
  "otoroshi.next.plugins.NgDiscoveryTargetsSelector" : {
    "schema" : {
      "raw" : {
        "type" : "code",
        "props" : {
          "label" : "raw",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "raw" ]
  },
  "otoroshi.next.plugins.NgIzanamiV1Proxy" : {
    "schema" : {
      "features_enabled" : {
        "label" : "features_enabled",
        "type" : "bool"
      },
      "client_secret" : {
        "label" : "client_secret",
        "type" : "string"
      },
      "features_with_context_enabled" : {
        "label" : "features_with_context_enabled",
        "type" : "bool"
      },
      "config_pattern" : {
        "label" : "config_pattern",
        "type" : "string"
      },
      "feature_pattern" : {
        "label" : "feature_pattern",
        "type" : "string"
      },
      "client_id" : {
        "label" : "client_id",
        "type" : "string"
      },
      "tls" : {
        "label" : "tls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "izanami_url" : {
        "label" : "izanami_url",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "auto_context" : {
        "label" : "auto_context",
        "type" : "bool"
      },
      "configuration_enabled" : {
        "label" : "configuration_enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "configuration_enabled", "auto_context", "path", "timeout", "izanami_url", "client_id", "feature_pattern", "config_pattern", "features_with_context_enabled", "client_secret", "features_enabled", "tls" ]
  },
  "otoroshi.next.models.StoredNgBackendDataStore" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.loggers.BodyLogger" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.PublicPrivatePaths" : {
    "schema" : {
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "public_patterns" : {
        "label" : "public_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "private_patterns" : {
        "label" : "private_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "private_patterns", "public_patterns", "strict" ]
  },
  "otoroshi.script.AccessValidatorRef" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "refs" : {
        "label" : "refs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      }
    },
    "flow" : [ "config", "refs", "excludedPatterns", "enabled" ]
  },
  "otoroshi.next.plugins.NgApikeyCallsConfig" : {
    "schema" : {
      "mandatory" : {
        "label" : "mandatory",
        "type" : "bool"
      },
      "extractors" : {
        "label" : "extractors",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "basic" : {
            "label" : "basic",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "header_name", "query_name" ]
          },
          "custom_headers" : {
            "label" : "custom_headers",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "client_id_header_name" : {
                "label" : "client_id_header_name",
                "type" : "string"
              },
              "client_secret_header_name" : {
                "label" : "client_secret_header_name",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "client_id_header_name", "client_secret_header_name" ]
          },
          "client_id" : {
            "label" : "client_id",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "header_name", "query_name", "enabled" ]
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "cookie_name" : {
                "label" : "cookie_name",
                "type" : "string"
              },
              "key_pair_signed" : {
                "label" : "key_pair_signed",
                "type" : "bool"
              },
              "query_name" : {
                "label" : "query_name",
                "type" : "string"
              },
              "secret_signed" : {
                "label" : "secret_signed",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "include_request_attrs" : {
                "label" : "include_request_attrs",
                "type" : "bool"
              },
              "header_name" : {
                "label" : "header_name",
                "type" : "string"
              }
            },
            "flow" : [ "cookie_name", "key_pair_signed", "query_name", "secret_signed", "enabled", "include_request_attrs", "header_name" ]
          }
        },
        "flow" : [ "basic", "custom_headers", "client_id", "jwt" ]
      },
      "pass_with_user" : {
        "label" : "pass_with_user",
        "type" : "bool"
      },
      "wipe_backend_request" : {
        "label" : "wipe_backend_request",
        "type" : "bool"
      },
      "validate" : {
        "label" : "validate",
        "type" : "bool"
      },
      "routing" : {
        "label" : "routing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "none_meta_keys_in" : {
            "label" : "none_meta_keys_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "all_meta_keys_in" : {
            "label" : "all_meta_keys_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "all_meta_in" : {
            "label" : "all_meta_in",
            "type" : "object"
          },
          "none_meta_in" : {
            "label" : "none_meta_in",
            "type" : "object"
          },
          "one_tag_in" : {
            "label" : "one_tag_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "one_meta_in" : {
            "label" : "one_meta_in",
            "type" : "object"
          },
          "all_tags_in" : {
            "label" : "all_tags_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "one_meta_key_in" : {
            "label" : "one_meta_key_in",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "none_tag_in" : {
            "label" : "none_tag_in",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "none_meta_keys_in", "all_meta_keys_in", "all_meta_in", "none_meta_in", "one_tag_in", "enabled", "one_meta_in", "all_tags_in", "one_meta_key_in", "none_tag_in" ]
      },
      "update_quotas" : {
        "label" : "update_quotas",
        "type" : "bool"
      }
    },
    "flow" : [ "update_quotas", "validate", "wipe_backend_request", "pass_with_user", "mandatory", "extractors", "routing" ]
  },
  "otoroshi.next.plugins.BiscuitConf" : {
    "schema" : {
      "privkey" : {
        "label" : "privkey",
        "type" : "string"
      },
      "checks" : {
        "label" : "checks",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "facts" : {
        "label" : "facts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rules" : {
        "label" : "rules",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "rules", "facts", "checks", "privkey" ]
  },
  "otoroshi.next.plugins.NgCorsSettings" : {
    "schema" : {
      "allow_credentials" : {
        "label" : "allow_credentials",
        "type" : "bool"
      },
      "max_age" : {
        "label" : "max_age",
        "type" : "string"
      },
      "allow_origin" : {
        "label" : "allow_origin",
        "type" : "string"
      },
      "allow_methods" : {
        "label" : "allow_methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "excluded_patterns" : {
        "label" : "excluded_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allow_headers" : {
        "label" : "allow_headers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "expose_headers" : {
        "label" : "expose_headers",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "expose_headers", "allow_headers", "excluded_patterns", "allow_methods", "allow_origin", "max_age", "allow_credentials" ]
  },
  "otoroshi.plugins.biscuit.BiscuitConfig" : {
    "schema" : {
      "facts" : {
        "label" : "facts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "resources" : {
        "label" : "resources",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enforce" : {
        "label" : "enforce",
        "type" : "bool"
      },
      "extractorName" : {
        "label" : "extractorName",
        "type" : "string"
      },
      "checks" : {
        "label" : "checks",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "extractor" : {
        "label" : "extractor",
        "type" : "string"
      },
      "revocation_ids" : {
        "label" : "revocation_ids",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rules" : {
        "label" : "rules",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "rules", "revocation_ids", "extractor", "checks", "extractorName", "enforce", "resources", "publicKey", "facts" ]
  },
  "otoroshi.utils.mailer.MailjetSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "apiKeyPublic" : {
        "label" : "apiKeyPublic",
        "type" : "string"
      },
      "apiKeyPrivate" : {
        "label" : "apiKeyPrivate",
        "type" : "string"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      }
    },
    "flow" : [ "to", "apiKeyPrivate", "apiKeyPublic", "type" ]
  },
  "otoroshi.models.ConsoleSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      }
    },
    "flow" : [ "type" ]
  },
  "otoroshi.next.plugins.NgLargeResponseFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "additional_response_size" : {
        "label" : "additional_response_size",
        "type" : "number"
      }
    },
    "flow" : [ "additional_response_size", "ratio" ]
  },
  "otoroshi.utils.mailer.MailerSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      },
      "eu" : {
        "label" : "eu",
        "type" : "bool"
      },
      "apiKey" : {
        "label" : "apiKey",
        "type" : "string"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "apiKeyPublic" : {
        "label" : "apiKeyPublic",
        "type" : "string"
      },
      "apiKeyPrivate" : {
        "label" : "apiKeyPrivate",
        "type" : "string"
      }
    },
    "flow" : [ "apiKeyPrivate", "apiKeyPublic", "domain", "apiKey", "eu", "to", "headers", "url", "type" ]
  },
  "otoroshi.next.plugins.NgTrafficMirroring" : {
    "schema" : {
      "legacy" : {
        "label" : "legacy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "conf" : {
            "label" : "conf",
            "type" : "object"
          }
        },
        "flow" : [ "conf" ]
      }
    },
    "flow" : [ "legacy" ]
  },
  "ErrorTemplateList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingHttpValidatorConfig" : {
    "schema" : {
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "tls" : {
        "label" : "tls",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trust_all" : {
            "label" : "trust_all",
            "type" : "bool"
          },
          "trusted_certs" : {
            "label" : "trusted_certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers", "url", "timeout", "method", "tls" ]
  },
  "otoroshi.next.models.NgContextualPlugins" : {
    "schema" : {
      "_env" : {
        "label" : "_env",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "circuitBeakersHolder" : {
            "label" : "circuitBeakersHolder",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "circuitBeakersHolder" ]
      },
      "next_plugins_merge" : {
        "label" : "next_plugins_merge",
        "type" : "bool"
      }
    },
    "flow" : [ "next_plugins_merge", "_env" ]
  },
  "otoroshi.next.plugins.NgRequestContext" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "legacy" : {
            "label" : "legacy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "conf" : {
                "label" : "conf",
                "type" : "object"
              }
            },
            "flow" : [ "conf" ]
          }
        },
        "flow" : [ "legacy" ]
      },
      "route" : {
        "label" : "route",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "debug_flow" : {
            "label" : "debug_flow",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "export_reporting" : {
            "label" : "export_reporting",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "frontend" : {
            "label" : "frontend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "query" : {
                "label" : "query",
                "type" : "object"
              },
              "domains" : {
                "label" : "domains",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "methods" : {
                "label" : "methods",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "exact" : {
                "label" : "exact",
                "type" : "bool"
              },
              "strip_path" : {
                "label" : "strip_path",
                "type" : "bool"
              }
            },
            "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "capture" : {
            "label" : "capture",
            "type" : "bool"
          },
          "groups" : {
            "label" : "groups",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "backend_ref" : {
            "label" : "backend_ref",
            "type" : "string"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "backend" : {
            "label" : "backend",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "health_check" : {
                "label" : "health_check",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "client" : {
                "label" : "client",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "idle_timeout" : {
                    "label" : "idle_timeout",
                    "type" : "number"
                  },
                  "sample_interval" : {
                    "label" : "sample_interval",
                    "type" : "number"
                  },
                  "cache_connection_settings" : {
                    "label" : "cache_connection_settings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "queue_size" : {
                        "label" : "queue_size",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "queue_size", "enabled" ]
                  },
                  "call_and_stream_timeout" : {
                    "label" : "call_and_stream_timeout",
                    "type" : "number"
                  },
                  "custom_timeouts" : {
                    "label" : "custom_timeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                  },
                  "connection_timeout" : {
                    "label" : "connection_timeout",
                    "type" : "number"
                  },
                  "call_timeout" : {
                    "label" : "call_timeout",
                    "type" : "number"
                  },
                  "global_timeout" : {
                    "label" : "global_timeout",
                    "type" : "number"
                  },
                  "retry_initial_delay" : {
                    "label" : "retry_initial_delay",
                    "type" : "number"
                  },
                  "backoff_factor" : {
                    "label" : "backoff_factor",
                    "type" : "number"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "max_errors" : {
                    "label" : "max_errors",
                    "type" : "number"
                  }
                },
                "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
              },
              "load_balancing" : {
                "label" : "load_balancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "rewrite" : {
                "label" : "rewrite",
                "type" : "bool"
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "ip_address" : {
                    "label" : "ip_address",
                    "type" : "string"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "tls_config" : {
                    "label" : "tls_config",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trust_all" : {
                        "label" : "trust_all",
                        "type" : "bool"
                      },
                      "trusted_certs" : {
                        "label" : "trusted_certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                  },
                  "tls" : {
                    "label" : "tls",
                    "type" : "bool"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "number"
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "hostname" : {
                    "label" : "hostname",
                    "type" : "string"
                  }
                },
                "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
              }
            },
            "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
          }
        },
        "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "metadata", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend" ]
      }
    },
    "flow" : [ "id", "config", "route" ]
  },
  "otoroshi.next.plugins.NgGzipConfig" : {
    "schema" : {
      "compression_level" : {
        "label" : "compression_level",
        "type" : "number"
      },
      "buffer_size" : {
        "label" : "buffer_size",
        "type" : "number"
      },
      "chunked_threshold" : {
        "label" : "chunked_threshold",
        "type" : "number"
      },
      "excluded_patterns" : {
        "label" : "excluded_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "white_list" : {
        "label" : "white_list",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "black_list" : {
        "label" : "black_list",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "black_list", "white_list", "excluded_patterns", "chunked_threshold", "buffer_size", "compression_level" ]
  },
  "otoroshi.next.plugins.ForceHttpsTraffic" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.WasmPlugin" : {
    "schema" : {
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "steps" : {
        "label" : "steps",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : { },
        "flow" : [ ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "allowedHosts" : {
            "label" : "allowedHosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "memoryPages" : {
            "label" : "memoryPages",
            "type" : "number"
          },
          "allowedPaths" : {
            "label" : "allowedPaths",
            "type" : "object"
          },
          "instances" : {
            "label" : "instances",
            "type" : "number"
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "authorizations" : {
            "label" : "authorizations",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "proxyStateAccess" : {
                "label" : "proxyStateAccess",
                "type" : "bool"
              },
              "httpAccess" : {
                "label" : "httpAccess",
                "type" : "bool"
              },
              "globalMapAccess" : {
                "label" : "globalMapAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "pluginDataStoreAccess" : {
                "label" : "pluginDataStoreAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "pluginMapAccess" : {
                "label" : "pluginMapAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              },
              "proxyHttpCallTimeout" : {
                "label" : "proxyHttpCallTimeout",
                "type" : "number"
              },
              "configurationAccess" : {
                "label" : "configurationAccess",
                "type" : "bool"
              },
              "globalDataStoreAccess" : {
                "label" : "globalDataStoreAccess",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "read" : {
                    "label" : "read",
                    "type" : "bool"
                  },
                  "write" : {
                    "label" : "write",
                    "type" : "bool"
                  }
                },
                "flow" : [ "read", "write" ]
              }
            },
            "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
          },
          "opa" : {
            "label" : "opa",
            "type" : "bool"
          },
          "wasi" : {
            "label" : "wasi",
            "type" : "bool"
          },
          "functionName" : {
            "label" : "functionName",
            "type" : "string"
          }
        },
        "flow" : [ "allowedHosts", "memoryPages", "allowedPaths", "instances", "config", "authorizations", "opa", "wasi", "functionName" ]
      }
    },
    "flow" : [ "description", "metadata", "id", "steps", "tags", "name", "_loc", "config" ]
  },
  "otoroshi.models.UserRight" : {
    "schema" : {
      "tenant" : {
        "label" : "tenant",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "canWrite" : {
            "label" : "canWrite",
            "type" : "bool"
          },
          "value" : {
            "label" : "value",
            "type" : "string"
          },
          "canRead" : {
            "label" : "canRead",
            "type" : "bool"
          }
        },
        "flow" : [ "canWrite", "value", "canRead" ]
      },
      "teams" : {
        "label" : "teams",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "canRead" : {
            "label" : "canRead",
            "type" : "bool"
          },
          "value" : {
            "label" : "value",
            "type" : "string"
          },
          "canWrite" : {
            "label" : "canWrite",
            "type" : "bool"
          }
        },
        "flow" : [ "canRead", "value", "canWrite" ]
      }
    },
    "flow" : [ "teams", "tenant" ]
  },
  "otoroshi.next.plugins.NgHasClientCertMatchingValidatorConfig" : {
    "schema" : {
      "subject_dns" : {
        "label" : "subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "serial_numbers" : {
        "label" : "serial_numbers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "issuer_dns" : {
        "label" : "issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_issuer_dns" : {
        "label" : "regex_issuer_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "regex_subject_dns" : {
        "label" : "regex_subject_dns",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "regex_subject_dns", "regex_issuer_dns", "issuer_dns", "serial_numbers", "subject_dns" ]
  },
  "otoroshi.next.plugins.BodyHelper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgMirroringEvent" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "legacy" : {
                "label" : "legacy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "conf" : {
                    "label" : "conf",
                    "type" : "object"
                  }
                },
                "flow" : [ "conf" ]
              }
            },
            "flow" : [ "legacy" ]
          },
          "route" : {
            "label" : "route",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "debug_flow" : {
                "label" : "debug_flow",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "export_reporting" : {
                "label" : "export_reporting",
                "type" : "bool"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "frontend" : {
                "label" : "frontend",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "query" : {
                    "label" : "query",
                    "type" : "object"
                  },
                  "domains" : {
                    "label" : "domains",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "methods" : {
                    "label" : "methods",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "exact" : {
                    "label" : "exact",
                    "type" : "bool"
                  },
                  "strip_path" : {
                    "label" : "strip_path",
                    "type" : "bool"
                  }
                },
                "flow" : [ "headers", "query", "domains", "methods", "exact", "strip_path" ]
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "capture" : {
                "label" : "capture",
                "type" : "bool"
              },
              "groups" : {
                "label" : "groups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "backend_ref" : {
                "label" : "backend_ref",
                "type" : "string"
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              },
              "backend" : {
                "label" : "backend",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "root" : {
                    "label" : "root",
                    "type" : "string"
                  },
                  "health_check" : {
                    "label" : "health_check",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "enabled", "url", "timeout" ]
                  },
                  "client" : {
                    "label" : "client",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "idle_timeout" : {
                        "label" : "idle_timeout",
                        "type" : "number"
                      },
                      "sample_interval" : {
                        "label" : "sample_interval",
                        "type" : "number"
                      },
                      "cache_connection_settings" : {
                        "label" : "cache_connection_settings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "queue_size" : {
                            "label" : "queue_size",
                            "type" : "number"
                          },
                          "enabled" : {
                            "label" : "enabled",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "queue_size", "enabled" ]
                      },
                      "call_and_stream_timeout" : {
                        "label" : "call_and_stream_timeout",
                        "type" : "number"
                      },
                      "custom_timeouts" : {
                        "label" : "custom_timeouts",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "connection_timeout" : {
                            "label" : "connection_timeout",
                            "type" : "number"
                          },
                          "call_and_stream_timeout" : {
                            "label" : "call_and_stream_timeout",
                            "type" : "number"
                          },
                          "path" : {
                            "label" : "path",
                            "type" : "string"
                          },
                          "call_timeout" : {
                            "label" : "call_timeout",
                            "type" : "number"
                          },
                          "idle_timeout" : {
                            "label" : "idle_timeout",
                            "type" : "number"
                          },
                          "global_timeout" : {
                            "label" : "global_timeout",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
                      },
                      "connection_timeout" : {
                        "label" : "connection_timeout",
                        "type" : "number"
                      },
                      "call_timeout" : {
                        "label" : "call_timeout",
                        "type" : "number"
                      },
                      "global_timeout" : {
                        "label" : "global_timeout",
                        "type" : "number"
                      },
                      "retry_initial_delay" : {
                        "label" : "retry_initial_delay",
                        "type" : "number"
                      },
                      "backoff_factor" : {
                        "label" : "backoff_factor",
                        "type" : "number"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "retries" : {
                        "label" : "retries",
                        "type" : "number"
                      },
                      "max_errors" : {
                        "label" : "max_errors",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
                  },
                  "load_balancing" : {
                    "label" : "load_balancing",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                        }
                      },
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "type", "ratio" ]
                  },
                  "rewrite" : {
                    "label" : "rewrite",
                    "type" : "bool"
                  },
                  "targets" : {
                    "label" : "targets",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "ip_address" : {
                        "label" : "ip_address",
                        "type" : "string"
                      },
                      "protocol" : {
                        "type" : "select",
                        "props" : {
                          "label" : "protocol",
                          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                        }
                      },
                      "predicate" : {
                        "label" : "predicate",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            }
                          },
                          "dc" : {
                            "label" : "dc",
                            "type" : "string"
                          },
                          "positions" : {
                            "label" : "positions",
                            "type" : "array",
                            "array" : true,
                            "format" : "form",
                            "schema" : {
                              "latitude" : {
                                "label" : "latitude",
                                "type" : "number"
                              },
                              "longitude" : {
                                "label" : "longitude",
                                "type" : "number"
                              },
                              "radius" : {
                                "label" : "radius",
                                "type" : "number"
                              }
                            },
                            "flow" : [ "latitude", "longitude", "radius" ]
                          },
                          "provider" : {
                            "label" : "provider",
                            "type" : "string"
                          },
                          "dataCenter" : {
                            "label" : "dataCenter",
                            "type" : "string"
                          },
                          "rack" : {
                            "label" : "rack",
                            "type" : "string"
                          },
                          "region" : {
                            "label" : "region",
                            "type" : "string"
                          },
                          "zone" : {
                            "label" : "zone",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                      },
                      "tls_config" : {
                        "label" : "tls_config",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "enabled" : {
                            "label" : "enabled",
                            "type" : "bool"
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trust_all" : {
                            "label" : "trust_all",
                            "type" : "bool"
                          },
                          "trusted_certs" : {
                            "label" : "trusted_certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
                      },
                      "tls" : {
                        "label" : "tls",
                        "type" : "bool"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "number"
                      },
                      "id" : {
                        "label" : "id",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "hostname" : {
                        "label" : "hostname",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
                  }
                },
                "flow" : [ "root", "health_check", "client", "load_balancing", "rewrite", "targets" ]
              }
            },
            "flow" : [ "debug_flow", "enabled", "name", "id", "export_reporting", "metadata", "frontend", "_loc", "tags", "capture", "groups", "backend_ref", "description", "backend" ]
          }
        },
        "flow" : [ "id", "config", "route" ]
      }
    },
    "flow" : [ "ctx" ]
  },
  "otoroshi.next.plugins.GraphQLBackend" : {
    "schema" : {
      "schema" : {
        "label" : "schema",
        "type" : "string"
      },
      "permissions" : {
        "label" : "permissions",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "initial_data" : {
        "label" : "initial_data",
        "type" : "string"
      },
      "max_depth" : {
        "label" : "max_depth",
        "type" : "number"
      }
    },
    "flow" : [ "max_depth", "initial_data", "permissions", "schema" ]
  },
  "otoroshi.utils.mailer.NoneMailerSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      }
    },
    "flow" : [ "type" ]
  },
  "otoroshi.next.models.NgTreeNodePath" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.BasicAuthCaller" : {
    "schema" : {
      "username" : {
        "label" : "username",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "header_value_format" : {
        "label" : "header_value_format",
        "type" : "string"
      }
    },
    "flow" : [ "header_value_format", "header_name", "password", "username" ]
  },
  "otoroshi.next.plugins.WasmRequestTransformer" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.next.models.NgTreeRouter_Test" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgOtoroshiChallengeConfig" : {
    "schema" : {
      "version" : {
        "type" : "select",
        "props" : {
          "label" : "version",
          "options" : [ "V1", "v2" ]
        }
      },
      "ttl" : {
        "label" : "ttl",
        "type" : "number"
      },
      "request_header_name" : {
        "label" : "request_header_name",
        "type" : "string"
      },
      "response_header_name" : {
        "label" : "response_header_name",
        "type" : "string"
      },
      "algo_to_backend" : {
        "label" : "algo_to_backend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "algo_from_backend" : {
        "label" : "algo_from_backend",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "state_resp_leeway" : {
        "label" : "state_resp_leeway",
        "type" : "number"
      }
    },
    "flow" : [ "state_resp_leeway", "response_header_name", "request_header_name", "ttl", "version", "algo_to_backend", "algo_from_backend" ]
  },
  "otoroshi.next.plugins.NgClientCertChainHeaderConfig" : {
    "schema" : {
      "dns_header_name" : {
        "label" : "dns_header_name",
        "type" : "string"
      },
      "pem_header_name" : {
        "label" : "pem_header_name",
        "type" : "string"
      },
      "send_pem" : {
        "label" : "send_pem",
        "type" : "bool"
      },
      "send_chain" : {
        "label" : "send_chain",
        "type" : "bool"
      },
      "send_dns" : {
        "label" : "send_dns",
        "type" : "bool"
      },
      "chain_header_name" : {
        "label" : "chain_header_name",
        "type" : "string"
      }
    },
    "flow" : [ "chain_header_name", "send_dns", "send_chain", "send_pem", "pem_header_name", "dns_header_name" ]
  },
  "otoroshi.next.plugins.wrappers.CompositeWrapper" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.tcp.TcpService" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "port" : {
        "label" : "port",
        "type" : "number"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "rules" : {
        "label" : "rules",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "domain" : {
            "label" : "domain",
            "type" : "string"
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "ip" : {
                "label" : "ip",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              },
              "tls" : {
                "label" : "tls",
                "type" : "bool"
              }
            },
            "flow" : [ "host", "ip", "port", "tls" ]
          }
        },
        "flow" : [ "domain", "targets" ]
      },
      "clientAuth" : {
        "type" : "select",
        "props" : {
          "label" : "clientAuth",
          "options" : [ "Need", "None", "Want" ]
        }
      },
      "interface" : {
        "label" : "interface",
        "type" : "string"
      },
      "sni" : {
        "label" : "sni",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "forwardIfNoMatch" : {
            "label" : "forwardIfNoMatch",
            "type" : "bool"
          },
          "forwardsTo" : {
            "label" : "forwardsTo",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "ip" : {
                "label" : "ip",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              },
              "tls" : {
                "label" : "tls",
                "type" : "bool"
              }
            },
            "flow" : [ "host", "ip", "port", "tls" ]
          }
        },
        "flow" : [ "enabled", "forwardIfNoMatch", "forwardsTo" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "tls" : {
        "type" : "select",
        "props" : {
          "label" : "tls",
          "options" : [ "Disabled", "Enabled", "PassThrough" ]
        }
      }
    },
    "flow" : [ "tls", "name", "id", "interface", "clientAuth", "rules", "tags", "port", "metadata", "description", "enabled", "sni", "_loc" ]
  },
  "otoroshi.next.plugins.NgHeaderNamesConfig" : {
    "schema" : {
      "names" : {
        "label" : "names",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "names" ]
  },
  "otoroshi.next.plugins.EndlessHttpResponse" : {
    "schema" : {
      "finger" : {
        "label" : "finger",
        "type" : "bool"
      },
      "addresses" : {
        "label" : "addresses",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "addresses", "finger" ]
  },
  "otoroshi.models.InHeader" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
        }
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "remove" : {
        "label" : "remove",
        "type" : "string"
      }
    },
    "flow" : [ "remove", "name", "type" ]
  },
  "otoroshi.next.plugins.NgLog4ShellFilter" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      },
      "parse_body" : {
        "label" : "parse_body",
        "type" : "bool"
      }
    },
    "flow" : [ "parse_body", "body", "status" ]
  },
  "otoroshi.models.Webhook" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      }
    },
    "flow" : [ "headers", "url", "type", "mtlsConfig" ]
  },
  "otoroshi.next.plugins.GlobalThrottling" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.Cors" : {
    "schema" : {
      "allow_credentials" : {
        "label" : "allow_credentials",
        "type" : "bool"
      },
      "max_age" : {
        "label" : "max_age",
        "type" : "string"
      },
      "allow_origin" : {
        "label" : "allow_origin",
        "type" : "string"
      },
      "allow_methods" : {
        "label" : "allow_methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "excluded_patterns" : {
        "label" : "excluded_patterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "allow_headers" : {
        "label" : "allow_headers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "expose_headers" : {
        "label" : "expose_headers",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "expose_headers", "allow_headers", "excluded_patterns", "allow_methods", "allow_origin", "max_age", "allow_credentials" ]
  },
  "otoroshi.models.NetworkLocationMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "provider" : {
        "label" : "provider",
        "type" : "string"
      },
      "dataCenter" : {
        "label" : "dataCenter",
        "type" : "string"
      },
      "rack" : {
        "label" : "rack",
        "type" : "string"
      },
      "region" : {
        "label" : "region",
        "type" : "string"
      },
      "zone" : {
        "label" : "zone",
        "type" : "string"
      }
    },
    "flow" : [ "zone", "region", "rack", "dataCenter", "provider", "type" ]
  },
  "otoroshi.next.plugins.OIDCIDTokenHeader" : {
    "schema" : {
      "send" : {
        "label" : "send",
        "type" : "bool"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      },
      "jwt" : {
        "label" : "jwt",
        "type" : "bool"
      }
    },
    "flow" : [ "jwt", "header_name", "name", "send" ]
  },
  "otoroshi.plugins.discovery.SelfRegistrationConfig" : {
    "schema" : {
      "registrationTtl" : {
        "label" : "registrationTtl",
        "type" : "number"
      },
      "targetTemplate" : {
        "label" : "targetTemplate",
        "type" : "object"
      },
      "hosts" : {
        "label" : "hosts",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "hosts", "targetTemplate", "registrationTtl" ]
  },
  "otoroshi.models.CustomTimeouts" : {
    "schema" : {
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "callAndStreamTimeout" : {
        "label" : "callAndStreamTimeout",
        "type" : "number"
      },
      "callTimeout" : {
        "label" : "callTimeout",
        "type" : "number"
      },
      "idleTimeout" : {
        "label" : "idleTimeout",
        "type" : "number"
      },
      "globalTimeout" : {
        "label" : "globalTimeout",
        "type" : "number"
      },
      "connectionTimeout" : {
        "label" : "connectionTimeout",
        "type" : "number"
      }
    },
    "flow" : [ "connectionTimeout", "globalTimeout", "idleTimeout", "callTimeout", "callAndStreamTimeout", "path" ]
  },
  "otoroshi.models.RestrictionPath" : {
    "schema" : {
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      }
    },
    "flow" : [ "path", "method" ]
  },
  "otoroshi.next.plugins.OverrideHost" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.utils.mailer.MailgunSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "eu" : {
        "label" : "eu",
        "type" : "bool"
      },
      "apiKey" : {
        "label" : "apiKey",
        "type" : "string"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      }
    },
    "flow" : [ "to", "domain", "apiKey", "eu", "type" ]
  },
  "otoroshi.next.plugins.Redirection" : {
    "schema" : {
      "code" : {
        "label" : "code",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "string"
      }
    },
    "flow" : [ "to", "code" ]
  },
  "otoroshi.next.extensions.Foo" : {
    "schema" : {
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      }
    },
    "flow" : [ "description", "tags", "name", "id", "metadata", "_loc" ]
  },
  "otoroshi.wasm.proxywasm.CorazaWafConfig" : {
    "schema" : {
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "inspectBody" : {
        "label" : "inspectBody",
        "type" : "bool"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "poolCapacity" : {
        "label" : "poolCapacity",
        "type" : "number"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      }
    },
    "flow" : [ "description", "config", "name", "id", "poolCapacity", "metadata", "inspectBody", "tags", "_loc" ]
  },
  "otoroshi.models.GeolocationSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "none" ]
        }
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "apikey" : {
        "label" : "apikey",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      }
    },
    "flow" : [ "path", "timeout", "apikey", "enabled", "type" ]
  },
  "otoroshi.plugins.clientcert.HasClientCertMatchingApikeyValidator" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.Restrictions" : {
    "schema" : {
      "forbidden" : {
        "label" : "forbidden",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "notFound" : {
        "label" : "notFound",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "path" : {
            "label" : "path",
            "type" : "string"
          }
        },
        "flow" : [ "method", "path" ]
      },
      "allowLast" : {
        "label" : "allowLast",
        "type" : "bool"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      }
    },
    "flow" : [ "enabled", "allowLast", "notFound", "allowed", "forbidden" ]
  },
  "otoroshi.next.plugins.NgClientCertChainHeader" : {
    "schema" : {
      "dns_header_name" : {
        "label" : "dns_header_name",
        "type" : "string"
      },
      "pem_header_name" : {
        "label" : "pem_header_name",
        "type" : "string"
      },
      "send_pem" : {
        "label" : "send_pem",
        "type" : "bool"
      },
      "send_chain" : {
        "label" : "send_chain",
        "type" : "bool"
      },
      "send_dns" : {
        "label" : "send_dns",
        "type" : "bool"
      },
      "chain_header_name" : {
        "label" : "chain_header_name",
        "type" : "string"
      }
    },
    "flow" : [ "chain_header_name", "send_dns", "send_chain", "send_pem", "pem_header_name", "dns_header_name" ]
  },
  "otoroshi.next.plugins.DisableHttp10" : {
    "schema" : { },
    "flow" : [ ]
  },
  "PemCertificateBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.ssl.pki.models.GenCsrResponse" : {
    "schema" : {
      "csr" : {
        "label" : "csr",
        "type" : "string"
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      }
    },
    "flow" : [ "privateKey", "publicKey", "csr" ]
  },
  "otoroshi.plugins.static.StaticResponse" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.greenscore.RulesSection" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "value" : {
            "label" : "value",
            "type" : "string"
          }
        },
        "flow" : [ "value" ]
      },
      "rules" : {
        "label" : "rules",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "sectionWeight" : {
            "label" : "sectionWeight",
            "type" : "number"
          },
          "advice" : {
            "label" : "advice",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "id" : {
            "label" : "id",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "value" : {
                "label" : "value",
                "type" : "string"
              }
            },
            "flow" : [ "value" ]
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          }
        },
        "flow" : [ "sectionWeight", "advice", "weight", "enabled", "id", "description" ]
      }
    },
    "flow" : [ "rules", "id" ]
  },
  "otoroshi.next.plugins.JQ" : {
    "schema" : {
      "request" : {
        "label" : "request",
        "type" : "string"
      },
      "response" : {
        "label" : "response",
        "type" : "string"
      }
    },
    "flow" : [ "response", "request" ]
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryRoutingConfigRoute" : {
    "schema" : {
      "regex" : {
        "label" : "regex",
        "type" : "bool"
      },
      "default" : {
        "label" : "default",
        "type" : "string"
      },
      "route" : {
        "label" : "route",
        "type" : "string"
      },
      "wildcard" : {
        "label" : "wildcard",
        "type" : "bool"
      },
      "exact" : {
        "label" : "exact",
        "type" : "bool"
      },
      "variants" : {
        "label" : "variants",
        "type" : "object"
      }
    },
    "flow" : [ "variants", "exact", "wildcard", "route", "default", "regex" ]
  },
  "otoroshi.next.plugins.NgAuthModuleExpectedUser" : {
    "schema" : {
      "only_from" : {
        "label" : "only_from",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "only_from" ]
  },
  "otoroshi.gateway.CircuitBreakersHolder" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.RSAlgoSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
        }
      },
      "size" : {
        "label" : "size",
        "type" : "number"
      },
      "publicKey" : {
        "label" : "publicKey",
        "type" : "string"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      }
    },
    "flow" : [ "privateKey", "publicKey", "size", "type" ]
  },
  "otoroshi.next.plugins.OIDCHeaders" : {
    "schema" : {
      "profile" : {
        "label" : "profile",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          }
        },
        "flow" : [ "send", "header_name" ]
      },
      "idtoken" : {
        "label" : "idtoken",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "bool"
          }
        },
        "flow" : [ "send", "name", "header_name", "jwt" ]
      },
      "access_token" : {
        "label" : "access_token",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "send" : {
            "label" : "send",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "header_name" : {
            "label" : "header_name",
            "type" : "string"
          },
          "jwt" : {
            "label" : "jwt",
            "type" : "bool"
          }
        },
        "flow" : [ "send", "name", "header_name", "jwt" ]
      }
    },
    "flow" : [ "profile", "idtoken", "access_token" ]
  },
  "TokenResponse" : {
    "schema" : {
      "valid" : {
        "label" : "valid",
        "type" : "string"
      }
    },
    "flow" : [ "valid" ]
  },
  "otoroshi.plugins.metrics.PrometheusServiceMetrics" : {
    "schema" : { },
    "flow" : [ ]
  },
  "CertValidResponse" : {
    "schema" : {
      "valid" : {
        "label" : "valid",
        "type" : "bool"
      }
    },
    "flow" : [ "valid" ]
  },
  "otoroshi.next.models.NgBackend" : {
    "schema" : {
      "root" : {
        "label" : "root",
        "type" : "string"
      },
      "health_check" : {
        "label" : "health_check",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          }
        },
        "flow" : [ "enabled", "url", "timeout" ]
      },
      "client" : {
        "label" : "client",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "idle_timeout" : {
            "label" : "idle_timeout",
            "type" : "number"
          },
          "sample_interval" : {
            "label" : "sample_interval",
            "type" : "number"
          },
          "cache_connection_settings" : {
            "label" : "cache_connection_settings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "queue_size" : {
                "label" : "queue_size",
                "type" : "number"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "queue_size", "enabled" ]
          },
          "call_and_stream_timeout" : {
            "label" : "call_and_stream_timeout",
            "type" : "number"
          },
          "custom_timeouts" : {
            "label" : "custom_timeouts",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "connection_timeout" : {
                "label" : "connection_timeout",
                "type" : "number"
              },
              "call_and_stream_timeout" : {
                "label" : "call_and_stream_timeout",
                "type" : "number"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "call_timeout" : {
                "label" : "call_timeout",
                "type" : "number"
              },
              "idle_timeout" : {
                "label" : "idle_timeout",
                "type" : "number"
              },
              "global_timeout" : {
                "label" : "global_timeout",
                "type" : "number"
              }
            },
            "flow" : [ "connection_timeout", "call_and_stream_timeout", "path", "call_timeout", "idle_timeout", "global_timeout" ]
          },
          "connection_timeout" : {
            "label" : "connection_timeout",
            "type" : "number"
          },
          "call_timeout" : {
            "label" : "call_timeout",
            "type" : "number"
          },
          "global_timeout" : {
            "label" : "global_timeout",
            "type" : "number"
          },
          "retry_initial_delay" : {
            "label" : "retry_initial_delay",
            "type" : "number"
          },
          "backoff_factor" : {
            "label" : "backoff_factor",
            "type" : "number"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "retries" : {
            "label" : "retries",
            "type" : "number"
          },
          "max_errors" : {
            "label" : "max_errors",
            "type" : "number"
          }
        },
        "flow" : [ "idle_timeout", "sample_interval", "cache_connection_settings", "call_and_stream_timeout", "custom_timeouts", "connection_timeout", "call_timeout", "global_timeout", "retry_initial_delay", "backoff_factor", "proxy", "retries", "max_errors" ]
      },
      "load_balancing" : {
        "label" : "load_balancing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
            }
          },
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          }
        },
        "flow" : [ "type", "ratio" ]
      },
      "rewrite" : {
        "label" : "rewrite",
        "type" : "bool"
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "ip_address" : {
            "label" : "ip_address",
            "type" : "string"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "tls_config" : {
            "label" : "tls_config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trust_all" : {
                "label" : "trust_all",
                "type" : "bool"
              },
              "trusted_certs" : {
                "label" : "trusted_certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "enabled", "certs", "loose", "trust_all", "trusted_certs" ]
          },
          "tls" : {
            "label" : "tls",
            "type" : "bool"
          },
          "port" : {
            "label" : "port",
            "type" : "number"
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "hostname" : {
            "label" : "hostname",
            "type" : "string"
          }
        },
        "flow" : [ "ip_address", "protocol", "predicate", "tls_config", "tls", "port", "id", "weight", "hostname" ]
      }
    },
    "flow" : [ "targets", "rewrite", "root", "health_check", "client", "load_balancing" ]
  },
  "otoroshi.plugins.useragent.UserAgentExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.ssl.pki.models.GenCertResponse" : {
    "schema" : {
      "ca" : {
        "label" : "ca",
        "type" : "string"
      },
      "caChain" : {
        "label" : "caChain",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "csrQuery" : {
        "label" : "csrQuery",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "client" : {
            "label" : "client",
            "type" : "bool"
          },
          "hosts" : {
            "label" : "hosts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "key" : {
            "label" : "key",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "algo" : {
                "label" : "algo",
                "type" : "string"
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              }
            },
            "flow" : [ "algo", "size" ]
          },
          "includeAIA" : {
            "label" : "includeAIA",
            "type" : "bool"
          },
          "signatureAlg" : {
            "label" : "signatureAlg",
            "type" : "string"
          },
          "existingSerialNumber" : {
            "label" : "existingSerialNumber",
            "type" : "string"
          },
          "duration" : {
            "label" : "duration",
            "type" : "number"
          },
          "digestAlg" : {
            "label" : "digestAlg",
            "type" : "string"
          },
          "ca" : {
            "label" : "ca",
            "type" : "bool"
          },
          "name" : {
            "label" : "name",
            "type" : "object"
          },
          "subject" : {
            "label" : "subject",
            "type" : "string"
          }
        },
        "flow" : [ "client", "hosts", "key", "includeAIA", "signatureAlg", "existingSerialNumber", "duration", "digestAlg", "ca", "name", "subject" ]
      },
      "cert" : {
        "label" : "cert",
        "type" : "string"
      },
      "serial" : {
        "label" : "serial",
        "type" : "number"
      },
      "key" : {
        "label" : "key",
        "type" : "string"
      },
      "csr" : {
        "label" : "csr",
        "type" : "string"
      }
    },
    "flow" : [ "csr", "key", "serial", "cert", "caChain", "ca", "csrQuery" ]
  },
  "Unknown" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.TailscaleCertError" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      }
    },
    "flow" : [ "body", "status" ]
  },
  "otoroshi.next.plugins.NgApikeyExtractorCustomHeaders" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "client_id_header_name" : {
        "label" : "client_id_header_name",
        "type" : "string"
      },
      "client_secret_header_name" : {
        "label" : "client_secret_header_name",
        "type" : "string"
      }
    },
    "flow" : [ "client_secret_header_name", "client_id_header_name", "enabled" ]
  },
  "otoroshi.plugins.authcallers.OAuth2Caller" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.ContextValidationConfig" : {
    "schema" : {
      "validators" : {
        "label" : "validators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      }
    },
    "flow" : [ "validators" ]
  },
  "CodeBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.SAMLSignature" : {
    "schema" : {
      "algorithm" : {
        "label" : "algorithm",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "canocalizationMethod" : {
        "label" : "canocalizationMethod",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "algorithm", "canocalizationMethod" ]
  },
  "otoroshi.next.plugins.NgOtoroshiInfoConfig" : {
    "schema" : {
      "version" : {
        "type" : "select",
        "props" : {
          "label" : "version",
          "options" : [ "Legacy", "Latest" ]
        }
      },
      "secComTtl" : {
        "label" : "secComTtl",
        "type" : "number"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "algo" : {
        "label" : "algo",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      }
    },
    "flow" : [ "headerName", "secComTtl", "version", "algo" ]
  },
  "otoroshi.auth.SAMLSignatureAlgorithm" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.W3CTracingConfig" : {
    "schema" : {
      "kind" : {
        "type" : "select",
        "props" : {
          "label" : "kind",
          "options" : [ "jaeger", "zipkin", "logger", "noop" ]
        }
      },
      "endpoint" : {
        "label" : "endpoint",
        "type" : "string"
      },
      "timeout" : {
        "label" : "timeout",
        "type" : "number"
      },
      "baggage" : {
        "label" : "baggage",
        "type" : "object"
      }
    },
    "flow" : [ "baggage", "timeout", "endpoint", "kind" ]
  },
  "otoroshi.greenscore.Thresholds" : {
    "schema" : {
      "plugins" : {
        "label" : "plugins",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "excellent" : {
            "label" : "excellent",
            "type" : "number"
          },
          "sufficient" : {
            "label" : "sufficient",
            "type" : "number"
          },
          "poor" : {
            "label" : "poor",
            "type" : "number"
          }
        },
        "flow" : [ "excellent", "sufficient", "poor" ]
      },
      "dataOut" : {
        "label" : "dataOut",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "excellent" : {
            "label" : "excellent",
            "type" : "number"
          },
          "sufficient" : {
            "label" : "sufficient",
            "type" : "number"
          },
          "poor" : {
            "label" : "poor",
            "type" : "number"
          }
        },
        "flow" : [ "excellent", "sufficient", "poor" ]
      },
      "headersOut" : {
        "label" : "headersOut",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "excellent" : {
            "label" : "excellent",
            "type" : "number"
          },
          "sufficient" : {
            "label" : "sufficient",
            "type" : "number"
          },
          "poor" : {
            "label" : "poor",
            "type" : "number"
          }
        },
        "flow" : [ "excellent", "sufficient", "poor" ]
      }
    },
    "flow" : [ "plugins", "dataOut", "headersOut" ]
  },
  "otoroshi.plugins.jobs.kubernetes.OtoAnnotationConfig" : {
    "schema" : {
      "annotations" : {
        "label" : "annotations",
        "type" : "object"
      }
    },
    "flow" : [ "annotations" ]
  },
  "otoroshi.plugins.mirror.MirroringEvent" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "descriptor" : {
            "label" : "descriptor",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "buildMode" : {
                "label" : "buildMode",
                "type" : "bool"
              },
              "hosts" : {
                "label" : "hosts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "privateApp" : {
                "label" : "privateApp",
                "type" : "bool"
              },
              "localScheme" : {
                "label" : "localScheme",
                "type" : "string"
              },
              "authConfigRef" : {
                "label" : "authConfigRef",
                "type" : "string"
              },
              "issueCertCA" : {
                "label" : "issueCertCA",
                "type" : "string"
              },
              "root" : {
                "label" : "root",
                "type" : "string"
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "additionalHeaders" : {
                "label" : "additionalHeaders",
                "type" : "object"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "clientConfig" : {
                "label" : "clientConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "connectionTimeout" : {
                    "label" : "connectionTimeout",
                    "type" : "number"
                  },
                  "useCircuitBreaker" : {
                    "label" : "useCircuitBreaker",
                    "type" : "bool"
                  },
                  "retryInitialDelay" : {
                    "label" : "retryInitialDelay",
                    "type" : "number"
                  },
                  "cacheConnectionSettings" : {
                    "label" : "cacheConnectionSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "queueSize" : {
                        "label" : "queueSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "enabled", "queueSize" ]
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "callTimeout" : {
                    "label" : "callTimeout",
                    "type" : "number"
                  },
                  "callAndStreamTimeout" : {
                    "label" : "callAndStreamTimeout",
                    "type" : "number"
                  },
                  "globalTimeout" : {
                    "label" : "globalTimeout",
                    "type" : "number"
                  },
                  "maxErrors" : {
                    "label" : "maxErrors",
                    "type" : "number"
                  },
                  "retries" : {
                    "label" : "retries",
                    "type" : "number"
                  },
                  "backoffFactor" : {
                    "label" : "backoffFactor",
                    "type" : "number"
                  },
                  "customTimeouts" : {
                    "label" : "customTimeouts",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      },
                      "callAndStreamTimeout" : {
                        "label" : "callAndStreamTimeout",
                        "type" : "number"
                      },
                      "callTimeout" : {
                        "label" : "callTimeout",
                        "type" : "number"
                      },
                      "idleTimeout" : {
                        "label" : "idleTimeout",
                        "type" : "number"
                      },
                      "globalTimeout" : {
                        "label" : "globalTimeout",
                        "type" : "number"
                      },
                      "connectionTimeout" : {
                        "label" : "connectionTimeout",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
                  },
                  "idleTimeout" : {
                    "label" : "idleTimeout",
                    "type" : "number"
                  },
                  "sampleInterval" : {
                    "label" : "sampleInterval",
                    "type" : "number"
                  }
                },
                "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
              },
              "matchingRoot" : {
                "label" : "matchingRoot",
                "type" : "string"
              },
              "forceHttps" : {
                "label" : "forceHttps",
                "type" : "bool"
              },
              "localHost" : {
                "label" : "localHost",
                "type" : "string"
              },
              "sendOtoroshiHeadersBack" : {
                "label" : "sendOtoroshiHeadersBack",
                "type" : "bool"
              },
              "healthCheck" : {
                "label" : "healthCheck",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  }
                },
                "flow" : [ "enabled", "url", "timeout" ]
              },
              "strictlyPrivate" : {
                "label" : "strictlyPrivate",
                "type" : "bool"
              },
              "detectApiKeySooner" : {
                "label" : "detectApiKeySooner",
                "type" : "bool"
              },
              "allowHttp10" : {
                "label" : "allowHttp10",
                "type" : "bool"
              },
              "subdomain" : {
                "label" : "subdomain",
                "type" : "string"
              },
              "paths" : {
                "label" : "paths",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "stripPath" : {
                "label" : "stripPath",
                "type" : "bool"
              },
              "secComAlgoChallengeOtoToBack" : {
                "label" : "secComAlgoChallengeOtoToBack",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "apiKeyConstraints" : {
                "label" : "apiKeyConstraints",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "customHeadersAuth" : {
                    "label" : "customHeadersAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "clientIdHeaderName" : {
                        "label" : "clientIdHeaderName",
                        "type" : "string"
                      },
                      "clientSecretHeaderName" : {
                        "label" : "clientSecretHeaderName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
                  },
                  "routing" : {
                    "label" : "routing",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "oneTagIn" : {
                        "label" : "oneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneMetaKeysIn" : {
                        "label" : "noneMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "oneMetaIn" : {
                        "label" : "oneMetaIn",
                        "type" : "object"
                      },
                      "oneMetaKeyIn" : {
                        "label" : "oneMetaKeyIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaKeysIn" : {
                        "label" : "allMetaKeysIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "noneTagIn" : {
                        "label" : "noneTagIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allTagsIn" : {
                        "label" : "allTagsIn",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "allMetaIn" : {
                        "label" : "allMetaIn",
                        "type" : "object"
                      },
                      "noneMetaIn" : {
                        "label" : "noneMetaIn",
                        "type" : "object"
                      }
                    },
                    "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
                  },
                  "clientIdAuth" : {
                    "label" : "clientIdAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  },
                  "jwtAuth" : {
                    "label" : "jwtAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "keyPairSigned" : {
                        "label" : "keyPairSigned",
                        "type" : "bool"
                      },
                      "cookieName" : {
                        "label" : "cookieName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "secretSigned" : {
                        "label" : "secretSigned",
                        "type" : "bool"
                      },
                      "maxJwtLifespanSecs" : {
                        "label" : "maxJwtLifespanSecs",
                        "type" : "string"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "includeRequestAttributes" : {
                        "label" : "includeRequestAttributes",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
                  },
                  "basicAuth" : {
                    "label" : "basicAuth",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "headerName" : {
                        "label" : "headerName",
                        "type" : "string"
                      },
                      "queryName" : {
                        "label" : "queryName",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "enabled", "headerName", "queryName" ]
                  }
                },
                "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
              },
              "env" : {
                "label" : "env",
                "type" : "string"
              },
              "xForwardedHeaders" : {
                "label" : "xForwardedHeaders",
                "type" : "bool"
              },
              "transformerRefs" : {
                "label" : "transformerRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "gzip" : {
                "label" : "gzip",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "compressionLevel" : {
                    "label" : "compressionLevel",
                    "type" : "number"
                  },
                  "blackList" : {
                    "label" : "blackList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "chunkedThreshold" : {
                    "label" : "chunkedThreshold",
                    "type" : "number"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "bufferSize" : {
                    "label" : "bufferSize",
                    "type" : "number"
                  },
                  "whiteList" : {
                    "label" : "whiteList",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
              },
              "sendInfoToken" : {
                "label" : "sendInfoToken",
                "type" : "bool"
              },
              "tcpUdpTunneling" : {
                "label" : "tcpUdpTunneling",
                "type" : "bool"
              },
              "removeHeadersOut" : {
                "label" : "removeHeadersOut",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "useAkkaHttpClient" : {
                "label" : "useAkkaHttpClient",
                "type" : "bool"
              },
              "maintenanceMode" : {
                "label" : "maintenanceMode",
                "type" : "bool"
              },
              "id" : {
                "label" : "id",
                "type" : "string"
              },
              "removeHeadersIn" : {
                "label" : "removeHeadersIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "logAnalyticsOnServer" : {
                "label" : "logAnalyticsOnServer",
                "type" : "bool"
              },
              "secComAlgoInfoToken" : {
                "label" : "secComAlgoInfoToken",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "userFacing" : {
                "label" : "userFacing",
                "type" : "bool"
              },
              "transformerConfig" : {
                "label" : "transformerConfig",
                "type" : "object"
              },
              "clientValidatorRef" : {
                "label" : "clientValidatorRef",
                "type" : "string"
              },
              "securityExcludedPatterns" : {
                "label" : "securityExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "ipFiltering" : {
                "label" : "ipFiltering",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "whitelist" : {
                    "label" : "whitelist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "blacklist" : {
                    "label" : "blacklist",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "whitelist", "blacklist" ]
              },
              "targets" : {
                "label" : "targets",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "weight" : {
                    "label" : "weight",
                    "type" : "number"
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "protocol" : {
                    "type" : "select",
                    "props" : {
                      "label" : "protocol",
                      "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                    }
                  },
                  "predicate" : {
                    "label" : "predicate",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                        }
                      },
                      "dc" : {
                        "label" : "dc",
                        "type" : "string"
                      },
                      "positions" : {
                        "label" : "positions",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "latitude" : {
                            "label" : "latitude",
                            "type" : "number"
                          },
                          "longitude" : {
                            "label" : "longitude",
                            "type" : "number"
                          },
                          "radius" : {
                            "label" : "radius",
                            "type" : "number"
                          }
                        },
                        "flow" : [ "latitude", "longitude", "radius" ]
                      },
                      "provider" : {
                        "label" : "provider",
                        "type" : "string"
                      },
                      "dataCenter" : {
                        "label" : "dataCenter",
                        "type" : "string"
                      },
                      "rack" : {
                        "label" : "rack",
                        "type" : "string"
                      },
                      "region" : {
                        "label" : "region",
                        "type" : "string"
                      },
                      "zone" : {
                        "label" : "zone",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                  },
                  "ipAddress" : {
                    "label" : "ipAddress",
                    "type" : "string"
                  },
                  "mtlsConfig" : {
                    "label" : "mtlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "scheme" : {
                    "label" : "scheme",
                    "type" : "string"
                  }
                },
                "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
              },
              "redirection" : {
                "label" : "redirection",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "code" : {
                    "label" : "code",
                    "type" : "number"
                  },
                  "to" : {
                    "label" : "to",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "code", "to" ]
              },
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "restrictions" : {
                "label" : "restrictions",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "forbidden" : {
                    "label" : "forbidden",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowed" : {
                    "label" : "allowed",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "notFound" : {
                    "label" : "notFound",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "method" : {
                        "label" : "method",
                        "type" : "string"
                      },
                      "path" : {
                        "label" : "path",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "method", "path" ]
                  },
                  "allowLast" : {
                    "label" : "allowLast",
                    "type" : "bool"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
              },
              "overrideHost" : {
                "label" : "overrideHost",
                "type" : "bool"
              },
              "accessValidator" : {
                "label" : "accessValidator",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "sendStateChallenge" : {
                "label" : "sendStateChallenge",
                "type" : "bool"
              },
              "chaosConfig" : {
                "label" : "chaosConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "badResponsesFaultConfig" : {
                    "label" : "badResponsesFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "responses" : {
                        "label" : "responses",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "status" : {
                            "label" : "status",
                            "type" : "number"
                          },
                          "body" : {
                            "type" : "code",
                            "props" : {
                              "label" : "body",
                              "editorOnly" : true,
                              "mode" : "json"
                            }
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "status", "body", "headers" ]
                      }
                    },
                    "flow" : [ "ratio", "responses" ]
                  },
                  "largeRequestFaultConfig" : {
                    "label" : "largeRequestFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalRequestSize" : {
                        "label" : "additionalRequestSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalRequestSize" ]
                  },
                  "largeResponseFaultConfig" : {
                    "label" : "largeResponseFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalResponseSize" : {
                        "label" : "additionalResponseSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalResponseSize" ]
                  },
                  "latencyInjectionFaultConfig" : {
                    "label" : "latencyInjectionFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "from" : {
                        "label" : "from",
                        "type" : "number"
                      },
                      "to" : {
                        "label" : "to",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "from", "to" ]
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
              },
              "secComInfoTokenVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComInfoTokenVersion",
                  "options" : [ "Legacy", "Latest" ]
                }
              },
              "additionalHeadersOut" : {
                "label" : "additionalHeadersOut",
                "type" : "object"
              },
              "secComHeaders" : {
                "label" : "secComHeaders",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "claimRequestName" : {
                    "label" : "claimRequestName",
                    "type" : "string"
                  },
                  "stateRequestName" : {
                    "label" : "stateRequestName",
                    "type" : "string"
                  },
                  "stateResponseName" : {
                    "label" : "stateResponseName",
                    "type" : "string"
                  }
                },
                "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
              },
              "matchingHeaders" : {
                "label" : "matchingHeaders",
                "type" : "object"
              },
              "secComAlgoChallengeBackToOto" : {
                "label" : "secComAlgoChallengeBackToOto",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "secComUseSameAlgo" : {
                "label" : "secComUseSameAlgo",
                "type" : "bool"
              },
              "useNewWSClient" : {
                "label" : "useNewWSClient",
                "type" : "bool"
              },
              "secComExcludedPatterns" : {
                "label" : "secComExcludedPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "redirectToLocal" : {
                "label" : "redirectToLocal",
                "type" : "bool"
              },
              "enforceSecureCommunication" : {
                "label" : "enforceSecureCommunication",
                "type" : "bool"
              },
              "missingOnlyHeadersOut" : {
                "label" : "missingOnlyHeadersOut",
                "type" : "object"
              },
              "secComSettings" : {
                "label" : "secComSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "handleLegacyDomain" : {
                "label" : "handleLegacyDomain",
                "type" : "bool"
              },
              "canary" : {
                "label" : "canary",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "traffic" : {
                    "label" : "traffic",
                    "type" : "number"
                  },
                  "targets" : {
                    "label" : "targets",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "tags" : {
                        "label" : "tags",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "metadata" : {
                        "label" : "metadata",
                        "type" : "object"
                      },
                      "protocol" : {
                        "type" : "select",
                        "props" : {
                          "label" : "protocol",
                          "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                        }
                      },
                      "predicate" : {
                        "label" : "predicate",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                            }
                          },
                          "dc" : {
                            "label" : "dc",
                            "type" : "string"
                          },
                          "positions" : {
                            "label" : "positions",
                            "type" : "array",
                            "array" : true,
                            "format" : "form",
                            "schema" : {
                              "latitude" : {
                                "label" : "latitude",
                                "type" : "number"
                              },
                              "longitude" : {
                                "label" : "longitude",
                                "type" : "number"
                              },
                              "radius" : {
                                "label" : "radius",
                                "type" : "number"
                              }
                            },
                            "flow" : [ "latitude", "longitude", "radius" ]
                          },
                          "provider" : {
                            "label" : "provider",
                            "type" : "string"
                          },
                          "dataCenter" : {
                            "label" : "dataCenter",
                            "type" : "string"
                          },
                          "rack" : {
                            "label" : "rack",
                            "type" : "string"
                          },
                          "region" : {
                            "label" : "region",
                            "type" : "string"
                          },
                          "zone" : {
                            "label" : "zone",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
                      },
                      "ipAddress" : {
                        "label" : "ipAddress",
                        "type" : "string"
                      },
                      "mtlsConfig" : {
                        "label" : "mtlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "scheme" : {
                        "label" : "scheme",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
                  },
                  "root" : {
                    "label" : "root",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "traffic", "targets", "root" ]
              },
              "_loc" : {
                "label" : "_loc",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "tenant" : {
                    "label" : "tenant",
                    "type" : "string"
                  },
                  "teams" : {
                    "label" : "teams",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "tenant", "teams" ]
              },
              "plugins" : {
                "label" : "plugins",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excluded" : {
                    "label" : "excluded",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "config", "enabled", "excluded", "refs" ]
              },
              "secComTtl" : {
                "label" : "secComTtl",
                "type" : "number"
              },
              "description" : {
                "label" : "description",
                "type" : "string"
              },
              "secComVersion" : {
                "type" : "select",
                "props" : {
                  "label" : "secComVersion",
                  "options" : [ "V1", "v2" ]
                }
              },
              "preRouting" : {
                "label" : "preRouting",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "refs" : {
                    "label" : "refs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "config" : {
                    "label" : "config",
                    "type" : "object"
                  }
                },
                "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
              },
              "groups" : {
                "label" : "groups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "readOnly" : {
                "label" : "readOnly",
                "type" : "bool"
              },
              "privatePatterns" : {
                "label" : "privatePatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "targetsLoadBalancing" : {
                "label" : "targetsLoadBalancing",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
                    }
                  },
                  "ratio" : {
                    "label" : "ratio",
                    "type" : "number"
                  }
                },
                "flow" : [ "type", "ratio" ]
              },
              "cors" : {
                "label" : "cors",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "allowCredentials" : {
                    "label" : "allowCredentials",
                    "type" : "bool"
                  },
                  "maxAge" : {
                    "label" : "maxAge",
                    "type" : "string"
                  },
                  "allowMethods" : {
                    "label" : "allowMethods",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowHeaders" : {
                    "label" : "allowHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "exposeHeaders" : {
                    "label" : "exposeHeaders",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "allowOrigin" : {
                    "label" : "allowOrigin",
                    "type" : "string"
                  }
                },
                "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "publicPatterns" : {
                "label" : "publicPatterns",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "api" : {
                "label" : "api",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "exposeApi" : {
                    "label" : "exposeApi",
                    "type" : "bool"
                  },
                  "openApiDescriptorUrl" : {
                    "label" : "openApiDescriptorUrl",
                    "type" : "string"
                  }
                },
                "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
              },
              "missingOnlyHeadersIn" : {
                "label" : "missingOnlyHeadersIn",
                "type" : "object"
              },
              "issueCert" : {
                "label" : "issueCert",
                "type" : "bool"
              },
              "headersVerification" : {
                "label" : "headersVerification",
                "type" : "object"
              },
              "jwtVerifier" : {
                "label" : "jwtVerifier",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "global", "local", "ref" ]
                    }
                  },
                  "desc" : {
                    "label" : "desc",
                    "type" : "string"
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "strict" : {
                    "label" : "strict",
                    "type" : "bool"
                  },
                  "source" : {
                    "label" : "source",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                        }
                      },
                      "name" : {
                        "label" : "name",
                        "type" : "string"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "name", "remove" ]
                  },
                  "algoSettings" : {
                    "label" : "algoSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                        }
                      },
                      "size" : {
                        "label" : "size",
                        "type" : "number"
                      },
                      "publicKey" : {
                        "label" : "publicKey",
                        "type" : "string"
                      },
                      "privateKey" : {
                        "label" : "privateKey",
                        "type" : "string"
                      },
                      "certId" : {
                        "label" : "certId",
                        "type" : "string"
                      },
                      "secret" : {
                        "label" : "secret",
                        "type" : "string"
                      },
                      "base64" : {
                        "label" : "base64",
                        "type" : "bool"
                      },
                      "url" : {
                        "label" : "url",
                        "type" : "string"
                      },
                      "tlsConfig" : {
                        "label" : "tlsConfig",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "mtls" : {
                            "label" : "mtls",
                            "type" : "bool"
                          },
                          "loose" : {
                            "label" : "loose",
                            "type" : "bool"
                          },
                          "trustAll" : {
                            "label" : "trustAll",
                            "type" : "bool"
                          },
                          "trustedCerts" : {
                            "label" : "trustedCerts",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          },
                          "certs" : {
                            "label" : "certs",
                            "type" : "array",
                            "array" : true,
                            "format" : null
                          }
                        },
                        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                      },
                      "kty" : {
                        "label" : "kty",
                        "type" : "string"
                      },
                      "proxy" : {
                        "label" : "proxy",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "host" : {
                            "label" : "host",
                            "type" : "string"
                          },
                          "port" : {
                            "label" : "port",
                            "type" : "string"
                          },
                          "protocol" : {
                            "label" : "protocol",
                            "type" : "string"
                          },
                          "principal" : {
                            "label" : "principal",
                            "type" : "string"
                          },
                          "password" : {
                            "label" : "password",
                            "type" : "string"
                          },
                          "ntlmDomain" : {
                            "label" : "ntlmDomain",
                            "type" : "string"
                          },
                          "encoding" : {
                            "label" : "encoding",
                            "type" : "string"
                          },
                          "nonProxyHosts" : {
                            "label" : "nonProxyHosts",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                      },
                      "headers" : {
                        "label" : "headers",
                        "type" : "object"
                      },
                      "ttl" : {
                        "label" : "ttl",
                        "type" : "number"
                      },
                      "timeout" : {
                        "label" : "timeout",
                        "type" : "number"
                      },
                      "onlyExposedCerts" : {
                        "label" : "onlyExposedCerts",
                        "type" : "bool"
                      }
                    },
                    "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                  },
                  "tags" : {
                    "label" : "tags",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "id" : {
                    "label" : "id",
                    "type" : "string"
                  },
                  "_loc" : {
                    "label" : "_loc",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "tenant" : {
                        "label" : "tenant",
                        "type" : "string"
                      },
                      "teams" : {
                        "label" : "teams",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "tenant", "teams" ]
                  },
                  "strategy" : {
                    "label" : "strategy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                        }
                      },
                      "strict" : {
                        "label" : "strict",
                        "type" : "bool"
                      },
                      "token" : {
                        "label" : "token",
                        "type" : "object"
                      },
                      "verificationSettings" : {
                        "label" : "verificationSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "fields" : {
                            "label" : "fields",
                            "type" : "object"
                          },
                          "arrayFields" : {
                            "label" : "arrayFields",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "fields", "arrayFields" ]
                      },
                      "algoSettings" : {
                        "label" : "algoSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "type" : {
                            "type" : "select",
                            "props" : {
                              "label" : "type",
                              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                            }
                          },
                          "size" : {
                            "label" : "size",
                            "type" : "number"
                          },
                          "publicKey" : {
                            "label" : "publicKey",
                            "type" : "string"
                          },
                          "privateKey" : {
                            "label" : "privateKey",
                            "type" : "string"
                          },
                          "certId" : {
                            "label" : "certId",
                            "type" : "string"
                          },
                          "secret" : {
                            "label" : "secret",
                            "type" : "string"
                          },
                          "base64" : {
                            "label" : "base64",
                            "type" : "bool"
                          },
                          "url" : {
                            "label" : "url",
                            "type" : "string"
                          },
                          "tlsConfig" : {
                            "label" : "tlsConfig",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "mtls" : {
                                "label" : "mtls",
                                "type" : "bool"
                              },
                              "loose" : {
                                "label" : "loose",
                                "type" : "bool"
                              },
                              "trustAll" : {
                                "label" : "trustAll",
                                "type" : "bool"
                              },
                              "trustedCerts" : {
                                "label" : "trustedCerts",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              },
                              "certs" : {
                                "label" : "certs",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                          },
                          "kty" : {
                            "label" : "kty",
                            "type" : "string"
                          },
                          "proxy" : {
                            "label" : "proxy",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "host" : {
                                "label" : "host",
                                "type" : "string"
                              },
                              "port" : {
                                "label" : "port",
                                "type" : "string"
                              },
                              "protocol" : {
                                "label" : "protocol",
                                "type" : "string"
                              },
                              "principal" : {
                                "label" : "principal",
                                "type" : "string"
                              },
                              "password" : {
                                "label" : "password",
                                "type" : "string"
                              },
                              "ntlmDomain" : {
                                "label" : "ntlmDomain",
                                "type" : "string"
                              },
                              "encoding" : {
                                "label" : "encoding",
                                "type" : "string"
                              },
                              "nonProxyHosts" : {
                                "label" : "nonProxyHosts",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          },
                          "ttl" : {
                            "label" : "ttl",
                            "type" : "number"
                          },
                          "timeout" : {
                            "label" : "timeout",
                            "type" : "number"
                          },
                          "onlyExposedCerts" : {
                            "label" : "onlyExposedCerts",
                            "type" : "bool"
                          }
                        },
                        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
                      },
                      "transformSettings" : {
                        "label" : "transformSettings",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "location" : {
                            "label" : "location",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "type" : {
                                "type" : "select",
                                "props" : {
                                  "label" : "type",
                                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                                }
                              },
                              "name" : {
                                "label" : "name",
                                "type" : "string"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "string"
                              }
                            },
                            "flow" : [ "type", "name", "remove" ]
                          },
                          "mappingSettings" : {
                            "label" : "mappingSettings",
                            "type" : "form",
                            "collapsable" : true,
                            "collapsed" : true,
                            "schema" : {
                              "map" : {
                                "label" : "map",
                                "type" : "object"
                              },
                              "values" : {
                                "label" : "values",
                                "type" : "object"
                              },
                              "remove" : {
                                "label" : "remove",
                                "type" : "array",
                                "array" : true,
                                "format" : null
                              }
                            },
                            "flow" : [ "map", "values", "remove" ]
                          }
                        },
                        "flow" : [ "location", "mappingSettings" ]
                      }
                    },
                    "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
                  },
                  "metadata" : {
                    "label" : "metadata",
                    "type" : "object"
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  },
                  "excludedPatterns" : {
                    "label" : "excludedPatterns",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "ids" : {
                    "label" : "ids",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
              },
              "letsEncrypt" : {
                "label" : "letsEncrypt",
                "type" : "bool"
              }
            },
            "flow" : [ "buildMode", "hosts", "privateApp", "localScheme", "authConfigRef", "issueCertCA", "root", "name", "additionalHeaders", "domain", "clientConfig", "matchingRoot", "forceHttps", "localHost", "sendOtoroshiHeadersBack", "healthCheck", "strictlyPrivate", "detectApiKeySooner", "allowHttp10", "subdomain", "paths", "stripPath", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "env", "xForwardedHeaders", "transformerRefs", "enabled", "gzip", "sendInfoToken", "tcpUdpTunneling", "removeHeadersOut", "useAkkaHttpClient", "maintenanceMode", "id", "removeHeadersIn", "logAnalyticsOnServer", "secComAlgoInfoToken", "userFacing", "transformerConfig", "clientValidatorRef", "securityExcludedPatterns", "ipFiltering", "targets", "redirection", "tags", "restrictions", "overrideHost", "accessValidator", "sendStateChallenge", "chaosConfig", "secComInfoTokenVersion", "additionalHeadersOut", "secComHeaders", "matchingHeaders", "secComAlgoChallengeBackToOto", "secComUseSameAlgo", "useNewWSClient", "secComExcludedPatterns", "redirectToLocal", "enforceSecureCommunication", "missingOnlyHeadersOut", "secComSettings", "handleLegacyDomain", "canary", "_loc", "plugins", "secComTtl", "description", "secComVersion", "preRouting", "groups", "readOnly", "privatePatterns", "targetsLoadBalancing", "cors", "metadata", "publicPatterns", "api", "missingOnlyHeadersIn", "issueCert", "headersVerification", "jwtVerifier", "letsEncrypt" ]
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "config" : {
            "label" : "config",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "conf" : {
                "label" : "conf",
                "type" : "object"
              }
            },
            "flow" : [ "conf" ]
          }
        },
        "flow" : [ "descriptor", "id", "config" ]
      }
    },
    "flow" : [ "ctx" ]
  },
  "otoroshi.models.GlobalJwtVerifier" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "global" ]
        }
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "source" : {
        "label" : "source",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
            }
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "remove" : {
            "label" : "remove",
            "type" : "string"
          }
        },
        "flow" : [ "type", "name", "remove" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "strategy" : {
        "label" : "strategy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
            }
          },
          "strict" : {
            "label" : "strict",
            "type" : "bool"
          },
          "token" : {
            "label" : "token",
            "type" : "object"
          },
          "verificationSettings" : {
            "label" : "verificationSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "fields" : {
                "label" : "fields",
                "type" : "object"
              },
              "arrayFields" : {
                "label" : "arrayFields",
                "type" : "object"
              }
            },
            "flow" : [ "fields", "arrayFields" ]
          },
          "algoSettings" : {
            "label" : "algoSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "transformSettings" : {
            "label" : "transformSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "location" : {
                "label" : "location",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "mappingSettings" : {
                "label" : "mappingSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "map" : {
                    "label" : "map",
                    "type" : "object"
                  },
                  "values" : {
                    "label" : "values",
                    "type" : "object"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "map", "values", "remove" ]
              }
            },
            "flow" : [ "location", "mappingSettings" ]
          }
        },
        "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      }
    },
    "flow" : [ "metadata", "id", "tags", "strict", "name", "desc", "type", "source", "algoSettings", "_loc", "strategy" ]
  },
  "otoroshi.next.plugins.GraphQLBackendConfig" : {
    "schema" : {
      "schema" : {
        "label" : "schema",
        "type" : "string"
      },
      "permissions" : {
        "label" : "permissions",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "initial_data" : {
        "label" : "initial_data",
        "type" : "string"
      },
      "max_depth" : {
        "label" : "max_depth",
        "type" : "number"
      }
    },
    "flow" : [ "max_depth", "initial_data", "permissions", "schema" ]
  },
  "otoroshi.api.TweakedGlobalConfig" : {
    "schema" : {
      "config" : {
        "label" : "config",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "geolocationSettings" : {
            "label" : "geolocationSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "none" ]
                }
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "apikey" : {
                "label" : "apikey",
                "type" : "string"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "type", "enabled", "apikey", "timeout", "path" ]
          },
          "alertsEmails" : {
            "label" : "alertsEmails",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "anonymousReporting" : {
            "label" : "anonymousReporting",
            "type" : "bool"
          },
          "maxWebhookSize" : {
            "label" : "maxWebhookSize",
            "type" : "number"
          },
          "env" : {
            "label" : "env",
            "type" : "object"
          },
          "maxConcurrentRequests" : {
            "label" : "maxConcurrentRequests",
            "type" : "number"
          },
          "cleverSettings" : {
            "label" : "cleverSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "consumerSecret" : {
                "label" : "consumerSecret",
                "type" : "string"
              },
              "consumerKey" : {
                "label" : "consumerKey",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "token" : {
                "label" : "token",
                "type" : "string"
              },
              "orgaId" : {
                "label" : "orgaId",
                "type" : "string"
              }
            },
            "flow" : [ "consumerSecret", "consumerKey", "secret", "token", "orgaId" ]
          },
          "templates" : {
            "label" : "templates",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "team" : {
                "label" : "team",
                "type" : "string"
              },
              "script" : {
                "label" : "script",
                "type" : "string"
              },
              "apikey" : {
                "label" : "apikey",
                "type" : "string"
              },
              "group" : {
                "label" : "group",
                "type" : "string"
              },
              "tcpService" : {
                "label" : "tcpService",
                "type" : "string"
              },
              "verifier" : {
                "label" : "verifier",
                "type" : "string"
              },
              "service" : {
                "label" : "service",
                "type" : "string"
              },
              "target" : {
                "label" : "target",
                "type" : "string"
              },
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "dataExporter" : {
                "label" : "dataExporter",
                "type" : "string"
              },
              "route" : {
                "label" : "route",
                "type" : "string"
              },
              "backend" : {
                "label" : "backend",
                "type" : "string"
              },
              "template" : {
                "label" : "template",
                "type" : "string"
              },
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "authConfig" : {
                "label" : "authConfig",
                "type" : "string"
              },
              "descriptor" : {
                "label" : "descriptor",
                "type" : "string"
              }
            },
            "flow" : [ "team", "script", "apikey", "group", "tcpService", "verifier", "service", "target", "certificate", "dataExporter", "route", "backend", "template", "tenant", "authConfig", "descriptor" ]
          },
          "endlessIpAddresses" : {
            "label" : "endlessIpAddresses",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "plugins" : {
            "label" : "plugins",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "config" : {
                "label" : "config",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "excluded" : {
                "label" : "excluded",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "refs" : {
                "label" : "refs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "config", "enabled", "excluded", "refs" ]
          },
          "kafkaConfig" : {
            "label" : "kafkaConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendEvents" : {
                "label" : "sendEvents",
                "type" : "bool"
              },
              "truststore" : {
                "label" : "truststore",
                "type" : "string"
              },
              "hostValidation" : {
                "label" : "hostValidation",
                "type" : "bool"
              },
              "servers" : {
                "label" : "servers",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "securityProtocol" : {
                "label" : "securityProtocol",
                "type" : "string"
              },
              "keystore" : {
                "label" : "keystore",
                "type" : "string"
              },
              "topic" : {
                "label" : "topic",
                "type" : "string"
              },
              "keyPass" : {
                "label" : "keyPass",
                "type" : "string"
              },
              "saslConfig" : {
                "label" : "saslConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "username" : {
                    "label" : "username",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "mechanism" : {
                    "label" : "mechanism",
                    "type" : "string"
                  }
                },
                "flow" : [ "username", "password", "mechanism" ]
              }
            },
            "flow" : [ "type", "sendEvents", "truststore", "hostValidation", "servers", "mtlsConfig", "securityProtocol", "keystore", "topic", "keyPass", "saslConfig" ]
          },
          "maxLogsSize" : {
            "label" : "maxLogsSize",
            "type" : "number"
          },
          "proxies" : {
            "label" : "proxies",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "elastic" : {
                "label" : "elastic",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "eventsWebhooks" : {
                "label" : "eventsWebhooks",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "jwk" : {
                "label" : "jwk",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "auth" : {
                "label" : "auth",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "clevercloud" : {
                "label" : "clevercloud",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "alertEmails" : {
                "label" : "alertEmails",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "authority" : {
                "label" : "authority",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "services" : {
                "label" : "services",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              }
            },
            "flow" : [ "elastic", "eventsWebhooks", "jwk", "auth", "clevercloud", "alertEmails", "authority", "services" ]
          },
          "enableEmbeddedMetrics" : {
            "label" : "enableEmbeddedMetrics",
            "type" : "bool"
          },
          "elasticReadsConfig" : {
            "label" : "elasticReadsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendWorkers" : {
                "label" : "sendWorkers",
                "type" : "number"
              },
              "applyTemplate" : {
                "label" : "applyTemplate",
                "type" : "bool"
              },
              "uris" : {
                "label" : "uris",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "version" : {
                "label" : "version",
                "type" : "string"
              },
              "maxBulkSize" : {
                "label" : "maxBulkSize",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "indexSettings" : {
                "label" : "indexSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "clientSide" : {
                    "label" : "clientSide",
                    "type" : "bool"
                  },
                  "numberOfShards" : {
                    "label" : "numberOfShards",
                    "type" : "number"
                  },
                  "numberOfReplicas" : {
                    "label" : "numberOfReplicas",
                    "type" : "number"
                  },
                  "interval" : {
                    "label" : "interval",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : { },
                    "flow" : [ ]
                  }
                },
                "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
              },
              "user" : {
                "label" : "user",
                "type" : "string"
              },
              "index" : {
                "label" : "index",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              }
            },
            "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "headers", "indexSettings", "user", "index", "password" ]
          },
          "trustXForwarded" : {
            "label" : "trustXForwarded",
            "type" : "bool"
          },
          "quotasSettings" : {
            "label" : "quotasSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "dailyQuotasThreshold" : {
                "label" : "dailyQuotasThreshold",
                "type" : "number"
              },
              "monthlyQuotasThreshold" : {
                "label" : "monthlyQuotasThreshold",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "dailyQuotasThreshold", "monthlyQuotasThreshold" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "limitConcurrentRequests" : {
            "label" : "limitConcurrentRequests",
            "type" : "bool"
          },
          "useAkkaHttpClient" : {
            "label" : "useAkkaHttpClient",
            "type" : "bool"
          },
          "elasticWritesConfigs" : {
            "label" : "elasticWritesConfigs",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "sendWorkers" : {
                "label" : "sendWorkers",
                "type" : "number"
              },
              "applyTemplate" : {
                "label" : "applyTemplate",
                "type" : "bool"
              },
              "uris" : {
                "label" : "uris",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "version" : {
                "label" : "version",
                "type" : "string"
              },
              "maxBulkSize" : {
                "label" : "maxBulkSize",
                "type" : "number"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "indexSettings" : {
                "label" : "indexSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "clientSide" : {
                    "label" : "clientSide",
                    "type" : "bool"
                  },
                  "numberOfShards" : {
                    "label" : "numberOfShards",
                    "type" : "number"
                  },
                  "numberOfReplicas" : {
                    "label" : "numberOfReplicas",
                    "type" : "number"
                  },
                  "interval" : {
                    "label" : "interval",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : { },
                    "flow" : [ ]
                  }
                },
                "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
              },
              "user" : {
                "label" : "user",
                "type" : "string"
              },
              "index" : {
                "label" : "index",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              }
            },
            "flow" : [ "type", "sendWorkers", "applyTemplate", "uris", "mtlsConfig", "version", "maxBulkSize", "indexSettings", "user", "index", "password", "headers" ]
          },
          "logAnalyticsOnServer" : {
            "label" : "logAnalyticsOnServer",
            "type" : "bool"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "apiReadOnly" : {
            "label" : "apiReadOnly",
            "type" : "bool"
          },
          "backOfficeAuthRef" : {
            "label" : "backOfficeAuthRef",
            "type" : "string"
          },
          "streamEntityOnly" : {
            "label" : "streamEntityOnly",
            "type" : "bool"
          },
          "otoroshiId" : {
            "label" : "otoroshiId",
            "type" : "string"
          },
          "mailerSettings" : {
            "label" : "mailerSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "to" : {
                "label" : "to",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "email" : {
                    "label" : "email",
                    "type" : "string"
                  }
                },
                "flow" : [ "name", "email" ]
              },
              "eu" : {
                "label" : "eu",
                "type" : "bool"
              },
              "apiKey" : {
                "label" : "apiKey",
                "type" : "string"
              },
              "domain" : {
                "label" : "domain",
                "type" : "string"
              },
              "apiKeyPublic" : {
                "label" : "apiKeyPublic",
                "type" : "string"
              },
              "apiKeyPrivate" : {
                "label" : "apiKeyPrivate",
                "type" : "string"
              }
            },
            "flow" : [ "type", "url", "headers", "to", "eu", "apiKey", "domain", "apiKeyPublic", "apiKeyPrivate" ]
          },
          "lines" : {
            "label" : "lines",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "extensions" : {
            "label" : "extensions",
            "type" : "object"
          },
          "middleFingers" : {
            "label" : "middleFingers",
            "type" : "bool"
          },
          "analyticsWebhooks" : {
            "label" : "analyticsWebhooks",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              }
            },
            "flow" : [ "type", "url", "mtlsConfig", "headers" ]
          },
          "autoCert" : {
            "label" : "autoCert",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "replyNicely" : {
                "label" : "replyNicely",
                "type" : "bool"
              },
              "notAllowed" : {
                "label" : "notAllowed",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "caRef" : {
                "label" : "caRef",
                "type" : "string"
              }
            },
            "flow" : [ "allowed", "enabled", "replyNicely", "notAllowed", "caRef" ]
          },
          "maintenanceMode" : {
            "label" : "maintenanceMode",
            "type" : "bool"
          },
          "initWithNewEngine" : {
            "label" : "initWithNewEngine",
            "type" : "bool"
          },
          "letsEncryptSettings" : {
            "label" : "letsEncryptSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "contacts" : {
                "label" : "contacts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "emails" : {
                "label" : "emails",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "server" : {
                "label" : "server",
                "type" : "string"
              }
            },
            "flow" : [ "privateKey", "contacts", "emails", "enabled", "publicKey", "server" ]
          },
          "snowMonkeyConfig" : {
            "label" : "snowMonkeyConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "dryRun" : {
                "label" : "dryRun",
                "type" : "bool"
              },
              "outageDurationTo" : {
                "label" : "outageDurationTo",
                "type" : "number"
              },
              "chaosConfig" : {
                "label" : "chaosConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "badResponsesFaultConfig" : {
                    "label" : "badResponsesFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "responses" : {
                        "label" : "responses",
                        "type" : "array",
                        "array" : true,
                        "format" : "form",
                        "schema" : {
                          "status" : {
                            "label" : "status",
                            "type" : "number"
                          },
                          "body" : {
                            "type" : "code",
                            "props" : {
                              "label" : "body",
                              "editorOnly" : true,
                              "mode" : "json"
                            }
                          },
                          "headers" : {
                            "label" : "headers",
                            "type" : "object"
                          }
                        },
                        "flow" : [ "status", "body", "headers" ]
                      }
                    },
                    "flow" : [ "ratio", "responses" ]
                  },
                  "largeRequestFaultConfig" : {
                    "label" : "largeRequestFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalRequestSize" : {
                        "label" : "additionalRequestSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalRequestSize" ]
                  },
                  "largeResponseFaultConfig" : {
                    "label" : "largeResponseFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "additionalResponseSize" : {
                        "label" : "additionalResponseSize",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "additionalResponseSize" ]
                  },
                  "latencyInjectionFaultConfig" : {
                    "label" : "latencyInjectionFaultConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "ratio" : {
                        "label" : "ratio",
                        "type" : "number"
                      },
                      "from" : {
                        "label" : "from",
                        "type" : "number"
                      },
                      "to" : {
                        "label" : "to",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "ratio", "from", "to" ]
                  },
                  "enabled" : {
                    "label" : "enabled",
                    "type" : "bool"
                  }
                },
                "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
              },
              "timesPerDay" : {
                "label" : "timesPerDay",
                "type" : "number"
              },
              "outageDurationFrom" : {
                "label" : "outageDurationFrom",
                "type" : "number"
              },
              "startTime" : {
                "label" : "startTime",
                "type" : "string"
              },
              "includeUserFacingDescriptors" : {
                "label" : "includeUserFacingDescriptors",
                "type" : "bool"
              },
              "targetGroups" : {
                "label" : "targetGroups",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "stopTime" : {
                "label" : "stopTime",
                "type" : "string"
              },
              "outageStrategy" : {
                "type" : "select",
                "props" : {
                  "label" : "outageStrategy",
                  "options" : [ "AllServicesPerGroup", "OneServicePerGroup" ]
                }
              }
            },
            "flow" : [ "dryRun", "outageDurationTo", "chaosConfig", "timesPerDay", "outageDurationFrom", "startTime", "includeUserFacingDescriptors", "targetGroups", "enabled", "stopTime", "outageStrategy" ]
          },
          "scripts" : {
            "label" : "scripts",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "jobConfig" : {
                "label" : "jobConfig",
                "type" : "object"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "transformersConfig" : {
                "label" : "transformersConfig",
                "type" : "object"
              },
              "transformersRefs" : {
                "label" : "transformersRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "preRouteRefs" : {
                "label" : "preRouteRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "sinkConfig" : {
                "label" : "sinkConfig",
                "type" : "object"
              },
              "jobRefs" : {
                "label" : "jobRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "validatorRefs" : {
                "label" : "validatorRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "sinkRefs" : {
                "label" : "sinkRefs",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "preRouteConfig" : {
                "label" : "preRouteConfig",
                "type" : "object"
              },
              "validatorConfig" : {
                "label" : "validatorConfig",
                "type" : "object"
              }
            },
            "flow" : [ "jobConfig", "enabled", "transformersConfig", "transformersRefs", "preRouteRefs", "sinkConfig", "jobRefs", "validatorRefs", "sinkRefs", "preRouteConfig", "validatorConfig" ]
          },
          "perIpThrottlingQuota" : {
            "label" : "perIpThrottlingQuota",
            "type" : "number"
          },
          "useCircuitBreakers" : {
            "label" : "useCircuitBreakers",
            "type" : "bool"
          },
          "maxHttp10ResponseSize" : {
            "label" : "maxHttp10ResponseSize",
            "type" : "number"
          },
          "tlsSettings" : {
            "label" : "tlsSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "trustedCAsServer" : {
                "label" : "trustedCAsServer",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "includeJdkCaClient" : {
                "label" : "includeJdkCaClient",
                "type" : "bool"
              },
              "randomIfNotFound" : {
                "label" : "randomIfNotFound",
                "type" : "bool"
              },
              "defaultDomain" : {
                "label" : "defaultDomain",
                "type" : "string"
              },
              "includeJdkCaServer" : {
                "label" : "includeJdkCaServer",
                "type" : "bool"
              }
            },
            "flow" : [ "trustedCAsServer", "includeJdkCaClient", "randomIfNotFound", "defaultDomain", "includeJdkCaServer" ]
          },
          "statsdConfig" : {
            "label" : "statsdConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "datadog" : {
                "label" : "datadog",
                "type" : "bool"
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "number"
              }
            },
            "flow" : [ "datadog", "host", "port" ]
          },
          "autoLinkToDefaultGroup" : {
            "label" : "autoLinkToDefaultGroup",
            "type" : "bool"
          },
          "alertsWebhooks" : {
            "label" : "alertsWebhooks",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
                }
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              }
            },
            "flow" : [ "type", "url", "mtlsConfig", "headers" ]
          },
          "ipFiltering" : {
            "label" : "ipFiltering",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "whitelist" : {
                "label" : "whitelist",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "blacklist" : {
                "label" : "blacklist",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "whitelist", "blacklist" ]
          },
          "u2fLoginOnly" : {
            "label" : "u2fLoginOnly",
            "type" : "bool"
          },
          "userAgentSettings" : {
            "label" : "userAgentSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "enabled" ]
          }
        },
        "flow" : [ "geolocationSettings", "alertsEmails", "throttlingQuota", "anonymousReporting", "maxWebhookSize", "env", "maxConcurrentRequests", "cleverSettings", "templates", "endlessIpAddresses", "plugins", "kafkaConfig", "maxLogsSize", "proxies", "enableEmbeddedMetrics", "elasticReadsConfig", "trustXForwarded", "quotasSettings", "tags", "limitConcurrentRequests", "useAkkaHttpClient", "elasticWritesConfigs", "logAnalyticsOnServer", "metadata", "apiReadOnly", "backOfficeAuthRef", "streamEntityOnly", "otoroshiId", "mailerSettings", "lines", "extensions", "middleFingers", "analyticsWebhooks", "autoCert", "maintenanceMode", "initWithNewEngine", "letsEncryptSettings", "snowMonkeyConfig", "scripts", "perIpThrottlingQuota", "useCircuitBreakers", "maxHttp10ResponseSize", "tlsSettings", "statsdConfig", "autoLinkToDefaultGroup", "alertsWebhooks", "ipFiltering", "u2fLoginOnly", "userAgentSettings" ]
      }
    },
    "flow" : [ "config" ]
  },
  "otoroshi.next.plugins.NgHttpClientCache" : {
    "schema" : {
      "max_age_seconds" : {
        "label" : "max_age_seconds",
        "type" : "number"
      },
      "methods" : {
        "label" : "methods",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mime_types" : {
        "label" : "mime_types",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "mime_types", "methods", "max_age_seconds" ]
  },
  "otoroshi.plugins.apikeys.ClientCredentialFlowExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.jobs.kubernetes.IngressSupport" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.discovery.DiscoverySelfRegistrationTransformer" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.izanami.IzanamiProxy" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.LocalJwtVerifier" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "global", "local", "ref" ]
        }
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "source" : {
        "label" : "source",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
            }
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "remove" : {
            "label" : "remove",
            "type" : "string"
          }
        },
        "flow" : [ "type", "name", "remove" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "strategy" : {
        "label" : "strategy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
            }
          },
          "strict" : {
            "label" : "strict",
            "type" : "bool"
          },
          "token" : {
            "label" : "token",
            "type" : "object"
          },
          "verificationSettings" : {
            "label" : "verificationSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "fields" : {
                "label" : "fields",
                "type" : "object"
              },
              "arrayFields" : {
                "label" : "arrayFields",
                "type" : "object"
              }
            },
            "flow" : [ "fields", "arrayFields" ]
          },
          "algoSettings" : {
            "label" : "algoSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "transformSettings" : {
            "label" : "transformSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "location" : {
                "label" : "location",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "mappingSettings" : {
                "label" : "mappingSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "map" : {
                    "label" : "map",
                    "type" : "object"
                  },
                  "values" : {
                    "label" : "values",
                    "type" : "object"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "map", "values", "remove" ]
              }
            },
            "flow" : [ "location", "mappingSettings" ]
          }
        },
        "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
      }
    },
    "flow" : [ "excludedPatterns", "enabled", "strict", "type", "source", "algoSettings", "strategy" ]
  },
  "otoroshi.plugins.core.apikeys.JwtApikeyExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgJwtSignerConfig" : {
    "schema" : {
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "replace_if_present" : {
        "label" : "replace_if_present",
        "type" : "bool"
      },
      "fail_if_present" : {
        "label" : "fail_if_present",
        "type" : "bool"
      }
    },
    "flow" : [ "fail_if_present", "replace_if_present", "verifier" ]
  },
  "AuditEventList" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.WasmJobsLauncher" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgIzanamiV1CanaryRoutingConfig" : {
    "schema" : {
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "regex" : {
            "label" : "regex",
            "type" : "bool"
          },
          "default" : {
            "label" : "default",
            "type" : "string"
          },
          "route" : {
            "label" : "route",
            "type" : "string"
          },
          "wildcard" : {
            "label" : "wildcard",
            "type" : "bool"
          },
          "exact" : {
            "label" : "exact",
            "type" : "bool"
          },
          "variants" : {
            "label" : "variants",
            "type" : "object"
          }
        },
        "flow" : [ "regex", "default", "route", "wildcard", "exact", "variants" ]
      }
    },
    "flow" : [ "routes" ]
  },
  "otoroshi.next.plugins.MissingHeadersOut" : {
    "schema" : {
      "headers" : {
        "label" : "headers",
        "type" : "object"
      }
    },
    "flow" : [ "headers" ]
  },
  "otoroshi.next.plugins.NgAllowedMethodsConfig" : {
    "schema" : {
      "allowed" : {
        "label" : "allowed",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "forbidden" : {
        "label" : "forbidden",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "forbidden", "allowed" ]
  },
  "otoroshi.next.plugins.JQResponseConfig" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.next.plugins.Keys" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ServiceDescriptor" : {
    "schema" : {
      "buildMode" : {
        "label" : "buildMode",
        "type" : "bool"
      },
      "hosts" : {
        "label" : "hosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "privateApp" : {
        "label" : "privateApp",
        "type" : "bool"
      },
      "localScheme" : {
        "label" : "localScheme",
        "type" : "string"
      },
      "authConfigRef" : {
        "label" : "authConfigRef",
        "type" : "string"
      },
      "issueCertCA" : {
        "label" : "issueCertCA",
        "type" : "string"
      },
      "root" : {
        "label" : "root",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "additionalHeaders" : {
        "label" : "additionalHeaders",
        "type" : "object"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "clientConfig" : {
        "label" : "clientConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "connectionTimeout" : {
            "label" : "connectionTimeout",
            "type" : "number"
          },
          "useCircuitBreaker" : {
            "label" : "useCircuitBreaker",
            "type" : "bool"
          },
          "retryInitialDelay" : {
            "label" : "retryInitialDelay",
            "type" : "number"
          },
          "cacheConnectionSettings" : {
            "label" : "cacheConnectionSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "queueSize" : {
                "label" : "queueSize",
                "type" : "number"
              }
            },
            "flow" : [ "enabled", "queueSize" ]
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "callTimeout" : {
            "label" : "callTimeout",
            "type" : "number"
          },
          "callAndStreamTimeout" : {
            "label" : "callAndStreamTimeout",
            "type" : "number"
          },
          "globalTimeout" : {
            "label" : "globalTimeout",
            "type" : "number"
          },
          "maxErrors" : {
            "label" : "maxErrors",
            "type" : "number"
          },
          "retries" : {
            "label" : "retries",
            "type" : "number"
          },
          "backoffFactor" : {
            "label" : "backoffFactor",
            "type" : "number"
          },
          "customTimeouts" : {
            "label" : "customTimeouts",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "callAndStreamTimeout" : {
                "label" : "callAndStreamTimeout",
                "type" : "number"
              },
              "callTimeout" : {
                "label" : "callTimeout",
                "type" : "number"
              },
              "idleTimeout" : {
                "label" : "idleTimeout",
                "type" : "number"
              },
              "globalTimeout" : {
                "label" : "globalTimeout",
                "type" : "number"
              },
              "connectionTimeout" : {
                "label" : "connectionTimeout",
                "type" : "number"
              }
            },
            "flow" : [ "path", "callAndStreamTimeout", "callTimeout", "idleTimeout", "globalTimeout", "connectionTimeout" ]
          },
          "idleTimeout" : {
            "label" : "idleTimeout",
            "type" : "number"
          },
          "sampleInterval" : {
            "label" : "sampleInterval",
            "type" : "number"
          }
        },
        "flow" : [ "connectionTimeout", "useCircuitBreaker", "retryInitialDelay", "cacheConnectionSettings", "proxy", "callTimeout", "callAndStreamTimeout", "globalTimeout", "maxErrors", "retries", "backoffFactor", "customTimeouts", "idleTimeout", "sampleInterval" ]
      },
      "matchingRoot" : {
        "label" : "matchingRoot",
        "type" : "string"
      },
      "forceHttps" : {
        "label" : "forceHttps",
        "type" : "bool"
      },
      "localHost" : {
        "label" : "localHost",
        "type" : "string"
      },
      "sendOtoroshiHeadersBack" : {
        "label" : "sendOtoroshiHeadersBack",
        "type" : "bool"
      },
      "healthCheck" : {
        "label" : "healthCheck",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          }
        },
        "flow" : [ "enabled", "url", "timeout" ]
      },
      "strictlyPrivate" : {
        "label" : "strictlyPrivate",
        "type" : "bool"
      },
      "detectApiKeySooner" : {
        "label" : "detectApiKeySooner",
        "type" : "bool"
      },
      "allowHttp10" : {
        "label" : "allowHttp10",
        "type" : "bool"
      },
      "subdomain" : {
        "label" : "subdomain",
        "type" : "string"
      },
      "paths" : {
        "label" : "paths",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "stripPath" : {
        "label" : "stripPath",
        "type" : "bool"
      },
      "secComAlgoChallengeOtoToBack" : {
        "label" : "secComAlgoChallengeOtoToBack",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "apiKeyConstraints" : {
        "label" : "apiKeyConstraints",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "customHeadersAuth" : {
            "label" : "customHeadersAuth",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "clientIdHeaderName" : {
                "label" : "clientIdHeaderName",
                "type" : "string"
              },
              "clientSecretHeaderName" : {
                "label" : "clientSecretHeaderName",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "clientIdHeaderName", "clientSecretHeaderName" ]
          },
          "routing" : {
            "label" : "routing",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "oneTagIn" : {
                "label" : "oneTagIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "noneMetaKeysIn" : {
                "label" : "noneMetaKeysIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "oneMetaIn" : {
                "label" : "oneMetaIn",
                "type" : "object"
              },
              "oneMetaKeyIn" : {
                "label" : "oneMetaKeyIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allMetaKeysIn" : {
                "label" : "allMetaKeysIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "noneTagIn" : {
                "label" : "noneTagIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allTagsIn" : {
                "label" : "allTagsIn",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "allMetaIn" : {
                "label" : "allMetaIn",
                "type" : "object"
              },
              "noneMetaIn" : {
                "label" : "noneMetaIn",
                "type" : "object"
              }
            },
            "flow" : [ "oneTagIn", "noneMetaKeysIn", "oneMetaIn", "oneMetaKeyIn", "allMetaKeysIn", "noneTagIn", "allTagsIn", "allMetaIn", "noneMetaIn" ]
          },
          "clientIdAuth" : {
            "label" : "clientIdAuth",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "headerName" : {
                "label" : "headerName",
                "type" : "string"
              },
              "queryName" : {
                "label" : "queryName",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "headerName", "queryName" ]
          },
          "jwtAuth" : {
            "label" : "jwtAuth",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "keyPairSigned" : {
                "label" : "keyPairSigned",
                "type" : "bool"
              },
              "cookieName" : {
                "label" : "cookieName",
                "type" : "string"
              },
              "queryName" : {
                "label" : "queryName",
                "type" : "string"
              },
              "headerName" : {
                "label" : "headerName",
                "type" : "string"
              },
              "secretSigned" : {
                "label" : "secretSigned",
                "type" : "bool"
              },
              "maxJwtLifespanSecs" : {
                "label" : "maxJwtLifespanSecs",
                "type" : "string"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "includeRequestAttributes" : {
                "label" : "includeRequestAttributes",
                "type" : "bool"
              }
            },
            "flow" : [ "keyPairSigned", "cookieName", "queryName", "headerName", "secretSigned", "maxJwtLifespanSecs", "enabled", "includeRequestAttributes" ]
          },
          "basicAuth" : {
            "label" : "basicAuth",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "headerName" : {
                "label" : "headerName",
                "type" : "string"
              },
              "queryName" : {
                "label" : "queryName",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "headerName", "queryName" ]
          }
        },
        "flow" : [ "customHeadersAuth", "routing", "clientIdAuth", "jwtAuth", "basicAuth" ]
      },
      "env" : {
        "label" : "env",
        "type" : "string"
      },
      "xForwardedHeaders" : {
        "label" : "xForwardedHeaders",
        "type" : "bool"
      },
      "transformerRefs" : {
        "label" : "transformerRefs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "gzip" : {
        "label" : "gzip",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "compressionLevel" : {
            "label" : "compressionLevel",
            "type" : "number"
          },
          "blackList" : {
            "label" : "blackList",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "chunkedThreshold" : {
            "label" : "chunkedThreshold",
            "type" : "number"
          },
          "excludedPatterns" : {
            "label" : "excludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "bufferSize" : {
            "label" : "bufferSize",
            "type" : "number"
          },
          "whiteList" : {
            "label" : "whiteList",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "compressionLevel", "blackList", "chunkedThreshold", "excludedPatterns", "bufferSize", "whiteList", "enabled" ]
      },
      "sendInfoToken" : {
        "label" : "sendInfoToken",
        "type" : "bool"
      },
      "tcpUdpTunneling" : {
        "label" : "tcpUdpTunneling",
        "type" : "bool"
      },
      "removeHeadersOut" : {
        "label" : "removeHeadersOut",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "useAkkaHttpClient" : {
        "label" : "useAkkaHttpClient",
        "type" : "bool"
      },
      "maintenanceMode" : {
        "label" : "maintenanceMode",
        "type" : "bool"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "removeHeadersIn" : {
        "label" : "removeHeadersIn",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "logAnalyticsOnServer" : {
        "label" : "logAnalyticsOnServer",
        "type" : "bool"
      },
      "secComAlgoInfoToken" : {
        "label" : "secComAlgoInfoToken",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "userFacing" : {
        "label" : "userFacing",
        "type" : "bool"
      },
      "transformerConfig" : {
        "label" : "transformerConfig",
        "type" : "object"
      },
      "clientValidatorRef" : {
        "label" : "clientValidatorRef",
        "type" : "string"
      },
      "securityExcludedPatterns" : {
        "label" : "securityExcludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "ipFiltering" : {
        "label" : "ipFiltering",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "whitelist" : {
            "label" : "whitelist",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "blacklist" : {
            "label" : "blacklist",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "whitelist", "blacklist" ]
      },
      "targets" : {
        "label" : "targets",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "weight" : {
            "label" : "weight",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "protocol" : {
            "type" : "select",
            "props" : {
              "label" : "protocol",
              "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
            }
          },
          "predicate" : {
            "label" : "predicate",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                }
              },
              "dc" : {
                "label" : "dc",
                "type" : "string"
              },
              "positions" : {
                "label" : "positions",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "latitude" : {
                    "label" : "latitude",
                    "type" : "number"
                  },
                  "longitude" : {
                    "label" : "longitude",
                    "type" : "number"
                  },
                  "radius" : {
                    "label" : "radius",
                    "type" : "number"
                  }
                },
                "flow" : [ "latitude", "longitude", "radius" ]
              },
              "provider" : {
                "label" : "provider",
                "type" : "string"
              },
              "dataCenter" : {
                "label" : "dataCenter",
                "type" : "string"
              },
              "rack" : {
                "label" : "rack",
                "type" : "string"
              },
              "region" : {
                "label" : "region",
                "type" : "string"
              },
              "zone" : {
                "label" : "zone",
                "type" : "string"
              }
            },
            "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
          },
          "ipAddress" : {
            "label" : "ipAddress",
            "type" : "string"
          },
          "mtlsConfig" : {
            "label" : "mtlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "scheme" : {
            "label" : "scheme",
            "type" : "string"
          }
        },
        "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
      },
      "redirection" : {
        "label" : "redirection",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "code" : {
            "label" : "code",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "code", "to" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "restrictions" : {
        "label" : "restrictions",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "forbidden" : {
            "label" : "forbidden",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "allowed" : {
            "label" : "allowed",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "notFound" : {
            "label" : "notFound",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              }
            },
            "flow" : [ "method", "path" ]
          },
          "allowLast" : {
            "label" : "allowLast",
            "type" : "bool"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
      },
      "overrideHost" : {
        "label" : "overrideHost",
        "type" : "bool"
      },
      "accessValidator" : {
        "label" : "accessValidator",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "excludedPatterns" : {
            "label" : "excludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "refs" : {
            "label" : "refs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          }
        },
        "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
      },
      "sendStateChallenge" : {
        "label" : "sendStateChallenge",
        "type" : "bool"
      },
      "chaosConfig" : {
        "label" : "chaosConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "badResponsesFaultConfig" : {
            "label" : "badResponsesFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "responses" : {
                "label" : "responses",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "status" : {
                    "label" : "status",
                    "type" : "number"
                  },
                  "body" : {
                    "type" : "code",
                    "props" : {
                      "label" : "body",
                      "editorOnly" : true,
                      "mode" : "json"
                    }
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  }
                },
                "flow" : [ "status", "body", "headers" ]
              }
            },
            "flow" : [ "ratio", "responses" ]
          },
          "largeRequestFaultConfig" : {
            "label" : "largeRequestFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "additionalRequestSize" : {
                "label" : "additionalRequestSize",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "additionalRequestSize" ]
          },
          "largeResponseFaultConfig" : {
            "label" : "largeResponseFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "additionalResponseSize" : {
                "label" : "additionalResponseSize",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "additionalResponseSize" ]
          },
          "latencyInjectionFaultConfig" : {
            "label" : "latencyInjectionFaultConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "ratio" : {
                "label" : "ratio",
                "type" : "number"
              },
              "from" : {
                "label" : "from",
                "type" : "number"
              },
              "to" : {
                "label" : "to",
                "type" : "number"
              }
            },
            "flow" : [ "ratio", "from", "to" ]
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          }
        },
        "flow" : [ "badResponsesFaultConfig", "largeRequestFaultConfig", "largeResponseFaultConfig", "latencyInjectionFaultConfig", "enabled" ]
      },
      "secComInfoTokenVersion" : {
        "type" : "select",
        "props" : {
          "label" : "secComInfoTokenVersion",
          "options" : [ "Legacy", "Latest" ]
        }
      },
      "additionalHeadersOut" : {
        "label" : "additionalHeadersOut",
        "type" : "object"
      },
      "secComHeaders" : {
        "label" : "secComHeaders",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "claimRequestName" : {
            "label" : "claimRequestName",
            "type" : "string"
          },
          "stateRequestName" : {
            "label" : "stateRequestName",
            "type" : "string"
          },
          "stateResponseName" : {
            "label" : "stateResponseName",
            "type" : "string"
          }
        },
        "flow" : [ "claimRequestName", "stateRequestName", "stateResponseName" ]
      },
      "matchingHeaders" : {
        "label" : "matchingHeaders",
        "type" : "object"
      },
      "secComAlgoChallengeBackToOto" : {
        "label" : "secComAlgoChallengeBackToOto",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "secComUseSameAlgo" : {
        "label" : "secComUseSameAlgo",
        "type" : "bool"
      },
      "useNewWSClient" : {
        "label" : "useNewWSClient",
        "type" : "bool"
      },
      "secComExcludedPatterns" : {
        "label" : "secComExcludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "redirectToLocal" : {
        "label" : "redirectToLocal",
        "type" : "bool"
      },
      "enforceSecureCommunication" : {
        "label" : "enforceSecureCommunication",
        "type" : "bool"
      },
      "missingOnlyHeadersOut" : {
        "label" : "missingOnlyHeadersOut",
        "type" : "object"
      },
      "secComSettings" : {
        "label" : "secComSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "handleLegacyDomain" : {
        "label" : "handleLegacyDomain",
        "type" : "bool"
      },
      "canary" : {
        "label" : "canary",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "traffic" : {
            "label" : "traffic",
            "type" : "number"
          },
          "targets" : {
            "label" : "targets",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tags" : {
                "label" : "tags",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "weight" : {
                "label" : "weight",
                "type" : "number"
              },
              "metadata" : {
                "label" : "metadata",
                "type" : "object"
              },
              "protocol" : {
                "type" : "select",
                "props" : {
                  "label" : "protocol",
                  "options" : [ "HTTP/1.0", "HTTP/1.1", "HTTP/2.0", "HTTP/3.0" ]
                }
              },
              "predicate" : {
                "label" : "predicate",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
                    }
                  },
                  "dc" : {
                    "label" : "dc",
                    "type" : "string"
                  },
                  "positions" : {
                    "label" : "positions",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "latitude" : {
                        "label" : "latitude",
                        "type" : "number"
                      },
                      "longitude" : {
                        "label" : "longitude",
                        "type" : "number"
                      },
                      "radius" : {
                        "label" : "radius",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "latitude", "longitude", "radius" ]
                  },
                  "provider" : {
                    "label" : "provider",
                    "type" : "string"
                  },
                  "dataCenter" : {
                    "label" : "dataCenter",
                    "type" : "string"
                  },
                  "rack" : {
                    "label" : "rack",
                    "type" : "string"
                  },
                  "region" : {
                    "label" : "region",
                    "type" : "string"
                  },
                  "zone" : {
                    "label" : "zone",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "dc", "positions", "provider", "dataCenter", "rack", "region", "zone" ]
              },
              "ipAddress" : {
                "label" : "ipAddress",
                "type" : "string"
              },
              "mtlsConfig" : {
                "label" : "mtlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "scheme" : {
                "label" : "scheme",
                "type" : "string"
              }
            },
            "flow" : [ "tags", "host", "weight", "protocol", "predicate", "ipAddress", "mtlsConfig", "scheme", "metadata" ]
          },
          "root" : {
            "label" : "root",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "traffic", "targets", "root" ]
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "plugins" : {
        "label" : "plugins",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "config" : {
            "label" : "config",
            "type" : "object"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "excluded" : {
            "label" : "excluded",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "refs" : {
            "label" : "refs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "config", "enabled", "excluded", "refs" ]
      },
      "secComTtl" : {
        "label" : "secComTtl",
        "type" : "number"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "secComVersion" : {
        "type" : "select",
        "props" : {
          "label" : "secComVersion",
          "options" : [ "V1", "v2" ]
        }
      },
      "preRouting" : {
        "label" : "preRouting",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "excludedPatterns" : {
            "label" : "excludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "refs" : {
            "label" : "refs",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "config" : {
            "label" : "config",
            "type" : "object"
          }
        },
        "flow" : [ "enabled", "excludedPatterns", "refs", "config" ]
      },
      "groups" : {
        "label" : "groups",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "readOnly" : {
        "label" : "readOnly",
        "type" : "bool"
      },
      "privatePatterns" : {
        "label" : "privatePatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "targetsLoadBalancing" : {
        "label" : "targetsLoadBalancing",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "BestResponseTime", "IpAddressHash", "Random", "RoundRobin", "Sticky", "WeightedBestResponseTime" ]
            }
          },
          "ratio" : {
            "label" : "ratio",
            "type" : "number"
          }
        },
        "flow" : [ "type", "ratio" ]
      },
      "cors" : {
        "label" : "cors",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "allowCredentials" : {
            "label" : "allowCredentials",
            "type" : "bool"
          },
          "maxAge" : {
            "label" : "maxAge",
            "type" : "string"
          },
          "allowMethods" : {
            "label" : "allowMethods",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allowHeaders" : {
            "label" : "allowHeaders",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "excludedPatterns" : {
            "label" : "excludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "exposeHeaders" : {
            "label" : "exposeHeaders",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "allowOrigin" : {
            "label" : "allowOrigin",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "allowCredentials", "maxAge", "allowMethods", "allowHeaders", "excludedPatterns", "exposeHeaders", "allowOrigin" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "publicPatterns" : {
        "label" : "publicPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "api" : {
        "label" : "api",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "exposeApi" : {
            "label" : "exposeApi",
            "type" : "bool"
          },
          "openApiDescriptorUrl" : {
            "label" : "openApiDescriptorUrl",
            "type" : "string"
          }
        },
        "flow" : [ "exposeApi", "openApiDescriptorUrl" ]
      },
      "missingOnlyHeadersIn" : {
        "label" : "missingOnlyHeadersIn",
        "type" : "object"
      },
      "issueCert" : {
        "label" : "issueCert",
        "type" : "bool"
      },
      "headersVerification" : {
        "label" : "headersVerification",
        "type" : "object"
      },
      "jwtVerifier" : {
        "label" : "jwtVerifier",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "global", "local", "ref" ]
            }
          },
          "desc" : {
            "label" : "desc",
            "type" : "string"
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "strict" : {
            "label" : "strict",
            "type" : "bool"
          },
          "source" : {
            "label" : "source",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                }
              },
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "remove" : {
                "label" : "remove",
                "type" : "string"
              }
            },
            "flow" : [ "type", "name", "remove" ]
          },
          "algoSettings" : {
            "label" : "algoSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "id" : {
            "label" : "id",
            "type" : "string"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "strategy" : {
            "label" : "strategy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
                }
              },
              "strict" : {
                "label" : "strict",
                "type" : "bool"
              },
              "token" : {
                "label" : "token",
                "type" : "object"
              },
              "verificationSettings" : {
                "label" : "verificationSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "fields" : {
                    "label" : "fields",
                    "type" : "object"
                  },
                  "arrayFields" : {
                    "label" : "arrayFields",
                    "type" : "object"
                  }
                },
                "flow" : [ "fields", "arrayFields" ]
              },
              "algoSettings" : {
                "label" : "algoSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                    }
                  },
                  "size" : {
                    "label" : "size",
                    "type" : "number"
                  },
                  "publicKey" : {
                    "label" : "publicKey",
                    "type" : "string"
                  },
                  "privateKey" : {
                    "label" : "privateKey",
                    "type" : "string"
                  },
                  "certId" : {
                    "label" : "certId",
                    "type" : "string"
                  },
                  "secret" : {
                    "label" : "secret",
                    "type" : "string"
                  },
                  "base64" : {
                    "label" : "base64",
                    "type" : "bool"
                  },
                  "url" : {
                    "label" : "url",
                    "type" : "string"
                  },
                  "tlsConfig" : {
                    "label" : "tlsConfig",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "mtls" : {
                        "label" : "mtls",
                        "type" : "bool"
                      },
                      "loose" : {
                        "label" : "loose",
                        "type" : "bool"
                      },
                      "trustAll" : {
                        "label" : "trustAll",
                        "type" : "bool"
                      },
                      "trustedCerts" : {
                        "label" : "trustedCerts",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      },
                      "certs" : {
                        "label" : "certs",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
                  },
                  "kty" : {
                    "label" : "kty",
                    "type" : "string"
                  },
                  "proxy" : {
                    "label" : "proxy",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "host" : {
                        "label" : "host",
                        "type" : "string"
                      },
                      "port" : {
                        "label" : "port",
                        "type" : "string"
                      },
                      "protocol" : {
                        "label" : "protocol",
                        "type" : "string"
                      },
                      "principal" : {
                        "label" : "principal",
                        "type" : "string"
                      },
                      "password" : {
                        "label" : "password",
                        "type" : "string"
                      },
                      "ntlmDomain" : {
                        "label" : "ntlmDomain",
                        "type" : "string"
                      },
                      "encoding" : {
                        "label" : "encoding",
                        "type" : "string"
                      },
                      "nonProxyHosts" : {
                        "label" : "nonProxyHosts",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
                  },
                  "headers" : {
                    "label" : "headers",
                    "type" : "object"
                  },
                  "ttl" : {
                    "label" : "ttl",
                    "type" : "number"
                  },
                  "timeout" : {
                    "label" : "timeout",
                    "type" : "number"
                  },
                  "onlyExposedCerts" : {
                    "label" : "onlyExposedCerts",
                    "type" : "bool"
                  }
                },
                "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
              },
              "transformSettings" : {
                "label" : "transformSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "location" : {
                    "label" : "location",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "type" : {
                        "type" : "select",
                        "props" : {
                          "label" : "type",
                          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                        }
                      },
                      "name" : {
                        "label" : "name",
                        "type" : "string"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "type", "name", "remove" ]
                  },
                  "mappingSettings" : {
                    "label" : "mappingSettings",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "map" : {
                        "label" : "map",
                        "type" : "object"
                      },
                      "values" : {
                        "label" : "values",
                        "type" : "object"
                      },
                      "remove" : {
                        "label" : "remove",
                        "type" : "array",
                        "array" : true,
                        "format" : null
                      }
                    },
                    "flow" : [ "map", "values", "remove" ]
                  }
                },
                "flow" : [ "location", "mappingSettings" ]
              }
            },
            "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "excludedPatterns" : {
            "label" : "excludedPatterns",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "ids" : {
            "label" : "ids",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "type", "desc", "name", "strict", "source", "algoSettings", "tags", "id", "_loc", "strategy", "metadata", "enabled", "excludedPatterns", "ids" ]
      },
      "letsEncrypt" : {
        "label" : "letsEncrypt",
        "type" : "bool"
      }
    },
    "flow" : [ "letsEncrypt", "headersVerification", "issueCert", "missingOnlyHeadersIn", "publicPatterns", "metadata", "privatePatterns", "readOnly", "groups", "secComVersion", "description", "secComTtl", "handleLegacyDomain", "missingOnlyHeadersOut", "enforceSecureCommunication", "redirectToLocal", "secComExcludedPatterns", "useNewWSClient", "secComUseSameAlgo", "matchingHeaders", "additionalHeadersOut", "secComInfoTokenVersion", "sendStateChallenge", "overrideHost", "tags", "targets", "securityExcludedPatterns", "clientValidatorRef", "transformerConfig", "userFacing", "logAnalyticsOnServer", "removeHeadersIn", "id", "maintenanceMode", "useAkkaHttpClient", "removeHeadersOut", "tcpUdpTunneling", "sendInfoToken", "enabled", "transformerRefs", "xForwardedHeaders", "env", "stripPath", "paths", "subdomain", "allowHttp10", "detectApiKeySooner", "strictlyPrivate", "sendOtoroshiHeadersBack", "localHost", "forceHttps", "matchingRoot", "domain", "additionalHeaders", "name", "root", "issueCertCA", "authConfigRef", "localScheme", "privateApp", "hosts", "buildMode", "clientConfig", "healthCheck", "secComAlgoChallengeOtoToBack", "apiKeyConstraints", "gzip", "secComAlgoInfoToken", "ipFiltering", "redirection", "restrictions", "accessValidator", "chaosConfig", "secComHeaders", "secComAlgoChallengeBackToOto", "secComSettings", "canary", "_loc", "plugins", "preRouting", "targetsLoadBalancing", "cors", "api", "jwtVerifier" ]
  },
  "otoroshi.next.plugins.NgHasAllowedUsersValidator" : {
    "schema" : {
      "profile_not_match" : {
        "label" : "profile_not_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "profile_match" : {
        "label" : "profile_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "email_domains" : {
        "label" : "email_domains",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "usernames" : {
        "label" : "usernames",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata_match" : {
        "label" : "metadata_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata_not_match" : {
        "label" : "metadata_not_match",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "emails" : {
        "label" : "emails",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "emails", "metadata_not_match", "metadata_match", "usernames", "email_domains", "profile_match", "profile_not_match" ]
  },
  "otoroshi.plugins.envoy.EnvoyControlPlane" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.workflow.WorkflowEndpoint" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.IpFiltering" : {
    "schema" : {
      "whitelist" : {
        "label" : "whitelist",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "blacklist" : {
        "label" : "blacklist",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "blacklist", "whitelist" ]
  },
  "otoroshi.next.plugins.S3BackendConfig" : {
    "schema" : {
      "s3" : {
        "label" : "s3",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "writeEvery" : {
            "label" : "writeEvery",
            "type" : "number"
          },
          "chunkSize" : {
            "label" : "chunkSize",
            "type" : "number"
          },
          "bucket" : {
            "label" : "bucket",
            "type" : "string"
          },
          "key" : {
            "label" : "key",
            "type" : "string"
          },
          "endpoint" : {
            "label" : "endpoint",
            "type" : "string"
          },
          "v4auth" : {
            "label" : "v4auth",
            "type" : "bool"
          },
          "access" : {
            "label" : "access",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "region" : {
            "label" : "region",
            "type" : "string"
          }
        },
        "flow" : [ "writeEvery", "chunkSize", "bucket", "key", "endpoint", "v4auth", "access", "secret", "region" ]
      }
    },
    "flow" : [ "s3" ]
  },
  "otoroshi.models.JwtAuthConstraints" : {
    "schema" : {
      "keyPairSigned" : {
        "label" : "keyPairSigned",
        "type" : "bool"
      },
      "cookieName" : {
        "label" : "cookieName",
        "type" : "string"
      },
      "queryName" : {
        "label" : "queryName",
        "type" : "string"
      },
      "headerName" : {
        "label" : "headerName",
        "type" : "string"
      },
      "secretSigned" : {
        "label" : "secretSigned",
        "type" : "bool"
      },
      "maxJwtLifespanSecs" : {
        "label" : "maxJwtLifespanSecs",
        "type" : "string"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "includeRequestAttributes" : {
        "label" : "includeRequestAttributes",
        "type" : "bool"
      }
    },
    "flow" : [ "includeRequestAttributes", "enabled", "maxJwtLifespanSecs", "secretSigned", "headerName", "queryName", "cookieName", "keyPairSigned" ]
  },
  "otoroshi.next.plugins.TailscaleSelectTargetByNameConfig" : {
    "schema" : {
      "machine_name" : {
        "label" : "machine_name",
        "type" : "string"
      },
      "use_ip_address" : {
        "label" : "use_ip_address",
        "type" : "bool"
      }
    },
    "flow" : [ "use_ip_address", "machine_name" ]
  },
  "otoroshi.models.Proxies" : {
    "schema" : {
      "elastic" : {
        "label" : "elastic",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "eventsWebhooks" : {
        "label" : "eventsWebhooks",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "jwk" : {
        "label" : "jwk",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "auth" : {
        "label" : "auth",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "clevercloud" : {
        "label" : "clevercloud",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "alertEmails" : {
        "label" : "alertEmails",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "authority" : {
        "label" : "authority",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "services" : {
        "label" : "services",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      }
    },
    "flow" : [ "elastic", "eventsWebhooks", "jwk", "auth", "clevercloud", "alertEmails", "authority", "services" ]
  },
  "otoroshi.next.plugins.PreRoutingVerifierContext" : {
    "schema" : {
      "ctx" : {
        "label" : "ctx",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "apk" : {
        "label" : "apk",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "dailyQuota" : {
            "label" : "dailyQuota",
            "type" : "number"
          },
          "metadata" : {
            "label" : "metadata",
            "type" : "object"
          },
          "throttlingQuota" : {
            "label" : "throttlingQuota",
            "type" : "number"
          },
          "constrainedServicesOnly" : {
            "label" : "constrainedServicesOnly",
            "type" : "bool"
          },
          "allowClientIdOnly" : {
            "label" : "allowClientIdOnly",
            "type" : "bool"
          },
          "_loc" : {
            "label" : "_loc",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "string"
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "tenant", "teams" ]
          },
          "restrictions" : {
            "label" : "restrictions",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "forbidden" : {
                "label" : "forbidden",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowed" : {
                "label" : "allowed",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "notFound" : {
                "label" : "notFound",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "method" : {
                    "label" : "method",
                    "type" : "string"
                  },
                  "path" : {
                    "label" : "path",
                    "type" : "string"
                  }
                },
                "flow" : [ "method", "path" ]
              },
              "allowLast" : {
                "label" : "allowLast",
                "type" : "bool"
              },
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              }
            },
            "flow" : [ "forbidden", "allowed", "notFound", "allowLast", "enabled" ]
          },
          "tags" : {
            "label" : "tags",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "readOnly" : {
            "label" : "readOnly",
            "type" : "bool"
          },
          "clientSecret" : {
            "label" : "clientSecret",
            "type" : "string"
          },
          "validUntil" : {
            "label" : "validUntil",
            "type" : "string"
          },
          "clientName" : {
            "label" : "clientName",
            "type" : "string"
          },
          "monthlyQuota" : {
            "label" : "monthlyQuota",
            "type" : "number"
          },
          "description" : {
            "label" : "description",
            "type" : "string"
          },
          "rotation" : {
            "label" : "rotation",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "enabled" : {
                "label" : "enabled",
                "type" : "bool"
              },
              "rotationEvery" : {
                "label" : "rotationEvery",
                "type" : "number"
              },
              "gracePeriod" : {
                "label" : "gracePeriod",
                "type" : "number"
              },
              "nextSecret" : {
                "label" : "nextSecret",
                "type" : "string"
              }
            },
            "flow" : [ "enabled", "rotationEvery", "gracePeriod", "nextSecret" ]
          },
          "authorizedEntities" : {
            "label" : "authorizedEntities",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "clientId" : {
            "label" : "clientId",
            "type" : "string"
          }
        },
        "flow" : [ "dailyQuota", "metadata", "throttlingQuota", "constrainedServicesOnly", "allowClientIdOnly", "_loc", "restrictions", "tags", "enabled", "readOnly", "clientSecret", "validUntil", "clientName", "monthlyQuota", "description", "rotation", "authorizedEntities", "clientId" ]
      }
    },
    "flow" : [ "ctx", "apk" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesSupport" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.InfraProviderMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "provider" : {
        "label" : "provider",
        "type" : "string"
      }
    },
    "flow" : [ "provider", "type" ]
  },
  "otoroshi.models.DefaultToken" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
        }
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "token" : {
        "label" : "token",
        "type" : "object"
      },
      "verificationSettings" : {
        "label" : "verificationSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "fields" : {
            "label" : "fields",
            "type" : "object"
          },
          "arrayFields" : {
            "label" : "arrayFields",
            "type" : "object"
          }
        },
        "flow" : [ "fields", "arrayFields" ]
      }
    },
    "flow" : [ "token", "strict", "type", "verificationSettings" ]
  },
  "otoroshi.plugins.defer.DeferPlugin" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.JsonTransformConfig" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "otoroshi.next.plugins.OIDCProfileHeader" : {
    "schema" : {
      "send" : {
        "label" : "send",
        "type" : "bool"
      },
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name", "send" ]
  },
  "otoroshi.models.Exporter" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "sendEvents" : {
        "label" : "sendEvents",
        "type" : "bool"
      },
      "truststore" : {
        "label" : "truststore",
        "type" : "string"
      },
      "hostValidation" : {
        "label" : "hostValidation",
        "type" : "bool"
      },
      "servers" : {
        "label" : "servers",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "securityProtocol" : {
        "label" : "securityProtocol",
        "type" : "string"
      },
      "keystore" : {
        "label" : "keystore",
        "type" : "string"
      },
      "topic" : {
        "label" : "topic",
        "type" : "string"
      },
      "keyPass" : {
        "label" : "keyPass",
        "type" : "string"
      },
      "saslConfig" : {
        "label" : "saslConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "username" : {
            "label" : "username",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "mechanism" : {
            "label" : "mechanism",
            "type" : "string"
          }
        },
        "flow" : [ "username", "password", "mechanism" ]
      },
      "tlsTrustCertsFilePath" : {
        "label" : "tlsTrustCertsFilePath",
        "type" : "string"
      },
      "tenant" : {
        "label" : "tenant",
        "type" : "string"
      },
      "uri" : {
        "label" : "uri",
        "type" : "string"
      },
      "namespace" : {
        "label" : "namespace",
        "type" : "string"
      },
      "sendWorkers" : {
        "label" : "sendWorkers",
        "type" : "number"
      },
      "applyTemplate" : {
        "label" : "applyTemplate",
        "type" : "bool"
      },
      "uris" : {
        "label" : "uris",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "version" : {
        "label" : "version",
        "type" : "string"
      },
      "maxBulkSize" : {
        "label" : "maxBulkSize",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "indexSettings" : {
        "label" : "indexSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "clientSide" : {
            "label" : "clientSide",
            "type" : "bool"
          },
          "numberOfShards" : {
            "label" : "numberOfShards",
            "type" : "number"
          },
          "numberOfReplicas" : {
            "label" : "numberOfReplicas",
            "type" : "number"
          },
          "interval" : {
            "label" : "interval",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "clientSide", "numberOfShards", "numberOfReplicas", "interval" ]
      },
      "user" : {
        "label" : "user",
        "type" : "string"
      },
      "index" : {
        "label" : "index",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "ref" : {
        "label" : "ref",
        "type" : "string"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "maxFileSize" : {
        "label" : "maxFileSize",
        "type" : "number"
      },
      "labels" : {
        "label" : "labels",
        "type" : "object"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      },
      "eu" : {
        "label" : "eu",
        "type" : "bool"
      },
      "apiKey" : {
        "label" : "apiKey",
        "type" : "string"
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "apiKeyPublic" : {
        "label" : "apiKeyPublic",
        "type" : "string"
      },
      "apiKeyPrivate" : {
        "label" : "apiKeyPrivate",
        "type" : "string"
      }
    },
    "flow" : [ "apiKeyPrivate", "apiKeyPublic", "domain", "apiKey", "eu", "to", "url", "labels", "maxFileSize", "path", "config", "ref", "password", "index", "user", "headers", "maxBulkSize", "version", "uris", "applyTemplate", "sendWorkers", "namespace", "uri", "tenant", "tlsTrustCertsFilePath", "keyPass", "topic", "keystore", "securityProtocol", "servers", "hostValidation", "truststore", "sendEvents", "type", "mtlsConfig", "saslConfig", "indexSettings" ]
  },
  "otoroshi.plugins.cache.ResponseCacheConfig" : {
    "schema" : {
      "json" : {
        "label" : "json",
        "type" : "object"
      }
    },
    "flow" : [ "json" ]
  },
  "otoroshi.next.plugins.TooComplexQueryError" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.greenscore.GreenScoreEntity" : {
    "schema" : {
      "routes" : {
        "label" : "routes",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "routeId" : {
            "label" : "routeId",
            "type" : "string"
          },
          "rulesConfig" : {
            "label" : "rulesConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "sections" : {
                "label" : "sections",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "id" : {
                    "label" : "id",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "value" : {
                        "label" : "value",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "value" ]
                  },
                  "rules" : {
                    "label" : "rules",
                    "type" : "array",
                    "array" : true,
                    "format" : "form",
                    "schema" : {
                      "sectionWeight" : {
                        "label" : "sectionWeight",
                        "type" : "number"
                      },
                      "advice" : {
                        "label" : "advice",
                        "type" : "string"
                      },
                      "weight" : {
                        "label" : "weight",
                        "type" : "number"
                      },
                      "enabled" : {
                        "label" : "enabled",
                        "type" : "bool"
                      },
                      "id" : {
                        "label" : "id",
                        "type" : "form",
                        "collapsable" : true,
                        "collapsed" : true,
                        "schema" : {
                          "value" : {
                            "label" : "value",
                            "type" : "string"
                          }
                        },
                        "flow" : [ "value" ]
                      },
                      "description" : {
                        "label" : "description",
                        "type" : "string"
                      }
                    },
                    "flow" : [ "sectionWeight", "advice", "weight", "enabled", "id", "description" ]
                  }
                },
                "flow" : [ "id", "rules" ]
              },
              "thresholds" : {
                "label" : "thresholds",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "plugins" : {
                    "label" : "plugins",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "excellent" : {
                        "label" : "excellent",
                        "type" : "number"
                      },
                      "sufficient" : {
                        "label" : "sufficient",
                        "type" : "number"
                      },
                      "poor" : {
                        "label" : "poor",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "excellent", "sufficient", "poor" ]
                  },
                  "dataOut" : {
                    "label" : "dataOut",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "excellent" : {
                        "label" : "excellent",
                        "type" : "number"
                      },
                      "sufficient" : {
                        "label" : "sufficient",
                        "type" : "number"
                      },
                      "poor" : {
                        "label" : "poor",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "excellent", "sufficient", "poor" ]
                  },
                  "headersOut" : {
                    "label" : "headersOut",
                    "type" : "form",
                    "collapsable" : true,
                    "collapsed" : true,
                    "schema" : {
                      "excellent" : {
                        "label" : "excellent",
                        "type" : "number"
                      },
                      "sufficient" : {
                        "label" : "sufficient",
                        "type" : "number"
                      },
                      "poor" : {
                        "label" : "poor",
                        "type" : "number"
                      }
                    },
                    "flow" : [ "excellent", "sufficient", "poor" ]
                  }
                },
                "flow" : [ "plugins", "dataOut", "headersOut" ]
              }
            },
            "flow" : [ "sections", "thresholds" ]
          }
        },
        "flow" : [ "routeId", "rulesConfig" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      }
    },
    "flow" : [ "name", "tags", "description", "metadata", "id", "routes", "_loc" ]
  },
  "otoroshi.next.plugins.NgCertificateAsApikey" : {
    "schema" : {
      "daily_quota" : {
        "label" : "daily_quota",
        "type" : "number"
      },
      "monthly_quota" : {
        "label" : "monthly_quota",
        "type" : "number"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "read_only" : {
        "label" : "read_only",
        "type" : "bool"
      },
      "allow_client_id_only" : {
        "label" : "allow_client_id_only",
        "type" : "bool"
      },
      "throttling_quota" : {
        "label" : "throttling_quota",
        "type" : "number"
      },
      "constrained_services_only" : {
        "label" : "constrained_services_only",
        "type" : "bool"
      }
    },
    "flow" : [ "constrained_services_only", "throttling_quota", "allow_client_id_only", "read_only", "metadata", "tags", "monthly_quota", "daily_quota" ]
  },
  "otoroshi.ssl.Cert" : {
    "schema" : {
      "certType" : {
        "type" : "select",
        "props" : {
          "label" : "certType",
          "options" : [ "client", "ca", "letsEncrypt", "keypair", "selfSigned", "certificate" ]
        }
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "revoked" : {
        "label" : "revoked",
        "type" : "bool"
      },
      "subject" : {
        "label" : "subject",
        "type" : "string"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "domain" : {
        "label" : "domain",
        "type" : "string"
      },
      "ca" : {
        "label" : "ca",
        "type" : "bool"
      },
      "keypair" : {
        "label" : "keypair",
        "type" : "bool"
      },
      "letsEncrypt" : {
        "label" : "letsEncrypt",
        "type" : "bool"
      },
      "autoRenew" : {
        "label" : "autoRenew",
        "type" : "bool"
      },
      "caRef" : {
        "label" : "caRef",
        "type" : "string"
      },
      "to" : {
        "label" : "to",
        "type" : "number"
      },
      "exposed" : {
        "label" : "exposed",
        "type" : "bool"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "sans" : {
        "label" : "sans",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "client" : {
        "label" : "client",
        "type" : "bool"
      },
      "from" : {
        "label" : "from",
        "type" : "number"
      },
      "valid" : {
        "label" : "valid",
        "type" : "bool"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "privateKey" : {
        "label" : "privateKey",
        "type" : "string"
      },
      "selfSigned" : {
        "label" : "selfSigned",
        "type" : "bool"
      },
      "chain" : {
        "label" : "chain",
        "type" : "string"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      }
    },
    "flow" : [ "password", "chain", "selfSigned", "privateKey", "metadata", "valid", "from", "client", "sans", "id", "exposed", "to", "caRef", "autoRenew", "letsEncrypt", "keypair", "ca", "domain", "tags", "description", "subject", "revoked", "name", "certType", "_loc" ]
  },
  "otoroshi.next.plugins.AuthorisationException" : {
    "schema" : {
      "message" : {
        "label" : "message",
        "type" : "string"
      }
    },
    "flow" : [ "message" ]
  },
  "otoroshi.models.Outage" : {
    "schema" : {
      "descriptorName" : {
        "label" : "descriptorName",
        "type" : "string"
      },
      "descriptorId" : {
        "label" : "descriptorId",
        "type" : "string"
      },
      "until" : {
        "label" : "until",
        "type" : "string"
      },
      "duration" : {
        "label" : "duration",
        "type" : "number"
      },
      "startedAt" : {
        "label" : "startedAt",
        "type" : "number"
      }
    },
    "flow" : [ "startedAt", "duration", "until", "descriptorId", "descriptorName" ]
  },
  "otoroshi.auth.SAMLCredentials" : {
    "schema" : {
      "signingKey" : {
        "label" : "signingKey",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "certificate" : {
            "label" : "certificate",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "useOtoroshiCertificate" : {
            "label" : "useOtoroshiCertificate",
            "type" : "bool"
          }
        },
        "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
      },
      "encryptionKey" : {
        "label" : "encryptionKey",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "certificate" : {
            "label" : "certificate",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "useOtoroshiCertificate" : {
            "label" : "useOtoroshiCertificate",
            "type" : "bool"
          }
        },
        "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
      },
      "signedDocuments" : {
        "label" : "signedDocuments",
        "type" : "bool"
      },
      "encryptedAssertions" : {
        "label" : "encryptedAssertions",
        "type" : "bool"
      }
    },
    "flow" : [ "encryptedAssertions", "signedDocuments", "signingKey", "encryptionKey" ]
  },
  "otoroshi.events.AuditEvent" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.oidc.OIDCThirdPartyApiKeyConfigMode" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgUserAgentInfoHeader" : {
    "schema" : {
      "header_name" : {
        "label" : "header_name",
        "type" : "string"
      }
    },
    "flow" : [ "header_name" ]
  },
  "otoroshi.utils.http.CacheConnectionSettings" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "queueSize" : {
        "label" : "queueSize",
        "type" : "number"
      }
    },
    "flow" : [ "queueSize", "enabled" ]
  },
  "otoroshi.auth.Oauth1ModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "accessTokenURL" : {
        "label" : "accessTokenURL",
        "type" : "string"
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "authorizeURL" : {
        "label" : "authorizeURL",
        "type" : "string"
      },
      "rightsOverride" : {
        "label" : "rightsOverride",
        "type" : "object"
      },
      "consumerKey" : {
        "label" : "consumerKey",
        "type" : "string"
      },
      "callbackURL" : {
        "label" : "callbackURL",
        "type" : "string"
      },
      "profileURL" : {
        "label" : "profileURL",
        "type" : "string"
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "httpMethod" : {
        "label" : "httpMethod",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "requestTokenURL" : {
        "label" : "requestTokenURL",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "consumerSecret" : {
        "label" : "consumerSecret",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "metadata", "consumerSecret", "requestTokenURL", "id", "userValidators", "sessionMaxAge", "tags", "clientSideSessionEnabled", "profileURL", "callbackURL", "consumerKey", "rightsOverride", "authorizeURL", "name", "desc", "accessTokenURL", "type", "httpMethod", "_loc", "sessionCookieValues" ]
  },
  "otoroshi.plugins.izanami.IzanamiCanary" : {
    "schema" : { },
    "flow" : [ ]
  },
  "Any" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.SamlAuthModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "ssoProtocolBinding" : {
        "label" : "ssoProtocolBinding",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "emailAttributeName" : {
        "label" : "emailAttributeName",
        "type" : "string"
      },
      "validatingCertificates" : {
        "label" : "validatingCertificates",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "singleLogoutProtocolBinding" : {
        "label" : "singleLogoutProtocolBinding",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "issuer" : {
        "label" : "issuer",
        "type" : "string"
      },
      "signature" : {
        "label" : "signature",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "algorithm" : {
            "label" : "algorithm",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          },
          "canocalizationMethod" : {
            "label" : "canocalizationMethod",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : { },
            "flow" : [ ]
          }
        },
        "flow" : [ "algorithm", "canocalizationMethod" ]
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "singleLogoutUrl" : {
        "label" : "singleLogoutUrl",
        "type" : "string"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "usedNameIDAsEmail" : {
        "label" : "usedNameIDAsEmail",
        "type" : "bool"
      },
      "singleSignOnUrl" : {
        "label" : "singleSignOnUrl",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "validateAssertions" : {
        "label" : "validateAssertions",
        "type" : "bool"
      },
      "nameIDFormat" : {
        "label" : "nameIDFormat",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "validateSignature" : {
        "label" : "validateSignature",
        "type" : "bool"
      },
      "credentials" : {
        "label" : "credentials",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "signingKey" : {
            "label" : "signingKey",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "useOtoroshiCertificate" : {
                "label" : "useOtoroshiCertificate",
                "type" : "bool"
              }
            },
            "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
          },
          "encryptionKey" : {
            "label" : "encryptionKey",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "certificate" : {
                "label" : "certificate",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "useOtoroshiCertificate" : {
                "label" : "useOtoroshiCertificate",
                "type" : "bool"
              }
            },
            "flow" : [ "certificate", "privateKey", "certId", "useOtoroshiCertificate" ]
          },
          "signedDocuments" : {
            "label" : "signedDocuments",
            "type" : "bool"
          },
          "encryptedAssertions" : {
            "label" : "encryptedAssertions",
            "type" : "bool"
          }
        },
        "flow" : [ "signingKey", "encryptionKey", "signedDocuments", "encryptedAssertions" ]
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "validateSignature", "validateAssertions", "metadata", "singleSignOnUrl", "usedNameIDAsEmail", "id", "singleLogoutUrl", "userValidators", "issuer", "sessionMaxAge", "tags", "validatingCertificates", "emailAttributeName", "clientSideSessionEnabled", "name", "desc", "type", "ssoProtocolBinding", "singleLogoutProtocolBinding", "signature", "_loc", "nameIDFormat", "credentials", "sessionCookieValues" ]
  },
  "otoroshi.next.plugins.JQConfig" : {
    "schema" : {
      "request" : {
        "label" : "request",
        "type" : "string"
      },
      "response" : {
        "label" : "response",
        "type" : "string"
      }
    },
    "flow" : [ "response", "request" ]
  },
  "otoroshi.utils.TypedMap" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.ErrorRewriteReport" : {
    "schema" : {
      "raw_response" : {
        "label" : "raw_response",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "response" : {
        "label" : "response",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      },
      "response_body" : {
        "label" : "response_body",
        "type" : "string"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "raw_response_body" : {
        "label" : "raw_response_body",
        "type" : "string"
      },
      "request" : {
        "label" : "request",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : { },
        "flow" : [ ]
      }
    },
    "flow" : [ "raw_response_body", "id", "response_body", "raw_response", "response", "request" ]
  },
  "otoroshi.next.plugins.ViolationsException" : {
    "schema" : {
      "errors" : {
        "label" : "errors",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "errors" ]
  },
  "otoroshi.script.JobKind" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.ZoneMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "zone" : {
        "label" : "zone",
        "type" : "string"
      }
    },
    "flow" : [ "zone", "type" ]
  },
  "otoroshi.plugins.loggers.BodyLoggerFilterConfig" : {
    "schema" : {
      "json" : {
        "label" : "json",
        "type" : "object"
      }
    },
    "flow" : [ "json" ]
  },
  "otoroshi.next.plugins.OtoroshiHeadersIn" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.SOAPAction" : {
    "schema" : {
      "jq_response_filter" : {
        "label" : "jq_response_filter",
        "type" : "string"
      },
      "jq_request_filter" : {
        "label" : "jq_request_filter",
        "type" : "string"
      },
      "preserve_query" : {
        "label" : "preserve_query",
        "type" : "bool"
      },
      "convert_request_body_to_xml" : {
        "label" : "convert_request_body_to_xml",
        "type" : "bool"
      },
      "charset" : {
        "label" : "charset",
        "type" : "string"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "action" : {
        "label" : "action",
        "type" : "string"
      },
      "envelope" : {
        "label" : "envelope",
        "type" : "string"
      }
    },
    "flow" : [ "envelope", "action", "url", "charset", "convert_request_body_to_xml", "preserve_query", "jq_request_filter", "jq_response_filter" ]
  },
  "otoroshi.next.plugins.XmlToJsonResponse" : {
    "schema" : {
      "filter" : {
        "label" : "filter",
        "type" : "string"
      }
    },
    "flow" : [ "filter" ]
  },
  "GlobalConfigImportBody" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.quotas.ServiceQuotas" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.models.NgTreeRouter" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.JwtVerifier" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "global", "local", "ref" ]
        }
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "strict" : {
        "label" : "strict",
        "type" : "bool"
      },
      "source" : {
        "label" : "source",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "InQueryParam", "InHeader", "InCookie" ]
            }
          },
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "remove" : {
            "label" : "remove",
            "type" : "string"
          }
        },
        "flow" : [ "type", "name", "remove" ]
      },
      "algoSettings" : {
        "label" : "algoSettings",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "strategy" : {
        "label" : "strategy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "PassThrough", "Sign", "Transform", "DefaultToken" ]
            }
          },
          "strict" : {
            "label" : "strict",
            "type" : "bool"
          },
          "token" : {
            "label" : "token",
            "type" : "object"
          },
          "verificationSettings" : {
            "label" : "verificationSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "fields" : {
                "label" : "fields",
                "type" : "object"
              },
              "arrayFields" : {
                "label" : "arrayFields",
                "type" : "object"
              }
            },
            "flow" : [ "fields", "arrayFields" ]
          },
          "algoSettings" : {
            "label" : "algoSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "type" : {
                "type" : "select",
                "props" : {
                  "label" : "type",
                  "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
                }
              },
              "size" : {
                "label" : "size",
                "type" : "number"
              },
              "publicKey" : {
                "label" : "publicKey",
                "type" : "string"
              },
              "privateKey" : {
                "label" : "privateKey",
                "type" : "string"
              },
              "certId" : {
                "label" : "certId",
                "type" : "string"
              },
              "secret" : {
                "label" : "secret",
                "type" : "string"
              },
              "base64" : {
                "label" : "base64",
                "type" : "bool"
              },
              "url" : {
                "label" : "url",
                "type" : "string"
              },
              "tlsConfig" : {
                "label" : "tlsConfig",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "mtls" : {
                    "label" : "mtls",
                    "type" : "bool"
                  },
                  "loose" : {
                    "label" : "loose",
                    "type" : "bool"
                  },
                  "trustAll" : {
                    "label" : "trustAll",
                    "type" : "bool"
                  },
                  "trustedCerts" : {
                    "label" : "trustedCerts",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  },
                  "certs" : {
                    "label" : "certs",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
              },
              "kty" : {
                "label" : "kty",
                "type" : "string"
              },
              "proxy" : {
                "label" : "proxy",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "host" : {
                    "label" : "host",
                    "type" : "string"
                  },
                  "port" : {
                    "label" : "port",
                    "type" : "string"
                  },
                  "protocol" : {
                    "label" : "protocol",
                    "type" : "string"
                  },
                  "principal" : {
                    "label" : "principal",
                    "type" : "string"
                  },
                  "password" : {
                    "label" : "password",
                    "type" : "string"
                  },
                  "ntlmDomain" : {
                    "label" : "ntlmDomain",
                    "type" : "string"
                  },
                  "encoding" : {
                    "label" : "encoding",
                    "type" : "string"
                  },
                  "nonProxyHosts" : {
                    "label" : "nonProxyHosts",
                    "type" : "string"
                  }
                },
                "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
              },
              "headers" : {
                "label" : "headers",
                "type" : "object"
              },
              "ttl" : {
                "label" : "ttl",
                "type" : "number"
              },
              "timeout" : {
                "label" : "timeout",
                "type" : "number"
              },
              "onlyExposedCerts" : {
                "label" : "onlyExposedCerts",
                "type" : "bool"
              }
            },
            "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
          },
          "transformSettings" : {
            "label" : "transformSettings",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "location" : {
                "label" : "location",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "type" : {
                    "type" : "select",
                    "props" : {
                      "label" : "type",
                      "options" : [ "InQueryParam", "InHeader", "InCookie" ]
                    }
                  },
                  "name" : {
                    "label" : "name",
                    "type" : "string"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "string"
                  }
                },
                "flow" : [ "type", "name", "remove" ]
              },
              "mappingSettings" : {
                "label" : "mappingSettings",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "map" : {
                    "label" : "map",
                    "type" : "object"
                  },
                  "values" : {
                    "label" : "values",
                    "type" : "object"
                  },
                  "remove" : {
                    "label" : "remove",
                    "type" : "array",
                    "array" : true,
                    "format" : null
                  }
                },
                "flow" : [ "map", "values", "remove" ]
              }
            },
            "flow" : [ "location", "mappingSettings" ]
          }
        },
        "flow" : [ "type", "strict", "token", "verificationSettings", "algoSettings", "transformSettings" ]
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "ids" : {
        "label" : "ids",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "ids", "excludedPatterns", "enabled", "metadata", "id", "tags", "strict", "name", "desc", "type", "source", "algoSettings", "_loc", "strategy" ]
  },
  "otoroshi.models.LatencyInjectionFaultConfig" : {
    "schema" : {
      "ratio" : {
        "label" : "ratio",
        "type" : "number"
      },
      "from" : {
        "label" : "from",
        "type" : "number"
      },
      "to" : {
        "label" : "to",
        "type" : "number"
      }
    },
    "flow" : [ "to", "from", "ratio" ]
  },
  "otoroshi.models.VerificationSettings" : {
    "schema" : {
      "fields" : {
        "label" : "fields",
        "type" : "object"
      },
      "arrayFields" : {
        "label" : "arrayFields",
        "type" : "object"
      }
    },
    "flow" : [ "arrayFields", "fields" ]
  },
  "otoroshi.next.plugins.WasmRequestHandler" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.Keys" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.next.plugins.NgLog4ShellFilterConfig" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      },
      "parse_body" : {
        "label" : "parse_body",
        "type" : "bool"
      }
    },
    "flow" : [ "parse_body", "body", "status" ]
  },
  "otoroshi.models.JwtTokenLocation" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "InQueryParam", "InHeader", "InCookie" ]
        }
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "remove" : {
        "label" : "remove",
        "type" : "string"
      }
    },
    "flow" : [ "remove", "name", "type" ]
  },
  "otoroshi.utils.http.DN" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.GenericOauth2ModuleConfig" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "saml", "oauth1", "oauth2", "ldap", "basic" ]
        }
      },
      "extraMetadata" : {
        "label" : "extraMetadata",
        "type" : "object"
      },
      "desc" : {
        "label" : "desc",
        "type" : "string"
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "rightsOverride" : {
        "label" : "rightsOverride",
        "type" : "object"
      },
      "clientId" : {
        "label" : "clientId",
        "type" : "string"
      },
      "otoroshiRightsField" : {
        "label" : "otoroshiRightsField",
        "type" : "string"
      },
      "clientSideSessionEnabled" : {
        "label" : "clientSideSessionEnabled",
        "type" : "bool"
      },
      "scope" : {
        "label" : "scope",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "accessTokenField" : {
        "label" : "accessTokenField",
        "type" : "string"
      },
      "superAdmins" : {
        "label" : "superAdmins",
        "type" : "bool"
      },
      "sessionMaxAge" : {
        "label" : "sessionMaxAge",
        "type" : "number"
      },
      "refreshTokens" : {
        "label" : "refreshTokens",
        "type" : "bool"
      },
      "loginUrl" : {
        "label" : "loginUrl",
        "type" : "string"
      },
      "apiKeyTagsField" : {
        "label" : "apiKeyTagsField",
        "type" : "string"
      },
      "otoroshiDataField" : {
        "label" : "otoroshiDataField",
        "type" : "string"
      },
      "userValidators" : {
        "label" : "userValidators",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "value" : {
            "label" : "value",
            "type" : "object"
          },
          "error" : {
            "label" : "error",
            "type" : "string"
          }
        },
        "flow" : [ "path", "error", "value" ]
      },
      "emailField" : {
        "label" : "emailField",
        "type" : "string"
      },
      "mtlsConfig" : {
        "label" : "mtlsConfig",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "mtls" : {
            "label" : "mtls",
            "type" : "bool"
          },
          "loose" : {
            "label" : "loose",
            "type" : "bool"
          },
          "trustAll" : {
            "label" : "trustAll",
            "type" : "bool"
          },
          "trustedCerts" : {
            "label" : "trustedCerts",
            "type" : "array",
            "array" : true,
            "format" : null
          },
          "certs" : {
            "label" : "certs",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
      },
      "tokenUrl" : {
        "label" : "tokenUrl",
        "type" : "string"
      },
      "useCookie" : {
        "label" : "useCookie",
        "type" : "bool"
      },
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "pkce" : {
        "label" : "pkce",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "enabled" : {
            "label" : "enabled",
            "type" : "bool"
          },
          "algorithm" : {
            "label" : "algorithm",
            "type" : "string"
          }
        },
        "flow" : [ "enabled", "algorithm" ]
      },
      "authorizeUrl" : {
        "label" : "authorizeUrl",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "callbackUrl" : {
        "label" : "callbackUrl",
        "type" : "string"
      },
      "proxy" : {
        "label" : "proxy",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "host" : {
            "label" : "host",
            "type" : "string"
          },
          "port" : {
            "label" : "port",
            "type" : "string"
          },
          "protocol" : {
            "label" : "protocol",
            "type" : "string"
          },
          "principal" : {
            "label" : "principal",
            "type" : "string"
          },
          "password" : {
            "label" : "password",
            "type" : "string"
          },
          "ntlmDomain" : {
            "label" : "ntlmDomain",
            "type" : "string"
          },
          "encoding" : {
            "label" : "encoding",
            "type" : "string"
          },
          "nonProxyHosts" : {
            "label" : "nonProxyHosts",
            "type" : "string"
          }
        },
        "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
      },
      "apiKeyMetaField" : {
        "label" : "apiKeyMetaField",
        "type" : "string"
      },
      "clientSecret" : {
        "label" : "clientSecret",
        "type" : "string"
      },
      "useJson" : {
        "label" : "useJson",
        "type" : "bool"
      },
      "oidConfig" : {
        "label" : "oidConfig",
        "type" : "string"
      },
      "claims" : {
        "label" : "claims",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "noWildcardRedirectURI" : {
        "label" : "noWildcardRedirectURI",
        "type" : "bool"
      },
      "nameField" : {
        "label" : "nameField",
        "type" : "string"
      },
      "introspectionUrl" : {
        "label" : "introspectionUrl",
        "type" : "string"
      },
      "logoutUrl" : {
        "label" : "logoutUrl",
        "type" : "string"
      },
      "dataOverride" : {
        "label" : "dataOverride",
        "type" : "object"
      },
      "userInfoUrl" : {
        "label" : "userInfoUrl",
        "type" : "string"
      },
      "jwtVerifier" : {
        "label" : "jwtVerifier",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "type" : {
            "type" : "select",
            "props" : {
              "label" : "type",
              "options" : [ "HSAlgoSettings", "RSAlgoSettings", "ESAlgoSettings", "JWKSAlgoSettings", "RSAKPAlgoSettings", "ESKPAlgoSettings", "KidAlgoSettings" ]
            }
          },
          "size" : {
            "label" : "size",
            "type" : "number"
          },
          "publicKey" : {
            "label" : "publicKey",
            "type" : "string"
          },
          "privateKey" : {
            "label" : "privateKey",
            "type" : "string"
          },
          "certId" : {
            "label" : "certId",
            "type" : "string"
          },
          "secret" : {
            "label" : "secret",
            "type" : "string"
          },
          "base64" : {
            "label" : "base64",
            "type" : "bool"
          },
          "url" : {
            "label" : "url",
            "type" : "string"
          },
          "tlsConfig" : {
            "label" : "tlsConfig",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "mtls" : {
                "label" : "mtls",
                "type" : "bool"
              },
              "loose" : {
                "label" : "loose",
                "type" : "bool"
              },
              "trustAll" : {
                "label" : "trustAll",
                "type" : "bool"
              },
              "trustedCerts" : {
                "label" : "trustedCerts",
                "type" : "array",
                "array" : true,
                "format" : null
              },
              "certs" : {
                "label" : "certs",
                "type" : "array",
                "array" : true,
                "format" : null
              }
            },
            "flow" : [ "mtls", "loose", "trustAll", "trustedCerts", "certs" ]
          },
          "kty" : {
            "label" : "kty",
            "type" : "string"
          },
          "proxy" : {
            "label" : "proxy",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "host" : {
                "label" : "host",
                "type" : "string"
              },
              "port" : {
                "label" : "port",
                "type" : "string"
              },
              "protocol" : {
                "label" : "protocol",
                "type" : "string"
              },
              "principal" : {
                "label" : "principal",
                "type" : "string"
              },
              "password" : {
                "label" : "password",
                "type" : "string"
              },
              "ntlmDomain" : {
                "label" : "ntlmDomain",
                "type" : "string"
              },
              "encoding" : {
                "label" : "encoding",
                "type" : "string"
              },
              "nonProxyHosts" : {
                "label" : "nonProxyHosts",
                "type" : "string"
              }
            },
            "flow" : [ "host", "port", "protocol", "principal", "password", "ntlmDomain", "encoding", "nonProxyHosts" ]
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          },
          "ttl" : {
            "label" : "ttl",
            "type" : "number"
          },
          "timeout" : {
            "label" : "timeout",
            "type" : "number"
          },
          "onlyExposedCerts" : {
            "label" : "onlyExposedCerts",
            "type" : "bool"
          }
        },
        "flow" : [ "type", "size", "publicKey", "privateKey", "certId", "secret", "base64", "url", "tlsConfig", "kty", "proxy", "headers", "ttl", "timeout", "onlyExposedCerts" ]
      },
      "readProfileFromToken" : {
        "label" : "readProfileFromToken",
        "type" : "bool"
      },
      "sessionCookieValues" : {
        "label" : "sessionCookieValues",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "httpOnly" : {
            "label" : "httpOnly",
            "type" : "bool"
          },
          "secure" : {
            "label" : "secure",
            "type" : "bool"
          }
        },
        "flow" : [ "httpOnly", "secure" ]
      }
    },
    "flow" : [ "readProfileFromToken", "userInfoUrl", "dataOverride", "logoutUrl", "introspectionUrl", "nameField", "noWildcardRedirectURI", "metadata", "claims", "oidConfig", "useJson", "clientSecret", "apiKeyMetaField", "callbackUrl", "authorizeUrl", "id", "useCookie", "tokenUrl", "emailField", "userValidators", "otoroshiDataField", "apiKeyTagsField", "loginUrl", "refreshTokens", "sessionMaxAge", "superAdmins", "accessTokenField", "tags", "scope", "clientSideSessionEnabled", "otoroshiRightsField", "clientId", "rightsOverride", "name", "desc", "extraMetadata", "type", "mtlsConfig", "pkce", "_loc", "proxy", "jwtVerifier", "sessionCookieValues" ]
  },
  "otoroshi.next.plugins.MockEndpoint" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "body" : {
        "type" : "code",
        "props" : {
          "label" : "body",
          "editorOnly" : true,
          "mode" : "json"
        }
      },
      "path" : {
        "label" : "path",
        "type" : "string"
      },
      "resource" : {
        "label" : "resource",
        "type" : "string"
      },
      "headers" : {
        "label" : "headers",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      },
      "resource_list" : {
        "label" : "resource_list",
        "type" : "bool"
      }
    },
    "flow" : [ "resource_list", "method", "headers", "resource", "path", "body", "status" ]
  },
  "otoroshi.script.PreRoutingRef" : {
    "schema" : {
      "enabled" : {
        "label" : "enabled",
        "type" : "bool"
      },
      "excludedPatterns" : {
        "label" : "excludedPatterns",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "refs" : {
        "label" : "refs",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      }
    },
    "flow" : [ "config", "refs", "excludedPatterns", "enabled" ]
  },
  "otoroshi.wasm.WasmConfig" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.next.plugins.WasmAccessValidator" : {
    "schema" : {
      "allowedHosts" : {
        "label" : "allowedHosts",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "memoryPages" : {
        "label" : "memoryPages",
        "type" : "number"
      },
      "allowedPaths" : {
        "label" : "allowedPaths",
        "type" : "object"
      },
      "instances" : {
        "label" : "instances",
        "type" : "number"
      },
      "config" : {
        "label" : "config",
        "type" : "object"
      },
      "authorizations" : {
        "label" : "authorizations",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "proxyStateAccess" : {
            "label" : "proxyStateAccess",
            "type" : "bool"
          },
          "httpAccess" : {
            "label" : "httpAccess",
            "type" : "bool"
          },
          "globalMapAccess" : {
            "label" : "globalMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginDataStoreAccess" : {
            "label" : "pluginDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "pluginMapAccess" : {
            "label" : "pluginMapAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          },
          "proxyHttpCallTimeout" : {
            "label" : "proxyHttpCallTimeout",
            "type" : "number"
          },
          "configurationAccess" : {
            "label" : "configurationAccess",
            "type" : "bool"
          },
          "globalDataStoreAccess" : {
            "label" : "globalDataStoreAccess",
            "type" : "form",
            "collapsable" : true,
            "collapsed" : true,
            "schema" : {
              "read" : {
                "label" : "read",
                "type" : "bool"
              },
              "write" : {
                "label" : "write",
                "type" : "bool"
              }
            },
            "flow" : [ "read", "write" ]
          }
        },
        "flow" : [ "proxyStateAccess", "httpAccess", "globalMapAccess", "pluginDataStoreAccess", "pluginMapAccess", "proxyHttpCallTimeout", "configurationAccess", "globalDataStoreAccess" ]
      },
      "opa" : {
        "label" : "opa",
        "type" : "bool"
      },
      "wasi" : {
        "label" : "wasi",
        "type" : "bool"
      },
      "functionName" : {
        "label" : "functionName",
        "type" : "string"
      }
    },
    "flow" : [ "functionName", "wasi", "opa", "config", "instances", "allowedPaths", "memoryPages", "allowedHosts", "authorizations" ]
  },
  "otoroshi.auth.BasicAuthUser" : {
    "schema" : {
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "password" : {
        "label" : "password",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      },
      "email" : {
        "label" : "email",
        "type" : "string"
      },
      "webauthn" : {
        "label" : "webauthn",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "handle" : {
            "label" : "handle",
            "type" : "string"
          },
          "credentials" : {
            "label" : "credentials",
            "type" : "object"
          }
        },
        "flow" : [ "handle", "credentials" ]
      },
      "rights" : {
        "label" : "rights",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "rights" : {
            "label" : "rights",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "tenant" : {
                "label" : "tenant",
                "type" : "form",
                "collapsable" : true,
                "collapsed" : true,
                "schema" : {
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canWrite", "value", "canRead" ]
              },
              "teams" : {
                "label" : "teams",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "canRead" : {
                    "label" : "canRead",
                    "type" : "bool"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "string"
                  },
                  "canWrite" : {
                    "label" : "canWrite",
                    "type" : "bool"
                  }
                },
                "flow" : [ "canRead", "value", "canWrite" ]
              }
            },
            "flow" : [ "tenant", "teams" ]
          }
        },
        "flow" : [ "rights" ]
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      }
    },
    "flow" : [ "name", "email", "tags", "password", "metadata", "webauthn", "rights" ]
  },
  "otoroshi.plugins.clientcert.SubIss" : {
    "schema" : {
      "sn" : {
        "label" : "sn",
        "type" : "string"
      },
      "subject" : {
        "label" : "subject",
        "type" : "string"
      },
      "issuer" : {
        "label" : "issuer",
        "type" : "string"
      }
    },
    "flow" : [ "issuer", "subject", "sn" ]
  },
  "otoroshi.plugins.jobs.kubernetes.KubernetesIngressControllerJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.utils.mailer.SendgridSettings" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "elastic", "webhook", "kafka", "pulsar", "file", "mailer", "custom", "console", "metrics" ]
        }
      },
      "apiKey" : {
        "label" : "apiKey",
        "type" : "string"
      },
      "to" : {
        "label" : "to",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "name" : {
            "label" : "name",
            "type" : "string"
          },
          "email" : {
            "label" : "email",
            "type" : "string"
          }
        },
        "flow" : [ "name", "email" ]
      }
    },
    "flow" : [ "to", "apiKey", "type" ]
  },
  "otoroshi.next.plugins.AuthModule" : {
    "schema" : {
      "module" : {
        "label" : "module",
        "type" : "string"
      },
      "pass_with_apikey" : {
        "label" : "pass_with_apikey",
        "type" : "bool"
      }
    },
    "flow" : [ "pass_with_apikey", "module" ]
  },
  "otoroshi.next.plugins.NgErrorRewriter" : {
    "schema" : {
      "ranges" : {
        "label" : "ranges",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "from" : {
            "label" : "from",
            "type" : "number"
          },
          "to" : {
            "label" : "to",
            "type" : "number"
          }
        },
        "flow" : [ "from", "to" ]
      },
      "templates" : {
        "label" : "templates",
        "type" : "object"
      },
      "log" : {
        "label" : "log",
        "type" : "bool"
      },
      "export" : {
        "label" : "export",
        "type" : "bool"
      }
    },
    "flow" : [ "export", "log", "templates", "ranges" ]
  },
  "otoroshi.models.EntityIdentifier" : {
    "schema" : {
      "type" : {
        "label" : "type",
        "type" : "unknown type"
      },
      "description" : {
        "label" : "description",
        "type" : "unknown type"
      }
    },
    "flow" : [ "description", "type" ]
  },
  "otoroshi.next.plugins.HMACCallerConfig" : {
    "schema" : {
      "secret" : {
        "label" : "secret",
        "type" : "string"
      },
      "algo" : {
        "label" : "algo",
        "type" : "string"
      },
      "authorization_header" : {
        "label" : "authorization_header",
        "type" : "string"
      }
    },
    "flow" : [ "authorization_header", "algo", "secret" ]
  },
  "otoroshi.next.plugins.NgSecurityTxt" : {
    "schema" : {
      "preferred_languages" : {
        "label" : "preferred_languages",
        "type" : "string"
      },
      "encryption" : {
        "label" : "encryption",
        "type" : "string"
      },
      "policy" : {
        "label" : "policy",
        "type" : "string"
      },
      "acknowledgments" : {
        "label" : "acknowledgments",
        "type" : "string"
      },
      "hiring" : {
        "label" : "hiring",
        "type" : "string"
      },
      "contact" : {
        "label" : "contact",
        "type" : "string"
      }
    },
    "flow" : [ "contact", "hiring", "acknowledgments", "policy", "encryption", "preferred_languages" ]
  },
  "otoroshi.models.DefaultTemplates" : {
    "schema" : {
      "team" : {
        "label" : "team",
        "type" : "string"
      },
      "script" : {
        "label" : "script",
        "type" : "string"
      },
      "apikey" : {
        "label" : "apikey",
        "type" : "string"
      },
      "group" : {
        "label" : "group",
        "type" : "string"
      },
      "tcpService" : {
        "label" : "tcpService",
        "type" : "string"
      },
      "verifier" : {
        "label" : "verifier",
        "type" : "string"
      },
      "service" : {
        "label" : "service",
        "type" : "string"
      },
      "target" : {
        "label" : "target",
        "type" : "string"
      },
      "certificate" : {
        "label" : "certificate",
        "type" : "string"
      },
      "dataExporter" : {
        "label" : "dataExporter",
        "type" : "string"
      },
      "route" : {
        "label" : "route",
        "type" : "string"
      },
      "backend" : {
        "label" : "backend",
        "type" : "string"
      },
      "template" : {
        "label" : "template",
        "type" : "string"
      },
      "tenant" : {
        "label" : "tenant",
        "type" : "string"
      },
      "authConfig" : {
        "label" : "authConfig",
        "type" : "string"
      },
      "descriptor" : {
        "label" : "descriptor",
        "type" : "string"
      }
    },
    "flow" : [ "descriptor", "authConfig", "tenant", "template", "backend", "route", "dataExporter", "certificate", "target", "service", "verifier", "tcpService", "group", "apikey", "script", "team" ]
  },
  "otoroshi.next.plugins.TailscaleCertificatesFetcherJob" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.plugins.authcallers.BasicAuthCaller" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.auth.OAuth1Provider" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.AlwaysMatch" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "Always" ]
        }
      }
    },
    "flow" : [ "type" ]
  },
  "otoroshi.plugins.core.apikeys.BasicAuthApikeyExtractor" : {
    "schema" : { },
    "flow" : [ ]
  },
  "otoroshi.models.TargetPredicate" : {
    "schema" : {
      "type" : {
        "type" : "select",
        "props" : {
          "label" : "type",
          "options" : [ "AlwaysMatch", "NetworkLocationMatch", "GeolocationMatch" ]
        }
      },
      "dc" : {
        "label" : "dc",
        "type" : "string"
      },
      "positions" : {
        "label" : "positions",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "latitude" : {
            "label" : "latitude",
            "type" : "number"
          },
          "longitude" : {
            "label" : "longitude",
            "type" : "number"
          },
          "radius" : {
            "label" : "radius",
            "type" : "number"
          }
        },
        "flow" : [ "latitude", "longitude", "radius" ]
      },
      "provider" : {
        "label" : "provider",
        "type" : "string"
      },
      "dataCenter" : {
        "label" : "dataCenter",
        "type" : "string"
      },
      "rack" : {
        "label" : "rack",
        "type" : "string"
      },
      "region" : {
        "label" : "region",
        "type" : "string"
      },
      "zone" : {
        "label" : "zone",
        "type" : "string"
      }
    },
    "flow" : [ "zone", "region", "rack", "dataCenter", "provider", "positions", "dc", "type" ]
  },
  "otoroshi.next.plugins.NgAuthModuleUserExtractor" : {
    "schema" : {
      "module" : {
        "label" : "module",
        "type" : "string"
      }
    },
    "flow" : [ "module" ]
  },
  "otoroshi.plugins.loggers.ResponseBodyEvent" : {
    "schema" : {
      "status" : {
        "label" : "status",
        "type" : "number"
      },
      "headers" : {
        "label" : "headers",
        "type" : "object"
      },
      "url" : {
        "label" : "url",
        "type" : "string"
      },
      "reqId" : {
        "label" : "reqId",
        "type" : "string"
      },
      "from" : {
        "label" : "from",
        "type" : "string"
      },
      "ua" : {
        "label" : "ua",
        "type" : "string"
      },
      "method" : {
        "label" : "method",
        "type" : "string"
      }
    },
    "flow" : [ "method", "ua", "from", "reqId", "url", "headers", "status" ]
  },
  "otoroshi.models.ServiceGroup" : {
    "schema" : {
      "id" : {
        "label" : "id",
        "type" : "string"
      },
      "_loc" : {
        "label" : "_loc",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "tenant" : {
            "label" : "tenant",
            "type" : "string"
          },
          "teams" : {
            "label" : "teams",
            "type" : "array",
            "array" : true,
            "format" : null
          }
        },
        "flow" : [ "tenant", "teams" ]
      },
      "name" : {
        "label" : "name",
        "type" : "string"
      },
      "metadata" : {
        "label" : "metadata",
        "type" : "object"
      },
      "description" : {
        "label" : "description",
        "type" : "string"
      },
      "tags" : {
        "label" : "tags",
        "type" : "array",
        "array" : true,
        "format" : null
      }
    },
    "flow" : [ "tags", "description", "metadata", "name", "id", "_loc" ]
  },
  "otoroshi.next.plugins.MockResponsesConfig" : {
    "schema" : {
      "responses" : {
        "label" : "responses",
        "type" : "array",
        "array" : true,
        "format" : "form",
        "schema" : {
          "path" : {
            "label" : "path",
            "type" : "string"
          },
          "body" : {
            "type" : "code",
            "props" : {
              "label" : "body",
              "editorOnly" : true,
              "mode" : "json"
            }
          },
          "status" : {
            "label" : "status",
            "type" : "number"
          },
          "method" : {
            "label" : "method",
            "type" : "string"
          },
          "headers" : {
            "label" : "headers",
            "type" : "object"
          }
        },
        "flow" : [ "path", "body", "status", "method", "headers" ]
      },
      "pass_through" : {
        "label" : "pass_through",
        "type" : "bool"
      },
      "form_data" : {
        "label" : "form_data",
        "type" : "form",
        "collapsable" : true,
        "collapsed" : true,
        "schema" : {
          "resources" : {
            "label" : "resources",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "name" : {
                "label" : "name",
                "type" : "string"
              },
              "schema" : {
                "label" : "schema",
                "type" : "array",
                "array" : true,
                "format" : "form",
                "schema" : {
                  "field_name" : {
                    "label" : "field_name",
                    "type" : "string"
                  },
                  "field_type" : {
                    "label" : "field_type",
                    "type" : "string"
                  },
                  "value" : {
                    "label" : "value",
                    "type" : "object"
                  }
                },
                "flow" : [ "field_name", "field_type", "value" ]
              },
              "additional_data" : {
                "label" : "additional_data",
                "type" : "string"
              }
            },
            "flow" : [ "name", "schema", "additional_data" ]
          },
          "endpoints" : {
            "label" : "endpoints",
            "type" : "array",
            "array" : true,
            "format" : "form",
            "schema" : {
              "status" : {
                "label" : "status",
                "type" : "number"
              },
              "body" : {
                "type" : "code",
                "props" : {
                  "label" : "body",
                  "editorOnly" : true,
                  "mode" : "json"
                }
              },
              "path" : {
                "label" : "path",
                "type" : "string"
              },
              "resource" : {
                "label" : "resource",
                "type" : "string"
              },
              "headers" : {
                "label" : "headers",
                "type" : "string"
              },
              "method" : {
                "label" : "method",
                "type" : "string"
              },
              "resource_list" : {
                "label" : "resource_list",
                "type" : "bool"
              }
            },
            "flow" : [ "status", "body", "path", "resource", "headers", "method", "resource_list" ]
          }
        },
        "flow" : [ "resources", "endpoints" ]
      }
    },
    "flow" : [ "pass_through", "responses", "form_data" ]
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy