com.pulumi.gcp.healthcare.kotlin.inputs.FhirStoreNotificationConfigArgs.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of pulumi-gcp-kotlin Show documentation
Show all versions of pulumi-gcp-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.gcp.healthcare.kotlin.inputs
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.gcp.healthcare.inputs.FhirStoreNotificationConfigArgs.builder
import com.pulumi.kotlin.ConvertibleToJava
import com.pulumi.kotlin.PulumiNullFieldException
import com.pulumi.kotlin.PulumiTagMarker
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.jvm.JvmName
/**
*
* @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. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
* Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
* @property sendFullResource Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
* Note that setting this to true does not guarantee that all resources will be sent in the format of
* full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
* sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
* it needs to fetch the full resource as a separate operation.
* @property sendPreviousResourceOnDelete Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to
* true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a
* resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always
* check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous
* resource as a separate operation.
*/
public data class FhirStoreNotificationConfigArgs(
public val pubsubTopic: Output,
public val sendFullResource: Output? = null,
public val sendPreviousResourceOnDelete: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.gcp.healthcare.inputs.FhirStoreNotificationConfigArgs =
com.pulumi.gcp.healthcare.inputs.FhirStoreNotificationConfigArgs.builder()
.pubsubTopic(pubsubTopic.applyValue({ args0 -> args0 }))
.sendFullResource(sendFullResource?.applyValue({ args0 -> args0 }))
.sendPreviousResourceOnDelete(sendPreviousResourceOnDelete?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [FhirStoreNotificationConfigArgs].
*/
@PulumiTagMarker
public class FhirStoreNotificationConfigArgsBuilder internal constructor() {
private var pubsubTopic: Output? = null
private var sendFullResource: Output? = null
private var sendPreviousResourceOnDelete: Output? = null
/**
* @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. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
* Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
*/
@JvmName("inkngfmbgmbwrhvk")
public suspend fun pubsubTopic(`value`: Output) {
this.pubsubTopic = value
}
/**
* @param value Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
* Note that setting this to true does not guarantee that all resources will be sent in the format of
* full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
* sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
* it needs to fetch the full resource as a separate operation.
*/
@JvmName("qoqqbsesoxhuwkkf")
public suspend fun sendFullResource(`value`: Output) {
this.sendFullResource = value
}
/**
* @param value Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to
* true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a
* resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always
* check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous
* resource as a separate operation.
*/
@JvmName("bfrmjdtsaoeuxcsa")
public suspend fun sendPreviousResourceOnDelete(`value`: Output) {
this.sendPreviousResourceOnDelete = 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. service-PROJECT_NUMBER@gcp-sa-healthcare.iam.gserviceaccount.com must have publisher permissions on the given
* Cloud Pub/Sub topic. Not having adequate permissions will cause the calls that send notifications to fail.
*/
@JvmName("isfylccsybduucbt")
public suspend fun pubsubTopic(`value`: String) {
val toBeMapped = value
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.pubsubTopic = mapped
}
/**
* @param value Whether to send full FHIR resource to this Pub/Sub topic for Create and Update operation.
* Note that setting this to true does not guarantee that all resources will be sent in the format of
* full FHIR resource. When a resource change is too large or during heavy traffic, only the resource name will be
* sent. Clients should always check the "payloadType" label from a Pub/Sub message to determine whether
* it needs to fetch the full resource as a separate operation.
*/
@JvmName("pritxgwdejxfxrhf")
public suspend fun sendFullResource(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sendFullResource = mapped
}
/**
* @param value Whether to send full FHIR resource to this Pub/Sub topic for deleting FHIR resource. Note that setting this to
* true does not guarantee that all previous resources will be sent in the format of full FHIR resource. When a
* resource change is too large or during heavy traffic, only the resource name will be sent. Clients should always
* check the "payloadType" label from a Pub/Sub message to determine whether it needs to fetch the full previous
* resource as a separate operation.
*/
@JvmName("nglsvrrjaovoiqjj")
public suspend fun sendPreviousResourceOnDelete(`value`: Boolean?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.sendPreviousResourceOnDelete = mapped
}
internal fun build(): FhirStoreNotificationConfigArgs = FhirStoreNotificationConfigArgs(
pubsubTopic = pubsubTopic ?: throw PulumiNullFieldException("pubsubTopic"),
sendFullResource = sendFullResource,
sendPreviousResourceOnDelete = sendPreviousResourceOnDelete,
)
}