google-cloud-bigquery-analytics_hub-v1 0.9.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.
@@ -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
@@ -40,6 +40,8 @@ module Google
40
40
  # @!attribute [rw] error
41
41
  # @return [::Google::Rpc::Status]
42
42
  # The error result of the operation in case of failure or cancellation.
43
+ #
44
+ # Note: The following fields are mutually exclusive: `error`, `response`. If a field in that set is populated, all other fields in the set will automatically be cleared.
43
45
  # @!attribute [rw] response
44
46
  # @return [::Google::Protobuf::Any]
45
47
  # The normal, successful response of the operation. If the original
@@ -50,6 +52,8 @@ module Google
50
52
  # is the original method name. For example, if the original method name
51
53
  # is `TakeSnapshot()`, the inferred response type is
52
54
  # `TakeSnapshotResponse`.
55
+ #
56
+ # Note: The following fields are mutually exclusive: `response`, `error`. If a field in that set is populated, all other fields in the set will automatically be cleared.
53
57
  class Operation
54
58
  include ::Google::Protobuf::MessageExts
55
59
  extend ::Google::Protobuf::MessageExts::ClassMethods
metadata CHANGED
@@ -1,14 +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.9.0
4
+ version: 0.11.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Google LLC
8
- autorequire:
9
8
  bindir: bin
10
9
  cert_chain: []
11
- date: 2024-12-10 00:00:00.000000000 Z
10
+ date: 2025-03-28 00:00:00.000000000 Z
12
11
  dependencies:
13
12
  - !ruby/object:Gem::Dependency
14
13
  name: gapic-common
@@ -16,7 +15,7 @@ dependencies:
16
15
  requirements:
17
16
  - - ">="
18
17
  - !ruby/object:Gem::Version
19
- version: 0.24.0
18
+ version: 0.25.0
20
19
  - - "<"
21
20
  - !ruby/object:Gem::Version
22
21
  version: 2.a
@@ -26,7 +25,7 @@ dependencies:
26
25
  requirements:
27
26
  - - ">="
28
27
  - !ruby/object:Gem::Version
29
- version: 0.24.0
28
+ version: 0.25.0
30
29
  - - "<"
31
30
  - !ruby/object:Gem::Version
32
31
  version: 2.a
@@ -89,12 +88,14 @@ files:
89
88
  - lib/google/cloud/bigquery/analytics_hub/v1/version.rb
90
89
  - lib/google/cloud/bigquery/analyticshub/v1/analyticshub_pb.rb
91
90
  - lib/google/cloud/bigquery/analyticshub/v1/analyticshub_services_pb.rb
91
+ - lib/google/cloud/bigquery/analyticshub/v1/pubsub_pb.rb
92
92
  - proto_docs/README.md
93
93
  - proto_docs/google/api/client.rb
94
94
  - proto_docs/google/api/field_behavior.rb
95
95
  - proto_docs/google/api/launch_stage.rb
96
96
  - proto_docs/google/api/resource.rb
97
97
  - proto_docs/google/cloud/bigquery/analyticshub/v1/analyticshub.rb
98
+ - proto_docs/google/cloud/bigquery/analyticshub/v1/pubsub.rb
98
99
  - proto_docs/google/iam/v1/iam_policy.rb
99
100
  - proto_docs/google/iam/v1/options.rb
100
101
  - proto_docs/google/iam/v1/policy.rb
@@ -111,7 +112,6 @@ homepage: https://github.com/googleapis/google-cloud-ruby
111
112
  licenses:
112
113
  - Apache-2.0
113
114
  metadata: {}
114
- post_install_message:
115
115
  rdoc_options: []
116
116
  require_paths:
117
117
  - lib
@@ -119,15 +119,14 @@ required_ruby_version: !ruby/object:Gem::Requirement
119
119
  requirements:
120
120
  - - ">="
121
121
  - !ruby/object:Gem::Version
122
- version: '2.7'
122
+ version: '3.0'
123
123
  required_rubygems_version: !ruby/object:Gem::Requirement
124
124
  requirements:
125
125
  - - ">="
126
126
  - !ruby/object:Gem::Version
127
127
  version: '0'
128
128
  requirements: []
129
- rubygems_version: 3.5.23
130
- signing_key:
129
+ rubygems_version: 3.6.5
131
130
  specification_version: 4
132
131
  summary: Exchange data and analytics assets securely and efficiently.
133
132
  test_files: []