Packages

p

otoroshi

models

package models

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AlgoMode extends AnyRef
  2. trait AlgoSettings extends AsJson
  3. case class ApiDescriptor(exposeApi: Boolean = false, openApiDescriptorUrl: Option[String] = None) extends Product with Serializable
  4. case class ApiKey(clientId: String, clientSecret: String, clientName: String, description: String = "", authorizedEntities: Seq[EntityIdentifier], enabled: Boolean = true, readOnly: Boolean = false, allowClientIdOnly: Boolean = false, throttlingQuota: Long = RemainingQuotas.MaxValue, dailyQuota: Long = RemainingQuotas.MaxValue, monthlyQuota: Long = RemainingQuotas.MaxValue, constrainedServicesOnly: Boolean = false, restrictions: Restrictions = Restrictions(), validUntil: Option[DateTime] = None, rotation: ApiKeyRotation = ApiKeyRotation(), tags: Seq[String] = Seq.empty[String], metadata: Map[String, String] = Map.empty[String, String], location: EntityLocation = otoroshi.models.EntityLocation()) extends EntityLocationSupport with Product with Serializable
  5. case class ApiKeyConstraints(basicAuth: BasicAuthConstraints = BasicAuthConstraints(), customHeadersAuth: CustomHeadersAuthConstraints = CustomHeadersAuthConstraints(), clientIdAuth: ClientIdAuthConstraints = ClientIdAuthConstraints(), jwtAuth: JwtAuthConstraints = JwtAuthConstraints(), routing: ApiKeyRouteMatcher = ApiKeyRouteMatcher()) extends Product with Serializable
  6. trait ApiKeyDataStore extends BasicStore[ApiKey]
  7. case class ApiKeyRotation(enabled: Boolean = false, rotationEvery: Long = 31 * 24, gracePeriod: Long = 7 * 24, nextSecret: Option[String] = None) extends Product with Serializable
  8. case class ApiKeyRotationInfo(rotationAt: DateTime, remaining: Long) extends Product with Serializable
  9. case class ApiKeyRouteMatcher(noneTagIn: Seq[String] = Seq.empty, oneTagIn: Seq[String] = Seq.empty, allTagsIn: Seq[String] = Seq.empty, noneMetaIn: Map[String, String] = Map.empty, oneMetaIn: Map[String, String] = Map.empty, allMetaIn: Map[String, String] = Map.empty, noneMetaKeysIn: Seq[String] = Seq.empty, oneMetaKeyIn: Seq[String] = Seq.empty, allMetaKeysIn: Seq[String] = Seq.empty) extends Product with Serializable
  10. case class ApikeyLocation(kind: ApikeyLocationKind, name: String) extends Product with Serializable
  11. sealed trait ApikeyLocationKind extends AnyRef
  12. case class ApikeyTuple(clientId: String, clientSecret: Option[String] = None, jwtToken: Option[DecodedJWT] = None, location: Option[ApikeyLocation]) extends Product with Serializable
  13. trait AsJson extends AnyRef
  14. case class AtomicAverage(count: AtomicLong, sum: AtomicLong) extends Product with Serializable
  15. case class AutoCert(enabled: Boolean = false, caRef: Option[String] = None, allowed: Seq[String] = Seq.empty, notAllowed: Seq[String] = Seq.empty, replyNicely: Boolean = false) extends Product with Serializable
  16. case class BackOfficeUser(randomId: String, name: String, email: String, profile: JsValue, token: JsValue = Json.obj(), authConfigId: String, simpleLogin: Boolean, createdAt: DateTime = DateTime.now(), expiredAt: DateTime = DateTime.now(), lastRefresh: DateTime = DateTime.now(), tags: Seq[String], metadata: Map[String, String], rights: UserRights, location: EntityLocation = otoroshi.models.EntityLocation()) extends RefreshableUser with ValidableUser with EntityLocationSupport with Product with Serializable
  17. trait BackOfficeUserDataStore extends BasicStore[BackOfficeUser]
  18. case class BadResponse(status: Int, body: String, headers: Map[String, String]) extends Product with Serializable
  19. case class BadResponsesFaultConfig(ratio: Double, responses: Seq[BadResponse]) extends FaultConfig with Product with Serializable
  20. case class BaseQuotas(throttlingQuota: Long = BaseQuotas.MaxValue, dailyQuota: Long = BaseQuotas.MaxValue, monthlyQuota: Long = BaseQuotas.MaxValue) extends Product with Serializable
  21. case class BasicAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
  22. case class Canary(enabled: Boolean = false, traffic: Double = 0.2, targets: Seq[Target] = Seq.empty[Target], root: String = "/") extends Product with Serializable
  23. trait CanaryDataStore extends AnyRef
  24. case class ChaosConfig(enabled: Boolean = false, largeRequestFaultConfig: Option[LargeRequestFaultConfig] = None, largeResponseFaultConfig: Option[LargeResponseFaultConfig] = None, latencyInjectionFaultConfig: Option[LatencyInjectionFaultConfig] = None, badResponsesFaultConfig: Option[BadResponsesFaultConfig] = None) extends Product with Serializable
  25. trait ChaosDataStore extends AnyRef
  26. class CidrOfString extends AnyRef
  27. case class CleverCloudSettings(consumerKey: String, consumerSecret: String, token: String, secret: String, orgaId: String) extends Product with Serializable
  28. case class ClientConfig(useCircuitBreaker: Boolean = true, retries: Int = 1, maxErrors: Int = 20, retryInitialDelay: Long = 50, backoffFactor: Long = 2, connectionTimeout: Long = 10000, idleTimeout: Long = 60000, callAndStreamTimeout: Long = 120000, callTimeout: Long = 30000, globalTimeout: Long = 30000, sampleInterval: Long = 2000, proxy: Option[WSProxyServer] = None, customTimeouts: Seq[CustomTimeouts] = Seq.empty[CustomTimeouts], cacheConnectionSettings: CacheConnectionSettings = CacheConnectionSettings()) extends Product with Serializable
  29. case class ClientIdAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
  30. case class ConsoleSettings() extends Exporter with Product with Serializable
  31. case class CorsSettings(enabled: Boolean = false, allowOrigin: String = "*", exposeHeaders: Seq[String] = Seq.empty[String], allowHeaders: Seq[String] = Seq.empty[String], allowMethods: Seq[String] = Seq.empty[String], excludedPatterns: Seq[String] = Seq.empty[String], maxAge: Option[FiniteDuration] = None, allowCredentials: Boolean = true) extends AsJson with Product with Serializable
  32. case class CustomHeadersAuthConstraints(enabled: Boolean = true, clientIdHeaderName: Option[String] = None, clientSecretHeaderName: Option[String] = None) extends Product with Serializable
  33. case class CustomTimeouts(path: String = "/*", connectionTimeout: Long = 10000, idleTimeout: Long = 60000, callAndStreamTimeout: Long = 1.hour.toMillis, callTimeout: Long = 30000, globalTimeout: Long = 30000) extends Product with Serializable
  34. case class DataCenterMatch(dc: String) extends TargetPredicate with Product with Serializable
  35. case class DataExporterConfig(enabled: Boolean, typ: DataExporterConfigType, id: String, name: String, desc: String, metadata: Map[String, String] = Map.empty, tags: Seq[String] = Seq.empty, location: EntityLocation = EntityLocation(), bufferSize: Int = 5000, jsonWorkers: Int = 1, sendWorkers: Int = 5, groupSize: Int = 100, groupDuration: FiniteDuration = 30.seconds, filtering: DataExporterConfigFiltering, projection: JsObject, config: Exporter) extends EntityLocationSupport with Product with Serializable
  36. case class DataExporterConfigFiltering(include: Seq[JsObject] = Seq.empty, exclude: Seq[JsObject] = Seq.empty) extends Product with Serializable
  37. class DataExporterConfigMigrationJob extends Job
  38. sealed trait DataExporterConfigType extends AnyRef
  39. case class DefaultTemplates(route: Option[JsObject] = Json.obj().some, service: Option[JsObject] = Json.obj().some, backend: Option[JsObject] = Json.obj().some, target: Option[JsObject] = Json.obj().some, descriptor: Option[JsObject] = Json.obj().some, apikey: Option[JsObject] = Json.obj().some, group: Option[JsObject] = Json.obj().some, template: Option[JsObject] = Json.obj().some, verifier: Option[JsObject] = Json.obj().some, authConfig: Option[JsObject] = Json.obj().some, certificate: Option[JsObject] = Json.obj().some, script: Option[JsObject] = Json.obj().some, tcpService: Option[JsObject] = Json.obj().some, dataExporter: Option[JsObject] = Json.obj().some, tenant: Option[JsObject] = Json.obj().some, team: Option[JsObject] = Json.obj().some) extends Product with Serializable
  40. case class DefaultToken(strict: Boolean = true, token: JsValue, verificationSettings: VerificationSettings = VerificationSettings()) extends VerifierStrategy with Product with Serializable
  41. case class ESAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
  42. case class ESKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
  43. case class ElasticAnalyticsConfig(clusterUri: String, index: Option[String] = None, type: Option[String] = None, user: Option[String] = None, password: Option[String] = None, headers: Map[String, String] = Map.empty[String, String], indexSettings: IndexSettings = IndexSettings(), mtlsConfig: MtlsConfig = MtlsConfig.default, applyTemplate: Boolean = true, version: Option[String] = None) extends Exporter with Product with Serializable
  44. trait Entity extends AnyRef
  45. sealed trait EntityIdentifier extends AnyRef
  46. case class EntityLocation(tenant: TenantId = TenantId.default, teams: Seq[TeamId] = Seq(TeamId.default)) extends Product with Serializable
  47. trait EntityLocationSupport extends Entity
  48. case class ErrorTemplate(serviceId: String, template40x: String, template50x: String, templateBuild: String, templateMaintenance: String, messages: Map[String, String] = Map.empty[String, String]) extends Product with Serializable
  49. trait ErrorTemplateDataStore extends BasicStore[ErrorTemplate]
  50. trait Exporter extends AnyRef
  51. case class ExporterRef(ref: String, config: JsValue) extends Exporter with Product with Serializable
  52. sealed trait FaultConfig extends AnyRef
  53. case class FileSettings(path: String, maxFileSize: Long = 10L * 1024L * 1024L) extends Exporter with Product with Serializable
  54. trait FromJson[A] extends AnyRef
  55. case class GeoPositionRadius(latitude: Double, longitude: Double, radius: Double) extends Product with Serializable
  56. case class GeolocationMatch(positions: Seq[GeoPositionRadius]) extends TargetPredicate with Product with Serializable
  57. sealed trait GeolocationSettings extends AnyRef
  58. case class GlobalConfig(letsEncryptSettings: LetsEncryptSettings = LetsEncryptSettings(), lines: Seq[String] = Seq("prod"), enableEmbeddedMetrics: Boolean = true, streamEntityOnly: Boolean = true, autoLinkToDefaultGroup: Boolean = true, limitConcurrentRequests: Boolean = false, maxConcurrentRequests: Long = 1000, maxHttp10ResponseSize: Long = 4 * (1024 * 1024), useCircuitBreakers: Boolean = true, apiReadOnly: Boolean = false, u2fLoginOnly: Boolean = false, maintenanceMode: Boolean = false, trustXForwarded: Boolean = true, ipFiltering: IpFiltering = IpFiltering(), throttlingQuota: Long = BaseQuotas.MaxValue, perIpThrottlingQuota: Long = BaseQuotas.MaxValue, elasticReadsConfig: Option[ElasticAnalyticsConfig] = None, elasticWritesConfigs: Seq[ElasticAnalyticsConfig] = Seq.empty[ElasticAnalyticsConfig], analyticsWebhooks: Seq[Webhook] = Seq.empty[Webhook], logAnalyticsOnServer: Boolean = false, useAkkaHttpClient: Boolean = false, alertsWebhooks: Seq[Webhook] = Seq.empty[Webhook], alertsEmails: Seq[String] = Seq.empty[String], endlessIpAddresses: Seq[String] = Seq.empty[String], kafkaConfig: Option[KafkaConfig] = None, backOfficeAuthRef: Option[String] = None, cleverSettings: Option[CleverCloudSettings] = None, mailerSettings: Option[MailerSettings] = None, statsdConfig: Option[StatsdConfig] = None, maxWebhookSize: Int = 100, middleFingers: Boolean = false, maxLogsSize: Int = 10000, otoroshiId: String = IdGenerator.uuid, snowMonkeyConfig: SnowMonkeyConfig = SnowMonkeyConfig(), proxies: Proxies = Proxies(), scripts: GlobalScripts = GlobalScripts(), geolocationSettings: GeolocationSettings = NoneGeolocationSettings, userAgentSettings: UserAgentSettings = UserAgentSettings(false), autoCert: AutoCert = AutoCert(), tlsSettings: TlsSettings = TlsSettings(), quotasSettings: QuotasAlmostExceededSettings = ..., plugins: Plugins = Plugins(), templates: DefaultTemplates = DefaultTemplates(), tags: Seq[String] = Seq.empty, metadata: Map[String, String] = Map.empty) extends Entity with Product with Serializable
  59. trait GlobalConfigDataStore extends BasicStore[GlobalConfig]
  60. case class GlobalJwtVerifier(id: String, name: String, desc: String, strict: Boolean = true, source: JwtTokenLocation = InHeader("X-JWT-Token"), algoSettings: AlgoSettings = ..., strategy: VerifierStrategy = ..., tags: Seq[String] = Seq.empty, metadata: Map[String, String] = Map.empty, location: EntityLocation = otoroshi.models.EntityLocation()) extends JwtVerifier with AsJson with EntityLocationSupport with Product with Serializable
  61. trait GlobalJwtVerifierDataStore extends BasicStore[GlobalJwtVerifier]
  62. case class GlobalScripts(enabled: Boolean = false, transformersRefs: Seq[String] = Seq.empty, transformersConfig: JsValue = Json.obj(), validatorRefs: Seq[String] = Seq.empty, validatorConfig: JsValue = Json.obj(), preRouteRefs: Seq[String] = Seq.empty, preRouteConfig: JsValue = Json.obj(), sinkRefs: Seq[String] = Seq.empty, sinkConfig: JsValue = Json.obj(), jobRefs: Seq[String] = Seq.empty, jobConfig: JsValue = Json.obj()) extends Product with Serializable
  63. case class GoReplayFileSettings(path: String, maxFileSize: Long = 10L * 1024L * 1024L, captureRequests: Boolean, captureResponses: Boolean, preferBackendRequest: Boolean, preferBackendResponse: Boolean, methods: Seq[String]) extends Exporter with Product with Serializable
  64. case class GoReplayS3Settings(s3: S3Configuration, maxFileSize: Long = 10L * 1024L * 1024L, captureRequests: Boolean, captureResponses: Boolean, preferBackendRequest: Boolean, preferBackendResponse: Boolean, methods: Seq[String]) extends Exporter with Product with Serializable
  65. class GroupNotFoundException extends RuntimeException
  66. case class HSAlgoSettings(size: Int, secret: String, base64: Boolean = false) extends AlgoSettings with Product with Serializable
  67. case class HealthCheck(enabled: Boolean, url: String) extends Product with Serializable
  68. case class HttpProtocol(value: String) extends Product with Serializable
  69. case class InCookie(name: String) extends JwtTokenLocation with Product with Serializable
  70. case class InHeader(name: String, remove: String = "") extends JwtTokenLocation with Product with Serializable
  71. case class InQueryParam(name: String) extends JwtTokenLocation with Product with Serializable
  72. case class IndexSettings(clientSide: Boolean = true, interval: IndexSettingsInterval = IndexSettingsInterval.Day) extends Product with Serializable
  73. sealed trait IndexSettingsInterval extends AnyRef
  74. case class InfraProviderMatch(provider: String) extends TargetPredicate with Product with Serializable
  75. case class InputMode(typ: String, kid: Option[String]) extends AlgoMode with Product with Serializable
  76. case class IpFiltering(whitelist: Seq[String] = Seq.empty[String], blacklist: Seq[String] = Seq.empty[String]) extends Product with Serializable
  77. case class IpStackGeolocationSettings(enabled: Boolean, apikey: String, timeout: Long) extends GeolocationSettings with Product with Serializable
  78. case class JWKSAlgoSettings(url: String, headers: Map[String, String], timeout: FiniteDuration, ttl: FiniteDuration, kty: KeyType, proxy: Option[WSProxyServer] = None, tlsConfig: MtlsConfig) extends AlgoSettings with Product with Serializable
  79. case class JwtAuthConstraints(enabled: Boolean = true, secretSigned: Boolean = true, keyPairSigned: Boolean = true, includeRequestAttributes: Boolean = false, maxJwtLifespanSecs: Option[Long] = None, headerName: Option[String] = None, queryName: Option[String] = None, cookieName: Option[String] = None) extends Product with Serializable
  80. case class JwtInjection(decodedToken: Option[DecodedJWT] = None, additionalHeaders: Map[String, String] = Map.empty, removeHeaders: Seq[String] = Seq.empty, additionalCookies: Map[String, String] = Map.empty, removeCookies: Seq[String] = Seq.empty) extends AsJson with Product with Serializable
  81. sealed trait JwtTokenLocation extends AsJson
  82. sealed trait JwtVerificationResult extends AnyRef
  83. sealed trait JwtVerifier extends AsJson
  84. case class Key(key: String) extends Product with Serializable
  85. case class KidAlgoSettings(onlyExposedCerts: Boolean) extends AlgoSettings with Product with Serializable
  86. case class LargeRequestFaultConfig(ratio: Double, additionalRequestSize: Int) extends FaultConfig with Product with Serializable
  87. case class LargeResponseFaultConfig(ratio: Double, additionalResponseSize: Int) extends FaultConfig with Product with Serializable
  88. case class LatencyInjectionFaultConfig(ratio: Double, from: FiniteDuration, to: FiniteDuration) extends FaultConfig with Product with Serializable
  89. trait LoadBalancing extends AnyRef
  90. case class LocalJwtVerifier(enabled: Boolean = false, strict: Boolean = true, excludedPatterns: Seq[String] = Seq.empty[String], source: JwtTokenLocation = InHeader("X-JWT-Token"), algoSettings: AlgoSettings = ..., strategy: VerifierStrategy = ...) extends JwtVerifier with AsJson with Product with Serializable
  91. case class MappingSettings(map: Map[String, String] = Map.empty, values: JsObject = Json.obj(), remove: Seq[String] = Seq.empty[String]) extends AsJson with Product with Serializable
  92. case class MaxmindGeolocationSettings(enabled: Boolean, path: String) extends GeolocationSettings with Product with Serializable
  93. case class MetricsSettings(labels: Map[String, String] = Map()) extends Exporter with Product with Serializable
  94. case class NetworkLocationMatch(provider: String = "local", region: String = "local", zone: String = "local", dataCenter: String = "local", rack: String = "local") extends TargetPredicate with Product with Serializable
  95. trait OtoroshiAdmin extends EntityLocationSupport
  96. trait OtoroshiAdminType extends AnyRef
  97. case class OtoroshiExport(config: GlobalConfig, descs: Seq[ServiceDescriptor] = Seq.empty, apikeys: Seq[ApiKey] = Seq.empty, groups: Seq[ServiceGroup] = Seq.empty, tmplts: Seq[ErrorTemplate] = Seq.empty, calls: Long = 0, dataIn: Long = 0, dataOut: Long = 0, admins: Seq[WebAuthnOtoroshiAdmin] = Seq.empty, simpleAdmins: Seq[SimpleOtoroshiAdmin] = Seq.empty, jwtVerifiers: Seq[GlobalJwtVerifier] = Seq.empty, authConfigs: Seq[AuthModuleConfig] = Seq.empty, certificates: Seq[Cert] = Seq.empty, clientValidators: Seq[ClientCertificateValidator] = Seq.empty, scripts: Seq[Script] = Seq.empty, tcpServices: Seq[TcpService] = Seq.empty, dataExporters: Seq[DataExporterConfig] = Seq.empty, tenants: Seq[Tenant] = Seq.empty, teams: Seq[Team] = Seq.empty, routes: Seq[NgRoute] = Seq.empty, services: Seq[NgService] = Seq.empty, backends: Seq[StoredNgBackend] = Seq.empty, targets: Seq[StoredNgTarget] = Seq.empty) extends Product with Serializable
  98. case class Outage(descriptorId: String, descriptorName: String, startedAt: DateTime, until: LocalTime, duration: FiniteDuration) extends Product with Serializable
  99. sealed trait OutageStrategy extends AnyRef
  100. case class PassThrough(verificationSettings: VerificationSettings) extends VerifierStrategy with Product with Serializable
  101. case class PrivateAppsUser(randomId: String, name: String, email: String, profile: JsValue, token: JsValue = Json.obj(), realm: String, authConfigId: String, otoroshiData: Option[JsValue], createdAt: DateTime = DateTime.now(), expiredAt: DateTime = DateTime.now(), lastRefresh: DateTime = DateTime.now(), tags: Seq[String], metadata: Map[String, String], location: EntityLocation) extends RefreshableUser with ValidableUser with EntityLocationSupport with Product with Serializable
  102. trait PrivateAppsUserDataStore extends BasicStore[PrivateAppsUser]
  103. case class Proxies(alertEmails: Option[WSProxyServer] = None, eventsWebhooks: Option[WSProxyServer] = None, clevercloud: Option[WSProxyServer] = None, services: Option[WSProxyServer] = None, auth: Option[WSProxyServer] = None, authority: Option[WSProxyServer] = None, jwk: Option[WSProxyServer] = None, elastic: Option[WSProxyServer] = None) extends Product with Serializable
  104. case class QuotasAlmostExceededSettings(enabled: Boolean, dailyQuotasThreshold: Double, monthlyQuotasThreshold: Double) extends Product with Serializable
  105. case class RSAKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
  106. case class RSAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
  107. case class RackMatch(rack: String) extends TargetPredicate with Product with Serializable
  108. case class RedirectionSettings(enabled: Boolean = false, code: Int = 303, to: String = "https://www.otoroshi.io") extends Product with Serializable
  109. case class RefJwtVerifier(ids: Seq[String] = Seq.empty, enabled: Boolean = false, excludedPatterns: Seq[String] = Seq.empty[String]) extends JwtVerifier with AsJson with Product with Serializable
  110. trait RefreshableUser extends AnyRef
  111. case class RegionMatch(region: String) extends TargetPredicate with Product with Serializable
  112. case class RemainingQuotas(authorizedCallsPerSec: Long = RemainingQuotas.MaxValue, currentCallsPerSec: Long = RemainingQuotas.MaxValue, remainingCallsPerSec: Long = RemainingQuotas.MaxValue, authorizedCallsPerDay: Long = RemainingQuotas.MaxValue, currentCallsPerDay: Long = RemainingQuotas.MaxValue, remainingCallsPerDay: Long = RemainingQuotas.MaxValue, authorizedCallsPerMonth: Long = RemainingQuotas.MaxValue, currentCallsPerMonth: Long = RemainingQuotas.MaxValue, remainingCallsPerMonth: Long = RemainingQuotas.MaxValue) extends Product with Serializable
  113. case class RestrictionPath(method: String, path: String) extends Product with Serializable
  114. case class Restrictions(enabled: Boolean = false, allowLast: Boolean = true, allowed: Seq[RestrictionPath] = Seq.empty, forbidden: Seq[RestrictionPath] = Seq.empty, notFound: Seq[RestrictionPath] = Seq.empty) extends Product with Serializable
  115. sealed trait RightsChecker extends AnyRef
  116. case class S3ExporterSettings(maxFileSize: Long = 10L * 1024L * 1024L, config: S3Configuration) extends Exporter with Product with Serializable
  117. case class SecComHeaders(claimRequestName: Option[String] = None, stateRequestName: Option[String] = None, stateResponseName: Option[String] = None) extends Product with Serializable
  118. sealed trait SecComInfoTokenVersion extends AnyRef
  119. sealed trait SecComVersion extends AnyRef
  120. case class ServiceCanaryCampaign(canaryUsers: Long, standardUsers: Long) extends Product with Serializable
  121. case class ServiceDescriptor(id: String, groups: Seq[String] = Seq("default"), name: String, description: String = "", env: String, domain: String, subdomain: String, targetsLoadBalancing: LoadBalancing = RoundRobin, targets: Seq[Target] = Seq.empty[Target], root: String = "/", matchingRoot: Option[String] = None, stripPath: Boolean = true, localHost: String = "localhost:8080", localScheme: String = "http", redirectToLocal: Boolean = false, enabled: Boolean = true, userFacing: Boolean = false, privateApp: Boolean = false, forceHttps: Boolean = true, maintenanceMode: Boolean = false, buildMode: Boolean = false, strictlyPrivate: Boolean = false, sendOtoroshiHeadersBack: Boolean = true, readOnly: Boolean = false, xForwardedHeaders: Boolean = false, overrideHost: Boolean = true, allowHttp10: Boolean = true, logAnalyticsOnServer: Boolean = false, useAkkaHttpClient: Boolean = false, useNewWSClient: Boolean = false, tcpUdpTunneling: Boolean = false, detectApiKeySooner: Boolean = false, letsEncrypt: Boolean = false, enforceSecureCommunication: Boolean = true, sendInfoToken: Boolean = true, sendStateChallenge: Boolean = true, secComHeaders: SecComHeaders = SecComHeaders(), secComTtl: FiniteDuration = 30.seconds, secComVersion: SecComVersion = SecComVersion.V1, secComInfoTokenVersion: SecComInfoTokenVersion = SecComInfoTokenVersion.Legacy, secComExcludedPatterns: Seq[String] = Seq.empty[String], secComSettings: AlgoSettings = ..., secComUseSameAlgo: Boolean = true, secComAlgoChallengeOtoToBack: AlgoSettings = ..., secComAlgoChallengeBackToOto: AlgoSettings = ..., secComAlgoInfoToken: AlgoSettings = ..., securityExcludedPatterns: Seq[String] = Seq.empty[String], publicPatterns: Seq[String] = Seq.empty[String], privatePatterns: Seq[String] = Seq.empty[String], additionalHeaders: Map[String, String] = Map.empty[String, String], additionalHeadersOut: Map[String, String] = Map.empty[String, String], missingOnlyHeadersIn: Map[String, String] = Map.empty[String, String], missingOnlyHeadersOut: Map[String, String] = Map.empty[String, String], removeHeadersIn: Seq[String] = Seq.empty[String], removeHeadersOut: Seq[String] = Seq.empty[String], headersVerification: Map[String, String] = Map.empty[String, String], matchingHeaders: Map[String, String] = Map.empty[String, String], ipFiltering: IpFiltering = IpFiltering(), api: ApiDescriptor = ApiDescriptor(false, None), healthCheck: HealthCheck = HealthCheck(false, "/"), clientConfig: ClientConfig = ClientConfig(), canary: Canary = Canary(), metadata: Map[String, String] = Map.empty[String, String], tags: Seq[String] = Seq.empty, chaosConfig: ChaosConfig = ChaosConfig(), jwtVerifier: JwtVerifier = RefJwtVerifier(), authConfigRef: Option[String] = None, cors: CorsSettings = CorsSettings(false), redirection: RedirectionSettings = RedirectionSettings(false), clientValidatorRef: Option[String] = None, transformerRefs: Seq[String] = Seq.empty, transformerConfig: JsValue = Json.obj(), accessValidator: AccessValidatorRef = AccessValidatorRef(), preRouting: PreRoutingRef = PreRoutingRef(), plugins: Plugins = Plugins(), gzip: GzipConfig = GzipConfig(), apiKeyConstraints: ApiKeyConstraints = ApiKeyConstraints(), restrictions: Restrictions = Restrictions(), hosts: Seq[String] = Seq.empty[String], paths: Seq[String] = Seq.empty[String], handleLegacyDomain: Boolean = true, issueCert: Boolean = false, issueCertCA: Option[String] = None, location: EntityLocation = otoroshi.models.EntityLocation()) extends EntityLocationSupport with Product with Serializable
  122. trait ServiceDescriptorDataStore extends BasicStore[ServiceDescriptor]
  123. case class ServiceDescriptorIdentifier(id: String) extends EntityIdentifier with Product with Serializable
  124. case class ServiceDescriptorQuery(subdomain: String, line: String = "prod", domain: String, root: String = "/", matchingHeaders: Map[String, String] = Map.empty[String, String]) extends Product with Serializable
  125. case class ServiceGroup(id: String = IdGenerator.token(64), name: String, description: String = "No description", tags: Seq[String] = Seq.empty, metadata: Map[String, String] = Map.empty, location: EntityLocation = otoroshi.models.EntityLocation()) extends EntityLocationSupport with Product with Serializable
  126. trait ServiceGroupDataStore extends BasicStore[ServiceGroup]
  127. case class ServiceGroupIdentifier(id: String) extends EntityIdentifier with Product with Serializable
  128. case class ServiceLocation(domain: String, env: String, subdomain: String) extends Product with Serializable
  129. class ServiceNotFoundException extends RuntimeException
  130. case class Sign(verificationSettings: VerificationSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
  131. trait SimpleAdminDataStore extends AnyRef
  132. case class SimpleOtoroshiAdmin(username: String, password: String, label: String, createdAt: DateTime, typ: OtoroshiAdminType, tags: Seq[String] = Seq.empty, metadata: Map[String, String], rights: UserRights, location: EntityLocation = otoroshi.models.EntityLocation()) extends OtoroshiAdmin with Product with Serializable
  133. case class SnowMonkeyConfig(enabled: Boolean = false, outageStrategy: OutageStrategy = OneServicePerGroup, includeUserFacingDescriptors: Boolean = false, dryRun: Boolean = false, timesPerDay: Int = 1, startTime: LocalTime = LocalTime.parse("09:00:00"), stopTime: LocalTime = LocalTime.parse("23:59:59"), outageDurationFrom: FiniteDuration = ..., outageDurationTo: FiniteDuration = ..., targetGroups: Seq[String] = Seq.empty, chaosConfig: ChaosConfig = ...) extends Product with Serializable
  134. case class Target(host: String, scheme: String = "https", weight: Int = 1, protocol: HttpProtocol = HttpProtocols.HTTP_1_1, predicate: TargetPredicate = AlwaysMatch, ipAddress: Option[String] = None, mtlsConfig: MtlsConfig = MtlsConfig(), tags: Seq[String] = Seq.empty, metadata: Map[String, String] = Map.empty) extends Product with Serializable
  135. trait TargetPredicate extends AnyRef
  136. case class Team(id: TeamId, tenant: TenantId, name: String, description: String, tags: Seq[String] = Seq.empty, metadata: Map[String, String]) extends EntityLocationSupport with Product with Serializable
  137. case class TeamAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
  138. case class TeamId(rawValue: String) extends Product with Serializable
  139. case class Tenant(id: TenantId, name: String, description: String, tags: Seq[String] = Seq.empty, metadata: Map[String, String]) extends EntityLocationSupport with Product with Serializable
  140. case class TenantAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
  141. case class TenantId(rawValue: String) extends Product with Serializable
  142. case class TlsSettings(defaultDomain: Option[String] = None, randomIfNotFound: Boolean = false, includeJdkCaServer: Boolean = true, includeJdkCaClient: Boolean = true, trustedCAsServer: Seq[String] = Seq.empty) extends Product with Serializable
  143. case class Transform(verificationSettings: VerificationSettings, transformSettings: TransformSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
  144. case class TransformSettings(location: JwtTokenLocation, mappingSettings: MappingSettings) extends AsJson with Product with Serializable
  145. case class UserAgentSettings(enabled: Boolean) extends Product with Serializable
  146. case class UserRight(tenant: TenantAccess, teams: Seq[TeamAccess]) extends Product with Serializable
  147. case class UserRights(rights: Seq[UserRight]) extends Product with Serializable
  148. case class VerificationSettings(fields: Map[String, String] = Map.empty, arrayFields: Map[String, String] = Map.empty) extends AsJson with Product with Serializable
  149. sealed trait VerifierStrategy extends AsJson
  150. trait WebAuthnAdminDataStore extends AnyRef
  151. case class WebAuthnOtoroshiAdmin(username: String, password: String, label: String, handle: String, credentials: Map[String, JsValue], createdAt: DateTime, typ: OtoroshiAdminType, tags: Seq[String] = Seq.empty, metadata: Map[String, String], rights: UserRights, location: EntityLocation = otoroshi.models.EntityLocation()) extends OtoroshiAdmin with Product with Serializable
  152. case class Webhook(url: String, headers: Map[String, String] = Map.empty[String, String], mtlsConfig: MtlsConfig = MtlsConfig.default) extends Exporter with Product with Serializable
  153. case class WeightedBestResponseTime(ratio: Double) extends LoadBalancing with Product with Serializable
  154. case class ZoneMatch(zone: String) extends TargetPredicate with Product with Serializable

Value Members

  1. object AlgoSettings extends FromJson[AlgoSettings]
  2. object AllServicesPerGroup extends OutageStrategy with Product with Serializable
  3. object AlwaysMatch extends TargetPredicate
  4. object ApiDescriptor extends Serializable
  5. object ApiKey extends Serializable
  6. object ApiKeyConstraints extends Serializable
  7. object ApiKeyHelper
  8. object ApiKeyRotation extends Serializable
  9. object ApiKeyRouteMatcher extends Serializable
  10. object ApikeyLocationKind
  11. object AutoCert extends Serializable
  12. object BackOfficeUser extends Serializable
  13. object BadResponse extends Serializable
  14. object BadResponsesFaultConfig extends Serializable
  15. object BaseQuotas extends Serializable
  16. object BasicAuthConstraints extends Serializable
  17. object BestResponseTime extends LoadBalancing
  18. object Canary extends Serializable
  19. object ChaosConfig extends Serializable
  20. object CleverCloudSettings extends Serializable
  21. object ClientConfig extends Serializable
  22. object ClientIdAuthConstraints extends Serializable
  23. object CorsSettings extends FromJson[CorsSettings] with Serializable
  24. object CustomHeadersAuthConstraints extends Serializable
  25. object CustomTimeouts extends Serializable
  26. object DataExporterConfig extends Serializable
  27. object DataExporterConfigMigrationJob
  28. object DataExporterConfigType
  29. object DefaultTemplates extends Serializable
  30. object DefaultToken extends FromJson[VerifierStrategy] with Serializable
  31. object ESAlgoSettings extends FromJson[ESAlgoSettings] with Serializable
  32. object ESKPAlgoSettings extends FromJson[ESKPAlgoSettings] with Serializable
  33. object ElasticAnalyticsConfig extends Serializable
  34. object EntityIdentifier
  35. object EntityLocation extends Serializable
  36. object ErrorTemplate extends Serializable
  37. object Exporter
  38. object GeolocationSettings
  39. object GlobalConfig extends Serializable
  40. object GlobalJwtVerifier extends FromJson[GlobalJwtVerifier] with Serializable
  41. object GlobalScripts extends Serializable
  42. object HSAlgoSettings extends FromJson[HSAlgoSettings] with Serializable
  43. object HealthCheck extends Serializable
  44. object HttpProtocols
  45. object Implicits
  46. object InCookie extends FromJson[InCookie] with Serializable
  47. object InHeader extends FromJson[InHeader] with Serializable
  48. object InQueryParam extends FromJson[InQueryParam] with Serializable
  49. object IndexSettings extends Serializable
  50. object IndexSettingsInterval
  51. object IpAddressHash extends LoadBalancing
  52. object IpFiltering extends Serializable
  53. object JWKSAlgoSettings extends FromJson[JWKSAlgoSettings] with Serializable
  54. object JwtAuthConstraints extends Serializable
  55. object JwtInjection extends FromJson[JwtInjection] with Serializable
  56. object JwtTokenLocation extends FromJson[JwtTokenLocation]
  57. object JwtVerificationResult
  58. object JwtVerifier extends FromJson[JwtVerifier]
  59. object Key extends Serializable
  60. object KidAlgoSettings extends FromJson[KidAlgoSettings] with Serializable
  61. object LargeRequestFaultConfig extends Serializable
  62. object LargeResponseFaultConfig extends Serializable
  63. object LatencyInjectionFaultConfig extends Serializable
  64. object LoadBalancing
  65. object LocalJwtVerifier extends FromJson[LocalJwtVerifier] with Serializable
  66. object MappingSettings extends FromJson[MappingSettings] with Serializable
  67. object NoneGeolocationSettings extends GeolocationSettings with Product with Serializable
  68. object OneServicePerGroup extends OutageStrategy with Product with Serializable
  69. object OtoroshiAdmin
  70. object OtoroshiAdminType
  71. object Outage extends Serializable
  72. object OutputMode extends AlgoMode with Product with Serializable
  73. object PassThrough extends FromJson[VerifierStrategy] with Serializable
  74. object PrivateAppsUser extends Serializable
  75. object PrivateAppsUserHelper
  76. object Proxies extends Serializable
  77. object QuotasAlmostExceededSettings extends Serializable
  78. object RSAKPAlgoSettings extends FromJson[RSAKPAlgoSettings] with Serializable
  79. object RSAlgoSettings extends FromJson[RSAlgoSettings] with Serializable
  80. object Random extends LoadBalancing
  81. object RedirectionSettings extends Serializable
  82. object RefJwtVerifier extends FromJson[RefJwtVerifier] with Serializable
  83. object RemainingQuotas extends Serializable
  84. object RestrictionPath extends Serializable
  85. object Restrictions extends Serializable
  86. object RightsChecker
  87. object RoundRobin extends LoadBalancing
  88. object S3ExporterSettings extends Serializable
  89. object SecComHeaders extends Serializable
  90. object SecComInfoTokenVersion
  91. object SecComVersion
  92. object SeqImplicits
  93. object ServiceDescriptor extends Serializable
  94. object ServiceDescriptorDataStore
  95. object ServiceGroup extends Serializable
  96. object ServiceLocation extends Serializable
  97. object Sign extends FromJson[VerifierStrategy] with Serializable
  98. object SimpleOtoroshiAdmin extends Serializable
  99. object SnowMonkeyConfig extends Serializable
  100. object Sticky extends LoadBalancing
  101. object Target extends Serializable
  102. object TargetPredicate
  103. object Team extends Serializable
  104. object TeamAccess extends Serializable
  105. object TeamId extends Serializable
  106. object Tenant extends Serializable
  107. object TenantAccess extends Serializable
  108. object TenantId extends Serializable
  109. object TlsSettings extends Serializable
  110. object Transform extends FromJson[VerifierStrategy] with Serializable
  111. object TransformSettings extends FromJson[TransformSettings] with Serializable
  112. object UserAgentSettings extends Serializable
  113. object UserRight extends Serializable
  114. object UserRights extends Serializable
  115. object VerificationSettings extends FromJson[VerificationSettings] with Serializable
  116. object VerifierStrategy extends FromJson[VerifierStrategy]
  117. object WSProxyServerJson
  118. object WebAuthnOtoroshiAdmin extends Serializable
  119. object Webhook extends Serializable

Ungrouped