![JAR search and dependency download from the Maven repository](/logo.png)
com.pulumi.awsnative.wafv2.kotlin.inputs.WebAclAwsManagedRulesAcfpRuleSetArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.wafv2.kotlin.inputs
import com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesAcfpRuleSetArgs.builder
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Configures how to use the Account creation fraud prevention managed rule group in the web ACL
* @property creationPath The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept `POST` requests.
* For example, for the URL `https://example.com/web/newaccount` , you would provide the path `/web/newaccount` . Account creation page paths that start with the path that you provide are considered a match. For example `/web/newaccount` matches the account creation paths `/web/newaccount` , `/web/newaccount/` , `/web/newaccountPage` , and `/web/newaccount/thisPage` , but doesn't match the path `/home/web/newaccount` or `/website/newaccount` .
* @property enableRegexInPath Allow the use of regular expressions in the registration page path and the account creation path.
* @property registrationPagePath The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.
* > This page must accept `GET` text/html requests.
* For example, for the URL `https://example.com/web/registration` , you would provide the path `/web/registration` . Registration page paths that start with the path that you provide are considered a match. For example `/web/registration` matches the registration paths `/web/registration` , `/web/registration/` , `/web/registrationPage` , and `/web/registration/thisPage` , but doesn't match the path `/home/web/registration` or `/website/registration` .
* @property requestInspection The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
* @property responseInspection The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates.
* > Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
* The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time.
*/
public data class WebAclAwsManagedRulesAcfpRuleSetArgs(
public val creationPath: Output,
public val enableRegexInPath: Output? = null,
public val registrationPagePath: Output,
public val requestInspection: Output,
public val responseInspection: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesAcfpRuleSetArgs =
com.pulumi.awsnative.wafv2.inputs.WebAclAwsManagedRulesAcfpRuleSetArgs.builder()
.creationPath(creationPath.applyValue({ args0 -> args0 }))
.enableRegexInPath(enableRegexInPath?.applyValue({ args0 -> args0 }))
.registrationPagePath(registrationPagePath.applyValue({ args0 -> args0 }))
.requestInspection(requestInspection.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.responseInspection(
responseInspection?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [WebAclAwsManagedRulesAcfpRuleSetArgs].
*/
@PulumiTagMarker
public class WebAclAwsManagedRulesAcfpRuleSetArgsBuilder internal constructor() {
private var creationPath: Output? = null
private var enableRegexInPath: Output? = null
private var registrationPagePath: Output? = null
private var requestInspection: Output? = null
private var responseInspection: Output? = null
/**
* @param value The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept `POST` requests.
* For example, for the URL `https://example.com/web/newaccount` , you would provide the path `/web/newaccount` . Account creation page paths that start with the path that you provide are considered a match. For example `/web/newaccount` matches the account creation paths `/web/newaccount` , `/web/newaccount/` , `/web/newaccountPage` , and `/web/newaccount/thisPage` , but doesn't match the path `/home/web/newaccount` or `/website/newaccount` .
*/
@JvmName("xyhrqllslvutkdha")
public suspend fun creationPath(`value`: Output) {
this.creationPath = value
}
/**
* @param value Allow the use of regular expressions in the registration page path and the account creation path.
*/
@JvmName("rllodqlcrgarjrfb")
public suspend fun enableRegexInPath(`value`: Output) {
this.enableRegexInPath = value
}
/**
* @param value The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.
* > This page must accept `GET` text/html requests.
* For example, for the URL `https://example.com/web/registration` , you would provide the path `/web/registration` . Registration page paths that start with the path that you provide are considered a match. For example `/web/registration` matches the registration paths `/web/registration` , `/web/registration/` , `/web/registrationPage` , and `/web/registration/thisPage` , but doesn't match the path `/home/web/registration` or `/website/registration` .
*/
@JvmName("gphfsgmatqodrxlp")
public suspend fun registrationPagePath(`value`: Output) {
this.registrationPagePath = value
}
/**
* @param value The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
*/
@JvmName("jtnrfgrdvokvvboo")
public suspend fun requestInspection(`value`: Output) {
this.requestInspection = value
}
/**
* @param value The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates.
* > Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
* The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time.
*/
@JvmName("gysmwejxxhshvgca")
public suspend fun responseInspection(`value`: Output) {
this.responseInspection = value
}
/**
* @param value The path of the account creation endpoint for your application. This is the page on your website that accepts the completed registration form for a new user. This page must accept `POST` requests.
* For example, for the URL `https://example.com/web/newaccount` , you would provide the path `/web/newaccount` . Account creation page paths that start with the path that you provide are considered a match. For example `/web/newaccount` matches the account creation paths `/web/newaccount` , `/web/newaccount/` , `/web/newaccountPage` , and `/web/newaccount/thisPage` , but doesn't match the path `/home/web/newaccount` or `/website/newaccount` .
*/
@JvmName("ctdenmiitabdwinv")
public suspend fun creationPath(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.creationPath = mapped
}
/**
* @param value Allow the use of regular expressions in the registration page path and the account creation path.
*/
@JvmName("akwlqqytfqpgqrlv")
public suspend fun enableRegexInPath(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableRegexInPath = mapped
}
/**
* @param value The path of the account registration endpoint for your application. This is the page on your website that presents the registration form to new users.
* > This page must accept `GET` text/html requests.
* For example, for the URL `https://example.com/web/registration` , you would provide the path `/web/registration` . Registration page paths that start with the path that you provide are considered a match. For example `/web/registration` matches the registration paths `/web/registration` , `/web/registration/` , `/web/registrationPage` , and `/web/registration/thisPage` , but doesn't match the path `/home/web/registration` or `/website/registration` .
*/
@JvmName("ejtnchjufxtypros")
public suspend fun registrationPagePath(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.registrationPagePath = mapped
}
/**
* @param value The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
*/
@JvmName("xnwsmsvphmpprqyn")
public suspend fun requestInspection(`value`: WebAclRequestInspectionAcfpArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.requestInspection = mapped
}
/**
* @param argument The criteria for inspecting account creation requests, used by the ACFP rule group to validate and track account creation attempts.
*/
@JvmName("ffobbkiofiohgwgo")
public suspend fun requestInspection(argument: suspend WebAclRequestInspectionAcfpArgsBuilder.() -> Unit) {
val toBeMapped = WebAclRequestInspectionAcfpArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.requestInspection = mapped
}
/**
* @param value The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates.
* > Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
* The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time.
*/
@JvmName("aynbgcfogbggpaxk")
public suspend fun responseInspection(`value`: WebAclResponseInspectionArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.responseInspection = mapped
}
/**
* @param argument The criteria for inspecting responses to account creation requests, used by the ACFP rule group to track account creation success rates.
* > Response inspection is available only in web ACLs that protect Amazon CloudFront distributions.
* The ACFP rule group evaluates the responses that your protected resources send back to client account creation attempts, keeping count of successful and failed attempts from each IP address and client session. Using this information, the rule group labels and mitigates requests from client sessions and IP addresses that have had too many successful account creation attempts in a short amount of time.
*/
@JvmName("msmvoyumavkddjwl")
public suspend fun responseInspection(argument: suspend WebAclResponseInspectionArgsBuilder.() -> Unit) {
val toBeMapped = WebAclResponseInspectionArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.responseInspection = mapped
}
internal fun build(): WebAclAwsManagedRulesAcfpRuleSetArgs = WebAclAwsManagedRulesAcfpRuleSetArgs(
creationPath = creationPath ?: throw PulumiNullFieldException("creationPath"),
enableRegexInPath = enableRegexInPath,
registrationPagePath = registrationPagePath ?: throw
PulumiNullFieldException("registrationPagePath"),
requestInspection = requestInspection ?: throw PulumiNullFieldException("requestInspection"),
responseInspection = responseInspection,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy