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

com.pulumi.awsnative.wafv2.kotlin.inputs.GetWebAclPlainArgs.kt Maven / Gradle / Ivy

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

package com.pulumi.awsnative.wafv2.kotlin.inputs

import com.pulumi.awsnative.wafv2.inputs.GetWebAclPlainArgs.builder
import com.pulumi.awsnative.wafv2.kotlin.enums.WebAclScope
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property id The ID of the web ACL.
 * @property name The name of the web ACL. You cannot change the name of a web ACL after you create it.
 * @property scope Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are `CLOUDFRONT` and `REGIONAL` .
 * > For `CLOUDFRONT` , you must create your WAFv2 resources in the US East (N. Virginia) Region, `us-east-1` .
 * For information about how to define the association of the web ACL with your resource, see `WebACLAssociation` .
 */
public data class GetWebAclPlainArgs(
    public val id: String,
    public val name: String,
    public val scope: WebAclScope,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.wafv2.inputs.GetWebAclPlainArgs =
        com.pulumi.awsnative.wafv2.inputs.GetWebAclPlainArgs.builder()
            .id(id.let({ args0 -> args0 }))
            .name(name.let({ args0 -> args0 }))
            .scope(scope.let({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [GetWebAclPlainArgs].
 */
@PulumiTagMarker
public class GetWebAclPlainArgsBuilder internal constructor() {
    private var id: String? = null

    private var name: String? = null

    private var scope: WebAclScope? = null

    /**
     * @param value The ID of the web ACL.
     */
    @JvmName("rankwxjrkdnhpcpl")
    public suspend fun id(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.id = mapped
    }

    /**
     * @param value The name of the web ACL. You cannot change the name of a web ACL after you create it.
     */
    @JvmName("bvcbdrptrrfbfrbr")
    public suspend fun name(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.name = mapped
    }

    /**
     * @param value Specifies whether this is for an Amazon CloudFront distribution or for a regional application. A regional application can be an Application Load Balancer (ALB), an Amazon API Gateway REST API, an AWS AppSync GraphQL API, an Amazon Cognito user pool, an AWS App Runner service, or an AWS Verified Access instance. Valid Values are `CLOUDFRONT` and `REGIONAL` .
     * > For `CLOUDFRONT` , you must create your WAFv2 resources in the US East (N. Virginia) Region, `us-east-1` .
     * For information about how to define the association of the web ACL with your resource, see `WebACLAssociation` .
     */
    @JvmName("raomkbgdqaeghxoc")
    public suspend fun scope(`value`: WebAclScope) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> args0 })
        this.scope = mapped
    }

    internal fun build(): GetWebAclPlainArgs = GetWebAclPlainArgs(
        id = id ?: throw PulumiNullFieldException("id"),
        name = name ?: throw PulumiNullFieldException("name"),
        scope = scope ?: throw PulumiNullFieldException("scope"),
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy