Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.wafv2.kotlin
import com.pulumi.awsnative.kotlin.inputs.TagArgs
import com.pulumi.awsnative.kotlin.inputs.TagArgsBuilder
import com.pulumi.awsnative.wafv2.IpSetArgs.builder
import com.pulumi.awsnative.wafv2.kotlin.enums.IpSetIpAddressVersion
import com.pulumi.awsnative.wafv2.kotlin.enums.IpSetScope
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
* Contains a list of IP addresses. This can be either IPV4 or IPV6. The list will be mutually
* @property addresses List of IPAddresses.
* @property description A description of the IP set that helps with identification.
* @property ipAddressVersion The version of the IP addresses, either `IPV4` or `IPV6` .
* @property name The name of the IP set. You cannot change the name of an `IPSet` 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` .
* @property tags Key:value pairs associated with an AWS resource. The key:value pair can be anything you define. Typically, the tag key represents a category (such as "environment") and the tag value represents a specific value within that category (such as "test," "development," or "production"). You can add up to 50 tags to each AWS resource.
* > To modify tags on existing resources, use the AWS WAF APIs or command line interface. With AWS CloudFormation , you can only add tags to AWS WAF resources during resource creation.
*/
public data class IpSetArgs(
public val addresses: Output>? = null,
public val description: Output? = null,
public val ipAddressVersion: Output? = null,
public val name: Output? = null,
public val scope: Output? = null,
public val tags: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.wafv2.IpSetArgs =
com.pulumi.awsnative.wafv2.IpSetArgs.builder()
.addresses(addresses?.applyValue({ args0 -> args0.map({ args0 -> args0 }) }))
.description(description?.applyValue({ args0 -> args0 }))
.ipAddressVersion(ipAddressVersion?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.name(name?.applyValue({ args0 -> args0 }))
.scope(scope?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.tags(
tags?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
).build()
}
/**
* Builder for [IpSetArgs].
*/
@PulumiTagMarker
public class IpSetArgsBuilder internal constructor() {
private var addresses: Output>? = null
private var description: Output? = null
private var ipAddressVersion: Output? = null
private var name: Output? = null
private var scope: Output? = null
private var tags: Output>? = null
/**
* @param value List of IPAddresses.
*/
@JvmName("jywpesfdxiphurpb")
public suspend fun addresses(`value`: Output>) {
this.addresses = value
}
@JvmName("qgjnvebtdpqdwrpj")
public suspend fun addresses(vararg values: Output) {
this.addresses = Output.all(values.asList())
}
/**
* @param values List of IPAddresses.
*/
@JvmName("vktedvsyehsosqsi")
public suspend fun addresses(values: List