From ecbc7308c51f6d5f21a6ff41ab5e3ae732ed84c7 Mon Sep 17 00:00:00 2001 From: Ilia Lazebnik Date: Wed, 20 Dec 2023 20:44:55 +0200 Subject: [PATCH] bq analyticshub listing - add support for restrictedExportConfig (#9661) * bq analyticshub listing - add support for restrictedExportConfig * lint * Update mmv1/products/bigqueryanalyticshub/Listing.yaml --------- Co-authored-by: Stephen Lewis (Burrows) --- .../bigqueryanalyticshub/Listing.yaml | 25 ++++++++++++++++ ...ery_analyticshub_listing_restricted.tf.erb | 30 +++++++++++++++++++ 2 files changed, 55 insertions(+) create mode 100644 mmv1/templates/terraform/examples/bigquery_analyticshub_listing_restricted.tf.erb diff --git a/mmv1/products/bigqueryanalyticshub/Listing.yaml b/mmv1/products/bigqueryanalyticshub/Listing.yaml index a4be04d1c723..26d0017a840d 100644 --- a/mmv1/products/bigqueryanalyticshub/Listing.yaml +++ b/mmv1/products/bigqueryanalyticshub/Listing.yaml @@ -53,6 +53,19 @@ examples: data_exchange_id: 'my_data_exchange' listing_id: 'my_listing' description: 'example data exchange' + - !ruby/object:Provider::Terraform::Examples + name: 'bigquery_analyticshub_listing_restricted' + primary_resource_id: 'listing' + primary_resource_name: "fmt.Sprintf(\"tf_test_my_data_exchange%s\", + context[\"\ + random_suffix\"]), fmt.Sprintf(\"tf_test_my_listing%s\", + context[\"random_suffix\"\ + ])" + region_override: 'US' + vars: + data_exchange_id: 'my_data_exchange' + listing_id: 'my_listing' + description: 'example data exchange' properties: - !ruby/object:Api::Type::String name: name @@ -146,3 +159,15 @@ properties: projects/myproject/datasets/123 required: true diff_suppress_func: 'tpgresource.ProjectNumberDiffSuppress' + - !ruby/object:Api::Type::NestedObject + name: restrictedExportConfig + description: If set, restricted export configuration will be propagated and enforced on the linked dataset. + properties: + - !ruby/object:Api::Type::Boolean + name: 'enabled' + description: + If true, enable restricted export. + - !ruby/object:Api::Type::Boolean + name: 'restrictQueryResult' + description: + If true, restrict export of query result derived from restricted linked dataset table. diff --git a/mmv1/templates/terraform/examples/bigquery_analyticshub_listing_restricted.tf.erb b/mmv1/templates/terraform/examples/bigquery_analyticshub_listing_restricted.tf.erb new file mode 100644 index 000000000000..7c3ba2242db1 --- /dev/null +++ b/mmv1/templates/terraform/examples/bigquery_analyticshub_listing_restricted.tf.erb @@ -0,0 +1,30 @@ +resource "google_bigquery_analytics_hub_data_exchange" "<%= ctx[:primary_resource_id] %>" { + location = "US" + data_exchange_id = "<%= ctx[:vars]['data_exchange_id'] %>" + display_name = "<%= ctx[:vars]['data_exchange_id'] %>" + description = "<%= ctx[:vars]['description'] %>" +} + +resource "google_bigquery_analytics_hub_listing" "<%= ctx[:primary_resource_id] %>" { + location = "US" + data_exchange_id = google_bigquery_analytics_hub_data_exchange.<%= ctx[:primary_resource_id] %>.data_exchange_id + listing_id = "<%= ctx[:vars]['listing_id'] %>" + display_name = "<%= ctx[:vars]['listing_id'] %>" + description = "<%= ctx[:vars]['description'] %>" + + bigquery_dataset { + dataset = google_bigquery_dataset.<%= ctx[:primary_resource_id] %>.id + } + + restricted_export_config { + enabled = true + restrict_query_result = true + } +} + +resource "google_bigquery_dataset" "<%= ctx[:primary_resource_id] %>" { + dataset_id = "<%= ctx[:vars]['listing_id'] %>" + friendly_name = "<%= ctx[:vars]['listing_id'] %>" + description = "<%= ctx[:vars]['description'] %>" + location = "US" +} \ No newline at end of file