Packages

p

otoroshi

models

package models

Ordering
  1. Alphabetic
Visibility
  1. Public
  2. All

Type Members

  1. sealed trait AlgoMode extends AnyRef
  2. sealed 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. trait AsJson extends AnyRef
  11. case class AtomicAverage(count: AtomicLong, sum: AtomicLong) extends Product with Serializable
  12. 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
  13. 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 EntityLocationSupport with Product with Serializable
  14. trait BackOfficeUserDataStore extends BasicStore[BackOfficeUser]
  15. case class BadResponse(status: Int, body: String, headers: Map[String, String]) extends Product with Serializable
  16. case class BadResponsesFaultConfig(ratio: Double, responses: Seq[BadResponse]) extends FaultConfig with Product with Serializable
  17. case class BaseQuotas(throttlingQuota: Long = BaseQuotas.MaxValue, dailyQuota: Long = BaseQuotas.MaxValue, monthlyQuota: Long = BaseQuotas.MaxValue) extends Product with Serializable
  18. case class BasicAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
  19. case class Canary(enabled: Boolean = false, traffic: Double = 0.2, targets: Seq[Target] = Seq.empty[Target], root: String = "/") extends Product with Serializable
  20. trait CanaryDataStore extends AnyRef
  21. 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
  22. trait ChaosDataStore extends AnyRef
  23. case class CleverCloudSettings(consumerKey: String, consumerSecret: String, token: String, secret: String, orgaId: String) extends Product with Serializable
  24. 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]) extends Product with Serializable
  25. case class ClientIdAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
  26. case class ConsoleSettings() extends Exporter with Product with Serializable
  27. 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
  28. case class CustomHeadersAuthConstraints(enabled: Boolean = true, clientIdHeaderName: Option[String] = None, clientSecretHeaderName: Option[String] = None) extends Product with Serializable
  29. 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
  30. case class DataCenterMatch(dc: String) extends TargetPredicate with Product with Serializable
  31. case class DataExporterConfig(enabled: Boolean, typ: DataExporterConfigType, id: String, name: String, desc: String, metadata: Map[String, String], 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
  32. case class DataExporterConfigFiltering(include: Seq[JsObject] = Seq.empty, exclude: Seq[JsObject] = Seq.empty) extends Product with Serializable
  33. class DataExporterConfigMigrationJob extends Job
  34. sealed trait DataExporterConfigType extends AnyRef
  35. case class DefaultToken(strict: Boolean = true, token: JsValue, verificationSettings: VerificationSettings = VerificationSettings()) extends VerifierStrategy with Product with Serializable
  36. case class ESAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
  37. case class ESKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
  38. 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], mtlsConfig: MtlsConfig = MtlsConfig.default) extends Exporter with Product with Serializable
  39. trait Entity extends AnyRef
  40. sealed trait EntityIdentifier extends AnyRef
  41. case class EntityLocation(tenant: TenantId = TenantId.default, teams: Seq[TeamId] = Seq(TeamId.default)) extends Product with Serializable
  42. trait EntityLocationSupport extends Entity
  43. 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
  44. trait ErrorTemplateDataStore extends BasicStore[ErrorTemplate]
  45. trait Exporter extends AnyRef
  46. case class ExporterRef(ref: String, config: JsValue) extends Exporter with Product with Serializable
  47. sealed trait FaultConfig extends AnyRef
  48. case class FileSettings(path: String, maxFileSize: Int = 10 * 1024 * 1024) extends Exporter with Product with Serializable
  49. trait FromJson[A] extends AnyRef
  50. case class GeoPositionRadius(latitude: Double, longitude: Double, radius: Double) extends Product with Serializable
  51. case class GeolocationMatch(positions: Seq[GeoPositionRadius]) extends TargetPredicate with Product with Serializable
  52. sealed trait GeolocationSettings extends AnyRef
  53. 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, 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(), plugins: Plugins = Plugins(), tags: Seq[String] = Seq.empty, metadata: Map[String, String] = Map.empty) extends Entity with Product with Serializable
  54. trait GlobalConfigDataStore extends BasicStore[GlobalConfig]
  55. 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
  56. trait GlobalJwtVerifierDataStore extends BasicStore[GlobalJwtVerifier]
  57. 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
  58. class GroupNotFoundException extends RuntimeException
  59. case class HSAlgoSettings(size: Int, secret: String, base64: Boolean = false) extends AlgoSettings with Product with Serializable
  60. case class HealthCheck(enabled: Boolean, url: String) extends Product with Serializable
  61. case class InCookie(name: String) extends JwtTokenLocation with Product with Serializable
  62. case class InHeader(name: String, remove: String = "") extends JwtTokenLocation with Product with Serializable
  63. case class InQueryParam(name: String) extends JwtTokenLocation with Product with Serializable
  64. case class InfraProviderMatch(provider: String) extends TargetPredicate with Product with Serializable
  65. case class InputMode(typ: String, kid: Option[String]) extends AlgoMode with Product with Serializable
  66. case class IpFiltering(whitelist: Seq[String] = Seq.empty[String], blacklist: Seq[String] = Seq.empty[String]) extends Product with Serializable
  67. case class IpStackGeolocationSettings(enabled: Boolean, apikey: String, timeout: Long) extends GeolocationSettings with Product with Serializable
  68. case class JWKSAlgoSettings(url: String, headers: Map[String, String], timeout: FiniteDuration, ttl: FiniteDuration, kty: KeyType, proxy: Option[WSProxyServer] = None, mtlsConfig: MtlsConfig) extends AlgoSettings with Product with Serializable
  69. 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
  70. 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
  71. sealed trait JwtTokenLocation extends AsJson
  72. sealed trait JwtVerifier extends AsJson
  73. case class Key(key: String) extends Product with Serializable
  74. case class KidAlgoSettings(onlyExposedCerts: Boolean) extends AlgoSettings with Product with Serializable
  75. case class LargeRequestFaultConfig(ratio: Double, additionalRequestSize: Int) extends FaultConfig with Product with Serializable
  76. case class LargeResponseFaultConfig(ratio: Double, additionalResponseSize: Int) extends FaultConfig with Product with Serializable
  77. case class LatencyInjectionFaultConfig(ratio: Double, from: FiniteDuration, to: FiniteDuration) extends FaultConfig with Product with Serializable
  78. trait LoadBalancing extends AnyRef
  79. 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
  80. 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
  81. case class MaxmindGeolocationSettings(enabled: Boolean, path: String) extends GeolocationSettings with Product with Serializable
  82. case class MetricsSettings(labels: Map[String, String] = Map()) extends Exporter with Product with Serializable
  83. case class NetworkLocationMatch(provider: String = "*", region: String = "*", zone: String = "*", dataCenter: String = "*", rack: String = "*") extends TargetPredicate with Product with Serializable
  84. trait OtoroshiAdmin extends EntityLocationSupport
  85. trait OtoroshiAdminType extends AnyRef
  86. 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) extends Product with Serializable
  87. case class Outage(descriptorId: String, descriptorName: String, startedAt: DateTime, until: LocalTime, duration: FiniteDuration) extends Product with Serializable
  88. sealed trait OutageStrategy extends AnyRef
  89. case class PassThrough(verificationSettings: VerificationSettings) extends VerifierStrategy with Product with Serializable
  90. 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 EntityLocationSupport with Product with Serializable
  91. trait PrivateAppsUserDataStore extends BasicStore[PrivateAppsUser]
  92. 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
  93. case class RSAKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
  94. case class RSAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
  95. case class RackMatch(rack: String) extends TargetPredicate with Product with Serializable
  96. case class RedirectionSettings(enabled: Boolean = false, code: Int = 303, to: String = "https://www.otoroshi.io") extends Product with Serializable
  97. 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
  98. trait RefreshableUser extends AnyRef
  99. case class RegionMatch(region: String) extends TargetPredicate with Product with Serializable
  100. 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
  101. case class RestrictionPath(method: String, path: String) extends Product with Serializable
  102. 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
  103. sealed trait RightsChecker extends AnyRef
  104. case class SecComHeaders(claimRequestName: Option[String] = None, stateRequestName: Option[String] = None, stateResponseName: Option[String] = None) extends Product with Serializable
  105. sealed trait SecComInfoTokenVersion extends AnyRef
  106. sealed trait SecComVersion extends AnyRef
  107. case class ServiceCanaryCampaign(canaryUsers: Long, standardUsers: Long) extends Product with Serializable
  108. 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
  109. trait ServiceDescriptorDataStore extends BasicStore[ServiceDescriptor]
  110. case class ServiceDescriptorIdentifier(id: String) extends EntityIdentifier with Product with Serializable
  111. case class ServiceDescriptorQuery(subdomain: String, line: String = "prod", domain: String, root: String = "/", matchingHeaders: Map[String, String] = Map.empty[String, String]) extends Product with Serializable
  112. 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
  113. trait ServiceGroupDataStore extends BasicStore[ServiceGroup]
  114. case class ServiceGroupIdentifier(id: String) extends EntityIdentifier with Product with Serializable
  115. case class ServiceLocation(domain: String, env: String, subdomain: String) extends Product with Serializable
  116. class ServiceNotFoundException extends RuntimeException
  117. case class Sign(verificationSettings: VerificationSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
  118. trait SimpleAdminDataStore extends AnyRef
  119. 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
  120. 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
  121. 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()) extends Product with Serializable
  122. trait TargetPredicate extends AnyRef
  123. 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
  124. case class TeamAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
  125. case class TeamId(rawValue: String) extends Product with Serializable
  126. case class Tenant(id: TenantId, name: String, description: String, tags: Seq[String] = Seq.empty, metadata: Map[String, String]) extends EntityLocationSupport with Product with Serializable
  127. case class TenantAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
  128. case class TenantId(rawValue: String) extends Product with Serializable
  129. case class TlsSettings(defaultDomain: Option[String] = None, randomIfNotFound: Boolean = false) extends Product with Serializable
  130. case class Transform(verificationSettings: VerificationSettings, transformSettings: TransformSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
  131. case class TransformSettings(location: JwtTokenLocation, mappingSettings: MappingSettings) extends AsJson with Product with Serializable
  132. case class UserAgentSettings(enabled: Boolean) extends Product with Serializable
  133. case class UserRight(tenant: TenantAccess, teams: Seq[TeamAccess]) extends Product with Serializable
  134. case class UserRights(rights: Seq[UserRight]) extends Product with Serializable
  135. case class VerificationSettings(fields: Map[String, String] = Map.empty, arrayFields: Map[String, String] = Map.empty) extends AsJson with Product with Serializable
  136. sealed trait VerifierStrategy extends AsJson
  137. trait WebAuthnAdminDataStore extends AnyRef
  138. 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
  139. case class Webhook(url: String, headers: Map[String, String] = Map.empty[String, String], mtlsConfig: MtlsConfig = MtlsConfig.default) extends Exporter with Product with Serializable
  140. case class WeightedBestResponseTime(ratio: Double) extends LoadBalancing with Product with Serializable
  141. 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 AutoCert extends Serializable
  11. object BackOfficeUser extends Serializable
  12. object BadResponse extends Serializable
  13. object BadResponsesFaultConfig extends Serializable
  14. object BaseQuotas extends Serializable
  15. object BasicAuthConstraints extends Serializable
  16. object BestResponseTime extends LoadBalancing
  17. object Canary extends Serializable
  18. object ChaosConfig extends Serializable
  19. object CleverCloudSettings extends Serializable
  20. object ClientConfig extends Serializable
  21. object ClientIdAuthConstraints extends Serializable
  22. object CorsSettings extends FromJson[CorsSettings] with Serializable
  23. object CustomHeadersAuthConstraints extends Serializable
  24. object CustomTimeouts extends Serializable
  25. object DataExporterConfig extends Serializable
  26. object DataExporterConfigMigrationJob
  27. object DataExporterConfigType
  28. object DefaultToken extends FromJson[VerifierStrategy] with Serializable
  29. object ESAlgoSettings extends FromJson[ESAlgoSettings] with Serializable
  30. object ESKPAlgoSettings extends FromJson[ESKPAlgoSettings] with Serializable
  31. object ElasticAnalyticsConfig extends Serializable
  32. object EntityIdentifier
  33. object EntityLocation extends Serializable
  34. object ErrorTemplate extends Serializable
  35. object Exporter
  36. object GeolocationSettings
  37. object GlobalConfig extends Serializable
  38. object GlobalJwtVerifier extends FromJson[GlobalJwtVerifier] with Serializable
  39. object GlobalScripts extends Serializable
  40. object HSAlgoSettings extends FromJson[HSAlgoSettings] with Serializable
  41. object HealthCheck extends Serializable
  42. object Implicits
  43. object InCookie extends FromJson[InCookie] with Serializable
  44. object InHeader extends FromJson[InHeader] with Serializable
  45. object InQueryParam extends FromJson[InQueryParam] with Serializable
  46. object IpAddressHash extends LoadBalancing
  47. object IpFiltering extends Serializable
  48. object JWKSAlgoSettings extends FromJson[JWKSAlgoSettings] with Serializable
  49. object JwtAuthConstraints extends Serializable
  50. object JwtInjection extends FromJson[JwtInjection] with Serializable
  51. object JwtTokenLocation extends FromJson[JwtTokenLocation]
  52. object JwtVerifier extends FromJson[JwtVerifier]
  53. object Key extends Serializable
  54. object KidAlgoSettings extends FromJson[KidAlgoSettings] with Serializable
  55. object LargeRequestFaultConfig extends Serializable
  56. object LargeResponseFaultConfig extends Serializable
  57. object LatencyInjectionFaultConfig extends Serializable
  58. object LoadBalancing
  59. object LocalJwtVerifier extends FromJson[LocalJwtVerifier] with Serializable
  60. object MappingSettings extends FromJson[MappingSettings] with Serializable
  61. object NoneGeolocationSettings extends GeolocationSettings with Product with Serializable
  62. object OneServicePerGroup extends OutageStrategy with Product with Serializable
  63. object OtoroshiAdmin
  64. object OtoroshiAdminType
  65. object Outage extends Serializable
  66. object OutputMode extends AlgoMode with Product with Serializable
  67. object PassThrough extends FromJson[VerifierStrategy] with Serializable
  68. object PrivateAppsUser extends Serializable
  69. object PrivateAppsUserHelper
  70. object Proxies extends Serializable
  71. object RSAKPAlgoSettings extends FromJson[RSAKPAlgoSettings] with Serializable
  72. object RSAlgoSettings extends FromJson[RSAlgoSettings] with Serializable
  73. object Random extends LoadBalancing
  74. object RedirectionSettings extends Serializable
  75. object RefJwtVerifier extends FromJson[RefJwtVerifier] with Serializable
  76. object RemainingQuotas extends Serializable
  77. object RestrictionPath extends Serializable
  78. object Restrictions extends Serializable
  79. object RightsChecker
  80. object RoundRobin extends LoadBalancing
  81. object SecComHeaders extends Serializable
  82. object SecComInfoTokenVersion
  83. object SecComVersion
  84. object SeqImplicits
  85. object ServiceDescriptor extends Serializable
  86. object ServiceDescriptorDataStore
  87. object ServiceGroup extends Serializable
  88. object ServiceLocation extends Serializable
  89. object Sign extends FromJson[VerifierStrategy] with Serializable
  90. object SimpleOtoroshiAdmin extends Serializable
  91. object SnowMonkeyConfig extends Serializable
  92. object Sticky extends LoadBalancing
  93. object Target extends Serializable
  94. object TargetPredicate
  95. object Team extends Serializable
  96. object TeamAccess extends Serializable
  97. object TeamId extends Serializable
  98. object Tenant extends Serializable
  99. object TenantAccess extends Serializable
  100. object TenantId extends Serializable
  101. object TlsSettings extends Serializable
  102. object Transform extends FromJson[VerifierStrategy] with Serializable
  103. object TransformSettings extends FromJson[TransformSettings] with Serializable
  104. object UserAgentSettings extends Serializable
  105. object UserRight extends Serializable
  106. object UserRights extends Serializable
  107. object VerificationSettings extends FromJson[VerificationSettings] with Serializable
  108. object VerifierStrategy extends FromJson[VerifierStrategy]
  109. object WSProxyServerJson
  110. object WebAuthnOtoroshiAdmin extends Serializable
  111. object Webhook extends Serializable

Ungrouped