
com.pulumi.gcp.bigqueryanalyticshub.kotlin.Listing.kt Maven / Gradle / Ivy
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.bigqueryanalyticshub.kotlin
import com.pulumi.core.Output
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingBigqueryDataset
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingDataProvider
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingPublisher
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingRestrictedExportConfig
import com.pulumi.kotlin.KotlinCustomResource
import com.pulumi.kotlin.PulumiTagMarker
import com.pulumi.kotlin.ResourceMapper
import com.pulumi.kotlin.options.CustomResourceOptions
import com.pulumi.kotlin.options.CustomResourceOptionsBuilder
import com.pulumi.resources.Resource
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.Unit
import kotlin.collections.List
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingBigqueryDataset.Companion.toKotlin as listingBigqueryDatasetToKotlin
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingDataProvider.Companion.toKotlin as listingDataProviderToKotlin
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingPublisher.Companion.toKotlin as listingPublisherToKotlin
import com.pulumi.gcp.bigqueryanalyticshub.kotlin.outputs.ListingRestrictedExportConfig.Companion.toKotlin as listingRestrictedExportConfigToKotlin
/**
* Builder for [Listing].
*/
@PulumiTagMarker
public class ListingResourceBuilder internal constructor() {
public var name: String? = null
public var args: ListingArgs = ListingArgs()
public var opts: CustomResourceOptions = CustomResourceOptions()
/**
* @param name The _unique_ name of the resulting resource.
*/
public fun name(`value`: String) {
this.name = value
}
/**
* @param block The arguments to use to populate this resource's properties.
*/
public suspend fun args(block: suspend ListingArgsBuilder.() -> Unit) {
val builder = ListingArgsBuilder()
block(builder)
this.args = builder.build()
}
/**
* @param block A bag of options that control this resource's behavior.
*/
public suspend fun opts(block: suspend CustomResourceOptionsBuilder.() -> Unit) {
this.opts = com.pulumi.kotlin.options.CustomResourceOptions.opts(block)
}
internal fun build(): Listing {
val builtJavaResource = com.pulumi.gcp.bigqueryanalyticshub.Listing(
this.name,
this.args.toJava(),
this.opts.toJava(),
)
return Listing(builtJavaResource)
}
}
/**
* A Bigquery Analytics Hub data exchange listing
* To get more information about Listing, see:
* * [API documentation](https://cloud.google.com/bigquery/docs/reference/analytics-hub/rest/v1/projects.locations.dataExchanges.listings)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/bigquery/docs/analytics-hub-introduction)
* ## Example Usage
* ### Bigquery Analyticshub Listing Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const listing = new gcp.bigqueryanalyticshub.DataExchange("listing", {
* location: "US",
* dataExchangeId: "my_data_exchange",
* displayName: "my_data_exchange",
* description: "example data exchange",
* });
* const listingDataset = new gcp.bigquery.Dataset("listing", {
* datasetId: "my_listing",
* friendlyName: "my_listing",
* description: "example data exchange",
* location: "US",
* });
* const listingListing = new gcp.bigqueryanalyticshub.Listing("listing", {
* location: "US",
* dataExchangeId: listing.dataExchangeId,
* listingId: "my_listing",
* displayName: "my_listing",
* description: "example data exchange",
* bigqueryDataset: {
* dataset: listingDataset.id,
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* listing = gcp.bigqueryanalyticshub.DataExchange("listing",
* location="US",
* data_exchange_id="my_data_exchange",
* display_name="my_data_exchange",
* description="example data exchange")
* listing_dataset = gcp.bigquery.Dataset("listing",
* dataset_id="my_listing",
* friendly_name="my_listing",
* description="example data exchange",
* location="US")
* listing_listing = gcp.bigqueryanalyticshub.Listing("listing",
* location="US",
* data_exchange_id=listing.data_exchange_id,
* listing_id="my_listing",
* display_name="my_listing",
* description="example data exchange",
* bigquery_dataset={
* "dataset": listing_dataset.id,
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var listing = new Gcp.BigQueryAnalyticsHub.DataExchange("listing", new()
* {
* Location = "US",
* DataExchangeId = "my_data_exchange",
* DisplayName = "my_data_exchange",
* Description = "example data exchange",
* });
* var listingDataset = new Gcp.BigQuery.Dataset("listing", new()
* {
* DatasetId = "my_listing",
* FriendlyName = "my_listing",
* Description = "example data exchange",
* Location = "US",
* });
* var listingListing = new Gcp.BigQueryAnalyticsHub.Listing("listing", new()
* {
* Location = "US",
* DataExchangeId = listing.DataExchangeId,
* ListingId = "my_listing",
* DisplayName = "my_listing",
* Description = "example data exchange",
* BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
* {
* Dataset = listingDataset.Id,
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigqueryanalyticshub"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* listing, err := bigqueryanalyticshub.NewDataExchange(ctx, "listing", &bigqueryanalyticshub.DataExchangeArgs{
* Location: pulumi.String("US"),
* DataExchangeId: pulumi.String("my_data_exchange"),
* DisplayName: pulumi.String("my_data_exchange"),
* Description: pulumi.String("example data exchange"),
* })
* if err != nil {
* return err
* }
* listingDataset, err := bigquery.NewDataset(ctx, "listing", &bigquery.DatasetArgs{
* DatasetId: pulumi.String("my_listing"),
* FriendlyName: pulumi.String("my_listing"),
* Description: pulumi.String("example data exchange"),
* Location: pulumi.String("US"),
* })
* if err != nil {
* return err
* }
* _, err = bigqueryanalyticshub.NewListing(ctx, "listing", &bigqueryanalyticshub.ListingArgs{
* Location: pulumi.String("US"),
* DataExchangeId: listing.DataExchangeId,
* ListingId: pulumi.String("my_listing"),
* DisplayName: pulumi.String("my_listing"),
* Description: pulumi.String("example data exchange"),
* BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
* Dataset: listingDataset.ID(),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchange;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchangeArgs;
* import com.pulumi.gcp.bigquery.Dataset;
* import com.pulumi.gcp.bigquery.DatasetArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.Listing;
* import com.pulumi.gcp.bigqueryanalyticshub.ListingArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingBigqueryDatasetArgs;
* 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 listing = new DataExchange("listing", DataExchangeArgs.builder()
* .location("US")
* .dataExchangeId("my_data_exchange")
* .displayName("my_data_exchange")
* .description("example data exchange")
* .build());
* var listingDataset = new Dataset("listingDataset", DatasetArgs.builder()
* .datasetId("my_listing")
* .friendlyName("my_listing")
* .description("example data exchange")
* .location("US")
* .build());
* var listingListing = new Listing("listingListing", ListingArgs.builder()
* .location("US")
* .dataExchangeId(listing.dataExchangeId())
* .listingId("my_listing")
* .displayName("my_listing")
* .description("example data exchange")
* .bigqueryDataset(ListingBigqueryDatasetArgs.builder()
* .dataset(listingDataset.id())
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* listing:
* type: gcp:bigqueryanalyticshub:DataExchange
* properties:
* location: US
* dataExchangeId: my_data_exchange
* displayName: my_data_exchange
* description: example data exchange
* listingListing:
* type: gcp:bigqueryanalyticshub:Listing
* name: listing
* properties:
* location: US
* dataExchangeId: ${listing.dataExchangeId}
* listingId: my_listing
* displayName: my_listing
* description: example data exchange
* bigqueryDataset:
* dataset: ${listingDataset.id}
* listingDataset:
* type: gcp:bigquery:Dataset
* name: listing
* properties:
* datasetId: my_listing
* friendlyName: my_listing
* description: example data exchange
* location: US
* ```
*
* ### Bigquery Analyticshub Listing Restricted
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const listing = new gcp.bigqueryanalyticshub.DataExchange("listing", {
* location: "US",
* dataExchangeId: "my_data_exchange",
* displayName: "my_data_exchange",
* description: "example data exchange",
* });
* const listingDataset = new gcp.bigquery.Dataset("listing", {
* datasetId: "my_listing",
* friendlyName: "my_listing",
* description: "example data exchange",
* location: "US",
* });
* const listingListing = new gcp.bigqueryanalyticshub.Listing("listing", {
* location: "US",
* dataExchangeId: listing.dataExchangeId,
* listingId: "my_listing",
* displayName: "my_listing",
* description: "example data exchange",
* bigqueryDataset: {
* dataset: listingDataset.id,
* },
* restrictedExportConfig: {
* enabled: true,
* restrictQueryResult: true,
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* listing = gcp.bigqueryanalyticshub.DataExchange("listing",
* location="US",
* data_exchange_id="my_data_exchange",
* display_name="my_data_exchange",
* description="example data exchange")
* listing_dataset = gcp.bigquery.Dataset("listing",
* dataset_id="my_listing",
* friendly_name="my_listing",
* description="example data exchange",
* location="US")
* listing_listing = gcp.bigqueryanalyticshub.Listing("listing",
* location="US",
* data_exchange_id=listing.data_exchange_id,
* listing_id="my_listing",
* display_name="my_listing",
* description="example data exchange",
* bigquery_dataset={
* "dataset": listing_dataset.id,
* },
* restricted_export_config={
* "enabled": True,
* "restrict_query_result": True,
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var listing = new Gcp.BigQueryAnalyticsHub.DataExchange("listing", new()
* {
* Location = "US",
* DataExchangeId = "my_data_exchange",
* DisplayName = "my_data_exchange",
* Description = "example data exchange",
* });
* var listingDataset = new Gcp.BigQuery.Dataset("listing", new()
* {
* DatasetId = "my_listing",
* FriendlyName = "my_listing",
* Description = "example data exchange",
* Location = "US",
* });
* var listingListing = new Gcp.BigQueryAnalyticsHub.Listing("listing", new()
* {
* Location = "US",
* DataExchangeId = listing.DataExchangeId,
* ListingId = "my_listing",
* DisplayName = "my_listing",
* Description = "example data exchange",
* BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
* {
* Dataset = listingDataset.Id,
* },
* RestrictedExportConfig = new Gcp.BigQueryAnalyticsHub.Inputs.ListingRestrictedExportConfigArgs
* {
* Enabled = true,
* RestrictQueryResult = true,
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigqueryanalyticshub"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* listing, err := bigqueryanalyticshub.NewDataExchange(ctx, "listing", &bigqueryanalyticshub.DataExchangeArgs{
* Location: pulumi.String("US"),
* DataExchangeId: pulumi.String("my_data_exchange"),
* DisplayName: pulumi.String("my_data_exchange"),
* Description: pulumi.String("example data exchange"),
* })
* if err != nil {
* return err
* }
* listingDataset, err := bigquery.NewDataset(ctx, "listing", &bigquery.DatasetArgs{
* DatasetId: pulumi.String("my_listing"),
* FriendlyName: pulumi.String("my_listing"),
* Description: pulumi.String("example data exchange"),
* Location: pulumi.String("US"),
* })
* if err != nil {
* return err
* }
* _, err = bigqueryanalyticshub.NewListing(ctx, "listing", &bigqueryanalyticshub.ListingArgs{
* Location: pulumi.String("US"),
* DataExchangeId: listing.DataExchangeId,
* ListingId: pulumi.String("my_listing"),
* DisplayName: pulumi.String("my_listing"),
* Description: pulumi.String("example data exchange"),
* BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
* Dataset: listingDataset.ID(),
* },
* RestrictedExportConfig: &bigqueryanalyticshub.ListingRestrictedExportConfigArgs{
* Enabled: pulumi.Bool(true),
* RestrictQueryResult: pulumi.Bool(true),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchange;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchangeArgs;
* import com.pulumi.gcp.bigquery.Dataset;
* import com.pulumi.gcp.bigquery.DatasetArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.Listing;
* import com.pulumi.gcp.bigqueryanalyticshub.ListingArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingBigqueryDatasetArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingRestrictedExportConfigArgs;
* 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 listing = new DataExchange("listing", DataExchangeArgs.builder()
* .location("US")
* .dataExchangeId("my_data_exchange")
* .displayName("my_data_exchange")
* .description("example data exchange")
* .build());
* var listingDataset = new Dataset("listingDataset", DatasetArgs.builder()
* .datasetId("my_listing")
* .friendlyName("my_listing")
* .description("example data exchange")
* .location("US")
* .build());
* var listingListing = new Listing("listingListing", ListingArgs.builder()
* .location("US")
* .dataExchangeId(listing.dataExchangeId())
* .listingId("my_listing")
* .displayName("my_listing")
* .description("example data exchange")
* .bigqueryDataset(ListingBigqueryDatasetArgs.builder()
* .dataset(listingDataset.id())
* .build())
* .restrictedExportConfig(ListingRestrictedExportConfigArgs.builder()
* .enabled(true)
* .restrictQueryResult(true)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* listing:
* type: gcp:bigqueryanalyticshub:DataExchange
* properties:
* location: US
* dataExchangeId: my_data_exchange
* displayName: my_data_exchange
* description: example data exchange
* listingListing:
* type: gcp:bigqueryanalyticshub:Listing
* name: listing
* properties:
* location: US
* dataExchangeId: ${listing.dataExchangeId}
* listingId: my_listing
* displayName: my_listing
* description: example data exchange
* bigqueryDataset:
* dataset: ${listingDataset.id}
* restrictedExportConfig:
* enabled: true
* restrictQueryResult: true
* listingDataset:
* type: gcp:bigquery:Dataset
* name: listing
* properties:
* datasetId: my_listing
* friendlyName: my_listing
* description: example data exchange
* location: US
* ```
*
* ### Bigquery Analyticshub Listing Dcr
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
* const listing = new gcp.bigqueryanalyticshub.DataExchange("listing", {
* location: "US",
* dataExchangeId: "dcr_data_exchange",
* displayName: "dcr_data_exchange",
* description: "example dcr data exchange",
* sharingEnvironmentConfig: {
* dcrExchangeConfig: {},
* },
* });
* const listingDataset = new gcp.bigquery.Dataset("listing", {
* datasetId: "dcr_listing",
* friendlyName: "dcr_listing",
* description: "example dcr data exchange",
* location: "US",
* });
* const listingTable = new gcp.bigquery.Table("listing", {
* deletionProtection: false,
* tableId: "dcr_listing",
* datasetId: listingDataset.datasetId,
* schema: `[
* {
* "name": "name",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "post_abbr",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "date",
* "type": "DATE",
* "mode": "NULLABLE"
* }
* ]
* `,
* });
* const listingListing = new gcp.bigqueryanalyticshub.Listing("listing", {
* location: "US",
* dataExchangeId: listing.dataExchangeId,
* listingId: "dcr_listing",
* displayName: "dcr_listing",
* description: "example dcr data exchange",
* bigqueryDataset: {
* dataset: listingDataset.id,
* selectedResources: [{
* table: listingTable.id,
* }],
* },
* restrictedExportConfig: {
* enabled: true,
* },
* });
* ```
* ```python
* import pulumi
* import pulumi_gcp as gcp
* listing = gcp.bigqueryanalyticshub.DataExchange("listing",
* location="US",
* data_exchange_id="dcr_data_exchange",
* display_name="dcr_data_exchange",
* description="example dcr data exchange",
* sharing_environment_config={
* "dcr_exchange_config": {},
* })
* listing_dataset = gcp.bigquery.Dataset("listing",
* dataset_id="dcr_listing",
* friendly_name="dcr_listing",
* description="example dcr data exchange",
* location="US")
* listing_table = gcp.bigquery.Table("listing",
* deletion_protection=False,
* table_id="dcr_listing",
* dataset_id=listing_dataset.dataset_id,
* schema="""[
* {
* "name": "name",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "post_abbr",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "date",
* "type": "DATE",
* "mode": "NULLABLE"
* }
* ]
* """)
* listing_listing = gcp.bigqueryanalyticshub.Listing("listing",
* location="US",
* data_exchange_id=listing.data_exchange_id,
* listing_id="dcr_listing",
* display_name="dcr_listing",
* description="example dcr data exchange",
* bigquery_dataset={
* "dataset": listing_dataset.id,
* "selected_resources": [{
* "table": listing_table.id,
* }],
* },
* restricted_export_config={
* "enabled": True,
* })
* ```
* ```csharp
* using System.Collections.Generic;
* using System.Linq;
* using Pulumi;
* using Gcp = Pulumi.Gcp;
* return await Deployment.RunAsync(() =>
* {
* var listing = new Gcp.BigQueryAnalyticsHub.DataExchange("listing", new()
* {
* Location = "US",
* DataExchangeId = "dcr_data_exchange",
* DisplayName = "dcr_data_exchange",
* Description = "example dcr data exchange",
* SharingEnvironmentConfig = new Gcp.BigQueryAnalyticsHub.Inputs.DataExchangeSharingEnvironmentConfigArgs
* {
* DcrExchangeConfig = null,
* },
* });
* var listingDataset = new Gcp.BigQuery.Dataset("listing", new()
* {
* DatasetId = "dcr_listing",
* FriendlyName = "dcr_listing",
* Description = "example dcr data exchange",
* Location = "US",
* });
* var listingTable = new Gcp.BigQuery.Table("listing", new()
* {
* DeletionProtection = false,
* TableId = "dcr_listing",
* DatasetId = listingDataset.DatasetId,
* Schema = @"[
* {
* ""name"": ""name"",
* ""type"": ""STRING"",
* ""mode"": ""NULLABLE""
* },
* {
* ""name"": ""post_abbr"",
* ""type"": ""STRING"",
* ""mode"": ""NULLABLE""
* },
* {
* ""name"": ""date"",
* ""type"": ""DATE"",
* ""mode"": ""NULLABLE""
* }
* ]
* ",
* });
* var listingListing = new Gcp.BigQueryAnalyticsHub.Listing("listing", new()
* {
* Location = "US",
* DataExchangeId = listing.DataExchangeId,
* ListingId = "dcr_listing",
* DisplayName = "dcr_listing",
* Description = "example dcr data exchange",
* BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
* {
* Dataset = listingDataset.Id,
* SelectedResources = new[]
* {
* new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetSelectedResourceArgs
* {
* Table = listingTable.Id,
* },
* },
* },
* RestrictedExportConfig = new Gcp.BigQueryAnalyticsHub.Inputs.ListingRestrictedExportConfigArgs
* {
* Enabled = true,
* },
* });
* });
* ```
* ```go
* package main
* import (
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigquery"
* "github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigqueryanalyticshub"
* "github.com/pulumi/pulumi/sdk/v3/go/pulumi"
* )
* func main() {
* pulumi.Run(func(ctx *pulumi.Context) error {
* listing, err := bigqueryanalyticshub.NewDataExchange(ctx, "listing", &bigqueryanalyticshub.DataExchangeArgs{
* Location: pulumi.String("US"),
* DataExchangeId: pulumi.String("dcr_data_exchange"),
* DisplayName: pulumi.String("dcr_data_exchange"),
* Description: pulumi.String("example dcr data exchange"),
* SharingEnvironmentConfig: &bigqueryanalyticshub.DataExchangeSharingEnvironmentConfigArgs{
* DcrExchangeConfig: &bigqueryanalyticshub.DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs{},
* },
* })
* if err != nil {
* return err
* }
* listingDataset, err := bigquery.NewDataset(ctx, "listing", &bigquery.DatasetArgs{
* DatasetId: pulumi.String("dcr_listing"),
* FriendlyName: pulumi.String("dcr_listing"),
* Description: pulumi.String("example dcr data exchange"),
* Location: pulumi.String("US"),
* })
* if err != nil {
* return err
* }
* listingTable, err := bigquery.NewTable(ctx, "listing", &bigquery.TableArgs{
* DeletionProtection: pulumi.Bool(false),
* TableId: pulumi.String("dcr_listing"),
* DatasetId: listingDataset.DatasetId,
* Schema: pulumi.String(`[
* {
* "name": "name",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "post_abbr",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "date",
* "type": "DATE",
* "mode": "NULLABLE"
* }
* ]
* `),
* })
* if err != nil {
* return err
* }
* _, err = bigqueryanalyticshub.NewListing(ctx, "listing", &bigqueryanalyticshub.ListingArgs{
* Location: pulumi.String("US"),
* DataExchangeId: listing.DataExchangeId,
* ListingId: pulumi.String("dcr_listing"),
* DisplayName: pulumi.String("dcr_listing"),
* Description: pulumi.String("example dcr data exchange"),
* BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
* Dataset: listingDataset.ID(),
* SelectedResources: bigqueryanalyticshub.ListingBigqueryDatasetSelectedResourceArray{
* &bigqueryanalyticshub.ListingBigqueryDatasetSelectedResourceArgs{
* Table: listingTable.ID(),
* },
* },
* },
* RestrictedExportConfig: &bigqueryanalyticshub.ListingRestrictedExportConfigArgs{
* Enabled: pulumi.Bool(true),
* },
* })
* if err != nil {
* return err
* }
* return nil
* })
* }
* ```
* ```java
* package generated_program;
* import com.pulumi.Context;
* import com.pulumi.Pulumi;
* import com.pulumi.core.Output;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchange;
* import com.pulumi.gcp.bigqueryanalyticshub.DataExchangeArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.DataExchangeSharingEnvironmentConfigArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs;
* 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.bigqueryanalyticshub.Listing;
* import com.pulumi.gcp.bigqueryanalyticshub.ListingArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingBigqueryDatasetArgs;
* import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingRestrictedExportConfigArgs;
* 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 listing = new DataExchange("listing", DataExchangeArgs.builder()
* .location("US")
* .dataExchangeId("dcr_data_exchange")
* .displayName("dcr_data_exchange")
* .description("example dcr data exchange")
* .sharingEnvironmentConfig(DataExchangeSharingEnvironmentConfigArgs.builder()
* .dcrExchangeConfig()
* .build())
* .build());
* var listingDataset = new Dataset("listingDataset", DatasetArgs.builder()
* .datasetId("dcr_listing")
* .friendlyName("dcr_listing")
* .description("example dcr data exchange")
* .location("US")
* .build());
* var listingTable = new Table("listingTable", TableArgs.builder()
* .deletionProtection(false)
* .tableId("dcr_listing")
* .datasetId(listingDataset.datasetId())
* .schema("""
* [
* {
* "name": "name",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "post_abbr",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "date",
* "type": "DATE",
* "mode": "NULLABLE"
* }
* ]
* """)
* .build());
* var listingListing = new Listing("listingListing", ListingArgs.builder()
* .location("US")
* .dataExchangeId(listing.dataExchangeId())
* .listingId("dcr_listing")
* .displayName("dcr_listing")
* .description("example dcr data exchange")
* .bigqueryDataset(ListingBigqueryDatasetArgs.builder()
* .dataset(listingDataset.id())
* .selectedResources(ListingBigqueryDatasetSelectedResourceArgs.builder()
* .table(listingTable.id())
* .build())
* .build())
* .restrictedExportConfig(ListingRestrictedExportConfigArgs.builder()
* .enabled(true)
* .build())
* .build());
* }
* }
* ```
* ```yaml
* resources:
* listing:
* type: gcp:bigqueryanalyticshub:DataExchange
* properties:
* location: US
* dataExchangeId: dcr_data_exchange
* displayName: dcr_data_exchange
* description: example dcr data exchange
* sharingEnvironmentConfig:
* dcrExchangeConfig: {}
* listingListing:
* type: gcp:bigqueryanalyticshub:Listing
* name: listing
* properties:
* location: US
* dataExchangeId: ${listing.dataExchangeId}
* listingId: dcr_listing
* displayName: dcr_listing
* description: example dcr data exchange
* bigqueryDataset:
* dataset: ${listingDataset.id}
* selectedResources:
* - table: ${listingTable.id}
* restrictedExportConfig:
* enabled: true
* listingDataset:
* type: gcp:bigquery:Dataset
* name: listing
* properties:
* datasetId: dcr_listing
* friendlyName: dcr_listing
* description: example dcr data exchange
* location: US
* listingTable:
* type: gcp:bigquery:Table
* name: listing
* properties:
* deletionProtection: false
* tableId: dcr_listing
* datasetId: ${listingDataset.datasetId}
* schema: |
* [
* {
* "name": "name",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "post_abbr",
* "type": "STRING",
* "mode": "NULLABLE"
* },
* {
* "name": "date",
* "type": "DATE",
* "mode": "NULLABLE"
* }
* ]
* ```
*
* ## Import
* Listing can be imported using any of these accepted formats:
* * `projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}`
* * `{{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}}`
* * `{{location}}/{{data_exchange_id}}/{{listing_id}}`
* When using the `pulumi import` command, Listing can be imported using one of the formats above. For example:
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}
* ```
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default {{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}}
* ```
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default {{location}}/{{data_exchange_id}}/{{listing_id}}
* ```
*/
public class Listing internal constructor(
override val javaResource: com.pulumi.gcp.bigqueryanalyticshub.Listing,
) : KotlinCustomResource(javaResource, ListingMapper) {
/**
* Shared dataset i.e. BigQuery dataset source.
* Structure is documented below.
*/
public val bigqueryDataset: Output
get() = javaResource.bigqueryDataset().applyValue({ args0 ->
args0.let({ args0 ->
listingBigqueryDatasetToKotlin(args0)
})
})
/**
* Categories of the listing. Up to two categories are allowed.
*/
public val categories: Output>?
get() = javaResource.categories().applyValue({ args0 ->
args0.map({ args0 ->
args0.map({ args0 ->
args0
})
}).orElse(null)
})
/**
* The ID of the data exchange. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
*/
public val dataExchangeId: Output
get() = javaResource.dataExchangeId().applyValue({ args0 -> args0 })
/**
* Details of the data provider who owns the source data.
*/
public val dataProvider: Output?
get() = javaResource.dataProvider().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
listingDataProviderToKotlin(args0)
})
}).orElse(null)
})
/**
* Short description of the listing. The description must not contain Unicode non-characters and C0 and C1 control codes
* except tabs (HT), new lines (LF), carriage returns (CR), and page breaks (FF).
*/
public val description: Output?
get() = javaResource.description().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* Human-readable display name of the listing. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), ampersands (&) and can't start or end with spaces.
*/
public val displayName: Output
get() = javaResource.displayName().applyValue({ args0 -> args0 })
/**
* Documentation describing the listing.
*/
public val documentation: Output?
get() = javaResource.documentation().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* Base64 encoded image representing the listing.
*/
public val icon: Output?
get() = javaResource.icon().applyValue({ args0 -> args0.map({ args0 -> args0 }).orElse(null) })
/**
* The ID of the listing. Must contain only Unicode letters, numbers (0-9), underscores (_). Should not use characters that require URL-escaping, or characters outside of ASCII, spaces.
*/
public val listingId: Output
get() = javaResource.listingId().applyValue({ args0 -> args0 })
/**
* The name of the location this data exchange listing.
*/
public val location: Output
get() = javaResource.location().applyValue({ args0 -> args0 })
/**
* The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
*/
public val name: Output
get() = javaResource.name().applyValue({ args0 -> args0 })
/**
* Email or URL of the primary point of contact of the listing.
*/
public val primaryContact: Output?
get() = javaResource.primaryContact().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
public val project: Output
get() = javaResource.project().applyValue({ args0 -> args0 })
/**
* Details of the publisher who owns the listing and who can share the source data.
*/
public val publisher: Output?
get() = javaResource.publisher().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 ->
listingPublisherToKotlin(args0)
})
}).orElse(null)
})
/**
* Email or URL of the request access of the listing. Subscribers can use this reference to request access.
*/
public val requestAccess: Output?
get() = javaResource.requestAccess().applyValue({ args0 ->
args0.map({ args0 ->
args0
}).orElse(null)
})
/**
* If set, restricted export configuration will be propagated and enforced on the linked dataset.
*/
public val restrictedExportConfig: Output?
get() = javaResource.restrictedExportConfig().applyValue({ args0 ->
args0.map({ args0 ->
args0.let({ args0 -> listingRestrictedExportConfigToKotlin(args0) })
}).orElse(null)
})
}
public object ListingMapper : ResourceMapper {
override fun supportsMappingOfType(javaResource: Resource): Boolean =
com.pulumi.gcp.bigqueryanalyticshub.Listing::class == javaResource::class
override fun map(javaResource: Resource): Listing = Listing(
javaResource as
com.pulumi.gcp.bigqueryanalyticshub.Listing,
)
}
/**
* @see [Listing].
* @param name The _unique_ name of the resulting resource.
* @param block Builder for [Listing].
*/
public suspend fun listing(name: String, block: suspend ListingResourceBuilder.() -> Unit): Listing {
val builder = ListingResourceBuilder()
builder.name(name)
block(builder)
return builder.build()
}
/**
* @see [Listing].
* @param name The _unique_ name of the resulting resource.
*/
public fun listing(name: String): Listing {
val builder = ListingResourceBuilder()
builder.name(name)
return builder.build()
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy