
com.pulumi.awsnative.ec2.kotlin.inputs.PrivateDnsNameOptionsOnLaunchPropertiesArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.ec2.kotlin.inputs
import com.pulumi.awsnative.ec2.inputs.PrivateDnsNameOptionsOnLaunchPropertiesArgs.builder
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.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* 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 enableResourceNameDnsARecord Indicates whether to respond to DNS queries for instance hostnames with DNS A records.
* @property enableResourceNameDnsAaaaRecord Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.
* @property hostnameType The type of hostname for EC2 instances. 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.
*/
public data class PrivateDnsNameOptionsOnLaunchPropertiesArgs(
public val enableResourceNameDnsARecord: Output? = null,
public val enableResourceNameDnsAaaaRecord: Output? = null,
public val hostnameType: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.ec2.inputs.PrivateDnsNameOptionsOnLaunchPropertiesArgs = com.pulumi.awsnative.ec2.inputs.PrivateDnsNameOptionsOnLaunchPropertiesArgs.builder()
.enableResourceNameDnsARecord(enableResourceNameDnsARecord?.applyValue({ args0 -> args0 }))
.enableResourceNameDnsAaaaRecord(enableResourceNameDnsAaaaRecord?.applyValue({ args0 -> args0 }))
.hostnameType(hostnameType?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [PrivateDnsNameOptionsOnLaunchPropertiesArgs].
*/
@PulumiTagMarker
public class PrivateDnsNameOptionsOnLaunchPropertiesArgsBuilder 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.
*/
@JvmName("bxxptckfkcwetgft")
public suspend fun enableResourceNameDnsARecord(`value`: Output) {
this.enableResourceNameDnsARecord = value
}
/**
* @param value Indicates whether to respond to DNS queries for instance hostname with DNS AAAA records.
*/
@JvmName("rdnkcfjwrwojyxqv")
public suspend fun enableResourceNameDnsAaaaRecord(`value`: Output) {
this.enableResourceNameDnsAaaaRecord = value
}
/**
* @param value The type of hostname for EC2 instances. 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.
*/
@JvmName("eyffwuxdllsyxfld")
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.
*/
@JvmName("jsqhmsljdtagxvxo")
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 hostname with DNS AAAA records.
*/
@JvmName("drauixmvbxglwjbi")
public suspend fun enableResourceNameDnsAaaaRecord(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.enableResourceNameDnsAaaaRecord = mapped
}
/**
* @param value The type of hostname for EC2 instances. 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.
*/
@JvmName("kpsnudbrnywbiycl")
public suspend fun hostnameType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hostnameType = mapped
}
internal fun build(): PrivateDnsNameOptionsOnLaunchPropertiesArgs =
PrivateDnsNameOptionsOnLaunchPropertiesArgs(
enableResourceNameDnsARecord = enableResourceNameDnsARecord,
enableResourceNameDnsAaaaRecord = enableResourceNameDnsAaaaRecord,
hostnameType = hostnameType,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy