Listing Subscription
A Bigquery Analytics Hub listing subscription To get more information about ListingSubscription, see:
How-to Guides
Note: When importing the resource with
pulumi import
, provide the destination project and location in the format projects/{{destination_project}}/locations/{{destination_location}}/subscriptions/{{subscription_id}}
Example Usage
Bigquery Analyticshub Listing Subscription Basic
import * as pulumi from "@pulumi/pulumi";
import * as gcp from "@pulumi/gcp";
const subscription = new gcp.bigqueryanalyticshub.DataExchange("subscription", {
location: "US",
dataExchangeId: "my_data_exchange",
displayName: "my_data_exchange",
description: "",
});
const subscriptionDataset = new gcp.bigquery.Dataset("subscription", {
datasetId: "my_listing",
friendlyName: "my_listing",
description: "",
location: "US",
});
const subscriptionListing = new gcp.bigqueryanalyticshub.Listing("subscription", {
location: "US",
dataExchangeId: subscription.dataExchangeId,
listingId: "my_listing",
displayName: "my_listing",
description: "",
bigqueryDataset: {
dataset: subscriptionDataset.id,
},
});
const subscriptionListingSubscription = new gcp.bigqueryanalyticshub.ListingSubscription("subscription", {
location: "US",
dataExchangeId: subscription.dataExchangeId,
listingId: subscriptionListing.listingId,
destinationDataset: {
description: "A test subscription",
friendlyName: "👋",
labels: {
testing: "123",
},
location: "US",
datasetReference: {
datasetId: "destination_dataset",
projectId: subscriptionDataset.project,
},
},
});
import pulumi
import pulumi_gcp as gcp
subscription = gcp.bigqueryanalyticshub.DataExchange("subscription",
location="US",
data_exchange_id="my_data_exchange",
display_name="my_data_exchange",
description="")
subscription_dataset = gcp.bigquery.Dataset("subscription",
dataset_id="my_listing",
friendly_name="my_listing",
description="",
location="US")
subscription_listing = gcp.bigqueryanalyticshub.Listing("subscription",
location="US",
data_exchange_id=subscription.data_exchange_id,
listing_id="my_listing",
display_name="my_listing",
description="",
bigquery_dataset={
"dataset": subscription_dataset.id,
})
subscription_listing_subscription = gcp.bigqueryanalyticshub.ListingSubscription("subscription",
location="US",
data_exchange_id=subscription.data_exchange_id,
listing_id=subscription_listing.listing_id,
destination_dataset={
"description": "A test subscription",
"friendly_name": "👋",
"labels": {
"testing": "123",
},
"location": "US",
"dataset_reference": {
"dataset_id": "destination_dataset",
"project_id": subscription_dataset.project,
},
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Gcp = Pulumi.Gcp;
return await Deployment.RunAsync(() =>
{
var subscription = new Gcp.BigQueryAnalyticsHub.DataExchange("subscription", new()
{
Location = "US",
DataExchangeId = "my_data_exchange",
DisplayName = "my_data_exchange",
Description = "",
});
var subscriptionDataset = new Gcp.BigQuery.Dataset("subscription", new()
{
DatasetId = "my_listing",
FriendlyName = "my_listing",
Description = "",
Location = "US",
});
var subscriptionListing = new Gcp.BigQueryAnalyticsHub.Listing("subscription", new()
{
Location = "US",
DataExchangeId = subscription.DataExchangeId,
ListingId = "my_listing",
DisplayName = "my_listing",
Description = "",
BigqueryDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingBigqueryDatasetArgs
{
Dataset = subscriptionDataset.Id,
},
});
var subscriptionListingSubscription = new Gcp.BigQueryAnalyticsHub.ListingSubscription("subscription", new()
{
Location = "US",
DataExchangeId = subscription.DataExchangeId,
ListingId = subscriptionListing.ListingId,
DestinationDataset = new Gcp.BigQueryAnalyticsHub.Inputs.ListingSubscriptionDestinationDatasetArgs
{
Description = "A test subscription",
FriendlyName = "👋",
Labels =
{
{ "testing", "123" },
},
Location = "US",
DatasetReference = new Gcp.BigQueryAnalyticsHub.Inputs.ListingSubscriptionDestinationDatasetDatasetReferenceArgs
{
DatasetId = "destination_dataset",
ProjectId = subscriptionDataset.Project,
},
},
});
});
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 {
subscription, err := bigqueryanalyticshub.NewDataExchange(ctx, "subscription", &bigqueryanalyticshub.DataExchangeArgs{
Location: pulumi.String("US"),
DataExchangeId: pulumi.String("my_data_exchange"),
DisplayName: pulumi.String("my_data_exchange"),
Description: pulumi.String(""),
})
if err != nil {
return err
}
subscriptionDataset, err := bigquery.NewDataset(ctx, "subscription", &bigquery.DatasetArgs{
DatasetId: pulumi.String("my_listing"),
FriendlyName: pulumi.String("my_listing"),
Description: pulumi.String(""),
Location: pulumi.String("US"),
})
if err != nil {
return err
}
subscriptionListing, err := bigqueryanalyticshub.NewListing(ctx, "subscription", &bigqueryanalyticshub.ListingArgs{
Location: pulumi.String("US"),
DataExchangeId: subscription.DataExchangeId,
ListingId: pulumi.String("my_listing"),
DisplayName: pulumi.String("my_listing"),
Description: pulumi.String(""),
BigqueryDataset: &bigqueryanalyticshub.ListingBigqueryDatasetArgs{
Dataset: subscriptionDataset.ID(),
},
})
if err != nil {
return err
}
_, err = bigqueryanalyticshub.NewListingSubscription(ctx, "subscription", &bigqueryanalyticshub.ListingSubscriptionArgs{
Location: pulumi.String("US"),
DataExchangeId: subscription.DataExchangeId,
ListingId: subscriptionListing.ListingId,
DestinationDataset: &bigqueryanalyticshub.ListingSubscriptionDestinationDatasetArgs{
Description: pulumi.String("A test subscription"),
FriendlyName: pulumi.String("👋"),
Labels: pulumi.StringMap{
"testing": pulumi.String("123"),
},
Location: pulumi.String("US"),
DatasetReference: &bigqueryanalyticshub.ListingSubscriptionDestinationDatasetDatasetReferenceArgs{
DatasetId: pulumi.String("destination_dataset"),
ProjectId: subscriptionDataset.Project,
},
},
})
if err != nil {
return err
}
return nil
})
}
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.ListingSubscription;
import com.pulumi.gcp.bigqueryanalyticshub.ListingSubscriptionArgs;
import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingSubscriptionDestinationDatasetArgs;
import com.pulumi.gcp.bigqueryanalyticshub.inputs.ListingSubscriptionDestinationDatasetDatasetReferenceArgs;
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 subscription = new DataExchange("subscription", DataExchangeArgs.builder()
.location("US")
.dataExchangeId("my_data_exchange")
.displayName("my_data_exchange")
.description("")
.build());
var subscriptionDataset = new Dataset("subscriptionDataset", DatasetArgs.builder()
.datasetId("my_listing")
.friendlyName("my_listing")
.description("")
.location("US")
.build());
var subscriptionListing = new Listing("subscriptionListing", ListingArgs.builder()
.location("US")
.dataExchangeId(subscription.dataExchangeId())
.listingId("my_listing")
.displayName("my_listing")
.description("")
.bigqueryDataset(ListingBigqueryDatasetArgs.builder()
.dataset(subscriptionDataset.id())
.build())
.build());
var subscriptionListingSubscription = new ListingSubscription("subscriptionListingSubscription", ListingSubscriptionArgs.builder()
.location("US")
.dataExchangeId(subscription.dataExchangeId())
.listingId(subscriptionListing.listingId())
.destinationDataset(ListingSubscriptionDestinationDatasetArgs.builder()
.description("A test subscription")
.friendlyName("👋")
.labels(Map.of("testing", "123"))
.location("US")
.datasetReference(ListingSubscriptionDestinationDatasetDatasetReferenceArgs.builder()
.datasetId("destination_dataset")
.projectId(subscriptionDataset.project())
.build())
.build())
.build());
}
}
resources:
subscription:
type: gcp:bigqueryanalyticshub:DataExchange
properties:
location: US
dataExchangeId: my_data_exchange
displayName: my_data_exchange
description: ""
subscriptionListing:
type: gcp:bigqueryanalyticshub:Listing
name: subscription
properties:
location: US
dataExchangeId: ${subscription.dataExchangeId}
listingId: my_listing
displayName: my_listing
description: ""
bigqueryDataset:
dataset: ${subscriptionDataset.id}
subscriptionDataset:
type: gcp:bigquery:Dataset
name: subscription
properties:
datasetId: my_listing
friendlyName: my_listing
description: ""
location: US
subscriptionListingSubscription:
type: gcp:bigqueryanalyticshub:ListingSubscription
name: subscription
properties:
location: US
dataExchangeId: ${subscription.dataExchangeId}
listingId: ${subscriptionListing.listingId}
destinationDataset:
description: A test subscription
friendlyName: "\U0001F44B"
labels:
testing: '123'
location: US
datasetReference:
datasetId: destination_dataset
projectId: ${subscriptionDataset.project}
Import
ListingSubscription can be imported using any of these accepted formats:
projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}
{{project}}/{{location}}/{{subscription_id}}
{{location}}/{{subscription_id}}
When using thepulumi import
command, ListingSubscription can be imported using one of the formats above. For example:
$ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default projects/{{project}}/locations/{{location}}/subscriptions/{{subscription_id}}
$ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{project}}/{{location}}/{{subscription_id}}
$ pulumi import gcp:bigqueryanalyticshub/listingSubscription:ListingSubscription default {{location}}/{{subscription_id}}
Properties
Timestamp when the subscription was created.
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.
The destination dataset for this subscription. Structure is documented below.
Timestamp when the subscription was last modified.
Output only. Map of listing resource names to associated linked resource, e.g. projects/123/locations/US/dataExchanges/456/listings/789 projects/123/datasets/my_dataset Structure is documented below.
Output only. Linked resources created in the subscription. Only contains values if state = STATE_ACTIVE. Structure is documented below.
Display name of the project of this subscription.
Organization of the project this subscription belongs to.
Listing shared asset type.
Email of the subscriber.
The subscription id used to reference the subscription.