Please wait. This can take some minutes ...
Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance.
Project price only 1 $
You can buy this project and download/modify it how often you want.
com.pulumi.gcp.blockchainnodeengine.kotlin.inputs.BlockchainNodesEthereumDetailsArgs.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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.blockchainnodeengine.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.blockchainnodeengine.inputs.BlockchainNodesEthereumDetailsArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.jvm.JvmName
/**
*
* @property additionalEndpoints (Output)
* User-provided key-value pairs
* Structure is documented below.
* @property apiEnableAdmin Enables JSON-RPC access to functions in the admin namespace. Defaults to false.
* @property apiEnableDebug Enables JSON-RPC access to functions in the debug namespace. Defaults to false.
* @property consensusClient The consensus client
* Possible values are: `CONSENSUS_CLIENT_UNSPECIFIED`, `LIGHTHOUSE`.
* @property executionClient The execution client
* Possible values are: `EXECUTION_CLIENT_UNSPECIFIED`, `GETH`, `ERIGON`.
* @property gethDetails User-provided key-value pairs
* Structure is documented below.
* @property network The Ethereum environment being accessed.
* Possible values are: `MAINNET`, `TESTNET_GOERLI_PRATER`, `TESTNET_SEPOLIA`.
* @property nodeType The type of Ethereum node.
* Possible values are: `LIGHT`, `FULL`, `ARCHIVE`.
* @property validatorConfig Configuration for validator-related parameters on the beacon client, and for any managed validator client.
* Structure is documented below.
*/
public data class BlockchainNodesEthereumDetailsArgs(
public val additionalEndpoints: Output>? = null,
public val apiEnableAdmin: Output? = null,
public val apiEnableDebug: Output? = null,
public val consensusClient: Output? = null,
public val executionClient: Output? = null,
public val gethDetails: Output? = null,
public val network: Output? = null,
public val nodeType: Output? = null,
public val validatorConfig: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.blockchainnodeengine.inputs.BlockchainNodesEthereumDetailsArgs =
com.pulumi.gcp.blockchainnodeengine.inputs.BlockchainNodesEthereumDetailsArgs.builder()
.additionalEndpoints(
additionalEndpoints?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> args0.toJava() })
})
}),
)
.apiEnableAdmin(apiEnableAdmin?.applyValue({ args0 -> args0 }))
.apiEnableDebug(apiEnableDebug?.applyValue({ args0 -> args0 }))
.consensusClient(consensusClient?.applyValue({ args0 -> args0 }))
.executionClient(executionClient?.applyValue({ args0 -> args0 }))
.gethDetails(gethDetails?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.network(network?.applyValue({ args0 -> args0 }))
.nodeType(nodeType?.applyValue({ args0 -> args0 }))
.validatorConfig(
validatorConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
).build()
}
/**
* Builder for [BlockchainNodesEthereumDetailsArgs].
*/
@PulumiTagMarker
public class BlockchainNodesEthereumDetailsArgsBuilder internal constructor() {
private var additionalEndpoints:
Output>? = null
private var apiEnableAdmin: Output? = null
private var apiEnableDebug: Output? = null
private var consensusClient: Output? = null
private var executionClient: Output? = null
private var gethDetails: Output? = null
private var network: Output? = null
private var nodeType: Output? = null
private var validatorConfig: Output? = null
/**
* @param value (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("pndkrkqbixbbkwmt")
public suspend fun additionalEndpoints(`value`: Output>) {
this.additionalEndpoints = value
}
@JvmName("davfxbfjfoufkbhf")
public suspend fun additionalEndpoints(vararg values: Output) {
this.additionalEndpoints = Output.all(values.asList())
}
/**
* @param values (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("lftjhfqbwnrdupfm")
public suspend fun additionalEndpoints(values: List>) {
this.additionalEndpoints = Output.all(values)
}
/**
* @param value Enables JSON-RPC access to functions in the admin namespace. Defaults to false.
*/
@JvmName("ystodgtfkrhnsdcc")
public suspend fun apiEnableAdmin(`value`: Output) {
this.apiEnableAdmin = value
}
/**
* @param value Enables JSON-RPC access to functions in the debug namespace. Defaults to false.
*/
@JvmName("udwmydbixpdxqxpn")
public suspend fun apiEnableDebug(`value`: Output) {
this.apiEnableDebug = value
}
/**
* @param value The consensus client
* Possible values are: `CONSENSUS_CLIENT_UNSPECIFIED`, `LIGHTHOUSE`.
*/
@JvmName("ggahqkpqxlheabbl")
public suspend fun consensusClient(`value`: Output) {
this.consensusClient = value
}
/**
* @param value The execution client
* Possible values are: `EXECUTION_CLIENT_UNSPECIFIED`, `GETH`, `ERIGON`.
*/
@JvmName("vgckmnnmkvnvnlfy")
public suspend fun executionClient(`value`: Output) {
this.executionClient = value
}
/**
* @param value User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("nhgqwncqibodcmri")
public suspend fun gethDetails(`value`: Output) {
this.gethDetails = value
}
/**
* @param value The Ethereum environment being accessed.
* Possible values are: `MAINNET`, `TESTNET_GOERLI_PRATER`, `TESTNET_SEPOLIA`.
*/
@JvmName("wggeajrtuyvklvyh")
public suspend fun network(`value`: Output) {
this.network = value
}
/**
* @param value The type of Ethereum node.
* Possible values are: `LIGHT`, `FULL`, `ARCHIVE`.
*/
@JvmName("otumwatfxatqqavo")
public suspend fun nodeType(`value`: Output) {
this.nodeType = value
}
/**
* @param value Configuration for validator-related parameters on the beacon client, and for any managed validator client.
* Structure is documented below.
*/
@JvmName("djxmncffmoowbixf")
public suspend fun validatorConfig(`value`: Output) {
this.validatorConfig = value
}
/**
* @param value (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("vvkoedmthlybbyxq")
public suspend fun additionalEndpoints(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.additionalEndpoints = mapped
}
/**
* @param argument (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("tjderblubpifccud")
public suspend fun additionalEndpoints(argument: List Unit>) {
val toBeMapped = argument.toList().map {
BlockchainNodesEthereumDetailsAdditionalEndpointArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.additionalEndpoints = mapped
}
/**
* @param argument (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("giweybhtvnbffdcs")
public suspend fun additionalEndpoints(vararg argument: suspend BlockchainNodesEthereumDetailsAdditionalEndpointArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map {
BlockchainNodesEthereumDetailsAdditionalEndpointArgsBuilder().applySuspend { it() }.build()
}
val mapped = of(toBeMapped)
this.additionalEndpoints = mapped
}
/**
* @param argument (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("qtpajlmknsvhcflp")
public suspend fun additionalEndpoints(argument: suspend BlockchainNodesEthereumDetailsAdditionalEndpointArgsBuilder.() -> Unit) {
val toBeMapped =
listOf(
BlockchainNodesEthereumDetailsAdditionalEndpointArgsBuilder().applySuspend {
argument()
}.build(),
)
val mapped = of(toBeMapped)
this.additionalEndpoints = mapped
}
/**
* @param values (Output)
* User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("qjyqiwxcbqkaxhif")
public suspend fun additionalEndpoints(vararg values: BlockchainNodesEthereumDetailsAdditionalEndpointArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.additionalEndpoints = mapped
}
/**
* @param value Enables JSON-RPC access to functions in the admin namespace. Defaults to false.
*/
@JvmName("gqegevvvtpgkcyag")
public suspend fun apiEnableAdmin(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiEnableAdmin = mapped
}
/**
* @param value Enables JSON-RPC access to functions in the debug namespace. Defaults to false.
*/
@JvmName("bveooajecljnkskh")
public suspend fun apiEnableDebug(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.apiEnableDebug = mapped
}
/**
* @param value The consensus client
* Possible values are: `CONSENSUS_CLIENT_UNSPECIFIED`, `LIGHTHOUSE`.
*/
@JvmName("wttnnbcxmituaxch")
public suspend fun consensusClient(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.consensusClient = mapped
}
/**
* @param value The execution client
* Possible values are: `EXECUTION_CLIENT_UNSPECIFIED`, `GETH`, `ERIGON`.
*/
@JvmName("vemghllwabhtegvf")
public suspend fun executionClient(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.executionClient = mapped
}
/**
* @param value User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("esbwgchxgditwmij")
public suspend fun gethDetails(`value`: BlockchainNodesEthereumDetailsGethDetailsArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.gethDetails = mapped
}
/**
* @param argument User-provided key-value pairs
* Structure is documented below.
*/
@JvmName("fhwnammbfwlyadlh")
public suspend fun gethDetails(argument: suspend BlockchainNodesEthereumDetailsGethDetailsArgsBuilder.() -> Unit) {
val toBeMapped = BlockchainNodesEthereumDetailsGethDetailsArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.gethDetails = mapped
}
/**
* @param value The Ethereum environment being accessed.
* Possible values are: `MAINNET`, `TESTNET_GOERLI_PRATER`, `TESTNET_SEPOLIA`.
*/
@JvmName("tngwlvhbpdtofunb")
public suspend fun network(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.network = mapped
}
/**
* @param value The type of Ethereum node.
* Possible values are: `LIGHT`, `FULL`, `ARCHIVE`.
*/
@JvmName("ubjvdixyqqmjlhnv")
public suspend fun nodeType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.nodeType = mapped
}
/**
* @param value Configuration for validator-related parameters on the beacon client, and for any managed validator client.
* Structure is documented below.
*/
@JvmName("qwscfbtrucsglbxa")
public suspend fun validatorConfig(`value`: BlockchainNodesEthereumDetailsValidatorConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.validatorConfig = mapped
}
/**
* @param argument Configuration for validator-related parameters on the beacon client, and for any managed validator client.
* Structure is documented below.
*/
@JvmName("pwxopgimnoipvpjm")
public suspend fun validatorConfig(argument: suspend BlockchainNodesEthereumDetailsValidatorConfigArgsBuilder.() -> Unit) {
val toBeMapped = BlockchainNodesEthereumDetailsValidatorConfigArgsBuilder().applySuspend {
argument()
}.build()
val mapped = of(toBeMapped)
this.validatorConfig = mapped
}
internal fun build(): BlockchainNodesEthereumDetailsArgs = BlockchainNodesEthereumDetailsArgs(
additionalEndpoints = additionalEndpoints,
apiEnableAdmin = apiEnableAdmin,
apiEnableDebug = apiEnableDebug,
consensusClient = consensusClient,
executionClient = executionClient,
gethDetails = gethDetails,
network = network,
nodeType = nodeType,
validatorConfig = validatorConfig,
)
}