commonMain.aws.sdk.kotlin.services.wafv2.model.RateLimitForwardedIp.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of wafv2-jvm Show documentation
Show all versions of wafv2-jvm Show documentation
The AWS Kotlin client for WAFV2
// Code generated by smithy-kotlin-codegen. DO NOT EDIT!
package aws.sdk.kotlin.services.wafv2.model
import aws.smithy.kotlin.runtime.SdkDsl
/**
* Specifies the first IP address in an HTTP header as an aggregate key for a rate-based rule. Each distinct forwarded IP address contributes to the aggregation instance.
*
* This setting is used only in the `RateBasedStatementCustomKey` specification of a rate-based rule statement. When you specify an IP or forwarded IP in the custom key settings, you must also specify at least one other key to use. You can aggregate on only the forwarded IP address by specifying `FORWARDED_IP` in your rate-based statement's `AggregateKeyType`.
*
* This data type supports using the forwarded IP address in the web request aggregation for a rate-based rule, in `RateBasedStatementCustomKey`. The JSON specification for using the forwarded IP address doesn't explicitly use this data type.
*
* JSON specification: `"ForwardedIP": {}`
*
* When you use this specification, you must also configure the forwarded IP address in the rate-based statement's `ForwardedIPConfig`.
*/
public class RateLimitForwardedIp private constructor(builder: Builder) {
public companion object {
public operator fun invoke(block: Builder.() -> kotlin.Unit): aws.sdk.kotlin.services.wafv2.model.RateLimitForwardedIp = Builder().apply(block).build()
}
override fun toString(): kotlin.String = buildString {
append("RateLimitForwardedIp(")
append(")")
}
override fun hashCode(): kotlin.Int {
return this::class.hashCode()
}
override fun equals(other: kotlin.Any?): kotlin.Boolean {
if (this === other) return true
if (other == null || this::class != other::class) return false
other as RateLimitForwardedIp
return true
}
@SdkDsl
public class Builder {
@PublishedApi
internal constructor()
@PublishedApi
internal constructor(x: aws.sdk.kotlin.services.wafv2.model.RateLimitForwardedIp) : this() {
}
@PublishedApi
internal fun build(): aws.sdk.kotlin.services.wafv2.model.RateLimitForwardedIp = RateLimitForwardedIp(this)
internal fun correctErrors(): Builder {
return this
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy