
com.pulumi.azurenative.deviceregistry.kotlin.inputs.DataPointArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.azurenative.deviceregistry.kotlin.inputs
import com.pulumi.azurenative.deviceregistry.inputs.DataPointArgs.builder
import com.pulumi.azurenative.deviceregistry.kotlin.enums.DataPointsObservabilityMode
import com.pulumi.core.Either
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
* Defines the data point properties.
* @property capabilityId The path to the type definition of the capability (e.g. DTMI, OPC UA information model node id, etc.), for example dtmi:com:example:Robot:_contents:__prop1;1.
* @property dataPointConfiguration Protocol-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize.
* @property dataSource The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset.
* @property name The name of the data point.
* @property observabilityMode An indication of how the data point should be mapped to OpenTelemetry.
*/
public data class DataPointArgs(
public val capabilityId: Output? = null,
public val dataPointConfiguration: Output? = null,
public val dataSource: Output,
public val name: Output? = null,
public val observabilityMode: Output>? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.azurenative.deviceregistry.inputs.DataPointArgs =
com.pulumi.azurenative.deviceregistry.inputs.DataPointArgs.builder()
.capabilityId(capabilityId?.applyValue({ args0 -> args0 }))
.dataPointConfiguration(dataPointConfiguration?.applyValue({ args0 -> args0 }))
.dataSource(dataSource.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.observabilityMode(
observabilityMode?.applyValue({ args0 ->
args0.transform(
{ args0 -> args0 },
{ args0 -> args0.let({ args0 -> args0.toJava() }) },
)
}),
).build()
}
/**
* Builder for [DataPointArgs].
*/
@PulumiTagMarker
public class DataPointArgsBuilder internal constructor() {
private var capabilityId: Output? = null
private var dataPointConfiguration: Output? = null
private var dataSource: Output? = null
private var name: Output? = null
private var observabilityMode: Output>? = null
/**
* @param value The path to the type definition of the capability (e.g. DTMI, OPC UA information model node id, etc.), for example dtmi:com:example:Robot:_contents:__prop1;1.
*/
@JvmName("xiwkvjfyfwtlahsp")
public suspend fun capabilityId(`value`: Output) {
this.capabilityId = value
}
/**
* @param value Protocol-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize.
*/
@JvmName("iqxuntthpbcpurkt")
public suspend fun dataPointConfiguration(`value`: Output) {
this.dataPointConfiguration = value
}
/**
* @param value The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset.
*/
@JvmName("jinydibyrhrwryly")
public suspend fun dataSource(`value`: Output) {
this.dataSource = value
}
/**
* @param value The name of the data point.
*/
@JvmName("rkgouspfsijyryrr")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value An indication of how the data point should be mapped to OpenTelemetry.
*/
@JvmName("gaumqxplkgarprnw")
public suspend fun observabilityMode(`value`: Output>) {
this.observabilityMode = value
}
/**
* @param value The path to the type definition of the capability (e.g. DTMI, OPC UA information model node id, etc.), for example dtmi:com:example:Robot:_contents:__prop1;1.
*/
@JvmName("mmeiptorhvctpxip")
public suspend fun capabilityId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.capabilityId = mapped
}
/**
* @param value Protocol-specific configuration for the data point. For OPC UA, this could include configuration like, publishingInterval, samplingInterval, and queueSize.
*/
@JvmName("miridqicncfdjtuu")
public suspend fun dataPointConfiguration(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataPointConfiguration = mapped
}
/**
* @param value The address of the source of the data in the asset (e.g. URL) so that a client can access the data source on the asset.
*/
@JvmName("ychynkjotslbcail")
public suspend fun dataSource(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataSource = mapped
}
/**
* @param value The name of the data point.
*/
@JvmName("sdhnnahaojwxnehj")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value An indication of how the data point should be mapped to OpenTelemetry.
*/
@JvmName("jbnobtanedbvoyqw")
public suspend fun observabilityMode(`value`: Either?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.observabilityMode = mapped
}
/**
* @param value An indication of how the data point should be mapped to OpenTelemetry.
*/
@JvmName("fqgppvtktcylnlmj")
public fun observabilityMode(`value`: String) {
val toBeMapped = Either.ofLeft(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.observabilityMode = mapped
}
/**
* @param value An indication of how the data point should be mapped to OpenTelemetry.
*/
@JvmName("tyosvbxwirsbdtef")
public fun observabilityMode(`value`: DataPointsObservabilityMode) {
val toBeMapped = Either.ofRight(value)
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.observabilityMode = mapped
}
internal fun build(): DataPointArgs = DataPointArgs(
capabilityId = capabilityId,
dataPointConfiguration = dataPointConfiguration,
dataSource = dataSource ?: throw PulumiNullFieldException("dataSource"),
name = name,
observabilityMode = observabilityMode,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy