
com.pulumi.googlenative.domains.v1beta1.kotlin.inputs.ContactSettingsArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-google-native-kotlin Show documentation
Show all versions of pulumi-google-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.
The newest version!
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.domains.v1beta1.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.domains.v1beta1.inputs.ContactSettingsArgs.builder
import com.pulumi.googlenative.domains.v1beta1.kotlin.enums.ContactSettingsPrivacy
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Defines the contact information associated with a `Registration`. [ICANN](https://icann.org/) requires all domain names to have associated contact information. The `registrant_contact` is considered the domain's legal owner, and often the other contacts are identical.
* @property adminContact The administrative contact for the `Registration`.
* @property privacy Privacy setting for the contacts associated with the `Registration`.
* @property registrantContact The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*
* @property technicalContact The technical contact for the `Registration`.
*/
public data class ContactSettingsArgs(
public val adminContact: Output,
public val privacy: Output,
public val registrantContact: Output,
public val technicalContact: Output,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.domains.v1beta1.inputs.ContactSettingsArgs =
com.pulumi.googlenative.domains.v1beta1.inputs.ContactSettingsArgs.builder()
.adminContact(adminContact.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.privacy(privacy.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.registrantContact(registrantContact.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.technicalContact(
technicalContact.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [ContactSettingsArgs].
*/
@PulumiTagMarker
public class ContactSettingsArgsBuilder internal constructor() {
private var adminContact: Output? = null
private var privacy: Output? = null
private var registrantContact: Output? = null
private var technicalContact: Output? = null
/**
* @param value The administrative contact for the `Registration`.
*/
@JvmName("fmhsjisxdngiywua")
public suspend fun adminContact(`value`: Output) {
this.adminContact = value
}
/**
* @param value Privacy setting for the contacts associated with the `Registration`.
*/
@JvmName("rxvbustdldnymgrw")
public suspend fun privacy(`value`: Output) {
this.privacy = value
}
/**
* @param value The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*
*/
@JvmName("fjivmuhkaplwrhaj")
public suspend fun registrantContact(`value`: Output) {
this.registrantContact = value
}
/**
* @param value The technical contact for the `Registration`.
*/
@JvmName("svqmtrfxpxwkcsfc")
public suspend fun technicalContact(`value`: Output) {
this.technicalContact = value
}
/**
* @param value The administrative contact for the `Registration`.
*/
@JvmName("qigmeqlictsqpjmx")
public suspend fun adminContact(`value`: ContactArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.adminContact = mapped
}
/**
* @param argument The administrative contact for the `Registration`.
*/
@JvmName("ttasyapbetwfrlhi")
public suspend fun adminContact(argument: suspend ContactArgsBuilder.() -> Unit) {
val toBeMapped = ContactArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.adminContact = mapped
}
/**
* @param value Privacy setting for the contacts associated with the `Registration`.
*/
@JvmName("flxuxdhrttmcuetm")
public suspend fun privacy(`value`: ContactSettingsPrivacy) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.privacy = mapped
}
/**
* @param value The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*
*/
@JvmName("kngkdcuratfnfjak")
public suspend fun registrantContact(`value`: ContactArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.registrantContact = mapped
}
/**
* @param argument The registrant contact for the `Registration`. *Caution: Anyone with access to this email address, phone number, and/or postal address can take control of the domain.* *Warning: For new `Registration`s, the registrant receives an email confirmation that they must complete within 15 days to avoid domain suspension.*
*/
@JvmName("dmbgfthcycgskppx")
public suspend fun registrantContact(argument: suspend ContactArgsBuilder.() -> Unit) {
val toBeMapped = ContactArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.registrantContact = mapped
}
/**
* @param value The technical contact for the `Registration`.
*/
@JvmName("imfvrxldsddbryjy")
public suspend fun technicalContact(`value`: ContactArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.technicalContact = mapped
}
/**
* @param argument The technical contact for the `Registration`.
*/
@JvmName("rrtvpjeaeqysqruf")
public suspend fun technicalContact(argument: suspend ContactArgsBuilder.() -> Unit) {
val toBeMapped = ContactArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.technicalContact = mapped
}
internal fun build(): ContactSettingsArgs = ContactSettingsArgs(
adminContact = adminContact ?: throw PulumiNullFieldException("adminContact"),
privacy = privacy ?: throw PulumiNullFieldException("privacy"),
registrantContact = registrantContact ?: throw PulumiNullFieldException("registrantContact"),
technicalContact = technicalContact ?: throw PulumiNullFieldException("technicalContact"),
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy