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.googlenative.healthcare.v1beta1.kotlin.MessageArgs.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.googlenative.healthcare.v1beta1.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.healthcare.v1beta1.MessageArgs.builder
import com.pulumi.googlenative.healthcare.v1beta1.kotlin.inputs.PatientIdArgs
import com.pulumi.googlenative.healthcare.v1beta1.kotlin.inputs.PatientIdArgsBuilder
import com.pulumi.googlenative.healthcare.v1beta1.kotlin.inputs.SchematizedDataArgs
import com.pulumi.googlenative.healthcare.v1beta1.kotlin.inputs.SchematizedDataArgsBuilder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.applySuspend
import kotlin.Pair
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import kotlin.collections.Map
import kotlin.jvm.JvmName
/**
* Parses and stores an HL7v2 message. This method triggers an asynchronous notification to any Pub/Sub topic configured in Hl7V2Store.Hl7V2NotificationConfig, if the filtering matches the message. If an MLLP adapter is configured to listen to a Pub/Sub topic, the adapter transmits the message when a notification is received.
* @property data Raw message bytes.
* @property datasetId
* @property hl7V2StoreId
* @property labels User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
* @property location
* @property messageType The message type for this message. MSH-9.1.
* @property name Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.
* @property patientIds All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
* @property project
* @property schematizedData The parsed version of the raw message data schematized according to this store's schemas and type definitions.
* @property sendFacility The hospital that this message came from. MSH-4.
* @property sendTime The datetime the sending application sent this message. MSH-7.
*/
public data class MessageArgs(
public val `data`: Output? = null,
public val datasetId: Output? = null,
public val hl7V2StoreId: Output? = null,
public val labels: Output>? = null,
public val location: Output? = null,
public val messageType: Output? = null,
public val name: Output? = null,
public val patientIds: Output>? = null,
public val project: Output? = null,
public val schematizedData: Output? = null,
public val sendFacility: Output? = null,
public val sendTime: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.healthcare.v1beta1.MessageArgs =
com.pulumi.googlenative.healthcare.v1beta1.MessageArgs.builder()
.`data`(`data`?.applyValue({ args0 -> args0 }))
.datasetId(datasetId?.applyValue({ args0 -> args0 }))
.hl7V2StoreId(hl7V2StoreId?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.location(location?.applyValue({ args0 -> args0 }))
.messageType(messageType?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.patientIds(
patientIds?.applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
})
}),
)
.project(project?.applyValue({ args0 -> args0 }))
.schematizedData(schematizedData?.applyValue({ args0 -> args0.let({ args0 -> args0.toJava() }) }))
.sendFacility(sendFacility?.applyValue({ args0 -> args0 }))
.sendTime(sendTime?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [MessageArgs].
*/
@PulumiTagMarker
public class MessageArgsBuilder internal constructor() {
private var `data`: Output? = null
private var datasetId: Output? = null
private var hl7V2StoreId: Output? = null
private var labels: Output>? = null
private var location: Output? = null
private var messageType: Output? = null
private var name: Output? = null
private var patientIds: Output>? = null
private var project: Output? = null
private var schematizedData: Output? = null
private var sendFacility: Output? = null
private var sendTime: Output? = null
/**
* @param value Raw message bytes.
*/
@JvmName("mcqrvycqjtfslrgg")
public suspend fun `data`(`value`: Output) {
this.`data` = value
}
/**
* @param value
*/
@JvmName("bbtvtgknpyxyuvgl")
public suspend fun datasetId(`value`: Output) {
this.datasetId = value
}
/**
* @param value
*/
@JvmName("tjxbalagemmdwxtq")
public suspend fun hl7V2StoreId(`value`: Output) {
this.hl7V2StoreId = value
}
/**
* @param value User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
*/
@JvmName("iowomcpexfnysxts")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value
*/
@JvmName("ivageynvjywqcxky")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value The message type for this message. MSH-9.1.
*/
@JvmName("tdotfvjtguefhndq")
public suspend fun messageType(`value`: Output) {
this.messageType = value
}
/**
* @param value Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.
*/
@JvmName("hoydfmggqhqmdnuc")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("rseysqdfqrkmeqqm")
public suspend fun patientIds(`value`: Output>) {
this.patientIds = value
}
@JvmName("nkwpddakxovdjmya")
public suspend fun patientIds(vararg values: Output) {
this.patientIds = Output.all(values.asList())
}
/**
* @param values All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("jmimhsrdqldbbtgb")
public suspend fun patientIds(values: List>) {
this.patientIds = Output.all(values)
}
/**
* @param value
*/
@JvmName("ukslnashhfydybip")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value The parsed version of the raw message data schematized according to this store's schemas and type definitions.
*/
@JvmName("ouosysikaotmammf")
public suspend fun schematizedData(`value`: Output) {
this.schematizedData = value
}
/**
* @param value The hospital that this message came from. MSH-4.
*/
@JvmName("swgaglvulgvduetk")
public suspend fun sendFacility(`value`: Output) {
this.sendFacility = value
}
/**
* @param value The datetime the sending application sent this message. MSH-7.
*/
@JvmName("qpiuvntiralkmvlh")
public suspend fun sendTime(`value`: Output) {
this.sendTime = value
}
/**
* @param value Raw message bytes.
*/
@JvmName("aocremqrgmbnqmuu")
public suspend fun `data`(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.`data` = mapped
}
/**
* @param value
*/
@JvmName("lknhkfjwnmejhqvi")
public suspend fun datasetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.datasetId = mapped
}
/**
* @param value
*/
@JvmName("njlovjqdgjgfpchc")
public suspend fun hl7V2StoreId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.hl7V2StoreId = mapped
}
/**
* @param value User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
*/
@JvmName("tnhtsjaoyeumyjnw")
public suspend fun labels(`value`: Map?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param values User-supplied key-value pairs used to organize HL7v2 stores. Label keys must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: \p{Ll}\p{Lo}{0,62} Label values are optional, must be between 1 and 63 characters long, have a UTF-8 encoding of maximum 128 bytes, and must conform to the following PCRE regular expression: [\p{Ll}\p{Lo}\p{N}_-]{0,63} No more than 64 labels can be associated with a given store.
*/
@JvmName("qbvwiqwyqnnhaepn")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value
*/
@JvmName("kbhrurfoyvnbpyep")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value The message type for this message. MSH-9.1.
*/
@JvmName("jysafextsvakemby")
public suspend fun messageType(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.messageType = mapped
}
/**
* @param value Resource name of the Message, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/hl7V2Stores/{hl7_v2_store_id}/messages/{message_id}`. Assigned by the server.
*/
@JvmName("ppygghsvflfjielo")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("pclitdgfwkgynern")
public suspend fun patientIds(`value`: List?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.patientIds = mapped
}
/**
* @param argument All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("bqraqasxmoehdeaq")
public suspend fun patientIds(argument: List Unit>) {
val toBeMapped = argument.toList().map { PatientIdArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.patientIds = mapped
}
/**
* @param argument All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("bcqlqhygfocxudvq")
public suspend fun patientIds(vararg argument: suspend PatientIdArgsBuilder.() -> Unit) {
val toBeMapped = argument.toList().map { PatientIdArgsBuilder().applySuspend { it() }.build() }
val mapped = of(toBeMapped)
this.patientIds = mapped
}
/**
* @param argument All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("hnkvdhmgdamdfhdv")
public suspend fun patientIds(argument: suspend PatientIdArgsBuilder.() -> Unit) {
val toBeMapped = listOf(PatientIdArgsBuilder().applySuspend { argument() }.build())
val mapped = of(toBeMapped)
this.patientIds = mapped
}
/**
* @param values All patient IDs listed in the PID-2, PID-3, and PID-4 segments of this message.
*/
@JvmName("ppppbvtybwmbilbv")
public suspend fun patientIds(vararg values: PatientIdArgs) {
val toBeMapped = values.toList()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.patientIds = mapped
}
/**
* @param value
*/
@JvmName("dgyditrycemeeewh")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
/**
* @param value The parsed version of the raw message data schematized according to this store's schemas and type definitions.
*/
@JvmName("gndcdnrgxofijtxe")
public suspend fun schematizedData(`value`: SchematizedDataArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.schematizedData = mapped
}
/**
* @param argument The parsed version of the raw message data schematized according to this store's schemas and type definitions.
*/
@JvmName("cowcdrxxhifgrcqd")
public suspend fun schematizedData(argument: suspend SchematizedDataArgsBuilder.() -> Unit) {
val toBeMapped = SchematizedDataArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.schematizedData = mapped
}
/**
* @param value The hospital that this message came from. MSH-4.
*/
@JvmName("ryvhebpvmrkldqqf")
public suspend fun sendFacility(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sendFacility = mapped
}
/**
* @param value The datetime the sending application sent this message. MSH-7.
*/
@JvmName("yseasgylwgxtxybw")
public suspend fun sendTime(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sendTime = mapped
}
internal fun build(): MessageArgs = MessageArgs(
`data` = `data`,
datasetId = datasetId,
hl7V2StoreId = hl7V2StoreId,
labels = labels,
location = location,
messageType = messageType,
name = name,
patientIds = patientIds,
project = project,
schematizedData = schematizedData,
sendFacility = sendFacility,
sendTime = sendTime,
)
}