
com.pulumi.awsnative.iotsitewise.kotlin.inputs.AssetModelPropertyArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-aws-native-kotlin Show documentation
Show all versions of pulumi-aws-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.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.awsnative.iotsitewise.kotlin.inputs
import com.pulumi.awsnative.iotsitewise.inputs.AssetModelPropertyArgs.builder
import com.pulumi.awsnative.iotsitewise.kotlin.enums.AssetModelDataType
import com.pulumi.awsnative.iotsitewise.kotlin.enums.AssetModelDataTypeSpec
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 com.pulumi.kotlin.applySuspend
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.jvm.JvmName
/**
* Contains information about an asset model property.
* @property dataType The data type of the asset model property.
* @property dataTypeSpec The data type of the structure for this property.
* @property externalId The External ID of the Asset Model Property
* @property id The ID of the Asset Model Property
* @property logicalId Customer provided Logical ID for property.
* @property name The name of the asset model property.
* @property type The property type
* @property unit The unit of the asset model property, such as Newtons or RPM.
*/
public data class AssetModelPropertyArgs(
public val dataType: Output,
public val dataTypeSpec: Output? = null,
public val externalId: Output? = null,
public val id: Output? = null,
public val logicalId: Output? = null,
public val name: Output,
public val type: Output,
public val unit: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.awsnative.iotsitewise.inputs.AssetModelPropertyArgs =
com.pulumi.awsnative.iotsitewise.inputs.AssetModelPropertyArgs.builder()
.dataType(dataType.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.dataTypeSpec(dataTypeSpec?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.externalId(externalId?.applyValue({ args0 -> args0 }))
.id(id?.applyValue({ args0 -> args0 }))
.logicalId(logicalId?.applyValue({ args0 -> args0 }))
.name(name.applyValue({ args0 -> args0 }))
.type(type.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.unit(unit?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [AssetModelPropertyArgs].
*/
@PulumiTagMarker
public class AssetModelPropertyArgsBuilder internal constructor() {
private var dataType: Output? = null
private var dataTypeSpec: Output? = null
private var externalId: Output? = null
private var id: Output? = null
private var logicalId: Output? = null
private var name: Output? = null
private var type: Output? = null
private var unit: Output? = null
/**
* @param value The data type of the asset model property.
*/
@JvmName("ygpbenrgvactfgch")
public suspend fun dataType(`value`: Output) {
this.dataType = value
}
/**
* @param value The data type of the structure for this property.
*/
@JvmName("xgmqxeucbcftdpud")
public suspend fun dataTypeSpec(`value`: Output) {
this.dataTypeSpec = value
}
/**
* @param value The External ID of the Asset Model Property
*/
@JvmName("ataplcqyqwxyvqjt")
public suspend fun externalId(`value`: Output) {
this.externalId = value
}
/**
* @param value The ID of the Asset Model Property
*/
@JvmName("yxbcrdhbfpvareoh")
public suspend fun id(`value`: Output) {
this.id = value
}
/**
* @param value Customer provided Logical ID for property.
*/
@JvmName("awusnssaatrixhhg")
public suspend fun logicalId(`value`: Output) {
this.logicalId = value
}
/**
* @param value The name of the asset model property.
*/
@JvmName("xqustxvmtstmpgib")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value The property type
*/
@JvmName("ukmghvvyufpgfene")
public suspend fun type(`value`: Output) {
this.type = value
}
/**
* @param value The unit of the asset model property, such as Newtons or RPM.
*/
@JvmName("fdpyyfuguxrdbcuk")
public suspend fun unit(`value`: Output) {
this.unit = value
}
/**
* @param value The data type of the asset model property.
*/
@JvmName("upodfhvlxcwwhfms")
public suspend fun dataType(`value`: AssetModelDataType) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.dataType = mapped
}
/**
* @param value The data type of the structure for this property.
*/
@JvmName("mlkdtawnojftkvrt")
public suspend fun dataTypeSpec(`value`: AssetModelDataTypeSpec?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dataTypeSpec = mapped
}
/**
* @param value The External ID of the Asset Model Property
*/
@JvmName("aovrendicakdgjxy")
public suspend fun externalId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.externalId = mapped
}
/**
* @param value The ID of the Asset Model Property
*/
@JvmName("qhwgqnyhtafelfwy")
public suspend fun id(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.id = mapped
}
/**
* @param value Customer provided Logical ID for property.
*/
@JvmName("snbggpliwmmvmdvg")
public suspend fun logicalId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.logicalId = mapped
}
/**
* @param value The name of the asset model property.
*/
@JvmName("dfxdfganvuvijvrq")
public suspend fun name(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value The property type
*/
@JvmName("pavsxqrqujdbnwkf")
public suspend fun type(`value`: AssetModelPropertyTypeArgs) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.type = mapped
}
/**
* @param argument The property type
*/
@JvmName("ofmuioplkipnywbe")
public suspend fun type(argument: suspend AssetModelPropertyTypeArgsBuilder.() -> Unit) {
val toBeMapped = AssetModelPropertyTypeArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.type = mapped
}
/**
* @param value The unit of the asset model property, such as Newtons or RPM.
*/
@JvmName("rvtyafgqeusxdqvg")
public suspend fun unit(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.unit = mapped
}
internal fun build(): AssetModelPropertyArgs = AssetModelPropertyArgs(
dataType = dataType ?: throw PulumiNullFieldException("dataType"),
dataTypeSpec = dataTypeSpec,
externalId = externalId,
id = id,
logicalId = logicalId,
name = name ?: throw PulumiNullFieldException("name"),
type = type ?: throw PulumiNullFieldException("type"),
unit = unit,
)
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy