com.pulumi.awsnative.ec2.kotlin.outputs.GetSubnetResult.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.ec2.kotlin.outputs
import com.pulumi.awsnative.kotlin.outputs.Tag
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
/**
*
* @property assignIpv6AddressOnCreation Indicates whether a network interface created in this subnet receives an IPv6 address. The default value is ``false``.
* If you specify ``AssignIpv6AddressOnCreation``, you must also specify an IPv6 CIDR block.
* @property enableDns64 Indicates whether DNS queries made to the Amazon-provided DNS Resolver in this subnet should return synthetic IPv6 addresses for IPv4-only destinations. For more information, see [DNS64 and NAT64](https://docs.aws.amazon.com/vpc/latest/userguide/vpc-nat-gateway.html#nat-gateway-nat64-dns64) in the *User Guide*.
* @property ipv6CidrBlock The IPv6 CIDR block.
* If you specify ``AssignIpv6AddressOnCreation``, you must also specify an IPv6 CIDR block.
* @property ipv6CidrBlocks The IPv6 network ranges for the subnet, in CIDR notation.
* @property mapPublicIpOnLaunch Indicates whether instances launched in this subnet receive a public IPv4 address. The default value is ``false``.
* AWS charges for all public IPv4 addresses, including public IPv4 addresses associated with running instances and Elastic IP addresses. For more information, see the *Public IPv4 Address* tab on the [VPC pricing page](https://docs.aws.amazon.com/vpc/pricing/).
* @property networkAclAssociationId The ID of the network ACL that is associated with the subnet's VPC, such as `acl-5fb85d36` .
* @property privateDnsNameOptionsOnLaunch The hostname type for EC2 instances launched into this subnet and how DNS A and AAAA record queries to the instances should be handled. For more information, see [Amazon EC2 instance hostname types](https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/ec2-instance-naming.html) in the *User Guide*.
* Available options:
* + EnableResourceNameDnsAAAARecord (true | false)
* + EnableResourceNameDnsARecord (true | false)
* + HostnameType (ip-name | resource-name)
* @property subnetId The ID of the subnet.
* @property tags Any tags assigned to the subnet.
*/
public data class GetSubnetResult(
public val assignIpv6AddressOnCreation: Boolean? = null,
public val enableDns64: Boolean? = null,
public val ipv6CidrBlock: String? = null,
public val ipv6CidrBlocks: List? = null,
public val mapPublicIpOnLaunch: Boolean? = null,
public val networkAclAssociationId: String? = null,
public val privateDnsNameOptionsOnLaunch: PrivateDnsNameOptionsOnLaunchProperties? = null,
public val subnetId: String? = null,
public val tags: List? = null,
) {
public companion object {
public fun toKotlin(javaType: com.pulumi.awsnative.ec2.outputs.GetSubnetResult): GetSubnetResult = GetSubnetResult(
assignIpv6AddressOnCreation = javaType.assignIpv6AddressOnCreation().map({ args0 ->
args0
}).orElse(null),
enableDns64 = javaType.enableDns64().map({ args0 -> args0 }).orElse(null),
ipv6CidrBlock = javaType.ipv6CidrBlock().map({ args0 -> args0 }).orElse(null),
ipv6CidrBlocks = javaType.ipv6CidrBlocks().map({ args0 -> args0 }),
mapPublicIpOnLaunch = javaType.mapPublicIpOnLaunch().map({ args0 -> args0 }).orElse(null),
networkAclAssociationId = javaType.networkAclAssociationId().map({ args0 -> args0 }).orElse(null),
privateDnsNameOptionsOnLaunch = javaType.privateDnsNameOptionsOnLaunch().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.ec2.kotlin.outputs.PrivateDnsNameOptionsOnLaunchProperties.Companion.toKotlin(args0)
})
}).orElse(null),
subnetId = javaType.subnetId().map({ args0 -> args0 }).orElse(null),
tags = javaType.tags().map({ args0 ->
args0.let({ args0 ->
com.pulumi.awsnative.kotlin.outputs.Tag.Companion.toKotlin(args0)
})
}),
)
}
}