DicomStoreArgs

data class DicomStoreArgs(val dataset: Output<String>? = null, val labels: Output<Map<String, String>>? = null, val name: Output<String>? = null, val notificationConfig: Output<DicomStoreNotificationConfigArgs>? = null, val streamConfigs: Output<List<DicomStoreStreamConfigArgs>>? = null) : ConvertibleToJava<DicomStoreArgs>

A DicomStore is a datastore inside a Healthcare dataset that conforms to the DICOM (https://www.dicomstandard.org/about/) standard for Healthcare information exchange To get more information about DicomStore, see:

Example Usage

Healthcare Dicom Store Basic

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.pubsub.Topic;
import com.pulumi.gcp.healthcare.Dataset;
import com.pulumi.gcp.healthcare.DatasetArgs;
import com.pulumi.gcp.healthcare.DicomStore;
import com.pulumi.gcp.healthcare.DicomStoreArgs;
import com.pulumi.gcp.healthcare.inputs.DicomStoreNotificationConfigArgs;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var topic = new Topic("topic");
var dataset = new Dataset("dataset", DatasetArgs.builder()
.location("us-central1")
.build());
var default_ = new DicomStore("default", DicomStoreArgs.builder()
.dataset(dataset.id())
.notificationConfig(DicomStoreNotificationConfigArgs.builder()
.pubsubTopic(topic.id())
.build())
.labels(Map.of("label1", "labelvalue1"))
.build());
}
}

Healthcare Dicom Store Bq Stream

package generated_program;
import com.pulumi.Context;
import com.pulumi.Pulumi;
import com.pulumi.core.Output;
import com.pulumi.gcp.pubsub.Topic;
import com.pulumi.gcp.pubsub.TopicArgs;
import com.pulumi.gcp.healthcare.Dataset;
import com.pulumi.gcp.healthcare.DatasetArgs;
import com.pulumi.gcp.bigquery.Dataset;
import com.pulumi.gcp.bigquery.DatasetArgs;
import com.pulumi.gcp.bigquery.Table;
import com.pulumi.gcp.bigquery.TableArgs;
import com.pulumi.gcp.healthcare.DicomStore;
import com.pulumi.gcp.healthcare.DicomStoreArgs;
import com.pulumi.gcp.healthcare.inputs.DicomStoreNotificationConfigArgs;
import com.pulumi.gcp.healthcare.inputs.DicomStoreStreamConfigArgs;
import com.pulumi.gcp.healthcare.inputs.DicomStoreStreamConfigBigqueryDestinationArgs;
import com.pulumi.resources.CustomResourceOptions;
import java.util.List;
import java.util.ArrayList;
import java.util.Map;
import java.io.File;
import java.nio.file.Files;
import java.nio.file.Paths;
public class App {
public static void main(String[] args) {
Pulumi.run(App::stack);
}
public static void stack(Context ctx) {
var topic = new Topic("topic", TopicArgs.Empty, CustomResourceOptions.builder()
.provider(google_beta)
.build());
var dataset = new Dataset("dataset", DatasetArgs.builder()
.location("us-central1")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var bqDataset = new Dataset("bqDataset", DatasetArgs.builder()
.datasetId("dicom_bq_ds")
.friendlyName("test")
.description("This is a test description")
.location("US")
.deleteContentsOnDestroy(true)
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var bqTable = new Table("bqTable", TableArgs.builder()
.deletionProtection(false)
.datasetId(bqDataset.datasetId())
.tableId("dicom_bq_tb")
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
var default_ = new DicomStore("default", DicomStoreArgs.builder()
.dataset(dataset.id())
.notificationConfig(DicomStoreNotificationConfigArgs.builder()
.pubsubTopic(topic.id())
.build())
.labels(Map.of("label1", "labelvalue1"))
.streamConfigs(DicomStoreStreamConfigArgs.builder()
.bigqueryDestination(DicomStoreStreamConfigBigqueryDestinationArgs.builder()
.tableUri(Output.tuple(bqDataset.project(), bqDataset.datasetId(), bqTable.tableId()).applyValue(values -> {
var project = values.t1;
var datasetId = values.t2;
var tableId = values.t3;
return String.format("bq://%s.%s.%s", project,datasetId,tableId);
}))
.build())
.build())
.build(), CustomResourceOptions.builder()
.provider(google_beta)
.build());
}
}

Import

DicomStore can be imported using any of these accepted formats

$ pulumi import gcp:healthcare/dicomStore:DicomStore default {{dataset}}/dicomStores/{{name}}
$ pulumi import gcp:healthcare/dicomStore:DicomStore default {{dataset}}/{{name}}

Constructors

Link copied to clipboard
constructor(dataset: Output<String>? = null, labels: Output<Map<String, String>>? = null, name: Output<String>? = null, notificationConfig: Output<DicomStoreNotificationConfigArgs>? = null, streamConfigs: Output<List<DicomStoreStreamConfigArgs>>? = null)

Properties

Link copied to clipboard
val dataset: Output<String>? = null

Identifies the dataset addressed by this request. Must be in the format 'projects/{project}/locations/{location}/datasets/{dataset}'

Link copied to clipboard
val labels: Output<Map<String, String>>? = null

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}\p{N}_-{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. An object containing a list of "key": value pairs. Example: { "name": "wrench", "mass": "1.3kg", "count": "3" }.

Link copied to clipboard
val name: Output<String>? = null

The resource name for the DicomStore. ** Changing this property may recreate the Dicom store (removing all data) **

Link copied to clipboard

A nested object resource Structure is documented below.

Link copied to clipboard

To enable streaming to BigQuery, configure the streamConfigs object in your DICOM store. streamConfigs is an array, so you can specify multiple BigQuery destinations. You can stream metadata from a single DICOM store to up to five BigQuery tables in a BigQuery dataset. Structure is documented below.

Functions

Link copied to clipboard
open override fun toJava(): DicomStoreArgs