UNPKG

@pulumi/gcp

Version:

A Pulumi package for creating and managing Google Cloud Platform resources.

300 lines (299 loc) • 12.2 kB
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>; }