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

com.pulumi.awsnative.ec2.kotlin.inputs.InstancePrivateDnsNameOptionsArgs.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.24.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.awsnative.ec2.kotlin.inputs

import com.pulumi.awsnative.ec2.inputs.InstancePrivateDnsNameOptionsArgs.builder
import com.pulumi.awsnative.ec2.kotlin.enums.InstancePrivateDnsNameOptionsHostnameType
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.Suppress
import kotlin.jvm.JvmName

/**
 *
 * @property enableResourceNameDnsARecord Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
 * @property enableResourceNameDnsAaaaRecord Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
 * @property hostnameType The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
 */
public data class InstancePrivateDnsNameOptionsArgs(
    public val enableResourceNameDnsARecord: Output? = null,
    public val enableResourceNameDnsAaaaRecord: Output? = null,
    public val hostnameType: Output? = null,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.awsnative.ec2.inputs.InstancePrivateDnsNameOptionsArgs =
        com.pulumi.awsnative.ec2.inputs.InstancePrivateDnsNameOptionsArgs.builder()
            .enableResourceNameDnsARecord(enableResourceNameDnsARecord?.applyValue({ args0 -> args0 }))
            .enableResourceNameDnsAaaaRecord(enableResourceNameDnsAaaaRecord?.applyValue({ args0 -> args0 }))
            .hostnameType(hostnameType?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) })).build()
}

/**
 * Builder for [InstancePrivateDnsNameOptionsArgs].
 */
@PulumiTagMarker
public class InstancePrivateDnsNameOptionsArgsBuilder internal constructor() {
    private var enableResourceNameDnsARecord: Output? = null

    private var enableResourceNameDnsAaaaRecord: Output? = null

    private var hostnameType: Output? = null

    /**
     * @param value Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("tgiipmoaquabbytn")
    public suspend fun enableResourceNameDnsARecord(`value`: Output) {
        this.enableResourceNameDnsARecord = value
    }

    /**
     * @param value Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("tfrsosnfrtkdlenv")
    public suspend fun enableResourceNameDnsAaaaRecord(`value`: Output) {
        this.enableResourceNameDnsAaaaRecord = value
    }

    /**
     * @param value The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("oggyaxpsfjsikutu")
    public suspend fun hostnameType(`value`: Output) {
        this.hostnameType = value
    }

    /**
     * @param value Indicates whether to respond to DNS queries for instance hostnames with DNS A records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("ndiaqsknvklfhwii")
    public suspend fun enableResourceNameDnsARecord(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableResourceNameDnsARecord = mapped
    }

    /**
     * @param value Indicates whether to respond to DNS queries for instance hostnames with DNS AAAA records. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("vsivqwvyiqdxjpcj")
    public suspend fun enableResourceNameDnsAaaaRecord(`value`: Boolean?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.enableResourceNameDnsAaaaRecord = mapped
    }

    /**
     * @param value The type of hostnames to assign to instances in the subnet at launch. For IPv4 only subnets, an instance DNS name must be based on the instance IPv4 address. For IPv6 only subnets, an instance DNS name must be based on the instance ID. For dual-stack subnets, you can specify whether DNS names use the instance IPv4 address or the instance ID. For more information, see Amazon EC2 instance hostname types in the Amazon Elastic Compute Cloud User Guide.
     */
    @JvmName("gqmcmypkhimtlrkk")
    public suspend fun hostnameType(`value`: InstancePrivateDnsNameOptionsHostnameType?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.hostnameType = mapped
    }

    internal fun build(): InstancePrivateDnsNameOptionsArgs = InstancePrivateDnsNameOptionsArgs(
        enableResourceNameDnsARecord = enableResourceNameDnsARecord,
        enableResourceNameDnsAaaaRecord = enableResourceNameDnsAaaaRecord,
        hostnameType = hostnameType,
    )
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy