@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
300 lines (299 loc) • 12.2 kB
TypeScript
import * as pulumi from "@pulumi/pulumi";
import * as inputs from "../types/input";
import * as outputs from "../types/output";
/**
* A Bigquery Analytics Hub data exchange
*
* To get more information about DataExchange, see:
*
* * [API documentation](https://cloud.google.com/bigquery/docs/reference/analytics-hub/rest/v1/projects.locations.dataExchanges)
* * How-to Guides
* * [Official Documentation](https://cloud.google.com/bigquery/docs/analytics-hub-introduction)
*
* ## Example Usage
*
* ### Bigquery Analyticshub Data Exchange Basic
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const dataExchange = new gcp.bigqueryanalyticshub.DataExchange("data_exchange", {
* location: "US",
* dataExchangeId: "my_data_exchange",
* displayName: "my_data_exchange",
* description: "example data exchange",
* });
* ```
* ### Bigquery Analyticshub Data Exchange Dcr
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const dataExchange = new gcp.bigqueryanalyticshub.DataExchange("data_exchange", {
* location: "US",
* dataExchangeId: "dcr_data_exchange",
* displayName: "dcr_data_exchange",
* description: "example dcr data exchange",
* sharingEnvironmentConfig: {
* dcrExchangeConfig: {},
* },
* });
* ```
* ### Bigquery Analyticshub Data Exchange Log Linked Dataset Query User
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const dataExchange = new gcp.bigqueryanalyticshub.DataExchange("data_exchange", {
* location: "US",
* dataExchangeId: "tf_test_log_email_data_exchange",
* displayName: "tf_test_log_email_data_exchange",
* description: "Example for log email test for data exchange",
* logLinkedDatasetQueryUserEmail: true,
* });
* ```
* ### Bigquery Analyticshub Public Data Exchange
*
* ```typescript
* import * as pulumi from "@pulumi/pulumi";
* import * as gcp from "@pulumi/gcp";
*
* const dataExchange = new gcp.bigqueryanalyticshub.DataExchange("data_exchange", {
* location: "US",
* dataExchangeId: "public_data_exchange",
* displayName: "public_data_exchange",
* description: "Example for public data exchange",
* discoveryType: "DISCOVERY_TYPE_PUBLIC",
* });
* ```
*
* ## Import
*
* DataExchange can be imported using any of these accepted formats:
*
* * `projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}`
*
* * `{{project}}/{{location}}/{{data_exchange_id}}`
*
* * `{{location}}/{{data_exchange_id}}`
*
* * `{{data_exchange_id}}`
*
* When using the `pulumi import` command, DataExchange can be imported using one of the formats above. For example:
*
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/dataExchange:DataExchange default projects/{{project}}/locations/{{location}}/dataExchanges/{{data_exchange_id}}
* ```
*
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/dataExchange:DataExchange default {{project}}/{{location}}/{{data_exchange_id}}
* ```
*
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/dataExchange:DataExchange default {{location}}/{{data_exchange_id}}
* ```
*
* ```sh
* $ pulumi import gcp:bigqueryanalyticshub/dataExchange:DataExchange default {{data_exchange_id}}
* ```
*/
export declare class DataExchange extends pulumi.CustomResource {
/**
* Get an existing DataExchange resource's state with the given name, ID, and optional extra
* properties used to qualify the lookup.
*
* @param name The _unique_ name of the resulting resource.
* @param id The _unique_ provider ID of the resource to lookup.
* @param state Any extra arguments used during the lookup.
* @param opts Optional settings to control the behavior of the CustomResource.
*/
static get(name: string, id: pulumi.Input<pulumi.ID>, state?: DataExchangeState, opts?: pulumi.CustomResourceOptions): DataExchange;
/**
* Returns true if the given object is an instance of DataExchange. This is designed to work even
* when multiple copies of the Pulumi SDK have been loaded into the same process.
*/
static isInstance(obj: any): obj is DataExchange;
/**
* 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.
*/
readonly dataExchangeId: pulumi.Output<string>;
/**
* Description of the data exchange.
*/
readonly description: pulumi.Output<string | undefined>;
/**
* Type of discovery on the discovery page for all the listings under this exchange. Cannot be set for a Data Clean Room. Updating this field also updates (overwrites) the discoveryType field for all the listings under this exchange.
* Possible values are: `DISCOVERY_TYPE_PRIVATE`, `DISCOVERY_TYPE_PUBLIC`.
*/
readonly discoveryType: pulumi.Output<string>;
/**
* Human-readable display name of the data exchange. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and must not start or end with spaces.
*/
readonly displayName: pulumi.Output<string>;
/**
* Documentation describing the data exchange.
*/
readonly documentation: pulumi.Output<string | undefined>;
/**
* Base64 encoded image representing the data exchange.
*/
readonly icon: pulumi.Output<string | undefined>;
/**
* Number of listings contained in the data exchange.
*/
readonly listingCount: pulumi.Output<number>;
/**
* The name of the location this data exchange.
*/
readonly location: pulumi.Output<string>;
/**
* 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.
*/
readonly logLinkedDatasetQueryUserEmail: pulumi.Output<boolean | undefined>;
/**
* The resource name of the data exchange, for example:
* "projects/myproject/locations/US/dataExchanges/123"
*/
readonly name: pulumi.Output<string>;
/**
* Email or URL of the primary point of contact of the data exchange.
*/
readonly primaryContact: pulumi.Output<string | undefined>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
readonly project: pulumi.Output<string>;
/**
* Configurable data sharing environment option for a data exchange.
* This field is required for data clean room exchanges.
* Structure is documented below.
*/
readonly sharingEnvironmentConfig: pulumi.Output<outputs.bigqueryanalyticshub.DataExchangeSharingEnvironmentConfig>;
/**
* Create a DataExchange resource with the given unique name, arguments, and options.
*
* @param name The _unique_ name of the resource.
* @param args The arguments to use to populate this resource's properties.
* @param opts A bag of options that control this resource's behavior.
*/
constructor(name: string, args: DataExchangeArgs, opts?: pulumi.CustomResourceOptions);
}
/**
* Input properties used for looking up and filtering DataExchange resources.
*/
export interface DataExchangeState {
/**
* 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.
*/
dataExchangeId?: pulumi.Input<string>;
/**
* Description of the data exchange.
*/
description?: pulumi.Input<string>;
/**
* Type of discovery on the discovery page for all the listings under this exchange. Cannot be set for a Data Clean Room. Updating this field also updates (overwrites) the discoveryType field for all the listings under this exchange.
* Possible values are: `DISCOVERY_TYPE_PRIVATE`, `DISCOVERY_TYPE_PUBLIC`.
*/
discoveryType?: pulumi.Input<string>;
/**
* Human-readable display name of the data exchange. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and must not start or end with spaces.
*/
displayName?: pulumi.Input<string>;
/**
* Documentation describing the data exchange.
*/
documentation?: pulumi.Input<string>;
/**
* Base64 encoded image representing the data exchange.
*/
icon?: pulumi.Input<string>;
/**
* Number of listings contained in the data exchange.
*/
listingCount?: pulumi.Input<number>;
/**
* The name of the location this data exchange.
*/
location?: pulumi.Input<string>;
/**
* 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.
*/
logLinkedDatasetQueryUserEmail?: pulumi.Input<boolean>;
/**
* The resource name of the data exchange, for example:
* "projects/myproject/locations/US/dataExchanges/123"
*/
name?: pulumi.Input<string>;
/**
* Email or URL of the primary point of contact of the data exchange.
*/
primaryContact?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* Configurable data sharing environment option for a data exchange.
* This field is required for data clean room exchanges.
* Structure is documented below.
*/
sharingEnvironmentConfig?: pulumi.Input<inputs.bigqueryanalyticshub.DataExchangeSharingEnvironmentConfig>;
}
/**
* The set of arguments for constructing a DataExchange resource.
*/
export interface DataExchangeArgs {
/**
* 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.
*/
dataExchangeId: pulumi.Input<string>;
/**
* Description of the data exchange.
*/
description?: pulumi.Input<string>;
/**
* Type of discovery on the discovery page for all the listings under this exchange. Cannot be set for a Data Clean Room. Updating this field also updates (overwrites) the discoveryType field for all the listings under this exchange.
* Possible values are: `DISCOVERY_TYPE_PRIVATE`, `DISCOVERY_TYPE_PUBLIC`.
*/
discoveryType?: pulumi.Input<string>;
/**
* Human-readable display name of the data exchange. The display name must contain only Unicode letters, numbers (0-9), underscores (_), dashes (-), spaces ( ), and must not start or end with spaces.
*/
displayName: pulumi.Input<string>;
/**
* Documentation describing the data exchange.
*/
documentation?: pulumi.Input<string>;
/**
* Base64 encoded image representing the data exchange.
*/
icon?: pulumi.Input<string>;
/**
* The name of the location this data exchange.
*/
location: pulumi.Input<string>;
/**
* 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.
*/
logLinkedDatasetQueryUserEmail?: pulumi.Input<boolean>;
/**
* Email or URL of the primary point of contact of the data exchange.
*/
primaryContact?: pulumi.Input<string>;
/**
* The ID of the project in which the resource belongs.
* If it is not provided, the provider project is used.
*/
project?: pulumi.Input<string>;
/**
* Configurable data sharing environment option for a data exchange.
* This field is required for data clean room exchanges.
* Structure is documented below.
*/
sharingEnvironmentConfig?: pulumi.Input<inputs.bigqueryanalyticshub.DataExchangeSharingEnvironmentConfig>;
}