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

com.pulumi.awsnative.ec2.kotlin.outputs.GetSubnetResult.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 1.11.0.0
Show newest version
@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)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy