All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclRequestInspectionAcfp.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.wafv2.kotlin.outputs

import com.pulumi.awsnative.wafv2.kotlin.enums.WebAclRequestInspectionAcfpPayloadType
import kotlin.Suppress
import kotlin.collections.List

/**
 * Configures the inspection of sign-up requests
 * @property addressFields The names of the fields in the request payload that contain your customer's primary physical address.
 * Order the address fields in the array exactly as they are ordered in the request payload.
 * How you specify the address fields depends on the request inspection payload type.
 * - For JSON payloads, specify the field identifiers in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .
 * For example, for the JSON payload `{ "form": { "primaryaddressline1": "THE_ADDRESS1", "primaryaddressline2": "THE_ADDRESS2", "primaryaddressline3": "THE_ADDRESS3" } }` , the address field idenfiers are `/form/primaryaddressline1` , `/form/primaryaddressline2` , and `/form/primaryaddressline3` .
 * - For form encoded payload types, use the HTML form names.
 * For example, for an HTML form with input elements named `primaryaddressline1` , `primaryaddressline2` , and `primaryaddressline3` , the address fields identifiers are `primaryaddressline1` , `primaryaddressline2` , and `primaryaddressline3` .
 * @property emailField The name of the field in the request payload that contains your customer's email.
 * How you specify this depends on the request inspection payload type.
 * - For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .
 * For example, for the JSON payload `{ "form": { "email": "THE_EMAIL" } }` , the email field specification is `/form/email` .
 * - For form encoded payload types, use the HTML form names.
 * For example, for an HTML form with the input element named `email1` , the email field specification is `email1` .
 * @property passwordField The name of the field in the request payload that contains your customer's password.
 * How you specify this depends on the request inspection payload type.
 * - For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .
 * For example, for the JSON payload `{ "form": { "password": "THE_PASSWORD" } }` , the password field specification is `/form/password` .
 * - For form encoded payload types, use the HTML form names.
 * For example, for an HTML form with the input element named `password1` , the password field specification is `password1` .
 * @property payloadType The payload type for your account creation endpoint, either JSON or form encoded.
 * @property phoneNumberFields The names of the fields in the request payload that contain your customer's primary phone number.
 * Order the phone number fields in the array exactly as they are ordered in the request payload.
 * How you specify the phone number fields depends on the request inspection payload type.
 * - For JSON payloads, specify the field identifiers in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .
 * For example, for the JSON payload `{ "form": { "primaryphoneline1": "THE_PHONE1", "primaryphoneline2": "THE_PHONE2", "primaryphoneline3": "THE_PHONE3" } }` , the phone number field identifiers are `/form/primaryphoneline1` , `/form/primaryphoneline2` , and `/form/primaryphoneline3` .
 * - For form encoded payload types, use the HTML form names.
 * For example, for an HTML form with input elements named `primaryphoneline1` , `primaryphoneline2` , and `primaryphoneline3` , the phone number field identifiers are `primaryphoneline1` , `primaryphoneline2` , and `primaryphoneline3` .
 * @property usernameField The name of the field in the request payload that contains your customer's username.
 * How you specify this depends on the request inspection payload type.
 * - For JSON payloads, specify the field name in JSON pointer syntax. For information about the JSON Pointer syntax, see the Internet Engineering Task Force (IETF) documentation [JavaScript Object Notation (JSON) Pointer](https://docs.aws.amazon.com/https://tools.ietf.org/html/rfc6901) .
 * For example, for the JSON payload `{ "form": { "username": "THE_USERNAME" } }` , the username field specification is `/form/username` .
 * - For form encoded payload types, use the HTML form names.
 * For example, for an HTML form with the input element named `username1` , the username field specification is `username1`
 */
public data class WebAclRequestInspectionAcfp(
    public val addressFields: List? = null,
    public val emailField: WebAclFieldIdentifier? = null,
    public val passwordField: WebAclFieldIdentifier? = null,
    public val payloadType: WebAclRequestInspectionAcfpPayloadType,
    public val phoneNumberFields: List? = null,
    public val usernameField: WebAclFieldIdentifier? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.awsnative.wafv2.outputs.WebAclRequestInspectionAcfp): WebAclRequestInspectionAcfp = WebAclRequestInspectionAcfp(
            addressFields = javaType.addressFields().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
                })
            }),
            emailField = javaType.emailField().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
                })
            }).orElse(null),
            passwordField = javaType.passwordField().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
                })
            }).orElse(null),
            payloadType = javaType.payloadType().let({ args0 ->
                com.pulumi.awsnative.wafv2.kotlin.enums.WebAclRequestInspectionAcfpPayloadType.Companion.toKotlin(args0)
            }),
            phoneNumberFields = javaType.phoneNumberFields().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
                })
            }),
            usernameField = javaType.usernameField().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.awsnative.wafv2.kotlin.outputs.WebAclFieldIdentifier.Companion.toKotlin(args0)
                })
            }).orElse(null),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy