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.v1.kotlin.DicomStoreArgs.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.googlenative.healthcare.v1.kotlin
import com.pulumi.core.Output
import com.pulumi.core.Output.of
import com.pulumi.googlenative.healthcare.v1.DicomStoreArgs.builder
import com.pulumi.googlenative.healthcare.v1.kotlin.inputs.NotificationConfigArgs
import com.pulumi.googlenative.healthcare.v1.kotlin.inputs.NotificationConfigArgsBuilder
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.Map
import kotlin.jvm.JvmName
/**
* Creates a new DICOM store within the parent dataset.
* @property datasetId
* @property dicomStoreId The ID of the DICOM store that is being created. Any string value up to 256 characters in length.
* @property labels User-supplied key-value pairs used to organize DICOM 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 name Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.
* @property notificationConfig Notification destination for new DICOM instances. Supplied by the client.
* @property project
*/
public data class DicomStoreArgs(
public val datasetId: Output? = null,
public val dicomStoreId: Output? = null,
public val labels: Output>? = null,
public val location: Output? = null,
public val name: Output? = null,
public val notificationConfig: Output? = null,
public val project: Output? = null,
) : ConvertibleToJava {
override fun toJava(): com.pulumi.googlenative.healthcare.v1.DicomStoreArgs =
com.pulumi.googlenative.healthcare.v1.DicomStoreArgs.builder()
.datasetId(datasetId?.applyValue({ args0 -> args0 }))
.dicomStoreId(dicomStoreId?.applyValue({ args0 -> args0 }))
.labels(labels?.applyValue({ args0 -> args0.map({ args0 -> args0.key.to(args0.value) }).toMap() }))
.location(location?.applyValue({ args0 -> args0 }))
.name(name?.applyValue({ args0 -> args0 }))
.notificationConfig(
notificationConfig?.applyValue({ args0 ->
args0.let({ args0 ->
args0.toJava()
})
}),
)
.project(project?.applyValue({ args0 -> args0 })).build()
}
/**
* Builder for [DicomStoreArgs].
*/
@PulumiTagMarker
public class DicomStoreArgsBuilder internal constructor() {
private var datasetId: Output? = null
private var dicomStoreId: Output? = null
private var labels: Output>? = null
private var location: Output? = null
private var name: Output? = null
private var notificationConfig: Output? = null
private var project: Output? = null
/**
* @param value
*/
@JvmName("xadbyivlppqnemdb")
public suspend fun datasetId(`value`: Output) {
this.datasetId = value
}
/**
* @param value The ID of the DICOM store that is being created. Any string value up to 256 characters in length.
*/
@JvmName("tssvfhpbpspowpef")
public suspend fun dicomStoreId(`value`: Output) {
this.dicomStoreId = value
}
/**
* @param value User-supplied key-value pairs used to organize DICOM 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("gwyknlfqheanlent")
public suspend fun labels(`value`: Output>) {
this.labels = value
}
/**
* @param value
*/
@JvmName("dmleacejtohlsdhb")
public suspend fun location(`value`: Output) {
this.location = value
}
/**
* @param value Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.
*/
@JvmName("fijlpxvnixaembvs")
public suspend fun name(`value`: Output) {
this.name = value
}
/**
* @param value Notification destination for new DICOM instances. Supplied by the client.
*/
@JvmName("qoneupdvribbsibo")
public suspend fun notificationConfig(`value`: Output) {
this.notificationConfig = value
}
/**
* @param value
*/
@JvmName("wjjskpmkxqniovth")
public suspend fun project(`value`: Output) {
this.project = value
}
/**
* @param value
*/
@JvmName("fpurxeqgmhuoaqrn")
public suspend fun datasetId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.datasetId = mapped
}
/**
* @param value The ID of the DICOM store that is being created. Any string value up to 256 characters in length.
*/
@JvmName("ilflkqqankkmlfyl")
public suspend fun dicomStoreId(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.dicomStoreId = mapped
}
/**
* @param value User-supplied key-value pairs used to organize DICOM 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("aduwqqmvonbnyrur")
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 DICOM 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("adqhqrjrrxtgrjyo")
public fun labels(vararg values: Pair) {
val toBeMapped = values.toMap()
val mapped = toBeMapped.let({ args0 -> of(args0) })
this.labels = mapped
}
/**
* @param value
*/
@JvmName("laylmnojfbosnrhi")
public suspend fun location(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.location = mapped
}
/**
* @param value Resource name of the DICOM store, of the form `projects/{project_id}/locations/{location_id}/datasets/{dataset_id}/dicomStores/{dicom_store_id}`.
*/
@JvmName("bdsblemxqxyhtkts")
public suspend fun name(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.name = mapped
}
/**
* @param value Notification destination for new DICOM instances. Supplied by the client.
*/
@JvmName("pscsyplscijujhgc")
public suspend fun notificationConfig(`value`: NotificationConfigArgs?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.notificationConfig = mapped
}
/**
* @param argument Notification destination for new DICOM instances. Supplied by the client.
*/
@JvmName("cmvisgbeqwcgsyfl")
public suspend fun notificationConfig(argument: suspend NotificationConfigArgsBuilder.() -> Unit) {
val toBeMapped = NotificationConfigArgsBuilder().applySuspend { argument() }.build()
val mapped = of(toBeMapped)
this.notificationConfig = mapped
}
/**
* @param value
*/
@JvmName("csstjgwepybyxpnw")
public suspend fun project(`value`: String?) {
val toBeMapped = value
val mapped = toBeMapped?.let({ args0 -> of(args0) })
this.project = mapped
}
internal fun build(): DicomStoreArgs = DicomStoreArgs(
datasetId = datasetId,
dicomStoreId = dicomStoreId,
labels = labels,
location = location,
name = name,
notificationConfig = notificationConfig,
project = project,
)
}