com.pulumi.awsnative.lambda.kotlin.outputs.FunctionVpcConfig.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-native-kotlin Show documentation
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.lambda.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
* The VPC security groups and subnets that are attached to a Lambda function. When you connect a function to a VPC, Lambda creates an elastic network interface for each combination of security group and subnet in the function's VPC configuration. The function can only access resources and the internet through that VPC. For more information, see [VPC Settings](https://docs.aws.amazon.com/lambda/latest/dg/configuration-vpc.html).
* When you delete a function, CFN monitors the state of its network interfaces and waits for Lambda to delete them before proceeding. If the VPC is defined in the same stack, the network interfaces need to be deleted by Lambda before CFN can delete the VPC's resources.
* To monitor network interfaces, CFN needs the ``ec2:DescribeNetworkInterfaces`` permission. It obtains this from the user or role that modifies the stack. If you don't provide this permission, CFN does not wait for network interfaces to be deleted.
* @property ipv6AllowedForDualStack Allows outbound IPv6 traffic on VPC functions that are connected to dual-stack subnets.
* @property securityGroupIds A list of VPC security group IDs.
* @property subnetIds A list of VPC subnet IDs.
*/
public data class FunctionVpcConfig(
public val ipv6AllowedForDualStack: Boolean? = null,
public val securityGroupIds: List? = null,
public val subnetIds: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.lambda.outputs.FunctionVpcConfig): FunctionVpcConfig = FunctionVpcConfig(
ipv6AllowedForDualStack = javaType.ipv6AllowedForDualStack().map({ args0 -> args0 }).orElse(null),
securityGroupIds = javaType.securityGroupIds().map({ args0 -> args0 }),
subnetIds = javaType.subnetIds().map({ args0 -> args0 }),
)
}
}