All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.healthcare.kotlin.inputs.Hl7StoreNotificationConfigsArgs.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.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.healthcare.kotlin.inputs

import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.healthcare.inputs.Hl7StoreNotificationConfigsArgs.builder
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

/**
 *
 * @property filter Restricts notifications sent for messages matching a filter. If this is empty, all messages
 * are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
 * Fields/functions available for filtering are:
 * * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
 * * send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02".
 * * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
 * * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
 * * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
 * * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
 * @property pubsubTopic The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
 * PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
 * It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
 * was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
 * project. [email protected] must have publisher permissions on the given
 * Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
 * If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
 */
public data class Hl7StoreNotificationConfigsArgs(
    public val filter: Output? = null,
    public val pubsubTopic: Output,
) : ConvertibleToJava {
    override fun toJava(): com.pulumi.gcp.healthcare.inputs.Hl7StoreNotificationConfigsArgs =
        com.pulumi.gcp.healthcare.inputs.Hl7StoreNotificationConfigsArgs.builder()
            .filter(filter?.applyValue({ args0 -> args0 }))
            .pubsubTopic(pubsubTopic.applyValue({ args0 -> args0 })).build()
}

/**
 * Builder for [Hl7StoreNotificationConfigsArgs].
 */
@PulumiTagMarker
public class Hl7StoreNotificationConfigsArgsBuilder internal constructor() {
    private var filter: Output? = null

    private var pubsubTopic: Output? = null

    /**
     * @param value Restricts notifications sent for messages matching a filter. If this is empty, all messages
     * are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
     * Fields/functions available for filtering are:
     * * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
     * * send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02".
     * * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
     * * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
     * * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
     * * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
     */
    @JvmName("etrgjlyqqjgjqgpa")
    public suspend fun filter(`value`: Output) {
        this.filter = value
    }

    /**
     * @param value The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
     * PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
     * It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
     * was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
     * project. [email protected] must have publisher permissions on the given
     * Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
     * If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
     */
    @JvmName("daqedpnqwonyodwe")
    public suspend fun pubsubTopic(`value`: Output) {
        this.pubsubTopic = value
    }

    /**
     * @param value Restricts notifications sent for messages matching a filter. If this is empty, all messages
     * are matched. Syntax: https://cloud.google.com/appengine/docs/standard/python/search/query_strings
     * Fields/functions available for filtering are:
     * * messageType, from the MSH-9.1 field. For example, NOT messageType = "ADT".
     * * send_date or sendDate, the YYYY-MM-DD date the message was sent in the dataset's timeZone, from the MSH-7 segment. For example, send_date < "2017-01-02".
     * * sendTime, the timestamp when the message was sent, using the RFC3339 time format for comparisons, from the MSH-7 segment. For example, sendTime < "2017-01-02T00:00:00-05:00".
     * * sendFacility, the care center that the message came from, from the MSH-4 segment. For example, sendFacility = "ABC".
     * * PatientId(value, type), which matches if the message lists a patient having an ID of the given value and type in the PID-2, PID-3, or PID-4 segments. For example, PatientId("123456", "MRN").
     * * labels.x, a string value of the label with key x as set using the Message.labels map. For example, labels."priority"="high". The operator :* can be used to assert the existence of a label. For example, labels."priority":*.
     */
    @JvmName("tjukaibivhvlttei")
    public suspend fun filter(`value`: String?) {
        val toBeMapped = value
        val mapped = toBeMapped?.let({ args0 -> of(args0) })
        this.filter = mapped
    }

    /**
     * @param value The Cloud Pub/Sub topic that notifications of changes are published on. Supplied by the client.
     * PubsubMessage.Data will contain the resource name. PubsubMessage.MessageId is the ID of this message.
     * It is guaranteed to be unique within the topic. PubsubMessage.PublishTime is the time at which the message
     * was published. Notifications are only sent if the topic is non-empty. Topic names must be scoped to a
     * project. [email protected] must have publisher permissions on the given
     * Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
     * If a notification cannot be published to Cloud Pub/Sub, errors will be logged to Stackdriver
     */
    @JvmName("lccpsfydjflgnliv")
    public suspend fun pubsubTopic(`value`: String) {
        val toBeMapped = value
        val mapped = toBeMapped.let({ args0 -> of(args0) })
        this.pubsubTopic = mapped
    }

    internal fun build(): Hl7StoreNotificationConfigsArgs = Hl7StoreNotificationConfigsArgs(
        filter = filter,
        pubsubTopic = pubsubTopic ?: throw PulumiNullFieldException("pubsubTopic"),
    )
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy