package models
Ordering
- Alphabetic
Visibility
- Public
- All
Type Members
- sealed trait AlgoMode extends AnyRef
- sealed trait AlgoSettings extends AsJson
- case class ApiDescriptor(exposeApi: Boolean = false, openApiDescriptorUrl: Option[String] = None) extends Product with Serializable
- 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
- case class ApiKeyConstraints(basicAuth: BasicAuthConstraints = BasicAuthConstraints(), customHeadersAuth: CustomHeadersAuthConstraints = CustomHeadersAuthConstraints(), clientIdAuth: ClientIdAuthConstraints = ClientIdAuthConstraints(), jwtAuth: JwtAuthConstraints = JwtAuthConstraints(), routing: ApiKeyRouteMatcher = ApiKeyRouteMatcher()) extends Product with Serializable
- trait ApiKeyDataStore extends BasicStore[ApiKey]
- case class ApiKeyRotation(enabled: Boolean = false, rotationEvery: Long = 31 * 24, gracePeriod: Long = 7 * 24, nextSecret: Option[String] = None) extends Product with Serializable
- case class ApiKeyRotationInfo(rotationAt: DateTime, remaining: Long) extends Product with Serializable
- 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
- trait AsJson extends AnyRef
- case class AtomicAverage(count: AtomicLong, sum: AtomicLong) extends Product with Serializable
- 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
- 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
- trait BackOfficeUserDataStore extends BasicStore[BackOfficeUser]
- case class BadResponse(status: Int, body: String, headers: Map[String, String]) extends Product with Serializable
- case class BadResponsesFaultConfig(ratio: Double, responses: Seq[BadResponse]) extends FaultConfig with Product with Serializable
- case class BaseQuotas(throttlingQuota: Long = BaseQuotas.MaxValue, dailyQuota: Long = BaseQuotas.MaxValue, monthlyQuota: Long = BaseQuotas.MaxValue) extends Product with Serializable
- case class BasicAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
- case class Canary(enabled: Boolean = false, traffic: Double = 0.2, targets: Seq[Target] = Seq.empty[Target], root: String = "/") extends Product with Serializable
- trait CanaryDataStore extends AnyRef
- 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
- trait ChaosDataStore extends AnyRef
- case class CleverCloudSettings(consumerKey: String, consumerSecret: String, token: String, secret: String, orgaId: String) extends Product with Serializable
- 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
- case class ClientIdAuthConstraints(enabled: Boolean = true, headerName: Option[String] = None, queryName: Option[String] = None) extends Product with Serializable
- case class ConsoleSettings() extends Exporter with Product with Serializable
- 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
- case class CustomHeadersAuthConstraints(enabled: Boolean = true, clientIdHeaderName: Option[String] = None, clientSecretHeaderName: Option[String] = None) extends Product with Serializable
- 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
- case class DataCenterMatch(dc: String) extends TargetPredicate with Product with Serializable
- 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
- case class DataExporterConfigFiltering(include: Seq[JsObject] = Seq.empty, exclude: Seq[JsObject] = Seq.empty) extends Product with Serializable
- class DataExporterConfigMigrationJob extends Job
- sealed trait DataExporterConfigType extends AnyRef
- case class DefaultToken(strict: Boolean = true, token: JsValue, verificationSettings: VerificationSettings = VerificationSettings()) extends VerifierStrategy with Product with Serializable
- case class ESAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
- case class ESKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
- 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
- trait Entity extends AnyRef
- sealed trait EntityIdentifier extends AnyRef
- case class EntityLocation(tenant: TenantId = TenantId.default, teams: Seq[TeamId] = Seq(TeamId.default)) extends Product with Serializable
- trait EntityLocationSupport extends Entity
- 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
- trait ErrorTemplateDataStore extends BasicStore[ErrorTemplate]
- trait Exporter extends AnyRef
- case class ExporterRef(ref: String, config: JsValue) extends Exporter with Product with Serializable
- sealed trait FaultConfig extends AnyRef
- case class FileSettings(path: String, maxFileSize: Int = 10 * 1024 * 1024) extends Exporter with Product with Serializable
- trait FromJson[A] extends AnyRef
- case class GeoPositionRadius(latitude: Double, longitude: Double, radius: Double) extends Product with Serializable
- case class GeolocationMatch(positions: Seq[GeoPositionRadius]) extends TargetPredicate with Product with Serializable
- sealed trait GeolocationSettings extends AnyRef
- 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
- trait GlobalConfigDataStore extends BasicStore[GlobalConfig]
- 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
- trait GlobalJwtVerifierDataStore extends BasicStore[GlobalJwtVerifier]
- 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
- class GroupNotFoundException extends RuntimeException
- case class HSAlgoSettings(size: Int, secret: String, base64: Boolean = false) extends AlgoSettings with Product with Serializable
- case class HealthCheck(enabled: Boolean, url: String) extends Product with Serializable
- case class InCookie(name: String) extends JwtTokenLocation with Product with Serializable
- case class InHeader(name: String, remove: String = "") extends JwtTokenLocation with Product with Serializable
- case class InQueryParam(name: String) extends JwtTokenLocation with Product with Serializable
- case class InfraProviderMatch(provider: String) extends TargetPredicate with Product with Serializable
- case class InputMode(typ: String, kid: Option[String]) extends AlgoMode with Product with Serializable
- case class IpFiltering(whitelist: Seq[String] = Seq.empty[String], blacklist: Seq[String] = Seq.empty[String]) extends Product with Serializable
- case class IpStackGeolocationSettings(enabled: Boolean, apikey: String, timeout: Long) extends GeolocationSettings with Product with Serializable
- 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
- 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
- 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
- sealed trait JwtTokenLocation extends AsJson
- sealed trait JwtVerifier extends AsJson
- case class Key(key: String) extends Product with Serializable
- case class KidAlgoSettings(onlyExposedCerts: Boolean) extends AlgoSettings with Product with Serializable
- case class LargeRequestFaultConfig(ratio: Double, additionalRequestSize: Int) extends FaultConfig with Product with Serializable
- case class LargeResponseFaultConfig(ratio: Double, additionalResponseSize: Int) extends FaultConfig with Product with Serializable
- case class LatencyInjectionFaultConfig(ratio: Double, from: FiniteDuration, to: FiniteDuration) extends FaultConfig with Product with Serializable
- trait LoadBalancing extends AnyRef
- 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
- 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
- case class MaxmindGeolocationSettings(enabled: Boolean, path: String) extends GeolocationSettings with Product with Serializable
- case class MetricsSettings(labels: Map[String, String] = Map()) extends Exporter with Product with Serializable
- case class NetworkLocationMatch(provider: String = "*", region: String = "*", zone: String = "*", dataCenter: String = "*", rack: String = "*") extends TargetPredicate with Product with Serializable
- trait OtoroshiAdmin extends EntityLocationSupport
- trait OtoroshiAdminType extends AnyRef
- 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
- case class Outage(descriptorId: String, descriptorName: String, startedAt: DateTime, until: LocalTime, duration: FiniteDuration) extends Product with Serializable
- sealed trait OutageStrategy extends AnyRef
- case class PassThrough(verificationSettings: VerificationSettings) extends VerifierStrategy with Product with Serializable
- 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
- trait PrivateAppsUserDataStore extends BasicStore[PrivateAppsUser]
- 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
- case class RSAKPAlgoSettings(size: Int, certId: String) extends AlgoSettings with Product with Serializable
- case class RSAlgoSettings(size: Int, publicKey: String, privateKey: Option[String]) extends AlgoSettings with Product with Serializable
- case class RackMatch(rack: String) extends TargetPredicate with Product with Serializable
- case class RedirectionSettings(enabled: Boolean = false, code: Int = 303, to: String = "https://www.otoroshi.io") extends Product with Serializable
- 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
- trait RefreshableUser extends AnyRef
- case class RegionMatch(region: String) extends TargetPredicate with Product with Serializable
- 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
- case class RestrictionPath(method: String, path: String) extends Product with Serializable
- 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
- sealed trait RightsChecker extends AnyRef
- case class SecComHeaders(claimRequestName: Option[String] = None, stateRequestName: Option[String] = None, stateResponseName: Option[String] = None) extends Product with Serializable
- sealed trait SecComInfoTokenVersion extends AnyRef
- sealed trait SecComVersion extends AnyRef
- case class ServiceCanaryCampaign(canaryUsers: Long, standardUsers: Long) extends Product with Serializable
- 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
- trait ServiceDescriptorDataStore extends BasicStore[ServiceDescriptor]
- case class ServiceDescriptorIdentifier(id: String) extends EntityIdentifier with Product with Serializable
- case class ServiceDescriptorQuery(subdomain: String, line: String = "prod", domain: String, root: String = "/", matchingHeaders: Map[String, String] = Map.empty[String, String]) extends Product with Serializable
- 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
- trait ServiceGroupDataStore extends BasicStore[ServiceGroup]
- case class ServiceGroupIdentifier(id: String) extends EntityIdentifier with Product with Serializable
- case class ServiceLocation(domain: String, env: String, subdomain: String) extends Product with Serializable
- class ServiceNotFoundException extends RuntimeException
- case class Sign(verificationSettings: VerificationSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
- trait SimpleAdminDataStore extends AnyRef
- 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
- 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
- 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
- trait TargetPredicate extends AnyRef
- 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
- case class TeamAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
- case class TeamId(rawValue: String) extends Product with Serializable
- case class Tenant(id: TenantId, name: String, description: String, tags: Seq[String] = Seq.empty, metadata: Map[String, String]) extends EntityLocationSupport with Product with Serializable
- case class TenantAccess(value: String, canRead: Boolean, canWrite: Boolean) extends Product with Serializable
- case class TenantId(rawValue: String) extends Product with Serializable
- case class TlsSettings(defaultDomain: Option[String] = None, randomIfNotFound: Boolean = false) extends Product with Serializable
- case class Transform(verificationSettings: VerificationSettings, transformSettings: TransformSettings, algoSettings: AlgoSettings) extends VerifierStrategy with Product with Serializable
- case class TransformSettings(location: JwtTokenLocation, mappingSettings: MappingSettings) extends AsJson with Product with Serializable
- case class UserAgentSettings(enabled: Boolean) extends Product with Serializable
- case class UserRight(tenant: TenantAccess, teams: Seq[TeamAccess]) extends Product with Serializable
- case class UserRights(rights: Seq[UserRight]) extends Product with Serializable
- case class VerificationSettings(fields: Map[String, String] = Map.empty, arrayFields: Map[String, String] = Map.empty) extends AsJson with Product with Serializable
- sealed trait VerifierStrategy extends AsJson
- trait WebAuthnAdminDataStore extends AnyRef
- 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
- case class Webhook(url: String, headers: Map[String, String] = Map.empty[String, String], mtlsConfig: MtlsConfig = MtlsConfig.default) extends Exporter with Product with Serializable
- case class WeightedBestResponseTime(ratio: Double) extends LoadBalancing with Product with Serializable
- case class ZoneMatch(zone: String) extends TargetPredicate with Product with Serializable
Value Members
- object AlgoSettings extends FromJson[AlgoSettings]
- object AllServicesPerGroup extends OutageStrategy with Product with Serializable
- object AlwaysMatch extends TargetPredicate
- object ApiDescriptor extends Serializable
- object ApiKey extends Serializable
- object ApiKeyConstraints extends Serializable
- object ApiKeyHelper
- object ApiKeyRotation extends Serializable
- object ApiKeyRouteMatcher extends Serializable
- object AutoCert extends Serializable
- object BackOfficeUser extends Serializable
- object BadResponse extends Serializable
- object BadResponsesFaultConfig extends Serializable
- object BaseQuotas extends Serializable
- object BasicAuthConstraints extends Serializable
- object BestResponseTime extends LoadBalancing
- object Canary extends Serializable
- object ChaosConfig extends Serializable
- object CleverCloudSettings extends Serializable
- object ClientConfig extends Serializable
- object ClientIdAuthConstraints extends Serializable
- object CorsSettings extends FromJson[CorsSettings] with Serializable
- object CustomHeadersAuthConstraints extends Serializable
- object CustomTimeouts extends Serializable
- object DataExporterConfig extends Serializable
- object DataExporterConfigMigrationJob
- object DataExporterConfigType
- object DefaultToken extends FromJson[VerifierStrategy] with Serializable
- object ESAlgoSettings extends FromJson[ESAlgoSettings] with Serializable
- object ESKPAlgoSettings extends FromJson[ESKPAlgoSettings] with Serializable
- object ElasticAnalyticsConfig extends Serializable
- object EntityIdentifier
- object EntityLocation extends Serializable
- object ErrorTemplate extends Serializable
- object Exporter
- object GeolocationSettings
- object GlobalConfig extends Serializable
- object GlobalJwtVerifier extends FromJson[GlobalJwtVerifier] with Serializable
- object GlobalScripts extends Serializable
- object HSAlgoSettings extends FromJson[HSAlgoSettings] with Serializable
- object HealthCheck extends Serializable
- object Implicits
- object InCookie extends FromJson[InCookie] with Serializable
- object InHeader extends FromJson[InHeader] with Serializable
- object InQueryParam extends FromJson[InQueryParam] with Serializable
- object IpAddressHash extends LoadBalancing
- object IpFiltering extends Serializable
- object JWKSAlgoSettings extends FromJson[JWKSAlgoSettings] with Serializable
- object JwtAuthConstraints extends Serializable
- object JwtInjection extends FromJson[JwtInjection] with Serializable
- object JwtTokenLocation extends FromJson[JwtTokenLocation]
- object JwtVerifier extends FromJson[JwtVerifier]
- object Key extends Serializable
- object KidAlgoSettings extends FromJson[KidAlgoSettings] with Serializable
- object LargeRequestFaultConfig extends Serializable
- object LargeResponseFaultConfig extends Serializable
- object LatencyInjectionFaultConfig extends Serializable
- object LoadBalancing
- object LocalJwtVerifier extends FromJson[LocalJwtVerifier] with Serializable
- object MappingSettings extends FromJson[MappingSettings] with Serializable
- object NoneGeolocationSettings extends GeolocationSettings with Product with Serializable
- object OneServicePerGroup extends OutageStrategy with Product with Serializable
- object OtoroshiAdmin
- object OtoroshiAdminType
- object Outage extends Serializable
- object OutputMode extends AlgoMode with Product with Serializable
- object PassThrough extends FromJson[VerifierStrategy] with Serializable
- object PrivateAppsUser extends Serializable
- object PrivateAppsUserHelper
- object Proxies extends Serializable
- object RSAKPAlgoSettings extends FromJson[RSAKPAlgoSettings] with Serializable
- object RSAlgoSettings extends FromJson[RSAlgoSettings] with Serializable
- object Random extends LoadBalancing
- object RedirectionSettings extends Serializable
- object RefJwtVerifier extends FromJson[RefJwtVerifier] with Serializable
- object RemainingQuotas extends Serializable
- object RestrictionPath extends Serializable
- object Restrictions extends Serializable
- object RightsChecker
- object RoundRobin extends LoadBalancing
- object SecComHeaders extends Serializable
- object SecComInfoTokenVersion
- object SecComVersion
- object SeqImplicits
- object ServiceDescriptor extends Serializable
- object ServiceDescriptorDataStore
- object ServiceGroup extends Serializable
- object ServiceLocation extends Serializable
- object Sign extends FromJson[VerifierStrategy] with Serializable
- object SimpleOtoroshiAdmin extends Serializable
- object SnowMonkeyConfig extends Serializable
- object Sticky extends LoadBalancing
- object Target extends Serializable
- object TargetPredicate
- object Team extends Serializable
- object TeamAccess extends Serializable
- object TeamId extends Serializable
- object Tenant extends Serializable
- object TenantAccess extends Serializable
- object TenantId extends Serializable
- object TlsSettings extends Serializable
- object Transform extends FromJson[VerifierStrategy] with Serializable
- object TransformSettings extends FromJson[TransformSettings] with Serializable
- object UserAgentSettings extends Serializable
- object UserRight extends Serializable
- object UserRights extends Serializable
- object VerificationSettings extends FromJson[VerificationSettings] with Serializable
- object VerifierStrategy extends FromJson[VerifierStrategy]
- object WSProxyServerJson
- object WebAuthnOtoroshiAdmin extends Serializable
- object Webhook extends Serializable