1. Packages
  2. Google Cloud (GCP) Classic
  3. API Docs
  4. bigqueryanalyticshub
  5. Listing
Google Cloud v8.38.0 published on Monday, Jul 14, 2025 by Pulumi

gcp.bigqueryanalyticshub.Listing

Explore with Pulumi AI

gcp logo
Google Cloud v8.38.0 published on Monday, Jul 14, 2025 by Pulumi

    A Bigquery Analytics Hub data exchange listing

    To get more information about Listing, see:

    Example Usage

    Bigquery Analyticshub Listing Basic

    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,
        },
    });
    
    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,
        })
    
    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
    	})
    }
    
    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,
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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

    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,
        },
    });
    
    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,
        })
    
    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
    	})
    }
    
    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,
            },
        });
    
    });
    
    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());
    
        }
    }
    
    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

    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,
        },
    });
    
    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,
        })
    
    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
    	})
    }
    
    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,
            },
        });
    
    });
    
    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(DataExchangeSharingEnvironmentConfigDcrExchangeConfigArgs.builder()
                        .build())
                    .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());
    
        }
    }
    
    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"
              }
            ]        
    

    Bigquery Analyticshub Listing Log Linked Dataset Query User

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const listingLogEmail = new gcp.bigqueryanalyticshub.DataExchange("listing_log_email", {
        location: "US",
        dataExchangeId: "tf_test_log_email_de",
        displayName: "tf_test_log_email_de",
        description: "Example for log email test",
    });
    const listingLogEmailDataset = new gcp.bigquery.Dataset("listing_log_email", {
        datasetId: "tf_test_log_email_ds",
        friendlyName: "tf_test_log_email_ds",
        description: "Example for log email test",
        location: "US",
    });
    const listing = new gcp.bigqueryanalyticshub.Listing("listing", {
        location: "US",
        dataExchangeId: listingLogEmail.dataExchangeId,
        listingId: "tf_test_log_email_listing",
        displayName: "tf_test_log_email_listing",
        description: "Example for log email test",
        logLinkedDatasetQueryUserEmail: true,
        bigqueryDataset: {
            dataset: listingLogEmailDataset.id,
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    listing_log_email = gcp.bigqueryanalyticshub.DataExchange("listing_log_email",
        location="US",
        data_exchange_id="tf_test_log_email_de",
        display_name="tf_test_log_email_de",
        description="Example for log email test")
    listing_log_email_dataset = gcp.bigquery.Dataset("listing_log_email",
        dataset_id="tf_test_log_email_ds",
        friendly_name="tf_test_log_email_ds",
        description="Example for log email test",
        location="US")
    listing = gcp.bigqueryanalyticshub.Listing("listing",
        location="US",
        data_exchange_id=listing_log_email.data_exchange_id,
        listing_id="tf_test_log_email_listing",
        display_name="tf_test_log_email_listing",
        description="Example for log email test",
        log_linked_dataset_query_user_email=True,
        bigquery_dataset={
            "dataset": listing_log_email_dataset.id,
        })
    
    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 {
    		listingLogEmail, err := bigqueryanalyticshub.NewDataExchange(ctx, "listing_log_email", &bigqueryanalyticshub.DataExchangeArgs{
    			Location:       pulumi.String("US"),
    			DataExchangeId: pulumi.String("tf_test_log_email_de"),
    			DisplayName:    pulumi.String("tf_test_log_email_de"),
    			Description:    pulumi.String("Example for log email test"),
    		})
    		if err != nil {
    			return err
    		}
    		listingLogEmailDataset, err := bigquery.NewDataset(ctx, "listing_log_email", &bigquery.DatasetArgs{
    			DatasetId:    pulumi.String("tf_test_log_email_ds"),
    			FriendlyName: pulumi.String("tf_test_log_email_ds"),
    			Description:  pulumi.String("Example for log email test"),
    			Location:     pulumi.String("US"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigqueryanalyticshub.NewListing(ctx, "listing", &bigqueryanalyticshub.ListingArgs{
    			Location:                       pulumi.String("US"),
    			DataExchangeId:                 listingLogEmail.DataExchangeId,
    			ListingId:                      pulumi.String("tf_test_log_email_listing"),
    			DisplayName:                    pulumi.String("tf_test_log_email_listing"),
    			Description:                    pulumi.String("Example for log email test"),
    			LogLinkedDatasetQueryUserEmail: pulumi.Bool(true),
    			BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
    				Dataset: listingLogEmailDataset.ID(),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Gcp = Pulumi.Gcp;
    
    return await Deployment.RunAsync(() => 
    {
        var listingLogEmail = new Gcp.BigQueryAnalyticsHub.DataExchange("listing_log_email", new()
        {
            Location = "US",
            DataExchangeId = "tf_test_log_email_de",
            DisplayName = "tf_test_log_email_de",
            Description = "Example for log email test",
        });
    
        var listingLogEmailDataset = new Gcp.BigQuery.Dataset("listing_log_email", new()
        {
            DatasetId = "tf_test_log_email_ds",
            FriendlyName = "tf_test_log_email_ds",
            Description = "Example for log email test",
            Location = "US",
        });
    
        var listing = new Gcp.BigQueryAnalyticsHub.Listing("listing", new()
        {
            Location = "US",
            DataExchangeId = listingLogEmail.DataExchangeId,
            ListingId = "tf_test_log_email_listing",
            DisplayName = "tf_test_log_email_listing",
            Description = "Example for log email test",
            LogLinkedDatasetQueryUserEmail = true,
            BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
            {
                Dataset = listingLogEmailDataset.Id,
            },
        });
    
    });
    
    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 listingLogEmail = new DataExchange("listingLogEmail", DataExchangeArgs.builder()
                .location("US")
                .dataExchangeId("tf_test_log_email_de")
                .displayName("tf_test_log_email_de")
                .description("Example for log email test")
                .build());
    
            var listingLogEmailDataset = new Dataset("listingLogEmailDataset", DatasetArgs.builder()
                .datasetId("tf_test_log_email_ds")
                .friendlyName("tf_test_log_email_ds")
                .description("Example for log email test")
                .location("US")
                .build());
    
            var listing = new Listing("listing", ListingArgs.builder()
                .location("US")
                .dataExchangeId(listingLogEmail.dataExchangeId())
                .listingId("tf_test_log_email_listing")
                .displayName("tf_test_log_email_listing")
                .description("Example for log email test")
                .logLinkedDatasetQueryUserEmail(true)
                .bigqueryDataset(ListingBigqueryDatasetArgs.builder()
                    .dataset(listingLogEmailDataset.id())
                    .build())
                .build());
    
        }
    }
    
    resources:
      listingLogEmail:
        type: gcp:bigqueryanalyticshub:DataExchange
        name: listing_log_email
        properties:
          location: US
          dataExchangeId: tf_test_log_email_de
          displayName: tf_test_log_email_de
          description: Example for log email test
      listing:
        type: gcp:bigqueryanalyticshub:Listing
        properties:
          location: US
          dataExchangeId: ${listingLogEmail.dataExchangeId}
          listingId: tf_test_log_email_listing
          displayName: tf_test_log_email_listing
          description: Example for log email test
          logLinkedDatasetQueryUserEmail: true
          bigqueryDataset:
            dataset: ${listingLogEmailDataset.id}
      listingLogEmailDataset:
        type: gcp:bigquery:Dataset
        name: listing_log_email
        properties:
          datasetId: tf_test_log_email_ds
          friendlyName: tf_test_log_email_ds
          description: Example for log email test
          location: US
    

    Bigquery Analyticshub Listing Pubsub

    import * as pulumi from "@pulumi/pulumi";
    import * as gcp from "@pulumi/gcp";
    
    const listing = new gcp.bigqueryanalyticshub.DataExchange("listing", {
        location: "US",
        dataExchangeId: "tf_test_pubsub_data_exchange",
        displayName: "tf_test_pubsub_data_exchange",
        description: "Example for pubsub topic source",
    });
    const tfTestPubsubTopic = new gcp.pubsub.Topic("tf_test_pubsub_topic", {name: "test_pubsub"});
    const listingListing = new gcp.bigqueryanalyticshub.Listing("listing", {
        location: "US",
        dataExchangeId: listing.dataExchangeId,
        listingId: "tf_test_pubsub_listing",
        displayName: "tf_test_pubsub_listing",
        description: "Example for pubsub topic source",
        pubsubTopic: {
            topic: tfTestPubsubTopic.id,
            dataAffinityRegions: [
                "us-central1",
                "europe-west1",
            ],
        },
    });
    
    import pulumi
    import pulumi_gcp as gcp
    
    listing = gcp.bigqueryanalyticshub.DataExchange("listing",
        location="US",
        data_exchange_id="tf_test_pubsub_data_exchange",
        display_name="tf_test_pubsub_data_exchange",
        description="Example for pubsub topic source")
    tf_test_pubsub_topic = gcp.pubsub.Topic("tf_test_pubsub_topic", name="test_pubsub")
    listing_listing = gcp.bigqueryanalyticshub.Listing("listing",
        location="US",
        data_exchange_id=listing.data_exchange_id,
        listing_id="tf_test_pubsub_listing",
        display_name="tf_test_pubsub_listing",
        description="Example for pubsub topic source",
        pubsub_topic={
            "topic": tf_test_pubsub_topic.id,
            "data_affinity_regions": [
                "us-central1",
                "europe-west1",
            ],
        })
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/bigqueryanalyticshub"
    	"github.com/pulumi/pulumi-gcp/sdk/v8/go/gcp/pubsub"
    	"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("tf_test_pubsub_data_exchange"),
    			DisplayName:    pulumi.String("tf_test_pubsub_data_exchange"),
    			Description:    pulumi.String("Example for pubsub topic source"),
    		})
    		if err != nil {
    			return err
    		}
    		tfTestPubsubTopic, err := pubsub.NewTopic(ctx, "tf_test_pubsub_topic", &pubsub.TopicArgs{
    			Name: pulumi.String("test_pubsub"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = bigqueryanalyticshub.NewListing(ctx, "listing", &bigqueryanalyticshub.ListingArgs{
    			Location:       pulumi.String("US"),
    			DataExchangeId: listing.DataExchangeId,
    			ListingId:      pulumi.String("tf_test_pubsub_listing"),
    			DisplayName:    pulumi.String("tf_test_pubsub_listing"),
    			Description:    pulumi.String("Example for pubsub topic source"),
    			PubsubTopic: &bigqueryanalyticshub.ListingPubsubTopicArgs{
    				Topic: tfTestPubsubTopic.ID(),
    				DataAffinityRegions: pulumi.StringArray{
    					pulumi.String("us-central1"),
    					pulumi.String("europe-west1"),
    				},
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    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 = "tf_test_pubsub_data_exchange",
            DisplayName = "tf_test_pubsub_data_exchange",
            Description = "Example for pubsub topic source",
        });
    
        var tfTestPubsubTopic = new Gcp.PubSub.Topic("tf_test_pubsub_topic", new()
        {
            Name = "test_pubsub",
        });
    
        var listingListing = new Gcp.BigQueryAnalyticsHub.Listing("listing", new()
        {
            Location = "US",
            DataExchangeId = listing.DataExchangeId,
            ListingId = "tf_test_pubsub_listing",
            DisplayName = "tf_test_pubsub_listing",
            Description = "Example for pubsub topic source",
            PubsubTopic = new Gcp.BigQueryAnalyticsHub.Inputs.ListingPubsubTopicArgs
            {
                Topic = tfTestPubsubTopic.Id,
                DataAffinityRegions = new[]
                {
                    "us-central1",
                    "europe-west1",
                },
            },
        });
    
    });
    
    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.pubsub.Topic;
    import com.pulumi.gcp.pubsub.TopicArgs;
    import com.pulumi.gcp.bigqueryanalyticshub.Listing;
    import com.pulumi.gcp.bigqueryanalyticshub.ListingArgs;
    import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingPubsubTopicArgs;
    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("tf_test_pubsub_data_exchange")
                .displayName("tf_test_pubsub_data_exchange")
                .description("Example for pubsub topic source")
                .build());
    
            var tfTestPubsubTopic = new Topic("tfTestPubsubTopic", TopicArgs.builder()
                .name("test_pubsub")
                .build());
    
            var listingListing = new Listing("listingListing", ListingArgs.builder()
                .location("US")
                .dataExchangeId(listing.dataExchangeId())
                .listingId("tf_test_pubsub_listing")
                .displayName("tf_test_pubsub_listing")
                .description("Example for pubsub topic source")
                .pubsubTopic(ListingPubsubTopicArgs.builder()
                    .topic(tfTestPubsubTopic.id())
                    .dataAffinityRegions(                
                        "us-central1",
                        "europe-west1")
                    .build())
                .build());
    
        }
    }
    
    resources:
      listing:
        type: gcp:bigqueryanalyticshub:DataExchange
        properties:
          location: US
          dataExchangeId: tf_test_pubsub_data_exchange
          displayName: tf_test_pubsub_data_exchange
          description: Example for pubsub topic source
      tfTestPubsubTopic:
        type: gcp:pubsub:Topic
        name: tf_test_pubsub_topic
        properties:
          name: test_pubsub
      listingListing:
        type: gcp:bigqueryanalyticshub:Listing
        name: listing
        properties:
          location: US
          dataExchangeId: ${listing.dataExchangeId}
          listingId: tf_test_pubsub_listing
          displayName: tf_test_pubsub_listing
          description: Example for pubsub topic source
          pubsubTopic:
            topic: ${tfTestPubsubTopic.id}
            dataAffinityRegions:
              - us-central1
              - europe-west1
    

    Create Listing Resource

    Resources are created with functions called constructors. To learn more about declaring and configuring resources, see Resources.

    Constructor syntax

    new Listing(name: string, args: ListingArgs, opts?: CustomResourceOptions);
    @overload
    def Listing(resource_name: str,
                args: ListingArgs,
                opts: Optional[ResourceOptions] = None)
    
    @overload
    def Listing(resource_name: str,
                opts: Optional[ResourceOptions] = None,
                display_name: Optional[str] = None,
                location: Optional[str] = None,
                data_exchange_id: Optional[str] = None,
                listing_id: Optional[str] = None,
                description: Optional[str] = None,
                bigquery_dataset: Optional[ListingBigqueryDatasetArgs] = None,
                documentation: Optional[str] = None,
                icon: Optional[str] = None,
                data_provider: Optional[ListingDataProviderArgs] = None,
                categories: Optional[Sequence[str]] = None,
                log_linked_dataset_query_user_email: Optional[bool] = None,
                primary_contact: Optional[str] = None,
                project: Optional[str] = None,
                publisher: Optional[ListingPublisherArgs] = None,
                pubsub_topic: Optional[ListingPubsubTopicArgs] = None,
                request_access: Optional[str] = None,
                restricted_export_config: Optional[ListingRestrictedExportConfigArgs] = None)
    func NewListing(ctx *Context, name string, args ListingArgs, opts ...ResourceOption) (*Listing, error)
    public Listing(string name, ListingArgs args, CustomResourceOptions? opts = null)
    public Listing(String name, ListingArgs args)
    public Listing(String name, ListingArgs args, CustomResourceOptions options)
    
    type: gcp:bigqueryanalyticshub:Listing
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    

    Parameters

    name string
    The unique name of the resource.
    args ListingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args ListingArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args ListingArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args ListingArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args ListingArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Constructor example

    The following reference example uses placeholder values for all input properties.

    var listingResource = new Gcp.BigQueryAnalyticsHub.Listing("listingResource", new()
    {
        DisplayName = "string",
        Location = "string",
        DataExchangeId = "string",
        ListingId = "string",
        Description = "string",
        BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
        {
            Dataset = "string",
            SelectedResources = new[]
            {
                new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetSelectedResourceArgs
                {
                    Table = "string",
                },
            },
        },
        Documentation = "string",
        Icon = "string",
        DataProvider = new Gcp.BigQueryAnalyticsHub.Inputs.ListingDataProviderArgs
        {
            Name = "string",
            PrimaryContact = "string",
        },
        Categories = new[]
        {
            "string",
        },
        LogLinkedDatasetQueryUserEmail = false,
        PrimaryContact = "string",
        Project = "string",
        Publisher = new Gcp.BigQueryAnalyticsHub.Inputs.ListingPublisherArgs
        {
            Name = "string",
            PrimaryContact = "string",
        },
        PubsubTopic = new Gcp.BigQueryAnalyticsHub.Inputs.ListingPubsubTopicArgs
        {
            Topic = "string",
            DataAffinityRegions = new[]
            {
                "string",
            },
        },
        RequestAccess = "string",
        RestrictedExportConfig = new Gcp.BigQueryAnalyticsHub.Inputs.ListingRestrictedExportConfigArgs
        {
            Enabled = false,
            RestrictDirectTableAccess = false,
            RestrictQueryResult = false,
        },
    });
    
    example, err := bigqueryanalyticshub.NewListing(ctx, "listingResource", &bigqueryanalyticshub.ListingArgs{
    	DisplayName:    pulumi.String("string"),
    	Location:       pulumi.String("string"),
    	DataExchangeId: pulumi.String("string"),
    	ListingId:      pulumi.String("string"),
    	Description:    pulumi.String("string"),
    	BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
    		Dataset: pulumi.String("string"),
    		SelectedResources: bigqueryanalyticshub.ListingBigqueryDatasetSelectedResourceArray{
    			&bigqueryanalyticshub.ListingBigqueryDatasetSelectedResourceArgs{
    				Table: pulumi.String("string"),
    			},
    		},
    	},
    	Documentation: pulumi.String("string"),
    	Icon:          pulumi.String("string"),
    	DataProvider: &bigqueryanalyticshub.ListingDataProviderArgs{
    		Name:           pulumi.String("string"),
    		PrimaryContact: pulumi.String("string"),
    	},
    	Categories: pulumi.StringArray{
    		pulumi.String("string"),
    	},
    	LogLinkedDatasetQueryUserEmail: pulumi.Bool(false),
    	PrimaryContact:                 pulumi.String("string"),
    	Project:                        pulumi.String("string"),
    	Publisher: &bigqueryanalyticshub.ListingPublisherArgs{
    		Name:           pulumi.String("string"),
    		PrimaryContact: pulumi.String("string"),
    	},
    	PubsubTopic: &bigqueryanalyticshub.ListingPubsubTopicArgs{
    		Topic: pulumi.String("string"),
    		DataAffinityRegions: pulumi.StringArray{
    			pulumi.String("string"),
    		},
    	},
    	RequestAccess: pulumi.String("string"),
    	RestrictedExportConfig: &bigqueryanalyticshub.ListingRestrictedExportConfigArgs{
    		Enabled:                   pulumi.Bool(false),
    		RestrictDirectTableAccess: pulumi.Bool(false),
    		RestrictQueryResult:       pulumi.Bool(false),
    	},
    })
    
    var listingResource = new Listing("listingResource", ListingArgs.builder()
        .displayName("string")
        .location("string")
        .dataExchangeId("string")
        .listingId("string")
        .description("string")
        .bigqueryDataset(ListingBigqueryDatasetArgs.builder()
            .dataset("string")
            .selectedResources(ListingBigqueryDatasetSelectedResourceArgs.builder()
                .table("string")
                .build())
            .build())
        .documentation("string")
        .icon("string")
        .dataProvider(ListingDataProviderArgs.builder()
            .name("string")
            .primaryContact("string")
            .build())
        .categories("string")
        .logLinkedDatasetQueryUserEmail(false)
        .primaryContact("string")
        .project("string")
        .publisher(ListingPublisherArgs.builder()
            .name("string")
            .primaryContact("string")
            .build())
        .pubsubTopic(ListingPubsubTopicArgs.builder()
            .topic("string")
            .dataAffinityRegions("string")
            .build())
        .requestAccess("string")
        .restrictedExportConfig(ListingRestrictedExportConfigArgs.builder()
            .enabled(false)
            .restrictDirectTableAccess(false)
            .restrictQueryResult(false)
            .build())
        .build());
    
    listing_resource = gcp.bigqueryanalyticshub.Listing("listingResource",
        display_name="string",
        location="string",
        data_exchange_id="string",
        listing_id="string",
        description="string",
        bigquery_dataset={
            "dataset": "string",
            "selected_resources": [{
                "table": "string",
            }],
        },
        documentation="string",
        icon="string",
        data_provider={
            "name": "string",
            "primary_contact": "string",
        },
        categories=["string"],
        log_linked_dataset_query_user_email=False,
        primary_contact="string",
        project="string",
        publisher={
            "name": "string",
            "primary_contact": "string",
        },
        pubsub_topic={
            "topic": "string",
            "data_affinity_regions": ["string"],
        },
        request_access="string",
        restricted_export_config={
            "enabled": False,
            "restrict_direct_table_access": False,
            "restrict_query_result": False,
        })
    
    const listingResource = new gcp.bigqueryanalyticshub.Listing("listingResource", {
        displayName: "string",
        location: "string",
        dataExchangeId: "string",
        listingId: "string",
        description: "string",
        bigqueryDataset: {
            dataset: "string",
            selectedResources: [{
                table: "string",
            }],
        },
        documentation: "string",
        icon: "string",
        dataProvider: {
            name: "string",
            primaryContact: "string",
        },
        categories: ["string"],
        logLinkedDatasetQueryUserEmail: false,
        primaryContact: "string",
        project: "string",
        publisher: {
            name: "string",
            primaryContact: "string",
        },
        pubsubTopic: {
            topic: "string",
            dataAffinityRegions: ["string"],
        },
        requestAccess: "string",
        restrictedExportConfig: {
            enabled: false,
            restrictDirectTableAccess: false,
            restrictQueryResult: false,
        },
    });
    
    type: gcp:bigqueryanalyticshub:Listing
    properties:
        bigqueryDataset:
            dataset: string
            selectedResources:
                - table: string
        categories:
            - string
        dataExchangeId: string
        dataProvider:
            name: string
            primaryContact: string
        description: string
        displayName: string
        documentation: string
        icon: string
        listingId: string
        location: string
        logLinkedDatasetQueryUserEmail: false
        primaryContact: string
        project: string
        publisher:
            name: string
            primaryContact: string
        pubsubTopic:
            dataAffinityRegions:
                - string
            topic: string
        requestAccess: string
        restrictedExportConfig:
            enabled: false
            restrictDirectTableAccess: false
            restrictQueryResult: false
    

    Listing Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    In Python, inputs that are objects can be passed either as argument classes or as dictionary literals.

    The Listing resource accepts the following input properties:

    DataExchangeId string
    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.
    DisplayName string
    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.
    ListingId string
    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.
    Location string
    The name of the location this data exchange listing.
    BigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    Categories List<string>
    Categories of the listing. Up to two categories are allowed.
    DataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    Description string
    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).
    Documentation string
    Documentation describing the listing.
    Icon string
    Base64 encoded image representing the listing.
    LogLinkedDatasetQueryUserEmail bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    PrimaryContact string
    Email or URL of the primary point of contact of the listing.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    PubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    RequestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    RestrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    DataExchangeId string
    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.
    DisplayName string
    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.
    ListingId string
    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.
    Location string
    The name of the location this data exchange listing.
    BigqueryDataset ListingBigqueryDatasetArgs
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    Categories []string
    Categories of the listing. Up to two categories are allowed.
    DataProvider ListingDataProviderArgs
    Details of the data provider who owns the source data. Structure is documented below.
    Description string
    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).
    Documentation string
    Documentation describing the listing.
    Icon string
    Base64 encoded image representing the listing.
    LogLinkedDatasetQueryUserEmail bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    PrimaryContact string
    Email or URL of the primary point of contact of the listing.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Publisher ListingPublisherArgs
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    PubsubTopic ListingPubsubTopicArgs
    Pub/Sub topic source. Structure is documented below.
    RequestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    RestrictedExportConfig ListingRestrictedExportConfigArgs
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    dataExchangeId String
    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.
    displayName String
    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.
    listingId String
    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.
    location String
    The name of the location this data exchange listing.
    bigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories List<String>
    Categories of the listing. Up to two categories are allowed.
    dataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    description String
    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).
    documentation String
    Documentation describing the listing.
    icon String
    Base64 encoded image representing the listing.
    logLinkedDatasetQueryUserEmail Boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    primaryContact String
    Email or URL of the primary point of contact of the listing.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    requestAccess String
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    dataExchangeId string
    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.
    displayName string
    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.
    listingId string
    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.
    location string
    The name of the location this data exchange listing.
    bigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories string[]
    Categories of the listing. Up to two categories are allowed.
    dataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    description string
    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).
    documentation string
    Documentation describing the listing.
    icon string
    Base64 encoded image representing the listing.
    logLinkedDatasetQueryUserEmail boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    primaryContact string
    Email or URL of the primary point of contact of the listing.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    requestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    data_exchange_id str
    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.
    display_name str
    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.
    listing_id str
    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.
    location str
    The name of the location this data exchange listing.
    bigquery_dataset ListingBigqueryDatasetArgs
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories Sequence[str]
    Categories of the listing. Up to two categories are allowed.
    data_provider ListingDataProviderArgs
    Details of the data provider who owns the source data. Structure is documented below.
    description str
    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).
    documentation str
    Documentation describing the listing.
    icon str
    Base64 encoded image representing the listing.
    log_linked_dataset_query_user_email bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    primary_contact str
    Email or URL of the primary point of contact of the listing.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisherArgs
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsub_topic ListingPubsubTopicArgs
    Pub/Sub topic source. Structure is documented below.
    request_access str
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restricted_export_config ListingRestrictedExportConfigArgs
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    dataExchangeId String
    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.
    displayName String
    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.
    listingId String
    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.
    location String
    The name of the location this data exchange listing.
    bigqueryDataset Property Map
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories List<String>
    Categories of the listing. Up to two categories are allowed.
    dataProvider Property Map
    Details of the data provider who owns the source data. Structure is documented below.
    description String
    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).
    documentation String
    Documentation describing the listing.
    icon String
    Base64 encoded image representing the listing.
    logLinkedDatasetQueryUserEmail Boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    primaryContact String
    Email or URL of the primary point of contact of the listing.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher Property Map
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic Property Map
    Pub/Sub topic source. Structure is documented below.
    requestAccess String
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig Property Map
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Listing resource produces the following output properties:

    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    Id string
    The provider-assigned unique ID for this managed resource.
    Name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    id string
    The provider-assigned unique ID for this managed resource.
    name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    id str
    The provider-assigned unique ID for this managed resource.
    name str
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    id String
    The provider-assigned unique ID for this managed resource.
    name String
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"

    Look up Existing Listing Resource

    Get an existing Listing resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: ListingState, opts?: CustomResourceOptions): Listing
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            bigquery_dataset: Optional[ListingBigqueryDatasetArgs] = None,
            categories: Optional[Sequence[str]] = None,
            data_exchange_id: Optional[str] = None,
            data_provider: Optional[ListingDataProviderArgs] = None,
            description: Optional[str] = None,
            display_name: Optional[str] = None,
            documentation: Optional[str] = None,
            icon: Optional[str] = None,
            listing_id: Optional[str] = None,
            location: Optional[str] = None,
            log_linked_dataset_query_user_email: Optional[bool] = None,
            name: Optional[str] = None,
            primary_contact: Optional[str] = None,
            project: Optional[str] = None,
            publisher: Optional[ListingPublisherArgs] = None,
            pubsub_topic: Optional[ListingPubsubTopicArgs] = None,
            request_access: Optional[str] = None,
            restricted_export_config: Optional[ListingRestrictedExportConfigArgs] = None) -> Listing
    func GetListing(ctx *Context, name string, id IDInput, state *ListingState, opts ...ResourceOption) (*Listing, error)
    public static Listing Get(string name, Input<string> id, ListingState? state, CustomResourceOptions? opts = null)
    public static Listing get(String name, Output<String> id, ListingState state, CustomResourceOptions options)
    resources:  _:    type: gcp:bigqueryanalyticshub:Listing    get:      id: ${id}
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    BigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    Categories List<string>
    Categories of the listing. Up to two categories are allowed.
    DataExchangeId string
    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.
    DataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    Description string
    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).
    DisplayName string
    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.
    Documentation string
    Documentation describing the listing.
    Icon string
    Base64 encoded image representing the listing.
    ListingId string
    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.
    Location string
    The name of the location this data exchange listing.
    LogLinkedDatasetQueryUserEmail bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    Name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    PrimaryContact string
    Email or URL of the primary point of contact of the listing.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    PubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    RequestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    RestrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    BigqueryDataset ListingBigqueryDatasetArgs
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    Categories []string
    Categories of the listing. Up to two categories are allowed.
    DataExchangeId string
    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.
    DataProvider ListingDataProviderArgs
    Details of the data provider who owns the source data. Structure is documented below.
    Description string
    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).
    DisplayName string
    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.
    Documentation string
    Documentation describing the listing.
    Icon string
    Base64 encoded image representing the listing.
    ListingId string
    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.
    Location string
    The name of the location this data exchange listing.
    LogLinkedDatasetQueryUserEmail bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    Name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    PrimaryContact string
    Email or URL of the primary point of contact of the listing.
    Project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    Publisher ListingPublisherArgs
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    PubsubTopic ListingPubsubTopicArgs
    Pub/Sub topic source. Structure is documented below.
    RequestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    RestrictedExportConfig ListingRestrictedExportConfigArgs
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    bigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories List<String>
    Categories of the listing. Up to two categories are allowed.
    dataExchangeId String
    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.
    dataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    description String
    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).
    displayName String
    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.
    documentation String
    Documentation describing the listing.
    icon String
    Base64 encoded image representing the listing.
    listingId String
    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.
    location String
    The name of the location this data exchange listing.
    logLinkedDatasetQueryUserEmail Boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    name String
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    primaryContact String
    Email or URL of the primary point of contact of the listing.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    requestAccess String
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    bigqueryDataset ListingBigqueryDataset
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories string[]
    Categories of the listing. Up to two categories are allowed.
    dataExchangeId string
    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.
    dataProvider ListingDataProvider
    Details of the data provider who owns the source data. Structure is documented below.
    description string
    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).
    displayName string
    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.
    documentation string
    Documentation describing the listing.
    icon string
    Base64 encoded image representing the listing.
    listingId string
    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.
    location string
    The name of the location this data exchange listing.
    logLinkedDatasetQueryUserEmail boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    name string
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    primaryContact string
    Email or URL of the primary point of contact of the listing.
    project string
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisher
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic ListingPubsubTopic
    Pub/Sub topic source. Structure is documented below.
    requestAccess string
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig ListingRestrictedExportConfig
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    bigquery_dataset ListingBigqueryDatasetArgs
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories Sequence[str]
    Categories of the listing. Up to two categories are allowed.
    data_exchange_id str
    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.
    data_provider ListingDataProviderArgs
    Details of the data provider who owns the source data. Structure is documented below.
    description str
    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).
    display_name str
    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.
    documentation str
    Documentation describing the listing.
    icon str
    Base64 encoded image representing the listing.
    listing_id str
    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.
    location str
    The name of the location this data exchange listing.
    log_linked_dataset_query_user_email bool
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    name str
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    primary_contact str
    Email or URL of the primary point of contact of the listing.
    project str
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher ListingPublisherArgs
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsub_topic ListingPubsubTopicArgs
    Pub/Sub topic source. Structure is documented below.
    request_access str
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restricted_export_config ListingRestrictedExportConfigArgs
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.
    bigqueryDataset Property Map
    Shared dataset i.e. BigQuery dataset source. Structure is documented below.
    categories List<String>
    Categories of the listing. Up to two categories are allowed.
    dataExchangeId String
    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.
    dataProvider Property Map
    Details of the data provider who owns the source data. Structure is documented below.
    description String
    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).
    displayName String
    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.
    documentation String
    Documentation describing the listing.
    icon String
    Base64 encoded image representing the listing.
    listingId String
    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.
    location String
    The name of the location this data exchange listing.
    logLinkedDatasetQueryUserEmail Boolean
    If true, subscriber email logging is enabled and all queries on the linked dataset will log the email address of the querying user. Once enabled, this setting cannot be turned off.
    name String
    The resource name of the listing. e.g. "projects/myproject/locations/US/dataExchanges/123/listings/456"
    primaryContact String
    Email or URL of the primary point of contact of the listing.
    project String
    The ID of the project in which the resource belongs. If it is not provided, the provider project is used.
    publisher Property Map
    Details of the publisher who owns the listing and who can share the source data. Structure is documented below.
    pubsubTopic Property Map
    Pub/Sub topic source. Structure is documented below.
    requestAccess String
    Email or URL of the request access of the listing. Subscribers can use this reference to request access.
    restrictedExportConfig Property Map
    If set, restricted export configuration will be propagated and enforced on the linked dataset. Structure is documented below.

    Supporting Types

    ListingBigqueryDataset, ListingBigqueryDatasetArgs

    Dataset string
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    SelectedResources List<ListingBigqueryDatasetSelectedResource>
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.
    Dataset string
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    SelectedResources []ListingBigqueryDatasetSelectedResource
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.
    dataset String
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    selectedResources List<ListingBigqueryDatasetSelectedResource>
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.
    dataset string
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    selectedResources ListingBigqueryDatasetSelectedResource[]
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.
    dataset str
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    selected_resources Sequence[ListingBigqueryDatasetSelectedResource]
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.
    dataset String
    Resource name of the dataset source for this listing. e.g. projects/myproject/datasets/123
    selectedResources List<Property Map>
    Resource in this dataset that is selectively shared. This field is required for data clean room exchanges. Structure is documented below.

    ListingBigqueryDatasetSelectedResource, ListingBigqueryDatasetSelectedResourceArgs

    Table string
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
    Table string
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
    table String
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
    table string
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
    table str
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"
    table String
    Format: For table: projects/{projectId}/datasets/{datasetId}/tables/{tableId} Example:"projects/test_project/datasets/test_dataset/tables/test_table"

    ListingDataProvider, ListingDataProviderArgs

    Name string
    Name of the data provider.
    PrimaryContact string
    Email or URL of the data provider.
    Name string
    Name of the data provider.
    PrimaryContact string
    Email or URL of the data provider.
    name String
    Name of the data provider.
    primaryContact String
    Email or URL of the data provider.
    name string
    Name of the data provider.
    primaryContact string
    Email or URL of the data provider.
    name str
    Name of the data provider.
    primary_contact str
    Email or URL of the data provider.
    name String
    Name of the data provider.
    primaryContact String
    Email or URL of the data provider.

    ListingPublisher, ListingPublisherArgs

    Name string
    Name of the listing publisher.
    PrimaryContact string
    Email or URL of the listing publisher.
    Name string
    Name of the listing publisher.
    PrimaryContact string
    Email or URL of the listing publisher.
    name String
    Name of the listing publisher.
    primaryContact String
    Email or URL of the listing publisher.
    name string
    Name of the listing publisher.
    primaryContact string
    Email or URL of the listing publisher.
    name str
    Name of the listing publisher.
    primary_contact str
    Email or URL of the listing publisher.
    name String
    Name of the listing publisher.
    primaryContact String
    Email or URL of the listing publisher.

    ListingPubsubTopic, ListingPubsubTopicArgs

    Topic string
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    DataAffinityRegions List<string>
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
    Topic string
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    DataAffinityRegions []string
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
    topic String
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    dataAffinityRegions List<String>
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
    topic string
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    dataAffinityRegions string[]
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
    topic str
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    data_affinity_regions Sequence[str]
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.
    topic String
    Resource name of the Pub/Sub topic source for this listing. e.g. projects/myproject/topics/topicId
    dataAffinityRegions List<String>
    Region hint on where the data might be published. Data affinity regions are modifiable. See https://cloud.google.com/about/locations for full listing of possible Cloud regions.

    ListingRestrictedExportConfig, ListingRestrictedExportConfigArgs

    Enabled bool
    If true, enable restricted export.
    RestrictDirectTableAccess bool
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    RestrictQueryResult bool
    If true, restrict export of query result derived from restricted linked dataset table.
    Enabled bool
    If true, enable restricted export.
    RestrictDirectTableAccess bool
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    RestrictQueryResult bool
    If true, restrict export of query result derived from restricted linked dataset table.
    enabled Boolean
    If true, enable restricted export.
    restrictDirectTableAccess Boolean
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    restrictQueryResult Boolean
    If true, restrict export of query result derived from restricted linked dataset table.
    enabled boolean
    If true, enable restricted export.
    restrictDirectTableAccess boolean
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    restrictQueryResult boolean
    If true, restrict export of query result derived from restricted linked dataset table.
    enabled bool
    If true, enable restricted export.
    restrict_direct_table_access bool
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    restrict_query_result bool
    If true, restrict export of query result derived from restricted linked dataset table.
    enabled Boolean
    If true, enable restricted export.
    restrictDirectTableAccess Boolean
    (Output) If true, restrict direct table access(read api/tabledata.list) on linked table.
    restrictQueryResult Boolean
    If true, restrict export of query result derived from restricted linked dataset table.

    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:

    $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}/listings/{{listing_id}}
    
    $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default {{project}}/{{location}}/{{data_exchange_id}}/{{listing_id}}
    
    $ pulumi import gcp:bigqueryanalyticshub/listing:Listing default {{location}}/{{data_exchange_id}}/{{listing_id}}
    

    To learn more about importing existing cloud resources, see Importing resources.

    Package Details

    Repository
    Google Cloud (GCP) Classic pulumi/pulumi-gcp
    License
    Apache-2.0
    Notes
    This Pulumi package is based on the google-beta Terraform Provider.
    gcp logo
    Google Cloud v8.38.0 published on Monday, Jul 14, 2025 by Pulumi