google-cloud-bigquery-analytics_hub-v1 0.10.0 → 0.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 44c37a6dede033b3d9a209a4f2b367f9eb46904833817b42f63088d67419b795
4
- data.tar.gz: 47a72c6ec884a289a0f7c4855fe31d6fb1cc98891b0a3cec73fe3fbdfe77fc90
3
+ metadata.gz: 58ce0b27959b46ecee0f7b27129c72cd3315a729d5d0a003e2d3fef2af7d34af
4
+ data.tar.gz: d9a690937e41ebcd8e4bc0bcebdc637a90e877f04ca846355c9bd0569d20bc82
5
5
  SHA512:
6
- metadata.gz: 9fb90afdc9638d1c8ec44879befbe8686cdd4830ae09745ffe7ac2aa3e9cfec370a7d31e004040884494d995f17d36af66b38ff9c2aaf95da7f0106cf96abbe2
7
- data.tar.gz: a02bf0f9385260714176f713342c05ebea9d0e89cb1675ab96b9e0e7f14ed7cfd8bb95fac305e026d00f1dcd84db54a1ce2aacd989cb95c49ec8f06e01337998
6
+ metadata.gz: 9d825eaa536616559eec061f2611aad39d192f897e7a9f04cd124a0865e93cbf873dc9f6acaa813f737cea5fe3527719c54399beca5fdd15bdc2ddc443365c2f
7
+ data.tar.gz: 35f0026e9f6d81bf0f56ede1c37828edb0e5fef1ef4e4cc9f1dbfc80904774f877ffccc67d4631d3ede20b16970cdb3ec842c7af413a318f131dc6ee28ec6150
@@ -514,9 +514,7 @@ module Google
514
514
  # e.g. `projects/myproject/locations/US`.
515
515
  # @param data_exchange_id [::String]
516
516
  # Required. The ID of the data exchange.
517
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
518
- # Should not use characters that require URL-escaping, or characters
519
- # outside of ASCII, spaces.
517
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
520
518
  # Max length: 100 bytes.
521
519
  # @param data_exchange [::Google::Cloud::Bigquery::AnalyticsHub::V1::DataExchange, ::Hash]
522
520
  # Required. The data exchange to create.
@@ -967,9 +965,7 @@ module Google
967
965
  # e.g. `projects/myproject/locations/US/dataExchanges/123`.
968
966
  # @param listing_id [::String]
969
967
  # Required. The ID of the listing to create.
970
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
971
- # Should not use characters that require URL-escaping, or characters
972
- # outside of ASCII, spaces.
968
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
973
969
  # Max length: 100 bytes.
974
970
  # @param listing [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing, ::Hash]
975
971
  # Required. The listing to create.
@@ -1231,13 +1227,20 @@ module Google
1231
1227
  # @param options [::Gapic::CallOptions, ::Hash]
1232
1228
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1233
1229
  #
1234
- # @overload subscribe_listing(destination_dataset: nil, name: nil)
1230
+ # @overload subscribe_listing(destination_dataset: nil, destination_pubsub_subscription: nil, name: nil)
1235
1231
  # Pass arguments to `subscribe_listing` via keyword arguments. Note that at
1236
1232
  # least one keyword argument is required. To specify no parameters, or to keep all
1237
1233
  # the default parameter values, pass an empty Hash as a request object (see above).
1238
1234
  #
1239
1235
  # @param destination_dataset [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset, ::Hash]
1240
1236
  # Input only. BigQuery destination dataset to create for the subscriber.
1237
+ #
1238
+ # Note: The following fields are mutually exclusive: `destination_dataset`, `destination_pubsub_subscription`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1239
+ # @param destination_pubsub_subscription [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationPubSubSubscription, ::Hash]
1240
+ # Input only. Destination Pub/Sub subscription to create for the
1241
+ # subscriber.
1242
+ #
1243
+ # Note: The following fields are mutually exclusive: `destination_pubsub_subscription`, `destination_dataset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1241
1244
  # @param name [::String]
1242
1245
  # Required. Resource name of the listing that you want to subscribe to.
1243
1246
  # e.g. `projects/myproject/locations/US/dataExchanges/123/listings/456`.
@@ -1307,8 +1310,8 @@ module Google
1307
1310
  end
1308
1311
 
1309
1312
  ##
1310
- # Creates a Subscription to a Data Exchange. This is a long-running operation
1311
- # as it will create one or more linked datasets.
1313
+ # Creates a Subscription to a Data Clean Room. This is a long-running
1314
+ # operation as it will create one or more linked datasets.
1312
1315
  #
1313
1316
  # @overload subscribe_data_exchange(request, options = nil)
1314
1317
  # Pass arguments to `subscribe_data_exchange` via a request object, either of type
@@ -1320,7 +1323,7 @@ module Google
1320
1323
  # @param options [::Gapic::CallOptions, ::Hash]
1321
1324
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
1322
1325
  #
1323
- # @overload subscribe_data_exchange(name: nil, destination: nil, subscription: nil, subscriber_contact: nil)
1326
+ # @overload subscribe_data_exchange(name: nil, destination: nil, destination_dataset: nil, subscription: nil, subscriber_contact: nil)
1324
1327
  # Pass arguments to `subscribe_data_exchange` via keyword arguments. Note that at
1325
1328
  # least one keyword argument is required. To specify no parameters, or to keep all
1326
1329
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1331,6 +1334,8 @@ module Google
1331
1334
  # @param destination [::String]
1332
1335
  # Required. The parent resource path of the Subscription.
1333
1336
  # e.g. `projects/subscriberproject/locations/US`
1337
+ # @param destination_dataset [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset, ::Hash]
1338
+ # Optional. BigQuery destination dataset to create for the subscriber.
1334
1339
  # @param subscription [::String]
1335
1340
  # Required. Name of the subscription to create.
1336
1341
  # e.g. `subscription1`
@@ -137,6 +137,23 @@ module Google
137
137
  "projects/#{project}/datasets/#{dataset}/tables/#{table}"
138
138
  end
139
139
 
140
+ ##
141
+ # Create a fully-qualified Topic resource string.
142
+ #
143
+ # The resource will be in the following format:
144
+ #
145
+ # `projects/{project}/topics/{topic}`
146
+ #
147
+ # @param project [String]
148
+ # @param topic [String]
149
+ #
150
+ # @return [::String]
151
+ def topic_path project:, topic:
152
+ raise ::ArgumentError, "project cannot contain /" if project.to_s.include? "/"
153
+
154
+ "projects/#{project}/topics/#{topic}"
155
+ end
156
+
140
157
  extend self
141
158
  end
142
159
  end
@@ -486,9 +486,7 @@ module Google
486
486
  # e.g. `projects/myproject/locations/US`.
487
487
  # @param data_exchange_id [::String]
488
488
  # Required. The ID of the data exchange.
489
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
490
- # Should not use characters that require URL-escaping, or characters
491
- # outside of ASCII, spaces.
489
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
492
490
  # Max length: 100 bytes.
493
491
  # @param data_exchange [::Google::Cloud::Bigquery::AnalyticsHub::V1::DataExchange, ::Hash]
494
492
  # Required. The data exchange to create.
@@ -904,9 +902,7 @@ module Google
904
902
  # e.g. `projects/myproject/locations/US/dataExchanges/123`.
905
903
  # @param listing_id [::String]
906
904
  # Required. The ID of the listing to create.
907
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
908
- # Should not use characters that require URL-escaping, or characters
909
- # outside of ASCII, spaces.
905
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
910
906
  # Max length: 100 bytes.
911
907
  # @param listing [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing, ::Hash]
912
908
  # Required. The listing to create.
@@ -1147,13 +1143,20 @@ module Google
1147
1143
  # @param options [::Gapic::CallOptions, ::Hash]
1148
1144
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1149
1145
  #
1150
- # @overload subscribe_listing(destination_dataset: nil, name: nil)
1146
+ # @overload subscribe_listing(destination_dataset: nil, destination_pubsub_subscription: nil, name: nil)
1151
1147
  # Pass arguments to `subscribe_listing` via keyword arguments. Note that at
1152
1148
  # least one keyword argument is required. To specify no parameters, or to keep all
1153
1149
  # the default parameter values, pass an empty Hash as a request object (see above).
1154
1150
  #
1155
1151
  # @param destination_dataset [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset, ::Hash]
1156
1152
  # Input only. BigQuery destination dataset to create for the subscriber.
1153
+ #
1154
+ # Note: The following fields are mutually exclusive: `destination_dataset`, `destination_pubsub_subscription`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1155
+ # @param destination_pubsub_subscription [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationPubSubSubscription, ::Hash]
1156
+ # Input only. Destination Pub/Sub subscription to create for the
1157
+ # subscriber.
1158
+ #
1159
+ # Note: The following fields are mutually exclusive: `destination_pubsub_subscription`, `destination_dataset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
1157
1160
  # @param name [::String]
1158
1161
  # Required. Resource name of the listing that you want to subscribe to.
1159
1162
  # e.g. `projects/myproject/locations/US/dataExchanges/123/listings/456`.
@@ -1216,8 +1219,8 @@ module Google
1216
1219
  end
1217
1220
 
1218
1221
  ##
1219
- # Creates a Subscription to a Data Exchange. This is a long-running operation
1220
- # as it will create one or more linked datasets.
1222
+ # Creates a Subscription to a Data Clean Room. This is a long-running
1223
+ # operation as it will create one or more linked datasets.
1221
1224
  #
1222
1225
  # @overload subscribe_data_exchange(request, options = nil)
1223
1226
  # Pass arguments to `subscribe_data_exchange` via a request object, either of type
@@ -1229,7 +1232,7 @@ module Google
1229
1232
  # @param options [::Gapic::CallOptions, ::Hash]
1230
1233
  # Overrides the default settings for this call, e.g, timeout, retries etc. Optional.
1231
1234
  #
1232
- # @overload subscribe_data_exchange(name: nil, destination: nil, subscription: nil, subscriber_contact: nil)
1235
+ # @overload subscribe_data_exchange(name: nil, destination: nil, destination_dataset: nil, subscription: nil, subscriber_contact: nil)
1233
1236
  # Pass arguments to `subscribe_data_exchange` via keyword arguments. Note that at
1234
1237
  # least one keyword argument is required. To specify no parameters, or to keep all
1235
1238
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -1240,6 +1243,8 @@ module Google
1240
1243
  # @param destination [::String]
1241
1244
  # Required. The parent resource path of the Subscription.
1242
1245
  # e.g. `projects/subscriberproject/locations/US`
1246
+ # @param destination_dataset [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset, ::Hash]
1247
+ # Optional. BigQuery destination dataset to create for the subscriber.
1243
1248
  # @param subscription [::String]
1244
1249
  # Required. Name of the subscription to create.
1245
1250
  # e.g. `subscription1`
@@ -22,7 +22,7 @@ module Google
22
22
  module Bigquery
23
23
  module AnalyticsHub
24
24
  module V1
25
- VERSION = "0.10.0"
25
+ VERSION = "0.11.0"
26
26
  end
27
27
  end
28
28
  end
@@ -8,6 +8,7 @@ require 'google/api/annotations_pb'
8
8
  require 'google/api/client_pb'
9
9
  require 'google/api/field_behavior_pb'
10
10
  require 'google/api/resource_pb'
11
+ require 'google/cloud/bigquery/analyticshub/v1/pubsub_pb'
11
12
  require 'google/iam/v1/iam_policy_pb'
12
13
  require 'google/iam/v1/policy_pb'
13
14
  require 'google/longrunning/operations_pb'
@@ -17,7 +18,7 @@ require 'google/protobuf/timestamp_pb'
17
18
  require 'google/protobuf/wrappers_pb'
18
19
 
19
20
 
20
- descriptor_data = "\n8google/cloud/bigquery/analyticshub/v1/analyticshub.proto\x12%google.cloud.bigquery.analyticshub.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\x8a\x04\n\x0c\x44\x61taExchange\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdocumentation\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rlisting_count\x18\x06 \x01(\x05\x42\x03\xe0\x41\x03\x12\x11\n\x04icon\x18\x07 \x01(\x0c\x42\x03\xe0\x41\x01\x12h\n\x1asharing_environment_config\x18\x08 \x01(\x0b\x32?.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfigB\x03\xe0\x41\x01\x12V\n\x0e\x64iscovery_type\x18\t \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.DiscoveryTypeB\x03\xe0\x41\x01H\x00\x88\x01\x01:t\xea\x41q\n(analyticshub.googleapis.com/DataExchange\x12\x45projects/{project}/locations/{location}/dataExchanges/{data_exchange}B\x11\n\x0f_discovery_type\"\x94\x04\n\x18SharingEnvironmentConfig\x12x\n\x17\x64\x65\x66\x61ult_exchange_config\x18\x01 \x01(\x0b\x32U.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfig.DefaultExchangeConfigH\x00\x12p\n\x13\x64\x63r_exchange_config\x18\x02 \x01(\x0b\x32Q.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfig.DcrExchangeConfigH\x00\x1a\x17\n\x15\x44\x65\x66\x61ultExchangeConfig\x1a\xe3\x01\n\x11\x44\x63rExchangeConfig\x12>\n,single_selected_resource_sharing_restriction\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12\x35\n#single_linked_dataset_per_cleanroom\x18\x02 \x01(\x08\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x42/\n-_single_selected_resource_sharing_restrictionB&\n$_single_linked_dataset_per_cleanroomB\r\n\x0b\x65nvironment\"?\n\x0c\x44\x61taProvider\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x02 \x01(\tB\x03\xe0\x41\x01\"<\n\tPublisher\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x02 \x01(\tB\x03\xe0\x41\x01\"O\n\x1b\x44\x65stinationDatasetReference\x12\x17\n\ndataset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nproject_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\x8c\x03\n\x12\x44\x65stinationDataset\x12\x62\n\x11\x64\x61taset_reference\x18\x01 \x01(\x0b\x32\x42.google.cloud.bigquery.analyticshub.v1.DestinationDatasetReferenceB\x03\xe0\x41\x02\x12\x38\n\rfriendly_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValueB\x03\xe0\x41\x01\x12\x36\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValueB\x03\xe0\x41\x01\x12Z\n\x06labels\x18\x04 \x03(\x0b\x32\x45.google.cloud.bigquery.analyticshub.v1.DestinationDataset.LabelsEntryB\x03\xe0\x41\x01\x12\x15\n\x08location\x18\x05 \x01(\tB\x03\xe0\x41\x02\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\xa0\x12\n\x07Listing\x12\x65\n\x10\x62igquery_dataset\x18\x06 \x01(\x0b\x32\x44.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSourceB\x03\xe0\x41\x02H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdocumentation\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12H\n\x05state\x18\x07 \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.Listing.StateB\x03\xe0\x41\x03\x12\x11\n\x04icon\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12O\n\rdata_provider\x18\t \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataProviderB\x03\xe0\x41\x01\x12P\n\ncategories\x18\n \x03(\x0e\x32\x37.google.cloud.bigquery.analyticshub.v1.Listing.CategoryB\x03\xe0\x41\x01\x12H\n\tpublisher\x18\x0b \x01(\x0b\x32\x30.google.cloud.bigquery.analyticshub.v1.PublisherB\x03\xe0\x41\x01\x12\x1b\n\x0erequest_access\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12l\n\x18restricted_export_config\x18\r \x01(\x0b\x32\x45.google.cloud.bigquery.analyticshub.v1.Listing.RestrictedExportConfigB\x03\xe0\x41\x01\x12V\n\x0e\x64iscovery_type\x18\x0e \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.DiscoveryTypeB\x03\xe0\x41\x01H\x01\x88\x01\x01\x1a\xf7\x04\n\x15\x42igQueryDatasetSource\x12\x35\n\x07\x64\x61taset\x18\x01 \x01(\tB$\xfa\x41!\n\x1f\x62igquery.googleapis.com/Dataset\x12v\n\x12selected_resources\x18\x02 \x03(\x0b\x32U.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.SelectedResourceB\x03\xe0\x41\x01\x12\x82\x01\n\x18restricted_export_policy\x18\x03 \x01(\x0b\x32[.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.RestrictedExportPolicyB\x03\xe0\x41\x01\x1aV\n\x10SelectedResource\x12\x36\n\x05table\x18\x01 \x01(\tB%\xe0\x41\x01\xfa\x41\x1f\n\x1d\x62igquery.googleapis.com/TableH\x00\x42\n\n\x08resource\x1a\xd1\x01\n\x16RestrictedExportPolicy\x12\x30\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x12\x45\n\x1crestrict_direct_table_access\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x12>\n\x15restrict_query_result\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x1a}\n\x16RestrictedExportConfig\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12)\n\x1crestrict_direct_table_access\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03\x12\"\n\x15restrict_query_result\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"*\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\"\xb7\x04\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x43\x41TEGORY_OTHERS\x10\x01\x12&\n\"CATEGORY_ADVERTISING_AND_MARKETING\x10\x02\x12\x15\n\x11\x43\x41TEGORY_COMMERCE\x10\x03\x12$\n CATEGORY_CLIMATE_AND_ENVIRONMENT\x10\x04\x12\x19\n\x15\x43\x41TEGORY_DEMOGRAPHICS\x10\x05\x12\x16\n\x12\x43\x41TEGORY_ECONOMICS\x10\x06\x12\x16\n\x12\x43\x41TEGORY_EDUCATION\x10\x07\x12\x13\n\x0f\x43\x41TEGORY_ENERGY\x10\x08\x12\x16\n\x12\x43\x41TEGORY_FINANCIAL\x10\t\x12\x13\n\x0f\x43\x41TEGORY_GAMING\x10\n\x12\x17\n\x13\x43\x41TEGORY_GEOSPATIAL\x10\x0b\x12(\n$CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE\x10\x0c\x12\x12\n\x0e\x43\x41TEGORY_MEDIA\x10\r\x12\x1a\n\x16\x43\x41TEGORY_PUBLIC_SECTOR\x10\x0e\x12\x13\n\x0f\x43\x41TEGORY_RETAIL\x10\x0f\x12\x13\n\x0f\x43\x41TEGORY_SPORTS\x10\x10\x12!\n\x1d\x43\x41TEGORY_SCIENCE_AND_RESEARCH\x10\x11\x12)\n%CATEGORY_TRANSPORTATION_AND_LOGISTICS\x10\x12\x12\x1f\n\x1b\x43\x41TEGORY_TRAVEL_AND_TOURISM\x10\x13:\x82\x01\xea\x41\x7f\n#analyticshub.googleapis.com/Listing\x12Xprojects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}B\x08\n\x06sourceB\x11\n\x0f_discovery_type\"\x84\x07\n\x0cSubscription\x12\x16\n\x07listing\x18\x05 \x01(\tB\x03\xe0\x41\x03H\x00\x12\x1c\n\rdata_exchange\x18\x06 \x01(\tB\x03\xe0\x41\x03H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x36\n\rcreation_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x39\n\x10last_modify_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1c\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12&\n\x19organization_display_name\x18\n \x01(\tB\x03\xe0\x41\x03\x12M\n\x05state\x18\x07 \x01(\x0e\x32\x39.google.cloud.bigquery.analyticshub.v1.Subscription.StateB\x03\xe0\x41\x03\x12j\n\x12linked_dataset_map\x18\x08 \x03(\x0b\x32I.google.cloud.bigquery.analyticshub.v1.Subscription.LinkedDatasetMapEntryB\x03\xe0\x41\x03\x12\x1f\n\x12subscriber_contact\x18\t \x01(\tB\x03\xe0\x41\x03\x1a<\n\x0eLinkedResource\x12\x1d\n\x0elinked_dataset\x18\x01 \x01(\tB\x03\xe0\x41\x03H\x00\x42\x0b\n\treference\x1a{\n\x15LinkedDatasetMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Q\n\x05value\x18\x02 \x01(\x0b\x32\x42.google.cloud.bigquery.analyticshub.v1.Subscription.LinkedResource:\x02\x38\x01\"U\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTATE_ACTIVE\x10\x01\x12\x0f\n\x0bSTATE_STALE\x10\x02\x12\x12\n\x0eSTATE_INACTIVE\x10\x03:s\xea\x41p\n(analyticshub.googleapis.com/Subscription\x12\x44projects/{project}/locations/{location}/subscriptions/{subscription}B\x0f\n\rresource_name\"\x83\x01\n\x18ListDataExchangesRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/DataExchange\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x81\x01\n\x19ListDataExchangesResponse\x12K\n\x0e\x64\x61ta_exchanges\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x1bListOrgDataExchangesRequest\x12\x19\n\x0corganization\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x84\x01\n\x1cListOrgDataExchangesResponse\x12K\n\x0e\x64\x61ta_exchanges\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"X\n\x16GetDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\"\xcd\x01\n\x19\x43reateDataExchangeRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/DataExchange\x12\x1d\n\x10\x64\x61ta_exchange_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12O\n\rdata_exchange\x18\x03 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchangeB\x03\xe0\x41\x02\"\xa2\x01\n\x19UpdateDataExchangeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12O\n\rdata_exchange\x18\x02 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchangeB\x03\xe0\x41\x02\"[\n\x19\x44\x65leteDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\"~\n\x13ListListingsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"q\n\x14ListListingsResponse\x12@\n\x08listings\x18\x01 \x03(\x0b\x32..google.cloud.bigquery.analyticshub.v1.Listing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"N\n\x11GetListingRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/Listing\"\xb7\x01\n\x14\x43reateListingRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12\x17\n\nlisting_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x07listing\x18\x03 \x01(\x0b\x32..google.cloud.bigquery.analyticshub.v1.ListingB\x03\xe0\x41\x02\"\x92\x01\n\x14UpdateListingRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x44\n\x07listing\x18\x02 \x01(\x0b\x32..google.cloud.bigquery.analyticshub.v1.ListingB\x03\xe0\x41\x02\"Q\n\x14\x44\x65leteListingRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/Listing\"\xc2\x01\n\x17SubscribeListingRequest\x12]\n\x13\x64\x65stination_dataset\x18\x03 \x01(\x0b\x32\x39.google.cloud.bigquery.analyticshub.v1.DestinationDatasetB\x03\xe0\x41\x04H\x00\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/ListingB\r\n\x0b\x64\x65stination\"e\n\x18SubscribeListingResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"\xd5\x01\n\x1cSubscribeDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12>\n\x0b\x64\x65stination\x18\x02 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12\x19\n\x0csubscription\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\x12subscriber_contact\x18\x03 \x01(\t\"j\n\x1dSubscribeDataExchangeResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"\\\n\x1aRefreshSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"h\n\x1bRefreshSubscriptionResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"X\n\x16GetSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x93\x01\n\x18ListSubscriptionsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/Subscription\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x80\x01\n\x19ListSubscriptionsResponse\x12J\n\rsubscriptions\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x93\x01\n&ListSharedResourceSubscriptionsRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12%\n\x1dinclude_deleted_subscriptions\x18\x02 \x01(\x08\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x9e\x01\n\'ListSharedResourceSubscriptionsResponse\x12Z\n\x1dshared_resource_subscriptions\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"[\n\x19RevokeSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x1c\n\x1aRevokeSubscriptionResponse\"[\n\x19\x44\x65leteSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03*f\n\rDiscoveryType\x12\x1e\n\x1a\x44ISCOVERY_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x44ISCOVERY_TYPE_PRIVATE\x10\x01\x12\x19\n\x15\x44ISCOVERY_TYPE_PUBLIC\x10\x02\x32\xda*\n\x13\x41nalyticsHubService\x12\xda\x01\n\x11ListDataExchanges\x12?.google.cloud.bigquery.analyticshub.v1.ListDataExchangesRequest\x1a@.google.cloud.bigquery.analyticshub.v1.ListDataExchangesResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{parent=projects/*/locations/*}/dataExchanges\x12\xf4\x01\n\x14ListOrgDataExchanges\x12\x42.google.cloud.bigquery.analyticshub.v1.ListOrgDataExchangesRequest\x1a\x43.google.cloud.bigquery.analyticshub.v1.ListOrgDataExchangesResponse\"S\xda\x41\x0corganization\x82\xd3\xe4\x93\x02>\x12</v1/{organization=organizations/*/locations/*}/dataExchanges\x12\xc7\x01\n\x0fGetDataExchange\x12=.google.cloud.bigquery.analyticshub.v1.GetDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/locations/*/dataExchanges/*}\x12\xec\x01\n\x12\x43reateDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.CreateDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"_\xda\x41\x14parent,data_exchange\x82\xd3\xe4\x93\x02\x42\"1/v1/{parent=projects/*/locations/*}/dataExchanges:\rdata_exchange\x12\xff\x01\n\x12UpdateDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.UpdateDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"r\xda\x41\x19\x64\x61ta_exchange,update_mask\x82\xd3\xe4\x93\x02P2?/v1/{data_exchange.name=projects/*/locations/*/dataExchanges/*}:\rdata_exchange\x12\xb0\x01\n\x12\x44\x65leteDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.DeleteDataExchangeRequest\x1a\x16.google.protobuf.Empty\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v1/{name=projects/*/locations/*/dataExchanges/*}\x12\xd6\x01\n\x0cListListings\x12:.google.cloud.bigquery.analyticshub.v1.ListListingsRequest\x1a;.google.cloud.bigquery.analyticshub.v1.ListListingsResponse\"M\xda\x41\x06parent\x82\xd3\xe4\x93\x02>\x12</v1/{parent=projects/*/locations/*/dataExchanges/*}/listings\x12\xc3\x01\n\nGetListing\x12\x38.google.cloud.bigquery.analyticshub.v1.GetListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"K\xda\x41\x04name\x82\xd3\xe4\x93\x02>\x12</v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}\x12\xdc\x01\n\rCreateListing\x12;.google.cloud.bigquery.analyticshub.v1.CreateListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"^\xda\x41\x0eparent,listing\x82\xd3\xe4\x93\x02G\"</v1/{parent=projects/*/locations/*/dataExchanges/*}/listings:\x07listing\x12\xe9\x01\n\rUpdateListing\x12;.google.cloud.bigquery.analyticshub.v1.UpdateListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"k\xda\x41\x13listing,update_mask\x82\xd3\xe4\x93\x02O2D/v1/{listing.name=projects/*/locations/*/dataExchanges/*/listings/*}:\x07listing\x12\xb1\x01\n\rDeleteListing\x12;.google.cloud.bigquery.analyticshub.v1.DeleteListingRequest\x1a\x16.google.protobuf.Empty\"K\xda\x41\x04name\x82\xd3\xe4\x93\x02>*</v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}\x12\xed\x01\n\x10SubscribeListing\x12>.google.cloud.bigquery.analyticshub.v1.SubscribeListingRequest\x1a?.google.cloud.bigquery.analyticshub.v1.SubscribeListingResponse\"X\xda\x41\x04name\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}:subscribe:\x01*\x12\x80\x02\n\x15SubscribeDataExchange\x12\x43.google.cloud.bigquery.analyticshub.v1.SubscribeDataExchangeRequest\x1a\x1d.google.longrunning.Operation\"\x82\x01\xca\x41\x32\n\x1dSubscribeDataExchangeResponse\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02@\";/v1/{name=projects/*/locations/*/dataExchanges/*}:subscribe:\x01*\x12\xf7\x01\n\x13RefreshSubscription\x12\x41.google.cloud.bigquery.analyticshub.v1.RefreshSubscriptionRequest\x1a\x1d.google.longrunning.Operation\"~\xca\x41\x30\n\x1bRefreshSubscriptionResponse\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02>\"9/v1/{name=projects/*/locations/*/subscriptions/*}:refresh:\x01*\x12\xc7\x01\n\x0fGetSubscription\x12=.google.cloud.bigquery.analyticshub.v1.GetSubscriptionRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/locations/*/subscriptions/*}\x12\xda\x01\n\x11ListSubscriptions\x12?.google.cloud.bigquery.analyticshub.v1.ListSubscriptionsRequest\x1a@.google.cloud.bigquery.analyticshub.v1.ListSubscriptionsResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{parent=projects/*/locations/*}/subscriptions\x12\xf4\x02\n\x1fListSharedResourceSubscriptions\x12M.google.cloud.bigquery.analyticshub.v1.ListSharedResourceSubscriptionsRequest\x1aN.google.cloud.bigquery.analyticshub.v1.ListSharedResourceSubscriptionsResponse\"\xb1\x01\xda\x41\x08resource\x82\xd3\xe4\x93\x02\x9f\x01\x12G/v1/{resource=projects/*/locations/*/dataExchanges/*}:listSubscriptionsZT\x12R/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:listSubscriptions\x12\xe5\x01\n\x12RevokeSubscription\x12@.google.cloud.bigquery.analyticshub.v1.RevokeSubscriptionRequest\x1a\x41.google.cloud.bigquery.analyticshub.v1.RevokeSubscriptionResponse\"J\xda\x41\x04name\x82\xd3\xe4\x93\x02=\"8/v1/{name=projects/*/locations/*/subscriptions/*}:revoke:\x01*\x12\xe4\x01\n\x12\x44\x65leteSubscription\x12@.google.cloud.bigquery.analyticshub.v1.DeleteSubscriptionRequest\x1a\x1d.google.longrunning.Operation\"m\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v1/{name=projects/*/locations/*/subscriptions/*}\x12\xb7\x02\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xeb\x01\x82\xd3\xe4\x93\x02\xe4\x01\"B/v1/{resource=projects/*/locations/*/dataExchanges/*}:getIamPolicy:\x01*ZR\"M/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:getIamPolicy:\x01*ZG\"B/v1/{resource=projects/*/locations/*/subscriptions/*}:getIamPolicy:\x01*\x12\xb7\x02\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xeb\x01\x82\xd3\xe4\x93\x02\xe4\x01\"B/v1/{resource=projects/*/locations/*/dataExchanges/*}:setIamPolicy:\x01*ZR\"M/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:setIamPolicy:\x01*ZG\"B/v1/{resource=projects/*/locations/*/subscriptions/*}:setIamPolicy:\x01*\x12\x9a\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xae\x01\x82\xd3\xe4\x93\x02\xa7\x01\"H/v1/{resource=projects/*/locations/*/dataExchanges/*}:testIamPermissions:\x01*ZX\"S/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:testIamPermissions:\x01*\x1ax\xca\x41\x1b\x61nalyticshub.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformB\xae\x03\n)com.google.cloud.bigquery.analyticshub.v1B\x11\x41nalyticsHubProtoP\x01ZMcloud.google.com/go/bigquery/analyticshub/apiv1/analyticshubpb;analyticshubpb\xaa\x02%Google.Cloud.BigQuery.AnalyticsHub.V1\xca\x02%Google\\Cloud\\BigQuery\\AnalyticsHub\\V1\xea\x02)Google::Cloud::Bigquery::AnalyticsHub::V1\xea\x41H\n\x1f\x62igquery.googleapis.com/Dataset\x12%projects/{project}/datasets/{dataset}\xea\x41U\n\x1d\x62igquery.googleapis.com/Table\x12\x34projects/{project}/datasets/{dataset}/tables/{table}b\x06proto3"
21
+ descriptor_data = "\n8google/cloud/bigquery/analyticshub/v1/analyticshub.proto\x12%google.cloud.bigquery.analyticshub.v1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x32google/cloud/bigquery/analyticshub/v1/pubsub.proto\x1a\x1egoogle/iam/v1/iam_policy.proto\x1a\x1agoogle/iam/v1/policy.proto\x1a#google/longrunning/operations.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1fgoogle/protobuf/timestamp.proto\x1a\x1egoogle/protobuf/wrappers.proto\"\xe9\x04\n\x0c\x44\x61taExchange\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdocumentation\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rlisting_count\x18\x06 \x01(\x05\x42\x03\xe0\x41\x03\x12\x11\n\x04icon\x18\x07 \x01(\x0c\x42\x03\xe0\x41\x01\x12h\n\x1asharing_environment_config\x18\x08 \x01(\x0b\x32?.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfigB\x03\xe0\x41\x01\x12V\n\x0e\x64iscovery_type\x18\t \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.DiscoveryTypeB\x03\xe0\x41\x01H\x00\x88\x01\x01\x12\x35\n#log_linked_dataset_query_user_email\x18\n \x01(\x08\x42\x03\xe0\x41\x01H\x01\x88\x01\x01:t\xea\x41q\n(analyticshub.googleapis.com/DataExchange\x12\x45projects/{project}/locations/{location}/dataExchanges/{data_exchange}B\x11\n\x0f_discovery_typeB&\n$_log_linked_dataset_query_user_email\"\x94\x04\n\x18SharingEnvironmentConfig\x12x\n\x17\x64\x65\x66\x61ult_exchange_config\x18\x01 \x01(\x0b\x32U.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfig.DefaultExchangeConfigH\x00\x12p\n\x13\x64\x63r_exchange_config\x18\x02 \x01(\x0b\x32Q.google.cloud.bigquery.analyticshub.v1.SharingEnvironmentConfig.DcrExchangeConfigH\x00\x1a\x17\n\x15\x44\x65\x66\x61ultExchangeConfig\x1a\xe3\x01\n\x11\x44\x63rExchangeConfig\x12>\n,single_selected_resource_sharing_restriction\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03H\x00\x88\x01\x01\x12\x35\n#single_linked_dataset_per_cleanroom\x18\x02 \x01(\x08\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x42/\n-_single_selected_resource_sharing_restrictionB&\n$_single_linked_dataset_per_cleanroomB\r\n\x0b\x65nvironment\"?\n\x0c\x44\x61taProvider\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x02 \x01(\tB\x03\xe0\x41\x01\"<\n\tPublisher\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x02 \x01(\tB\x03\xe0\x41\x01\"O\n\x1b\x44\x65stinationDatasetReference\x12\x17\n\ndataset_id\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x17\n\nproject_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\"\x8c\x03\n\x12\x44\x65stinationDataset\x12\x62\n\x11\x64\x61taset_reference\x18\x01 \x01(\x0b\x32\x42.google.cloud.bigquery.analyticshub.v1.DestinationDatasetReferenceB\x03\xe0\x41\x02\x12\x38\n\rfriendly_name\x18\x02 \x01(\x0b\x32\x1c.google.protobuf.StringValueB\x03\xe0\x41\x01\x12\x36\n\x0b\x64\x65scription\x18\x03 \x01(\x0b\x32\x1c.google.protobuf.StringValueB\x03\xe0\x41\x01\x12Z\n\x06labels\x18\x04 \x03(\x0b\x32\x45.google.cloud.bigquery.analyticshub.v1.DestinationDataset.LabelsEntryB\x03\xe0\x41\x01\x12\x15\n\x08location\x18\x05 \x01(\tB\x03\xe0\x41\x02\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"|\n\x1d\x44\x65stinationPubSubSubscription\x12[\n\x13pubsub_subscription\x18\x01 \x01(\x0b\x32\x39.google.cloud.bigquery.analyticshub.v1.PubSubSubscriptionB\x03\xe0\x41\x02\"\x9b\x15\n\x07Listing\x12`\n\x10\x62igquery_dataset\x18\x06 \x01(\x0b\x32\x44.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSourceH\x00\x12X\n\x0cpubsub_topic\x18\x10 \x01(\x0b\x32@.google.cloud.bigquery.analyticshub.v1.Listing.PubSubTopicSourceH\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x19\n\x0c\x64isplay_name\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x18\n\x0b\x64\x65scription\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0fprimary_contact\x18\x04 \x01(\tB\x03\xe0\x41\x01\x12\x1a\n\rdocumentation\x18\x05 \x01(\tB\x03\xe0\x41\x01\x12H\n\x05state\x18\x07 \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.Listing.StateB\x03\xe0\x41\x03\x12\x11\n\x04icon\x18\x08 \x01(\x0c\x42\x03\xe0\x41\x01\x12O\n\rdata_provider\x18\t \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataProviderB\x03\xe0\x41\x01\x12P\n\ncategories\x18\n \x03(\x0e\x32\x37.google.cloud.bigquery.analyticshub.v1.Listing.CategoryB\x03\xe0\x41\x01\x12H\n\tpublisher\x18\x0b \x01(\x0b\x32\x30.google.cloud.bigquery.analyticshub.v1.PublisherB\x03\xe0\x41\x01\x12\x1b\n\x0erequest_access\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12l\n\x18restricted_export_config\x18\r \x01(\x0b\x32\x45.google.cloud.bigquery.analyticshub.v1.Listing.RestrictedExportConfigB\x03\xe0\x41\x01\x12V\n\x0e\x64iscovery_type\x18\x0e \x01(\x0e\x32\x34.google.cloud.bigquery.analyticshub.v1.DiscoveryTypeB\x03\xe0\x41\x01H\x01\x88\x01\x01\x12U\n\rresource_type\x18\x0f \x01(\x0e\x32\x39.google.cloud.bigquery.analyticshub.v1.SharedResourceTypeB\x03\xe0\x41\x03\x12\x35\n#log_linked_dataset_query_user_email\x18\x12 \x01(\x08\x42\x03\xe0\x41\x01H\x02\x88\x01\x01\x1a\xfa\x04\n\x15\x42igQueryDatasetSource\x12\x38\n\x07\x64\x61taset\x18\x01 \x01(\tB\'\xe0\x41\x01\xfa\x41!\n\x1f\x62igquery.googleapis.com/Dataset\x12v\n\x12selected_resources\x18\x02 \x03(\x0b\x32U.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.SelectedResourceB\x03\xe0\x41\x01\x12\x82\x01\n\x18restricted_export_policy\x18\x03 \x01(\x0b\x32[.google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.RestrictedExportPolicyB\x03\xe0\x41\x01\x1aV\n\x10SelectedResource\x12\x36\n\x05table\x18\x01 \x01(\tB%\xe0\x41\x01\xfa\x41\x1f\n\x1d\x62igquery.googleapis.com/TableH\x00\x42\n\n\x08resource\x1a\xd1\x01\n\x16RestrictedExportPolicy\x12\x30\n\x07\x65nabled\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x12\x45\n\x1crestrict_direct_table_access\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x12>\n\x15restrict_query_result\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.BoolValueB\x03\xe0\x41\x01\x1ak\n\x11PubSubTopicSource\x12\x32\n\x05topic\x18\x01 \x01(\tB#\xe0\x41\x02\xfa\x41\x1d\n\x1bpubsub.googleapis.com/Topic\x12\"\n\x15\x64\x61ta_affinity_regions\x18\x02 \x03(\tB\x03\xe0\x41\x01\x1a}\n\x16RestrictedExportConfig\x12\x14\n\x07\x65nabled\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12)\n\x1crestrict_direct_table_access\x18\x01 \x01(\x08\x42\x03\xe0\x41\x03\x12\"\n\x15restrict_query_result\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\"*\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\n\n\x06\x41\x43TIVE\x10\x01\"\xb7\x04\n\x08\x43\x61tegory\x12\x18\n\x14\x43\x41TEGORY_UNSPECIFIED\x10\x00\x12\x13\n\x0f\x43\x41TEGORY_OTHERS\x10\x01\x12&\n\"CATEGORY_ADVERTISING_AND_MARKETING\x10\x02\x12\x15\n\x11\x43\x41TEGORY_COMMERCE\x10\x03\x12$\n CATEGORY_CLIMATE_AND_ENVIRONMENT\x10\x04\x12\x19\n\x15\x43\x41TEGORY_DEMOGRAPHICS\x10\x05\x12\x16\n\x12\x43\x41TEGORY_ECONOMICS\x10\x06\x12\x16\n\x12\x43\x41TEGORY_EDUCATION\x10\x07\x12\x13\n\x0f\x43\x41TEGORY_ENERGY\x10\x08\x12\x16\n\x12\x43\x41TEGORY_FINANCIAL\x10\t\x12\x13\n\x0f\x43\x41TEGORY_GAMING\x10\n\x12\x17\n\x13\x43\x41TEGORY_GEOSPATIAL\x10\x0b\x12(\n$CATEGORY_HEALTHCARE_AND_LIFE_SCIENCE\x10\x0c\x12\x12\n\x0e\x43\x41TEGORY_MEDIA\x10\r\x12\x1a\n\x16\x43\x41TEGORY_PUBLIC_SECTOR\x10\x0e\x12\x13\n\x0f\x43\x41TEGORY_RETAIL\x10\x0f\x12\x13\n\x0f\x43\x41TEGORY_SPORTS\x10\x10\x12!\n\x1d\x43\x41TEGORY_SCIENCE_AND_RESEARCH\x10\x11\x12)\n%CATEGORY_TRANSPORTATION_AND_LOGISTICS\x10\x12\x12\x1f\n\x1b\x43\x41TEGORY_TRAVEL_AND_TOURISM\x10\x13:\x82\x01\xea\x41\x7f\n#analyticshub.googleapis.com/Listing\x12Xprojects/{project}/locations/{location}/dataExchanges/{data_exchange}/listings/{listing}B\x08\n\x06sourceB\x11\n\x0f_discovery_typeB&\n$_log_linked_dataset_query_user_email\"\xde\t\n\x0cSubscription\x12\x16\n\x07listing\x18\x05 \x01(\tB\x03\xe0\x41\x03H\x00\x12\x1c\n\rdata_exchange\x18\x06 \x01(\tB\x03\xe0\x41\x03H\x00\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x03\x12\x36\n\rcreation_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x39\n\x10last_modify_time\x18\x03 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x1c\n\x0forganization_id\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12&\n\x19organization_display_name\x18\n \x01(\tB\x03\xe0\x41\x03\x12M\n\x05state\x18\x07 \x01(\x0e\x32\x39.google.cloud.bigquery.analyticshub.v1.Subscription.StateB\x03\xe0\x41\x03\x12j\n\x12linked_dataset_map\x18\x08 \x03(\x0b\x32I.google.cloud.bigquery.analyticshub.v1.Subscription.LinkedDatasetMapEntryB\x03\xe0\x41\x03\x12\x1f\n\x12subscriber_contact\x18\t \x01(\tB\x03\xe0\x41\x03\x12\x61\n\x10linked_resources\x18\x0b \x03(\x0b\x32\x42.google.cloud.bigquery.analyticshub.v1.Subscription.LinkedResourceB\x03\xe0\x41\x03\x12U\n\rresource_type\x18\x0c \x01(\x0e\x32\x39.google.cloud.bigquery.analyticshub.v1.SharedResourceTypeB\x03\xe0\x41\x03\x12\x35\n#log_linked_dataset_query_user_email\x18\x0e \x01(\x08\x42\x03\xe0\x41\x03H\x01\x88\x01\x01\x1a}\n\x0eLinkedResource\x12\x1d\n\x0elinked_dataset\x18\x01 \x01(\tB\x03\xe0\x41\x03H\x00\x12)\n\x1alinked_pubsub_subscription\x18\x03 \x01(\tB\x03\xe0\x41\x03H\x00\x12\x14\n\x07listing\x18\x02 \x01(\tB\x03\xe0\x41\x03\x42\x0b\n\treference\x1a{\n\x15LinkedDatasetMapEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12Q\n\x05value\x18\x02 \x01(\x0b\x32\x42.google.cloud.bigquery.analyticshub.v1.Subscription.LinkedResource:\x02\x38\x01\"U\n\x05State\x12\x15\n\x11STATE_UNSPECIFIED\x10\x00\x12\x10\n\x0cSTATE_ACTIVE\x10\x01\x12\x0f\n\x0bSTATE_STALE\x10\x02\x12\x12\n\x0eSTATE_INACTIVE\x10\x03:s\xea\x41p\n(analyticshub.googleapis.com/Subscription\x12\x44projects/{project}/locations/{location}/subscriptions/{subscription}B\x0f\n\rresource_nameB&\n$_log_linked_dataset_query_user_email\"\x83\x01\n\x18ListDataExchangesRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/DataExchange\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x81\x01\n\x19ListDataExchangesResponse\x12K\n\x0e\x64\x61ta_exchanges\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"_\n\x1bListOrgDataExchangesRequest\x12\x19\n\x0corganization\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"\x84\x01\n\x1cListOrgDataExchangesResponse\x12K\n\x0e\x64\x61ta_exchanges\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"X\n\x16GetDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\"\xcd\x01\n\x19\x43reateDataExchangeRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/DataExchange\x12\x1d\n\x10\x64\x61ta_exchange_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12O\n\rdata_exchange\x18\x03 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchangeB\x03\xe0\x41\x02\"\xa2\x01\n\x19UpdateDataExchangeRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12O\n\rdata_exchange\x18\x02 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.DataExchangeB\x03\xe0\x41\x02\"[\n\x19\x44\x65leteDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\"~\n\x13ListListingsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12\x11\n\tpage_size\x18\x02 \x01(\x05\x12\x12\n\npage_token\x18\x03 \x01(\t\"q\n\x14ListListingsResponse\x12@\n\x08listings\x18\x01 \x03(\x0b\x32..google.cloud.bigquery.analyticshub.v1.Listing\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"N\n\x11GetListingRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/Listing\"\xb7\x01\n\x14\x43reateListingRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12\x17\n\nlisting_id\x18\x02 \x01(\tB\x03\xe0\x41\x02\x12\x44\n\x07listing\x18\x03 \x01(\x0b\x32..google.cloud.bigquery.analyticshub.v1.ListingB\x03\xe0\x41\x02\"\x92\x01\n\x14UpdateListingRequest\x12\x34\n\x0bupdate_mask\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.FieldMaskB\x03\xe0\x41\x02\x12\x44\n\x07listing\x18\x02 \x01(\x0b\x32..google.cloud.bigquery.analyticshub.v1.ListingB\x03\xe0\x41\x02\"Q\n\x14\x44\x65leteListingRequest\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/Listing\"\xb8\x02\n\x17SubscribeListingRequest\x12]\n\x13\x64\x65stination_dataset\x18\x03 \x01(\x0b\x32\x39.google.cloud.bigquery.analyticshub.v1.DestinationDatasetB\x03\xe0\x41\x04H\x00\x12t\n\x1f\x64\x65stination_pubsub_subscription\x18\x05 \x01(\x0b\x32\x44.google.cloud.bigquery.analyticshub.v1.DestinationPubSubSubscriptionB\x03\xe0\x41\x04H\x00\x12\x39\n\x04name\x18\x01 \x01(\tB+\xe0\x41\x02\xfa\x41%\n#analyticshub.googleapis.com/ListingB\r\n\x0b\x64\x65stination\"e\n\x18SubscribeListingResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"\xb2\x02\n\x1cSubscribeDataExchangeRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/DataExchange\x12>\n\x0b\x64\x65stination\x18\x02 \x01(\tB)\xe0\x41\x02\xfa\x41#\n!locations.googleapis.com/Location\x12[\n\x13\x64\x65stination_dataset\x18\x05 \x01(\x0b\x32\x39.google.cloud.bigquery.analyticshub.v1.DestinationDatasetB\x03\xe0\x41\x01\x12\x19\n\x0csubscription\x18\x04 \x01(\tB\x03\xe0\x41\x02\x12\x1a\n\x12subscriber_contact\x18\x03 \x01(\t\"j\n\x1dSubscribeDataExchangeResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"\\\n\x1aRefreshSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"h\n\x1bRefreshSubscriptionResponse\x12I\n\x0csubscription\x18\x01 \x01(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"X\n\x16GetSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x93\x01\n\x18ListSubscriptionsRequest\x12@\n\x06parent\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\x12(analyticshub.googleapis.com/Subscription\x12\x0e\n\x06\x66ilter\x18\x02 \x01(\t\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x80\x01\n\x19ListSubscriptionsResponse\x12J\n\rsubscriptions\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"\x93\x01\n&ListSharedResourceSubscriptionsRequest\x12\x1b\n\x08resource\x18\x01 \x01(\tB\t\xe0\x41\x02\xfa\x41\x03\n\x01*\x12%\n\x1dinclude_deleted_subscriptions\x18\x02 \x01(\x08\x12\x11\n\tpage_size\x18\x03 \x01(\x05\x12\x12\n\npage_token\x18\x04 \x01(\t\"\x9e\x01\n\'ListSharedResourceSubscriptionsResponse\x12Z\n\x1dshared_resource_subscriptions\x18\x01 \x03(\x0b\x32\x33.google.cloud.bigquery.analyticshub.v1.Subscription\x12\x17\n\x0fnext_page_token\x18\x02 \x01(\t\"[\n\x19RevokeSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x1c\n\x1aRevokeSubscriptionResponse\"[\n\x19\x44\x65leteSubscriptionRequest\x12>\n\x04name\x18\x01 \x01(\tB0\xe0\x41\x02\xfa\x41*\n(analyticshub.googleapis.com/Subscription\"\x80\x02\n\x11OperationMetadata\x12\x34\n\x0b\x63reate_time\x18\x01 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x31\n\x08\x65nd_time\x18\x02 \x01(\x0b\x32\x1a.google.protobuf.TimestampB\x03\xe0\x41\x03\x12\x13\n\x06target\x18\x03 \x01(\tB\x03\xe0\x41\x03\x12\x11\n\x04verb\x18\x04 \x01(\tB\x03\xe0\x41\x03\x12\x1b\n\x0estatus_message\x18\x05 \x01(\tB\x03\xe0\x41\x03\x12#\n\x16requested_cancellation\x18\x06 \x01(\x08\x42\x03\xe0\x41\x03\x12\x18\n\x0b\x61pi_version\x18\x07 \x01(\tB\x03\xe0\x41\x03*f\n\rDiscoveryType\x12\x1e\n\x1a\x44ISCOVERY_TYPE_UNSPECIFIED\x10\x00\x12\x1a\n\x16\x44ISCOVERY_TYPE_PRIVATE\x10\x01\x12\x19\n\x15\x44ISCOVERY_TYPE_PUBLIC\x10\x02*b\n\x12SharedResourceType\x12$\n SHARED_RESOURCE_TYPE_UNSPECIFIED\x10\x00\x12\x14\n\x10\x42IGQUERY_DATASET\x10\x01\x12\x10\n\x0cPUBSUB_TOPIC\x10\x02\x32\xda*\n\x13\x41nalyticsHubService\x12\xda\x01\n\x11ListDataExchanges\x12?.google.cloud.bigquery.analyticshub.v1.ListDataExchangesRequest\x1a@.google.cloud.bigquery.analyticshub.v1.ListDataExchangesResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{parent=projects/*/locations/*}/dataExchanges\x12\xf4\x01\n\x14ListOrgDataExchanges\x12\x42.google.cloud.bigquery.analyticshub.v1.ListOrgDataExchangesRequest\x1a\x43.google.cloud.bigquery.analyticshub.v1.ListOrgDataExchangesResponse\"S\xda\x41\x0corganization\x82\xd3\xe4\x93\x02>\x12</v1/{organization=organizations/*/locations/*}/dataExchanges\x12\xc7\x01\n\x0fGetDataExchange\x12=.google.cloud.bigquery.analyticshub.v1.GetDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/locations/*/dataExchanges/*}\x12\xec\x01\n\x12\x43reateDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.CreateDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"_\xda\x41\x14parent,data_exchange\x82\xd3\xe4\x93\x02\x42\"1/v1/{parent=projects/*/locations/*}/dataExchanges:\rdata_exchange\x12\xff\x01\n\x12UpdateDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.UpdateDataExchangeRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.DataExchange\"r\xda\x41\x19\x64\x61ta_exchange,update_mask\x82\xd3\xe4\x93\x02P2?/v1/{data_exchange.name=projects/*/locations/*/dataExchanges/*}:\rdata_exchange\x12\xb0\x01\n\x12\x44\x65leteDataExchange\x12@.google.cloud.bigquery.analyticshub.v1.DeleteDataExchangeRequest\x1a\x16.google.protobuf.Empty\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v1/{name=projects/*/locations/*/dataExchanges/*}\x12\xd6\x01\n\x0cListListings\x12:.google.cloud.bigquery.analyticshub.v1.ListListingsRequest\x1a;.google.cloud.bigquery.analyticshub.v1.ListListingsResponse\"M\xda\x41\x06parent\x82\xd3\xe4\x93\x02>\x12</v1/{parent=projects/*/locations/*/dataExchanges/*}/listings\x12\xc3\x01\n\nGetListing\x12\x38.google.cloud.bigquery.analyticshub.v1.GetListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"K\xda\x41\x04name\x82\xd3\xe4\x93\x02>\x12</v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}\x12\xdc\x01\n\rCreateListing\x12;.google.cloud.bigquery.analyticshub.v1.CreateListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"^\xda\x41\x0eparent,listing\x82\xd3\xe4\x93\x02G\"</v1/{parent=projects/*/locations/*/dataExchanges/*}/listings:\x07listing\x12\xe9\x01\n\rUpdateListing\x12;.google.cloud.bigquery.analyticshub.v1.UpdateListingRequest\x1a..google.cloud.bigquery.analyticshub.v1.Listing\"k\xda\x41\x13listing,update_mask\x82\xd3\xe4\x93\x02O2D/v1/{listing.name=projects/*/locations/*/dataExchanges/*/listings/*}:\x07listing\x12\xb1\x01\n\rDeleteListing\x12;.google.cloud.bigquery.analyticshub.v1.DeleteListingRequest\x1a\x16.google.protobuf.Empty\"K\xda\x41\x04name\x82\xd3\xe4\x93\x02>*</v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}\x12\xed\x01\n\x10SubscribeListing\x12>.google.cloud.bigquery.analyticshub.v1.SubscribeListingRequest\x1a?.google.cloud.bigquery.analyticshub.v1.SubscribeListingResponse\"X\xda\x41\x04name\x82\xd3\xe4\x93\x02K\"F/v1/{name=projects/*/locations/*/dataExchanges/*/listings/*}:subscribe:\x01*\x12\x80\x02\n\x15SubscribeDataExchange\x12\x43.google.cloud.bigquery.analyticshub.v1.SubscribeDataExchangeRequest\x1a\x1d.google.longrunning.Operation\"\x82\x01\xca\x41\x32\n\x1dSubscribeDataExchangeResponse\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02@\";/v1/{name=projects/*/locations/*/dataExchanges/*}:subscribe:\x01*\x12\xf7\x01\n\x13RefreshSubscription\x12\x41.google.cloud.bigquery.analyticshub.v1.RefreshSubscriptionRequest\x1a\x1d.google.longrunning.Operation\"~\xca\x41\x30\n\x1bRefreshSubscriptionResponse\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02>\"9/v1/{name=projects/*/locations/*/subscriptions/*}:refresh:\x01*\x12\xc7\x01\n\x0fGetSubscription\x12=.google.cloud.bigquery.analyticshub.v1.GetSubscriptionRequest\x1a\x33.google.cloud.bigquery.analyticshub.v1.Subscription\"@\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{name=projects/*/locations/*/subscriptions/*}\x12\xda\x01\n\x11ListSubscriptions\x12?.google.cloud.bigquery.analyticshub.v1.ListSubscriptionsRequest\x1a@.google.cloud.bigquery.analyticshub.v1.ListSubscriptionsResponse\"B\xda\x41\x06parent\x82\xd3\xe4\x93\x02\x33\x12\x31/v1/{parent=projects/*/locations/*}/subscriptions\x12\xf4\x02\n\x1fListSharedResourceSubscriptions\x12M.google.cloud.bigquery.analyticshub.v1.ListSharedResourceSubscriptionsRequest\x1aN.google.cloud.bigquery.analyticshub.v1.ListSharedResourceSubscriptionsResponse\"\xb1\x01\xda\x41\x08resource\x82\xd3\xe4\x93\x02\x9f\x01\x12G/v1/{resource=projects/*/locations/*/dataExchanges/*}:listSubscriptionsZT\x12R/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:listSubscriptions\x12\xe5\x01\n\x12RevokeSubscription\x12@.google.cloud.bigquery.analyticshub.v1.RevokeSubscriptionRequest\x1a\x41.google.cloud.bigquery.analyticshub.v1.RevokeSubscriptionResponse\"J\xda\x41\x04name\x82\xd3\xe4\x93\x02=\"8/v1/{name=projects/*/locations/*/subscriptions/*}:revoke:\x01*\x12\xe4\x01\n\x12\x44\x65leteSubscription\x12@.google.cloud.bigquery.analyticshub.v1.DeleteSubscriptionRequest\x1a\x1d.google.longrunning.Operation\"m\xca\x41*\n\x15google.protobuf.Empty\x12\x11OperationMetadata\xda\x41\x04name\x82\xd3\xe4\x93\x02\x33*1/v1/{name=projects/*/locations/*/subscriptions/*}\x12\xb7\x02\n\x0cGetIamPolicy\x12\".google.iam.v1.GetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xeb\x01\x82\xd3\xe4\x93\x02\xe4\x01\"B/v1/{resource=projects/*/locations/*/dataExchanges/*}:getIamPolicy:\x01*ZR\"M/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:getIamPolicy:\x01*ZG\"B/v1/{resource=projects/*/locations/*/subscriptions/*}:getIamPolicy:\x01*\x12\xb7\x02\n\x0cSetIamPolicy\x12\".google.iam.v1.SetIamPolicyRequest\x1a\x15.google.iam.v1.Policy\"\xeb\x01\x82\xd3\xe4\x93\x02\xe4\x01\"B/v1/{resource=projects/*/locations/*/dataExchanges/*}:setIamPolicy:\x01*ZR\"M/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:setIamPolicy:\x01*ZG\"B/v1/{resource=projects/*/locations/*/subscriptions/*}:setIamPolicy:\x01*\x12\x9a\x02\n\x12TestIamPermissions\x12(.google.iam.v1.TestIamPermissionsRequest\x1a).google.iam.v1.TestIamPermissionsResponse\"\xae\x01\x82\xd3\xe4\x93\x02\xa7\x01\"H/v1/{resource=projects/*/locations/*/dataExchanges/*}:testIamPermissions:\x01*ZX\"S/v1/{resource=projects/*/locations/*/dataExchanges/*/listings/*}:testIamPermissions:\x01*\x1ax\xca\x41\x1b\x61nalyticshub.googleapis.com\xd2\x41Whttps://www.googleapis.com/auth/bigquery,https://www.googleapis.com/auth/cloud-platformB\xf4\x05\n)com.google.cloud.bigquery.analyticshub.v1B\x11\x41nalyticsHubProtoP\x01ZMcloud.google.com/go/bigquery/analyticshub/apiv1/analyticshubpb;analyticshubpb\xaa\x02%Google.Cloud.BigQuery.AnalyticsHub.V1\xca\x02%Google\\Cloud\\BigQuery\\AnalyticsHub\\V1\xea\x02)Google::Cloud::Bigquery::AnalyticsHub::V1\xea\x41H\n\x1f\x62igquery.googleapis.com/Dataset\x12%projects/{project}/datasets/{dataset}\xea\x41U\n\x1d\x62igquery.googleapis.com/Table\x12\x34projects/{project}/datasets/{dataset}/tables/{table}\xea\x41@\n\x1bpubsub.googleapis.com/Topic\x12!projects/{project}/topics/{topic}\xea\x41[\n\x1f\x62igquery.googleapis.com/Routine\x12\x38projects/{project}/datasets/{dataset}/routines/{routine}\xea\x41\x45\n/servicemanagement.googleapis.com/ManagedService\x12\x12services/{service}\xea\x41Z\n5cloudcommerceconsumerprocurement.googleapis.com/Order\x12!projects/{project}/orders/{order}b\x06proto3"
21
22
 
22
23
  pool = Google::Protobuf::DescriptorPool.generated_pool
23
24
 
@@ -33,6 +34,7 @@ rescue TypeError
33
34
  warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
34
35
  imports = [
35
36
  ["google.protobuf.StringValue", "google/protobuf/wrappers.proto"],
37
+ ["google.cloud.bigquery.analyticshub.v1.PubSubSubscription", "google/cloud/bigquery/analyticshub/v1/pubsub.proto"],
36
38
  ["google.protobuf.Timestamp", "google/protobuf/timestamp.proto"],
37
39
  ["google.protobuf.FieldMask", "google/protobuf/field_mask.proto"],
38
40
  ]
@@ -59,10 +61,12 @@ module Google
59
61
  Publisher = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Publisher").msgclass
60
62
  DestinationDatasetReference = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DestinationDatasetReference").msgclass
61
63
  DestinationDataset = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DestinationDataset").msgclass
64
+ DestinationPubSubSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DestinationPubSubSubscription").msgclass
62
65
  Listing = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing").msgclass
63
66
  Listing::BigQueryDatasetSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource").msgclass
64
67
  Listing::BigQueryDatasetSource::SelectedResource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.SelectedResource").msgclass
65
68
  Listing::BigQueryDatasetSource::RestrictedExportPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.BigQueryDatasetSource.RestrictedExportPolicy").msgclass
69
+ Listing::PubSubTopicSource = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.PubSubTopicSource").msgclass
66
70
  Listing::RestrictedExportConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.RestrictedExportConfig").msgclass
67
71
  Listing::State = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.State").enummodule
68
72
  Listing::Category = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.Listing.Category").enummodule
@@ -99,6 +103,7 @@ module Google
99
103
  DeleteSubscriptionRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DeleteSubscriptionRequest").msgclass
100
104
  OperationMetadata = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.OperationMetadata").msgclass
101
105
  DiscoveryType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DiscoveryType").enummodule
106
+ SharedResourceType = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.SharedResourceType").enummodule
102
107
  end
103
108
  end
104
109
  end
@@ -69,8 +69,8 @@ module Google
69
69
  # Upon subscription to a listing for a BigQuery dataset, Analytics Hub
70
70
  # creates a linked dataset in the subscriber's project.
71
71
  rpc :SubscribeListing, ::Google::Cloud::Bigquery::AnalyticsHub::V1::SubscribeListingRequest, ::Google::Cloud::Bigquery::AnalyticsHub::V1::SubscribeListingResponse
72
- # Creates a Subscription to a Data Exchange. This is a long-running operation
73
- # as it will create one or more linked datasets.
72
+ # Creates a Subscription to a Data Clean Room. This is a long-running
73
+ # operation as it will create one or more linked datasets.
74
74
  rpc :SubscribeDataExchange, ::Google::Cloud::Bigquery::AnalyticsHub::V1::SubscribeDataExchangeRequest, ::Google::Longrunning::Operation
75
75
  # Refreshes a Subscription to a Data Exchange. A Data Exchange can become
76
76
  # stale when a publisher adds or removes data. This is a long-running
@@ -0,0 +1,62 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: google/cloud/bigquery/analyticshub/v1/pubsub.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'google/api/field_behavior_pb'
8
+ require 'google/api/resource_pb'
9
+ require 'google/protobuf/duration_pb'
10
+
11
+
12
+ descriptor_data = "\n2google/cloud/bigquery/analyticshub/v1/pubsub.proto\x12%google.cloud.bigquery.analyticshub.v1\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a\x1egoogle/protobuf/duration.proto\"\x96\x08\n\x12PubSubSubscription\x12\x11\n\x04name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12K\n\x0bpush_config\x18\x04 \x01(\x0b\x32\x31.google.cloud.bigquery.analyticshub.v1.PushConfigB\x03\xe0\x41\x01\x12S\n\x0f\x62igquery_config\x18\x12 \x01(\x0b\x32\x35.google.cloud.bigquery.analyticshub.v1.BigQueryConfigB\x03\xe0\x41\x01\x12\\\n\x14\x63loud_storage_config\x18\x16 \x01(\x0b\x32\x39.google.cloud.bigquery.analyticshub.v1.CloudStorageConfigB\x03\xe0\x41\x01\x12!\n\x14\x61\x63k_deadline_seconds\x18\x05 \x01(\x05\x42\x03\xe0\x41\x01\x12\"\n\x15retain_acked_messages\x18\x07 \x01(\x08\x42\x03\xe0\x41\x01\x12\x42\n\x1amessage_retention_duration\x18\x08 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12Z\n\x06labels\x18\t \x03(\x0b\x32\x45.google.cloud.bigquery.analyticshub.v1.PubSubSubscription.LabelsEntryB\x03\xe0\x41\x01\x12$\n\x17\x65nable_message_ordering\x18\n \x01(\x08\x42\x03\xe0\x41\x01\x12W\n\x11\x65xpiration_policy\x18\x0b \x01(\x0b\x32\x37.google.cloud.bigquery.analyticshub.v1.ExpirationPolicyB\x03\xe0\x41\x01\x12\x13\n\x06\x66ilter\x18\x0c \x01(\tB\x03\xe0\x41\x01\x12X\n\x12\x64\x65\x61\x64_letter_policy\x18\r \x01(\x0b\x32\x37.google.cloud.bigquery.analyticshub.v1.DeadLetterPolicyB\x03\xe0\x41\x01\x12M\n\x0cretry_policy\x18\x0e \x01(\x0b\x32\x32.google.cloud.bigquery.analyticshub.v1.RetryPolicyB\x03\xe0\x41\x01\x12\x15\n\x08\x64\x65tached\x18\x0f \x01(\x08\x42\x03\xe0\x41\x01\x12)\n\x1c\x65nable_exactly_once_delivery\x18\x10 \x01(\x08\x42\x03\xe0\x41\x01\x12X\n\x12message_transforms\x18\x19 \x03(\x0b\x32\x37.google.cloud.bigquery.analyticshub.v1.MessageTransformB\x03\xe0\x41\x01\x1a-\n\x0bLabelsEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\"\x7f\n\x0bRetryPolicy\x12\x37\n\x0fminimum_backoff\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x37\n\x0fmaximum_backoff\x18\x02 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"V\n\x10\x44\x65\x61\x64LetterPolicy\x12\x1e\n\x11\x64\x65\x61\x64_letter_topic\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\"\n\x15max_delivery_attempts\x18\x02 \x01(\x05\x42\x03\xe0\x41\x01\"?\n\x10\x45xpirationPolicy\x12+\n\x03ttl\x18\x01 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\"\xee\x04\n\nPushConfig\x12V\n\noidc_token\x18\x03 \x01(\x0b\x32;.google.cloud.bigquery.analyticshub.v1.PushConfig.OidcTokenB\x03\xe0\x41\x01H\x00\x12^\n\x0epubsub_wrapper\x18\x04 \x01(\x0b\x32?.google.cloud.bigquery.analyticshub.v1.PushConfig.PubsubWrapperB\x03\xe0\x41\x01H\x01\x12V\n\nno_wrapper\x18\x05 \x01(\x0b\x32;.google.cloud.bigquery.analyticshub.v1.PushConfig.NoWrapperB\x03\xe0\x41\x01H\x01\x12\x1a\n\rpush_endpoint\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12Z\n\nattributes\x18\x02 \x03(\x0b\x32\x41.google.cloud.bigquery.analyticshub.v1.PushConfig.AttributesEntryB\x03\xe0\x41\x01\x1a\x46\n\tOidcToken\x12\"\n\x15service_account_email\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x15\n\x08\x61udience\x18\x02 \x01(\tB\x03\xe0\x41\x01\x1a\x0f\n\rPubsubWrapper\x1a(\n\tNoWrapper\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x1a\x31\n\x0f\x41ttributesEntry\x12\x0b\n\x03key\x18\x01 \x01(\t\x12\r\n\x05value\x18\x02 \x01(\t:\x02\x38\x01\x42\x17\n\x15\x61uthentication_methodB\t\n\x07wrapper\"\xc5\x01\n\x0e\x42igQueryConfig\x12\x12\n\x05table\x18\x01 \x01(\tB\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1b\n\x0ewrite_metadata\x18\x03 \x01(\x08\x42\x03\xe0\x41\x01\x12 \n\x13\x64rop_unknown_fields\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1d\n\x10use_table_schema\x18\x06 \x01(\x08\x42\x03\xe0\x41\x01\x12\"\n\x15service_account_email\x18\x07 \x01(\tB\x03\xe0\x41\x01\"\xc6\x04\n\x12\x43loudStorageConfig\x12`\n\x0btext_config\x18\x04 \x01(\x0b\x32\x44.google.cloud.bigquery.analyticshub.v1.CloudStorageConfig.TextConfigB\x03\xe0\x41\x01H\x00\x12`\n\x0b\x61vro_config\x18\x05 \x01(\x0b\x32\x44.google.cloud.bigquery.analyticshub.v1.CloudStorageConfig.AvroConfigB\x03\xe0\x41\x01H\x00\x12\x13\n\x06\x62ucket\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x1c\n\x0f\x66ilename_prefix\x18\x02 \x01(\tB\x03\xe0\x41\x01\x12\x1c\n\x0f\x66ilename_suffix\x18\x03 \x01(\tB\x03\xe0\x41\x01\x12%\n\x18\x66ilename_datetime_format\x18\n \x01(\tB\x03\xe0\x41\x01\x12\x34\n\x0cmax_duration\x18\x06 \x01(\x0b\x32\x19.google.protobuf.DurationB\x03\xe0\x41\x01\x12\x16\n\tmax_bytes\x18\x07 \x01(\x03\x42\x03\xe0\x41\x01\x12\x19\n\x0cmax_messages\x18\x08 \x01(\x03\x42\x03\xe0\x41\x01\x12\"\n\x15service_account_email\x18\x0b \x01(\tB\x03\xe0\x41\x01\x1a\x0c\n\nTextConfig\x1aH\n\nAvroConfig\x12\x1b\n\x0ewrite_metadata\x18\x01 \x01(\x08\x42\x03\xe0\x41\x01\x12\x1d\n\x10use_topic_schema\x18\x02 \x01(\x08\x42\x03\xe0\x41\x01\x42\x0f\n\routput_format\"\xa3\x01\n\x10MessageTransform\x12S\n\x0ejavascript_udf\x18\x02 \x01(\x0b\x32\x34.google.cloud.bigquery.analyticshub.v1.JavaScriptUDFB\x03\xe0\x41\x01H\x00\x12\x16\n\x07\x65nabled\x18\x03 \x01(\x08\x42\x05\x18\x01\xe0\x41\x01\x12\x15\n\x08\x64isabled\x18\x04 \x01(\x08\x42\x03\xe0\x41\x01\x42\x0b\n\ttransform\">\n\rJavaScriptUDF\x12\x1a\n\rfunction_name\x18\x01 \x01(\tB\x03\xe0\x41\x02\x12\x11\n\x04\x63ode\x18\x02 \x01(\tB\x03\xe0\x41\x02\x42\x85\x02\n)com.google.cloud.bigquery.analyticshub.v1B\x0bPubsubProtoP\x01ZMcloud.google.com/go/bigquery/analyticshub/apiv1/analyticshubpb;analyticshubpb\xaa\x02%Google.Cloud.BigQuery.AnalyticsHub.V1\xca\x02%Google\\Cloud\\BigQuery\\AnalyticsHub\\V1\xea\x02)Google::Cloud::Bigquery::AnalyticsHub::V1b\x06proto3"
13
+
14
+ pool = Google::Protobuf::DescriptorPool.generated_pool
15
+
16
+ begin
17
+ pool.add_serialized_file(descriptor_data)
18
+ rescue TypeError
19
+ # Compatibility code: will be removed in the next major version.
20
+ require 'google/protobuf/descriptor_pb'
21
+ parsed = Google::Protobuf::FileDescriptorProto.decode(descriptor_data)
22
+ parsed.clear_dependency
23
+ serialized = parsed.class.encode(parsed)
24
+ file = pool.add_serialized_file(serialized)
25
+ warn "Warning: Protobuf detected an import path issue while loading generated file #{__FILE__}"
26
+ imports = [
27
+ ["google.protobuf.Duration", "google/protobuf/duration.proto"],
28
+ ]
29
+ imports.each do |type_name, expected_filename|
30
+ import_file = pool.lookup(type_name).file_descriptor
31
+ if import_file.name != expected_filename
32
+ warn "- #{file.name} imports #{expected_filename}, but that import was loaded as #{import_file.name}"
33
+ end
34
+ end
35
+ warn "Each proto file must use a consistent fully-qualified name."
36
+ warn "This will become an error in the next major version."
37
+ end
38
+
39
+ module Google
40
+ module Cloud
41
+ module Bigquery
42
+ module AnalyticsHub
43
+ module V1
44
+ PubSubSubscription = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.PubSubSubscription").msgclass
45
+ RetryPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.RetryPolicy").msgclass
46
+ DeadLetterPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.DeadLetterPolicy").msgclass
47
+ ExpirationPolicy = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.ExpirationPolicy").msgclass
48
+ PushConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.PushConfig").msgclass
49
+ PushConfig::OidcToken = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.PushConfig.OidcToken").msgclass
50
+ PushConfig::PubsubWrapper = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.PushConfig.PubsubWrapper").msgclass
51
+ PushConfig::NoWrapper = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.PushConfig.NoWrapper").msgclass
52
+ BigQueryConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.BigQueryConfig").msgclass
53
+ CloudStorageConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.CloudStorageConfig").msgclass
54
+ CloudStorageConfig::TextConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.CloudStorageConfig.TextConfig").msgclass
55
+ CloudStorageConfig::AvroConfig = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.CloudStorageConfig.AvroConfig").msgclass
56
+ MessageTransform = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.MessageTransform").msgclass
57
+ JavaScriptUDF = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("google.cloud.bigquery.analyticshub.v1.JavaScriptUDF").msgclass
58
+ end
59
+ end
60
+ end
61
+ end
62
+ end
@@ -221,6 +221,12 @@ module Google
221
221
  # Pythonic which are included in `protobuf>=5.29.x`. This feature will be
222
222
  # enabled by default 1 month after launching the feature in preview
223
223
  # packages.
224
+ # @!attribute [rw] unversioned_package_disabled
225
+ # @return [::Boolean]
226
+ # Disables generation of an unversioned Python package for this client
227
+ # library. This means that the module names will need to be versioned in
228
+ # import statements. For example `import google.cloud.library_v2` instead
229
+ # of `import google.cloud.library`.
224
230
  class ExperimentalFeatures
225
231
  include ::Google::Protobuf::MessageExts
226
232
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -409,6 +415,14 @@ module Google
409
415
  # @return [::Array<::String>]
410
416
  # An allowlist of the fully qualified names of RPCs that should be included
411
417
  # on public client surfaces.
418
+ # @!attribute [rw] generate_omitted_as_internal
419
+ # @return [::Boolean]
420
+ # Setting this to true indicates to the client generators that methods
421
+ # that would be excluded from the generation should instead be generated
422
+ # in a way that indicates these methods should not be consumed by
423
+ # end users. How this is expressed is up to individual language
424
+ # implementations to decide. Some examples may be: added annotations,
425
+ # obfuscated identifiers, or other language idiomatic patterns.
412
426
  class SelectiveGapicGeneration
413
427
  include ::Google::Protobuf::MessageExts
414
428
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -67,6 +67,11 @@ module Google
67
67
  # Optional. Type of discovery on the discovery page for all the listings
68
68
  # under this exchange. Updating this field also updates (overwrites) the
69
69
  # discovery_type field for all the listings under this exchange.
70
+ # @!attribute [rw] log_linked_dataset_query_user_email
71
+ # @return [::Boolean]
72
+ # Optional. By default, false.
73
+ # If true, the DataExchange has an email sharing mandate enabled.
74
+ # Publishers can view the logged email of the subscriber.
70
75
  class DataExchange
71
76
  include ::Google::Protobuf::MessageExts
72
77
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -142,7 +147,6 @@ module Google
142
147
  extend ::Google::Protobuf::MessageExts::ClassMethods
143
148
  end
144
149
 
145
- # Contains the reference that identifies a destination bigquery dataset.
146
150
  # @!attribute [rw] dataset_id
147
151
  # @return [::String]
148
152
  # Required. A unique ID for this dataset, without the project name. The ID
@@ -192,13 +196,29 @@ module Google
192
196
  end
193
197
  end
194
198
 
199
+ # Defines the destination Pub/Sub subscription.
200
+ # @!attribute [rw] pubsub_subscription
201
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::PubSubSubscription]
202
+ # Required. Destination Pub/Sub subscription resource.
203
+ class DestinationPubSubSubscription
204
+ include ::Google::Protobuf::MessageExts
205
+ extend ::Google::Protobuf::MessageExts::ClassMethods
206
+ end
207
+
195
208
  # A listing is what gets published into a data exchange that a subscriber can
196
209
  # subscribe to. It contains a reference to the data source along with
197
210
  # descriptive information that will help subscribers find and subscribe the
198
211
  # data.
199
212
  # @!attribute [rw] bigquery_dataset
200
213
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing::BigQueryDatasetSource]
201
- # Required. Shared dataset i.e. BigQuery dataset source.
214
+ # Shared dataset i.e. BigQuery dataset source.
215
+ #
216
+ # Note: The following fields are mutually exclusive: `bigquery_dataset`, `pubsub_topic`. If a field in that set is populated, all other fields in the set will automatically be cleared.
217
+ # @!attribute [rw] pubsub_topic
218
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing::PubSubTopicSource]
219
+ # Pub/Sub topic source.
220
+ #
221
+ # Note: The following fields are mutually exclusive: `pubsub_topic`, `bigquery_dataset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
202
222
  # @!attribute [r] name
203
223
  # @return [::String]
204
224
  # Output only. The resource name of the listing.
@@ -254,6 +274,13 @@ module Google
254
274
  # @!attribute [rw] discovery_type
255
275
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DiscoveryType]
256
276
  # Optional. Type of discovery of the listing on the discovery page.
277
+ # @!attribute [r] resource_type
278
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::SharedResourceType]
279
+ # Output only. Listing shared asset type.
280
+ # @!attribute [rw] log_linked_dataset_query_user_email
281
+ # @return [::Boolean]
282
+ # Optional. By default, false.
283
+ # If true, the Listing has an email sharing mandate enabled.
257
284
  class Listing
258
285
  include ::Google::Protobuf::MessageExts
259
286
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -267,13 +294,12 @@ module Google
267
294
  # dataset that serves as a _symbolic link_ to a shared dataset.
268
295
  # @!attribute [rw] dataset
269
296
  # @return [::String]
270
- # Resource name of the dataset source for this listing.
297
+ # Optional. Resource name of the dataset source for this listing.
271
298
  # e.g. `projects/myproject/datasets/123`
272
299
  # @!attribute [rw] selected_resources
273
300
  # @return [::Array<::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing::BigQueryDatasetSource::SelectedResource>]
274
- # Optional. Resources in this dataset that are selectively shared.
275
- # If this field is empty, then the entire dataset (all resources) are
276
- # shared. This field is only valid for data clean room exchanges.
301
+ # Optional. Resource in this dataset that is selectively shared.
302
+ # This field is required for data clean room exchanges.
277
303
  # @!attribute [rw] restricted_export_policy
278
304
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing::BigQueryDatasetSource::RestrictedExportPolicy]
279
305
  # Optional. If set, restricted export policy will be propagated and
@@ -282,7 +308,7 @@ module Google
282
308
  include ::Google::Protobuf::MessageExts
283
309
  extend ::Google::Protobuf::MessageExts::ClassMethods
284
310
 
285
- # Resource in this dataset that are selectively shared.
311
+ # Resource in this dataset that is selectively shared.
286
312
  # @!attribute [rw] table
287
313
  # @return [::String]
288
314
  # Optional. Format:
@@ -313,6 +339,21 @@ module Google
313
339
  end
314
340
  end
315
341
 
342
+ # Pub/Sub topic source.
343
+ # @!attribute [rw] topic
344
+ # @return [::String]
345
+ # Required. Resource name of the Pub/Sub topic source for this listing.
346
+ # e.g. projects/myproject/topics/topicId
347
+ # @!attribute [rw] data_affinity_regions
348
+ # @return [::Array<::String>]
349
+ # Optional. Region hint on where the data might be published. Data affinity
350
+ # regions are modifiable. See https://cloud.google.com/about/locations for
351
+ # full listing of possible Cloud regions.
352
+ class PubSubTopicSource
353
+ include ::Google::Protobuf::MessageExts
354
+ extend ::Google::Protobuf::MessageExts::ClassMethods
355
+ end
356
+
316
357
  # Restricted export config, used to configure restricted export on linked
317
358
  # dataset.
318
359
  # @!attribute [rw] enabled
@@ -431,6 +472,18 @@ module Google
431
472
  # @!attribute [r] subscriber_contact
432
473
  # @return [::String]
433
474
  # Output only. Email of the subscriber.
475
+ # @!attribute [r] linked_resources
476
+ # @return [::Array<::Google::Cloud::Bigquery::AnalyticsHub::V1::Subscription::LinkedResource>]
477
+ # Output only. Linked resources created in the subscription. Only contains
478
+ # values if state = STATE_ACTIVE.
479
+ # @!attribute [r] resource_type
480
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::SharedResourceType]
481
+ # Output only. Listing shared asset type.
482
+ # @!attribute [r] log_linked_dataset_query_user_email
483
+ # @return [::Boolean]
484
+ # Output only. By default, false.
485
+ # If true, the Subscriber agreed to the email sharing mandate
486
+ # that is enabled for DataExchange/Listing.
434
487
  class Subscription
435
488
  include ::Google::Protobuf::MessageExts
436
489
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -440,6 +493,17 @@ module Google
440
493
  # @return [::String]
441
494
  # Output only. Name of the linked dataset, e.g.
442
495
  # projects/subscriberproject/datasets/linked_dataset
496
+ #
497
+ # Note: The following fields are mutually exclusive: `linked_dataset`, `linked_pubsub_subscription`. If a field in that set is populated, all other fields in the set will automatically be cleared.
498
+ # @!attribute [r] linked_pubsub_subscription
499
+ # @return [::String]
500
+ # Output only. Name of the Pub/Sub subscription, e.g.
501
+ # projects/subscriberproject/subscriptions/subscriptions/sub_id
502
+ #
503
+ # Note: The following fields are mutually exclusive: `linked_pubsub_subscription`, `linked_dataset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
504
+ # @!attribute [r] listing
505
+ # @return [::String]
506
+ # Output only. Listing for which linked resource is created.
443
507
  class LinkedResource
444
508
  include ::Google::Protobuf::MessageExts
445
509
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -552,9 +616,7 @@ module Google
552
616
  # @!attribute [rw] data_exchange_id
553
617
  # @return [::String]
554
618
  # Required. The ID of the data exchange.
555
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
556
- # Should not use characters that require URL-escaping, or characters
557
- # outside of ASCII, spaces.
619
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
558
620
  # Max length: 100 bytes.
559
621
  # @!attribute [rw] data_exchange
560
622
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DataExchange]
@@ -636,9 +698,7 @@ module Google
636
698
  # @!attribute [rw] listing_id
637
699
  # @return [::String]
638
700
  # Required. The ID of the listing to create.
639
- # Must contain only Unicode letters, numbers (0-9), underscores (_).
640
- # Should not use characters that require URL-escaping, or characters
641
- # outside of ASCII, spaces.
701
+ # Must contain only ASCII letters, numbers (0-9), underscores (_).
642
702
  # Max length: 100 bytes.
643
703
  # @!attribute [rw] listing
644
704
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::Listing]
@@ -676,6 +736,14 @@ module Google
676
736
  # @!attribute [rw] destination_dataset
677
737
  # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset]
678
738
  # Input only. BigQuery destination dataset to create for the subscriber.
739
+ #
740
+ # Note: The following fields are mutually exclusive: `destination_dataset`, `destination_pubsub_subscription`. If a field in that set is populated, all other fields in the set will automatically be cleared.
741
+ # @!attribute [rw] destination_pubsub_subscription
742
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationPubSubSubscription]
743
+ # Input only. Destination Pub/Sub subscription to create for the
744
+ # subscriber.
745
+ #
746
+ # Note: The following fields are mutually exclusive: `destination_pubsub_subscription`, `destination_dataset`. If a field in that set is populated, all other fields in the set will automatically be cleared.
679
747
  # @!attribute [rw] name
680
748
  # @return [::String]
681
749
  # Required. Resource name of the listing that you want to subscribe to.
@@ -703,6 +771,9 @@ module Google
703
771
  # @return [::String]
704
772
  # Required. The parent resource path of the Subscription.
705
773
  # e.g. `projects/subscriberproject/locations/US`
774
+ # @!attribute [rw] destination_dataset
775
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DestinationDataset]
776
+ # Optional. BigQuery destination dataset to create for the subscriber.
706
777
  # @!attribute [rw] subscription
707
778
  # @return [::String]
708
779
  # Required. Name of the subscription to create.
@@ -843,6 +914,7 @@ module Google
843
914
  end
844
915
 
845
916
  # Message for response when you revoke a subscription.
917
+ # Empty for now.
846
918
  class RevokeSubscriptionResponse
847
919
  include ::Google::Protobuf::MessageExts
848
920
  extend ::Google::Protobuf::MessageExts::ClassMethods
@@ -904,6 +976,18 @@ module Google
904
976
  # list.
905
977
  DISCOVERY_TYPE_PUBLIC = 2
906
978
  end
979
+
980
+ # The underlying shared asset type shared in a listing by a publisher.
981
+ module SharedResourceType
982
+ # Not specified.
983
+ SHARED_RESOURCE_TYPE_UNSPECIFIED = 0
984
+
985
+ # BigQuery Dataset Asset.
986
+ BIGQUERY_DATASET = 1
987
+
988
+ # Pub/Sub Topic Asset.
989
+ PUBSUB_TOPIC = 2
990
+ end
907
991
  end
908
992
  end
909
993
  end
@@ -0,0 +1,544 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright 2025 Google LLC
4
+ #
5
+ # Licensed under the Apache License, Version 2.0 (the "License");
6
+ # you may not use this file except in compliance with the License.
7
+ # You may obtain a copy of the License at
8
+ #
9
+ # https://www.apache.org/licenses/LICENSE-2.0
10
+ #
11
+ # Unless required by applicable law or agreed to in writing, software
12
+ # distributed under the License is distributed on an "AS IS" BASIS,
13
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
+ # See the License for the specific language governing permissions and
15
+ # limitations under the License.
16
+
17
+ # Auto-generated by gapic-generator-ruby. DO NOT EDIT!
18
+
19
+
20
+ module Google
21
+ module Cloud
22
+ module Bigquery
23
+ module AnalyticsHub
24
+ module V1
25
+ # Defines the destination Pub/Sub subscription.
26
+ # If none of `push_config`, `bigquery_config`, `cloud_storage_config`,
27
+ # `pubsub_export_config`, or `pubsublite_export_config`
28
+ # is set, then the subscriber will pull and ack messages using API methods. At
29
+ # most one of these fields may be set.
30
+ # @!attribute [rw] name
31
+ # @return [::String]
32
+ # Required. Name of the subscription.
33
+ # Format is `projects/{project}/subscriptions/{sub}`.
34
+ # @!attribute [rw] push_config
35
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::PushConfig]
36
+ # Optional. If push delivery is used with this subscription, this field is
37
+ # used to configure it.
38
+ # @!attribute [rw] bigquery_config
39
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::BigQueryConfig]
40
+ # Optional. If delivery to BigQuery is used with this subscription, this
41
+ # field is used to configure it.
42
+ # @!attribute [rw] cloud_storage_config
43
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::CloudStorageConfig]
44
+ # Optional. If delivery to Google Cloud Storage is used with this
45
+ # subscription, this field is used to configure it.
46
+ # @!attribute [rw] ack_deadline_seconds
47
+ # @return [::Integer]
48
+ # Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
49
+ # waits for the subscriber to acknowledge receipt before resending the
50
+ # message. In the interval after the message is delivered and before it is
51
+ # acknowledged, it is considered to be _outstanding_. During that time
52
+ # period, the message will not be redelivered (on a best-effort basis).
53
+ #
54
+ # For pull subscriptions, this value is used as the initial value for the ack
55
+ # deadline. To override this value for a given message, call
56
+ # `ModifyAckDeadline` with the corresponding `ack_id` if using
57
+ # non-streaming pull or send the `ack_id` in a
58
+ # `StreamingModifyAckDeadlineRequest` if using streaming pull.
59
+ # The minimum custom deadline you can specify is 10 seconds.
60
+ # The maximum custom deadline you can specify is 600 seconds (10 minutes).
61
+ # If this parameter is 0, a default value of 10 seconds is used.
62
+ #
63
+ # For push delivery, this value is also used to set the request timeout for
64
+ # the call to the push endpoint.
65
+ #
66
+ # If the subscriber never acknowledges the message, the Pub/Sub
67
+ # system will eventually redeliver the message.
68
+ # @!attribute [rw] retain_acked_messages
69
+ # @return [::Boolean]
70
+ # Optional. Indicates whether to retain acknowledged messages. If true, then
71
+ # messages are not expunged from the subscription's backlog, even if they are
72
+ # acknowledged, until they fall out of the `message_retention_duration`
73
+ # window. This must be true if you would like to [`Seek` to a timestamp]
74
+ # (https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) in
75
+ # the past to replay previously-acknowledged messages.
76
+ # @!attribute [rw] message_retention_duration
77
+ # @return [::Google::Protobuf::Duration]
78
+ # Optional. How long to retain unacknowledged messages in the subscription's
79
+ # backlog, from the moment a message is published. If `retain_acked_messages`
80
+ # is true, then this also configures the retention of acknowledged messages,
81
+ # and thus configures how far back in time a `Seek` can be done. Defaults to
82
+ # 7 days. Cannot be more than 31 days or less than 10 minutes.
83
+ # @!attribute [rw] labels
84
+ # @return [::Google::Protobuf::Map{::String => ::String}]
85
+ # Optional. See [Creating and managing
86
+ # labels](https://cloud.google.com/pubsub/docs/labels).
87
+ # @!attribute [rw] enable_message_ordering
88
+ # @return [::Boolean]
89
+ # Optional. If true, messages published with the same `ordering_key` in
90
+ # `PubsubMessage` will be delivered to the subscribers in the order in which
91
+ # they are received by the Pub/Sub system. Otherwise, they may be delivered
92
+ # in any order.
93
+ # @!attribute [rw] expiration_policy
94
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::ExpirationPolicy]
95
+ # Optional. A policy that specifies the conditions for this subscription's
96
+ # expiration. A subscription is considered active as long as any connected
97
+ # subscriber is successfully consuming messages from the subscription or is
98
+ # issuing operations on the subscription. If `expiration_policy` is not set,
99
+ # a *default policy* with `ttl` of 31 days will be used. The minimum allowed
100
+ # value for `expiration_policy.ttl` is 1 day. If `expiration_policy` is set,
101
+ # but `expiration_policy.ttl` is not set, the subscription never expires.
102
+ # @!attribute [rw] filter
103
+ # @return [::String]
104
+ # Optional. An expression written in the Pub/Sub [filter
105
+ # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
106
+ # then only `PubsubMessage`s whose `attributes` field matches the filter are
107
+ # delivered on this subscription. If empty, then no messages are filtered
108
+ # out.
109
+ # @!attribute [rw] dead_letter_policy
110
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::DeadLetterPolicy]
111
+ # Optional. A policy that specifies the conditions for dead lettering
112
+ # messages in this subscription. If dead_letter_policy is not set, dead
113
+ # lettering is disabled.
114
+ #
115
+ # The Pub/Sub service account associated with this subscriptions's
116
+ # parent project (i.e.,
117
+ # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
118
+ # permission to Acknowledge() messages on this subscription.
119
+ # @!attribute [rw] retry_policy
120
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::RetryPolicy]
121
+ # Optional. A policy that specifies how Pub/Sub retries message delivery for
122
+ # this subscription.
123
+ #
124
+ # If not set, the default retry policy is applied. This generally implies
125
+ # that messages will be retried as soon as possible for healthy subscribers.
126
+ # RetryPolicy will be triggered on NACKs or acknowledgement deadline
127
+ # exceeded events for a given message.
128
+ # @!attribute [rw] detached
129
+ # @return [::Boolean]
130
+ # Optional. Indicates whether the subscription is detached from its topic.
131
+ # Detached subscriptions don't receive messages from their topic and don't
132
+ # retain any backlog. `Pull` and `StreamingPull` requests will return
133
+ # FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
134
+ # the endpoint will not be made.
135
+ # @!attribute [rw] enable_exactly_once_delivery
136
+ # @return [::Boolean]
137
+ # Optional. If true, Pub/Sub provides the following guarantees for the
138
+ # delivery of a message with a given value of `message_id` on this
139
+ # subscription:
140
+ #
141
+ # * The message sent to a subscriber is guaranteed not to be resent
142
+ # before the message's acknowledgement deadline expires.
143
+ # * An acknowledged message will not be resent to a subscriber.
144
+ #
145
+ # Note that subscribers may still receive multiple copies of a message
146
+ # when `enable_exactly_once_delivery` is true if the message was published
147
+ # multiple times by a publisher client. These copies are considered distinct
148
+ # by Pub/Sub and have distinct `message_id` values.
149
+ # @!attribute [rw] message_transforms
150
+ # @return [::Array<::Google::Cloud::Bigquery::AnalyticsHub::V1::MessageTransform>]
151
+ # Optional. Transforms to be applied to messages before they are delivered to
152
+ # subscribers. Transforms are applied in the order specified.
153
+ class PubSubSubscription
154
+ include ::Google::Protobuf::MessageExts
155
+ extend ::Google::Protobuf::MessageExts::ClassMethods
156
+
157
+ # @!attribute [rw] key
158
+ # @return [::String]
159
+ # @!attribute [rw] value
160
+ # @return [::String]
161
+ class LabelsEntry
162
+ include ::Google::Protobuf::MessageExts
163
+ extend ::Google::Protobuf::MessageExts::ClassMethods
164
+ end
165
+ end
166
+
167
+ # A policy that specifies how Pub/Sub retries message delivery.
168
+ #
169
+ # Retry delay will be exponential based on provided minimum and maximum
170
+ # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
171
+ #
172
+ # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
173
+ # events for a given message.
174
+ #
175
+ # Retry Policy is implemented on a best effort basis. At times, the delay
176
+ # between consecutive deliveries may not match the configuration. That is,
177
+ # delay can be more or less than configured backoff.
178
+ # @!attribute [rw] minimum_backoff
179
+ # @return [::Google::Protobuf::Duration]
180
+ # Optional. The minimum delay between consecutive deliveries of a given
181
+ # message. Value should be between 0 and 600 seconds. Defaults to 10 seconds.
182
+ # @!attribute [rw] maximum_backoff
183
+ # @return [::Google::Protobuf::Duration]
184
+ # Optional. The maximum delay between consecutive deliveries of a given
185
+ # message. Value should be between 0 and 600 seconds. Defaults to 600
186
+ # seconds.
187
+ class RetryPolicy
188
+ include ::Google::Protobuf::MessageExts
189
+ extend ::Google::Protobuf::MessageExts::ClassMethods
190
+ end
191
+
192
+ # Dead lettering is done on a best effort basis. The same message might be
193
+ # dead lettered multiple times.
194
+ #
195
+ # If validation on any of the fields fails at subscription creation/updation,
196
+ # the create/update subscription request will fail.
197
+ # @!attribute [rw] dead_letter_topic
198
+ # @return [::String]
199
+ # Optional. The name of the topic to which dead letter messages should be
200
+ # published. Format is `projects/{project}/topics/{topic}`.The Pub/Sub
201
+ # service account associated with the enclosing subscription's parent project
202
+ # (i.e., service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must
203
+ # have permission to Publish() to this topic.
204
+ #
205
+ # The operation will fail if the topic does not exist.
206
+ # Users should ensure that there is a subscription attached to this topic
207
+ # since messages published to a topic with no subscriptions are lost.
208
+ # @!attribute [rw] max_delivery_attempts
209
+ # @return [::Integer]
210
+ # Optional. The maximum number of delivery attempts for any message. The
211
+ # value must be between 5 and 100.
212
+ #
213
+ # The number of delivery attempts is defined as 1 + (the sum of number of
214
+ # NACKs and number of times the acknowledgement deadline has been exceeded
215
+ # for the message).
216
+ #
217
+ # A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that
218
+ # client libraries may automatically extend ack_deadlines.
219
+ #
220
+ # This field will be honored on a best effort basis.
221
+ #
222
+ # If this parameter is 0, a default value of 5 is used.
223
+ class DeadLetterPolicy
224
+ include ::Google::Protobuf::MessageExts
225
+ extend ::Google::Protobuf::MessageExts::ClassMethods
226
+ end
227
+
228
+ # A policy that specifies the conditions for resource expiration (i.e.,
229
+ # automatic resource deletion).
230
+ # @!attribute [rw] ttl
231
+ # @return [::Google::Protobuf::Duration]
232
+ # Optional. Specifies the "time-to-live" duration for an associated resource.
233
+ # The resource expires if it is not active for a period of `ttl`. The
234
+ # definition of "activity" depends on the type of the associated resource.
235
+ # The minimum and maximum allowed values for `ttl` depend on the type of the
236
+ # associated resource, as well. If `ttl` is not set, the associated resource
237
+ # never expires.
238
+ class ExpirationPolicy
239
+ include ::Google::Protobuf::MessageExts
240
+ extend ::Google::Protobuf::MessageExts::ClassMethods
241
+ end
242
+
243
+ # Configuration for a push delivery endpoint.
244
+ # @!attribute [rw] oidc_token
245
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::PushConfig::OidcToken]
246
+ # Optional. If specified, Pub/Sub will generate and attach an OIDC JWT
247
+ # token as an `Authorization` header in the HTTP request for every pushed
248
+ # message.
249
+ # @!attribute [rw] pubsub_wrapper
250
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::PushConfig::PubsubWrapper]
251
+ # Optional. When set, the payload to the push endpoint is in the form of
252
+ # the JSON representation of a PubsubMessage
253
+ # (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
254
+ #
255
+ # Note: The following fields are mutually exclusive: `pubsub_wrapper`, `no_wrapper`. If a field in that set is populated, all other fields in the set will automatically be cleared.
256
+ # @!attribute [rw] no_wrapper
257
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::PushConfig::NoWrapper]
258
+ # Optional. When set, the payload to the push endpoint is not wrapped.
259
+ #
260
+ # Note: The following fields are mutually exclusive: `no_wrapper`, `pubsub_wrapper`. If a field in that set is populated, all other fields in the set will automatically be cleared.
261
+ # @!attribute [rw] push_endpoint
262
+ # @return [::String]
263
+ # Optional. A URL locating the endpoint to which messages should be pushed.
264
+ # For example, a Webhook endpoint might use `https://example.com/push`.
265
+ # @!attribute [rw] attributes
266
+ # @return [::Google::Protobuf::Map{::String => ::String}]
267
+ # Optional. Endpoint configuration attributes that can be used to control
268
+ # different aspects of the message delivery.
269
+ #
270
+ # The only currently supported attribute is `x-goog-version`, which you can
271
+ # use to change the format of the pushed message. This attribute
272
+ # indicates the version of the data expected by the endpoint. This
273
+ # controls the shape of the pushed message (i.e., its fields and metadata).
274
+ #
275
+ # If not present during the `CreateSubscription` call, it will default to
276
+ # the version of the Pub/Sub API used to make such call. If not present in a
277
+ # `ModifyPushConfig` call, its value will not be changed. `GetSubscription`
278
+ # calls will always return a valid version, even if the subscription was
279
+ # created without this attribute.
280
+ #
281
+ # The only supported values for the `x-goog-version` attribute are:
282
+ #
283
+ # * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
284
+ # * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.
285
+ #
286
+ # For example:
287
+ # `attributes { "x-goog-version": "v1" }`
288
+ class PushConfig
289
+ include ::Google::Protobuf::MessageExts
290
+ extend ::Google::Protobuf::MessageExts::ClassMethods
291
+
292
+ # Contains information needed for generating an
293
+ # [OpenID Connect
294
+ # token](https://developers.google.com/identity/protocols/OpenIDConnect).
295
+ # @!attribute [rw] service_account_email
296
+ # @return [::String]
297
+ # Optional. [Service account
298
+ # email](https://cloud.google.com/iam/docs/service-accounts)
299
+ # used for generating the OIDC token. For more information
300
+ # on setting up authentication, see
301
+ # [Push subscriptions](https://cloud.google.com/pubsub/docs/push).
302
+ # @!attribute [rw] audience
303
+ # @return [::String]
304
+ # Optional. Audience to be used when generating OIDC token. The audience
305
+ # claim identifies the recipients that the JWT is intended for. The
306
+ # audience value is a single case-sensitive string. Having multiple values
307
+ # (array) for the audience field is not supported. More info about the OIDC
308
+ # JWT token audience here:
309
+ # https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified,
310
+ # the Push endpoint URL will be used.
311
+ class OidcToken
312
+ include ::Google::Protobuf::MessageExts
313
+ extend ::Google::Protobuf::MessageExts::ClassMethods
314
+ end
315
+
316
+ # The payload to the push endpoint is in the form of the JSON representation
317
+ # of a PubsubMessage
318
+ # (https://cloud.google.com/pubsub/docs/reference/rpc/google.pubsub.v1#pubsubmessage).
319
+ class PubsubWrapper
320
+ include ::Google::Protobuf::MessageExts
321
+ extend ::Google::Protobuf::MessageExts::ClassMethods
322
+ end
323
+
324
+ # Sets the `data` field as the HTTP body for delivery.
325
+ # @!attribute [rw] write_metadata
326
+ # @return [::Boolean]
327
+ # Optional. When true, writes the Pub/Sub message metadata to
328
+ # `x-goog-pubsub-<KEY>:<VAL>` headers of the HTTP request. Writes the
329
+ # Pub/Sub message attributes to `<KEY>:<VAL>` headers of the HTTP request.
330
+ class NoWrapper
331
+ include ::Google::Protobuf::MessageExts
332
+ extend ::Google::Protobuf::MessageExts::ClassMethods
333
+ end
334
+
335
+ # @!attribute [rw] key
336
+ # @return [::String]
337
+ # @!attribute [rw] value
338
+ # @return [::String]
339
+ class AttributesEntry
340
+ include ::Google::Protobuf::MessageExts
341
+ extend ::Google::Protobuf::MessageExts::ClassMethods
342
+ end
343
+ end
344
+
345
+ # Configuration for a BigQuery subscription.
346
+ # @!attribute [rw] table
347
+ # @return [::String]
348
+ # Optional. The name of the table to which to write data, of the form
349
+ # \\{projectId}.\\{datasetId}.\\{tableId}
350
+ # @!attribute [rw] use_topic_schema
351
+ # @return [::Boolean]
352
+ # Optional. When true, use the topic's schema as the columns to write to in
353
+ # BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be
354
+ # enabled at the same time.
355
+ # @!attribute [rw] write_metadata
356
+ # @return [::Boolean]
357
+ # Optional. When true, write the subscription name, message_id, publish_time,
358
+ # attributes, and ordering_key to additional columns in the table. The
359
+ # subscription name, message_id, and publish_time fields are put in their own
360
+ # columns while all other message properties (other than data) are written to
361
+ # a JSON object in the attributes column.
362
+ # @!attribute [rw] drop_unknown_fields
363
+ # @return [::Boolean]
364
+ # Optional. When true and use_topic_schema is true, any fields that are a
365
+ # part of the topic schema that are not part of the BigQuery table schema are
366
+ # dropped when writing to BigQuery. Otherwise, the schemas must be kept in
367
+ # sync and any messages with extra fields are not written and remain in the
368
+ # subscription's backlog.
369
+ # @!attribute [rw] use_table_schema
370
+ # @return [::Boolean]
371
+ # Optional. When true, use the BigQuery table's schema as the columns to
372
+ # write to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be
373
+ # enabled at the same time.
374
+ # @!attribute [rw] service_account_email
375
+ # @return [::String]
376
+ # Optional. The service account to use to write to BigQuery. The subscription
377
+ # creator or updater that specifies this field must have
378
+ # `iam.serviceAccounts.actAs` permission on the service account. If not
379
+ # specified, the Pub/Sub [service
380
+ # agent](https://cloud.google.com/iam/docs/service-agents),
381
+ # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
382
+ class BigQueryConfig
383
+ include ::Google::Protobuf::MessageExts
384
+ extend ::Google::Protobuf::MessageExts::ClassMethods
385
+ end
386
+
387
+ # Configuration for a Cloud Storage subscription.
388
+ # @!attribute [rw] text_config
389
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::CloudStorageConfig::TextConfig]
390
+ # Optional. If set, message data will be written to Cloud Storage in text
391
+ # format.
392
+ #
393
+ # Note: The following fields are mutually exclusive: `text_config`, `avro_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
394
+ # @!attribute [rw] avro_config
395
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::CloudStorageConfig::AvroConfig]
396
+ # Optional. If set, message data will be written to Cloud Storage in Avro
397
+ # format.
398
+ #
399
+ # Note: The following fields are mutually exclusive: `avro_config`, `text_config`. If a field in that set is populated, all other fields in the set will automatically be cleared.
400
+ # @!attribute [rw] bucket
401
+ # @return [::String]
402
+ # Required. User-provided name for the Cloud Storage bucket.
403
+ # The bucket must be created by the user. The bucket name must be without
404
+ # any prefix like "gs://". See the [bucket naming
405
+ # requirements] (https://cloud.google.com/storage/docs/buckets#naming).
406
+ # @!attribute [rw] filename_prefix
407
+ # @return [::String]
408
+ # Optional. User-provided prefix for Cloud Storage filename. See the [object
409
+ # naming requirements](https://cloud.google.com/storage/docs/objects#naming).
410
+ # @!attribute [rw] filename_suffix
411
+ # @return [::String]
412
+ # Optional. User-provided suffix for Cloud Storage filename. See the [object
413
+ # naming requirements](https://cloud.google.com/storage/docs/objects#naming).
414
+ # Must not end in "/".
415
+ # @!attribute [rw] filename_datetime_format
416
+ # @return [::String]
417
+ # Optional. User-provided format string specifying how to represent datetimes
418
+ # in Cloud Storage filenames. See the [datetime format
419
+ # guidance](https://cloud.google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
420
+ # @!attribute [rw] max_duration
421
+ # @return [::Google::Protobuf::Duration]
422
+ # Optional. File batching settings.
423
+ # If no max_duration setting is specified, a max_duration of 5 minutes will
424
+ # be set by default. max_duration is required regardless of whether other
425
+ # file batching settings are specified.
426
+ #
427
+ # The maximum duration that can elapse before a new Cloud Storage file is
428
+ # created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed
429
+ # the subscription's acknowledgement deadline.
430
+ # @!attribute [rw] max_bytes
431
+ # @return [::Integer]
432
+ # Optional. The maximum bytes that can be written to a Cloud Storage file
433
+ # before a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may
434
+ # be exceeded in cases where messages are larger than the limit.
435
+ # @!attribute [rw] max_messages
436
+ # @return [::Integer]
437
+ # Optional. The maximum number of messages that can be written to a Cloud
438
+ # Storage file before a new file is created. Min 1000 messages.
439
+ # @!attribute [rw] service_account_email
440
+ # @return [::String]
441
+ # Optional. The service account to use to write to Cloud Storage. The
442
+ # subscription creator or updater that specifies this field must have
443
+ # `iam.serviceAccounts.actAs` permission on the service account. If not
444
+ # specified, the Pub/Sub
445
+ # [service agent](https://cloud.google.com/iam/docs/service-agents),
446
+ # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
447
+ class CloudStorageConfig
448
+ include ::Google::Protobuf::MessageExts
449
+ extend ::Google::Protobuf::MessageExts::ClassMethods
450
+
451
+ # Configuration for writing message data in text format.
452
+ # Message payloads will be written to files as raw text, separated by a
453
+ # newline.
454
+ class TextConfig
455
+ include ::Google::Protobuf::MessageExts
456
+ extend ::Google::Protobuf::MessageExts::ClassMethods
457
+ end
458
+
459
+ # Configuration for writing message data in Avro format.
460
+ # Message payloads and metadata will be written to files as an Avro binary.
461
+ # @!attribute [rw] write_metadata
462
+ # @return [::Boolean]
463
+ # Optional. When true, write the subscription name, message_id,
464
+ # publish_time, attributes, and ordering_key as additional fields in the
465
+ # output. The subscription name, message_id, and publish_time fields are
466
+ # put in their own fields while all other message properties other than
467
+ # data (for example, an ordering_key, if present) are added as entries in
468
+ # the attributes map.
469
+ # @!attribute [rw] use_topic_schema
470
+ # @return [::Boolean]
471
+ # Optional. When true, the output Cloud Storage file will be serialized
472
+ # using the topic schema, if it exists.
473
+ class AvroConfig
474
+ include ::Google::Protobuf::MessageExts
475
+ extend ::Google::Protobuf::MessageExts::ClassMethods
476
+ end
477
+ end
478
+
479
+ # All supported message transforms types.
480
+ # @!attribute [rw] javascript_udf
481
+ # @return [::Google::Cloud::Bigquery::AnalyticsHub::V1::JavaScriptUDF]
482
+ # Optional. JavaScript User Defined Function. If multiple JavaScriptUDF's
483
+ # are specified on a resource, each must have a unique `function_name`.
484
+ # @!attribute [rw] enabled
485
+ # @deprecated This field is deprecated and may be removed in the next major version update.
486
+ # @return [::Boolean]
487
+ # Optional. This field is deprecated, use the `disabled` field to disable
488
+ # transforms.
489
+ # @!attribute [rw] disabled
490
+ # @return [::Boolean]
491
+ # Optional. If true, the transform is disabled and will not be applied to
492
+ # messages. Defaults to `false`.
493
+ class MessageTransform
494
+ include ::Google::Protobuf::MessageExts
495
+ extend ::Google::Protobuf::MessageExts::ClassMethods
496
+ end
497
+
498
+ # User-defined JavaScript function that can transform or filter a Pub/Sub
499
+ # message.
500
+ # @!attribute [rw] function_name
501
+ # @return [::String]
502
+ # Required. Name of the JavasScript function that should applied to Pub/Sub
503
+ # messages.
504
+ # @!attribute [rw] code
505
+ # @return [::String]
506
+ # Required. JavaScript code that contains a function `function_name` with the
507
+ # below signature:
508
+ #
509
+ # ```
510
+ # /**
511
+ # * Transforms a Pub/Sub message.
512
+ #
513
+ # * @return \\{(Object<string, (string | Object<string, string>)>|null)} - To
514
+ # * filter a message, return `null`. To transform a message return a map
515
+ # * with the following keys:
516
+ # * - (required) 'data' : \\{string}
517
+ # * - (optional) 'attributes' : \\{Object<string, string>}
518
+ # * Returning empty `attributes` will remove all attributes from the
519
+ # * message.
520
+ # *
521
+ # * @param \\{(Object<string, (string | Object<string, string>)>} Pub/Sub
522
+ # * message. Keys:
523
+ # * - (required) 'data' : \\{string}
524
+ # * - (required) 'attributes' : \\{Object<string, string>}
525
+ # *
526
+ # * @param \\{Object<string, any>} metadata - Pub/Sub message metadata.
527
+ # * Keys:
528
+ # * - (required) 'message_id' : \\{string}
529
+ # * - (optional) 'publish_time': \\{string} YYYY-MM-DDTHH:MM:SSZ format
530
+ # * - (optional) 'ordering_key': \\{string}
531
+ # */
532
+ #
533
+ # function <function_name>(message, metadata) {
534
+ # }
535
+ # ```
536
+ class JavaScriptUDF
537
+ include ::Google::Protobuf::MessageExts
538
+ extend ::Google::Protobuf::MessageExts::ClassMethods
539
+ end
540
+ end
541
+ end
542
+ end
543
+ end
544
+ end
metadata CHANGED
@@ -1,13 +1,13 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-bigquery-analytics_hub-v1
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.10.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
8
  bindir: bin
9
9
  cert_chain: []
10
- date: 2025-01-29 00:00:00.000000000 Z
10
+ date: 2025-03-28 00:00:00.000000000 Z
11
11
  dependencies:
12
12
  - !ruby/object:Gem::Dependency
13
13
  name: gapic-common
@@ -88,12 +88,14 @@ files:
88
88
  - lib/google/cloud/bigquery/analytics_hub/v1/version.rb
89
89
  - lib/google/cloud/bigquery/analyticshub/v1/analyticshub_pb.rb
90
90
  - lib/google/cloud/bigquery/analyticshub/v1/analyticshub_services_pb.rb
91
+ - lib/google/cloud/bigquery/analyticshub/v1/pubsub_pb.rb
91
92
  - proto_docs/README.md
92
93
  - proto_docs/google/api/client.rb
93
94
  - proto_docs/google/api/field_behavior.rb
94
95
  - proto_docs/google/api/launch_stage.rb
95
96
  - proto_docs/google/api/resource.rb
96
97
  - proto_docs/google/cloud/bigquery/analyticshub/v1/analyticshub.rb
98
+ - proto_docs/google/cloud/bigquery/analyticshub/v1/pubsub.rb
97
99
  - proto_docs/google/iam/v1/iam_policy.rb
98
100
  - proto_docs/google/iam/v1/options.rb
99
101
  - proto_docs/google/iam/v1/policy.rb
@@ -124,7 +126,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
124
126
  - !ruby/object:Gem::Version
125
127
  version: '0'
126
128
  requirements: []
127
- rubygems_version: 3.6.2
129
+ rubygems_version: 3.6.5
128
130
  specification_version: 4
129
131
  summary: Exchange data and analytics assets securely and efficiently.
130
132
  test_files: []