google-apis-pubsub_v1 0.28.0 → 0.53.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.
@@ -42,13 +42,125 @@ module Google
42
42
  end
43
43
  end
44
44
 
45
+ # Information about an associated Analytics Hub subscription (https://cloud.
46
+ # google.com/bigquery/docs/analytics-hub-manage-subscriptions).
47
+ class AnalyticsHubSubscriptionInfo
48
+ include Google::Apis::Core::Hashable
49
+
50
+ # Optional. The name of the associated Analytics Hub listing resource. Pattern: "
51
+ # projects/`project`/locations/`location`/dataExchanges/`data_exchange`/listings/
52
+ # `listing`"
53
+ # Corresponds to the JSON property `listing`
54
+ # @return [String]
55
+ attr_accessor :listing
56
+
57
+ # Optional. The name of the associated Analytics Hub subscription resource.
58
+ # Pattern: "projects/`project`/locations/`location`/subscriptions/`subscription`"
59
+ # Corresponds to the JSON property `subscription`
60
+ # @return [String]
61
+ attr_accessor :subscription
62
+
63
+ def initialize(**args)
64
+ update!(**args)
65
+ end
66
+
67
+ # Update properties of this object
68
+ def update!(**args)
69
+ @listing = args[:listing] if args.key?(:listing)
70
+ @subscription = args[:subscription] if args.key?(:subscription)
71
+ end
72
+ end
73
+
74
+ # Configuration for writing message data in Avro format. Message payloads and
75
+ # metadata will be written to files as an Avro binary.
76
+ class AvroConfig
77
+ include Google::Apis::Core::Hashable
78
+
79
+ # Optional. When true, the output Cloud Storage file will be serialized using
80
+ # the topic schema, if it exists.
81
+ # Corresponds to the JSON property `useTopicSchema`
82
+ # @return [Boolean]
83
+ attr_accessor :use_topic_schema
84
+ alias_method :use_topic_schema?, :use_topic_schema
85
+
86
+ # Optional. When true, write the subscription name, message_id, publish_time,
87
+ # attributes, and ordering_key as additional fields in the output. The
88
+ # subscription name, message_id, and publish_time fields are put in their own
89
+ # fields while all other message properties other than data (for example, an
90
+ # ordering_key, if present) are added as entries in the attributes map.
91
+ # Corresponds to the JSON property `writeMetadata`
92
+ # @return [Boolean]
93
+ attr_accessor :write_metadata
94
+ alias_method :write_metadata?, :write_metadata
95
+
96
+ def initialize(**args)
97
+ update!(**args)
98
+ end
99
+
100
+ # Update properties of this object
101
+ def update!(**args)
102
+ @use_topic_schema = args[:use_topic_schema] if args.key?(:use_topic_schema)
103
+ @write_metadata = args[:write_metadata] if args.key?(:write_metadata)
104
+ end
105
+ end
106
+
107
+ # Ingestion settings for Amazon Kinesis Data Streams.
108
+ class AwsKinesis
109
+ include Google::Apis::Core::Hashable
110
+
111
+ # Required. AWS role ARN to be used for Federated Identity authentication with
112
+ # Kinesis. Check the Pub/Sub docs for how to set up this role and the required
113
+ # permissions that need to be attached to it.
114
+ # Corresponds to the JSON property `awsRoleArn`
115
+ # @return [String]
116
+ attr_accessor :aws_role_arn
117
+
118
+ # Required. The Kinesis consumer ARN to used for ingestion in Enhanced Fan-Out
119
+ # mode. The consumer must be already created and ready to be used.
120
+ # Corresponds to the JSON property `consumerArn`
121
+ # @return [String]
122
+ attr_accessor :consumer_arn
123
+
124
+ # Required. The GCP service account to be used for Federated Identity
125
+ # authentication with Kinesis (via a `AssumeRoleWithWebIdentity` call for the
126
+ # provided role). The `aws_role_arn` must be set up with `accounts.google.com:
127
+ # sub` equals to this service account number.
128
+ # Corresponds to the JSON property `gcpServiceAccount`
129
+ # @return [String]
130
+ attr_accessor :gcp_service_account
131
+
132
+ # Output only. An output-only field that indicates the state of the Kinesis
133
+ # ingestion source.
134
+ # Corresponds to the JSON property `state`
135
+ # @return [String]
136
+ attr_accessor :state
137
+
138
+ # Required. The Kinesis stream ARN to ingest data from.
139
+ # Corresponds to the JSON property `streamArn`
140
+ # @return [String]
141
+ attr_accessor :stream_arn
142
+
143
+ def initialize(**args)
144
+ update!(**args)
145
+ end
146
+
147
+ # Update properties of this object
148
+ def update!(**args)
149
+ @aws_role_arn = args[:aws_role_arn] if args.key?(:aws_role_arn)
150
+ @consumer_arn = args[:consumer_arn] if args.key?(:consumer_arn)
151
+ @gcp_service_account = args[:gcp_service_account] if args.key?(:gcp_service_account)
152
+ @state = args[:state] if args.key?(:state)
153
+ @stream_arn = args[:stream_arn] if args.key?(:stream_arn)
154
+ end
155
+ end
156
+
45
157
  # Configuration for a BigQuery subscription.
46
158
  class BigQueryConfig
47
159
  include Google::Apis::Core::Hashable
48
160
 
49
- # When true and use_topic_schema is true, any fields that are a part of the
50
- # topic schema that are not part of the BigQuery table schema are dropped when
51
- # writing to BigQuery. Otherwise, the schemas must be kept in sync and any
161
+ # Optional. When true and use_topic_schema is true, any fields that are a part
162
+ # of the topic schema that are not part of the BigQuery table schema are dropped
163
+ # when writing to BigQuery. Otherwise, the schemas must be kept in sync and any
52
164
  # messages with extra fields are not written and remain in the subscription's
53
165
  # backlog.
54
166
  # Corresponds to the JSON property `dropUnknownFields`
@@ -56,30 +168,48 @@ module Google
56
168
  attr_accessor :drop_unknown_fields
57
169
  alias_method :drop_unknown_fields?, :drop_unknown_fields
58
170
 
171
+ # Optional. The service account to use to write to BigQuery. The subscription
172
+ # creator or updater that specifies this field must have `iam.serviceAccounts.
173
+ # actAs` permission on the service account. If not specified, the Pub/Sub [
174
+ # service agent](https://cloud.google.com/iam/docs/service-agents), service-`
175
+ # project_number`@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
176
+ # Corresponds to the JSON property `serviceAccountEmail`
177
+ # @return [String]
178
+ attr_accessor :service_account_email
179
+
59
180
  # Output only. An output-only field that indicates whether or not the
60
181
  # subscription can receive messages.
61
182
  # Corresponds to the JSON property `state`
62
183
  # @return [String]
63
184
  attr_accessor :state
64
185
 
65
- # The name of the table to which to write data, of the form `projectId`.`
66
- # datasetId`.`tableId`
186
+ # Optional. The name of the table to which to write data, of the form `projectId`
187
+ # .`datasetId`.`tableId`
67
188
  # Corresponds to the JSON property `table`
68
189
  # @return [String]
69
190
  attr_accessor :table
70
191
 
71
- # When true, use the topic's schema as the columns to write to in BigQuery, if
72
- # it exists.
192
+ # Optional. When true, use the BigQuery table's schema as the columns to write
193
+ # to in BigQuery. `use_table_schema` and `use_topic_schema` cannot be enabled at
194
+ # the same time.
195
+ # Corresponds to the JSON property `useTableSchema`
196
+ # @return [Boolean]
197
+ attr_accessor :use_table_schema
198
+ alias_method :use_table_schema?, :use_table_schema
199
+
200
+ # Optional. When true, use the topic's schema as the columns to write to in
201
+ # BigQuery, if it exists. `use_topic_schema` and `use_table_schema` cannot be
202
+ # enabled at the same time.
73
203
  # Corresponds to the JSON property `useTopicSchema`
74
204
  # @return [Boolean]
75
205
  attr_accessor :use_topic_schema
76
206
  alias_method :use_topic_schema?, :use_topic_schema
77
207
 
78
- # When true, write the subscription name, message_id, publish_time, attributes,
79
- # and ordering_key to additional columns in the table. The subscription name,
80
- # message_id, and publish_time fields are put in their own columns while all
81
- # other message properties (other than data) are written to a JSON object in the
82
- # attributes column.
208
+ # Optional. When true, write the subscription name, message_id, publish_time,
209
+ # attributes, and ordering_key to additional columns in the table. The
210
+ # subscription name, message_id, and publish_time fields are put in their own
211
+ # columns while all other message properties (other than data) are written to a
212
+ # JSON object in the attributes column.
83
213
  # Corresponds to the JSON property `writeMetadata`
84
214
  # @return [Boolean]
85
215
  attr_accessor :write_metadata
@@ -92,8 +222,10 @@ module Google
92
222
  # Update properties of this object
93
223
  def update!(**args)
94
224
  @drop_unknown_fields = args[:drop_unknown_fields] if args.key?(:drop_unknown_fields)
225
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
95
226
  @state = args[:state] if args.key?(:state)
96
227
  @table = args[:table] if args.key?(:table)
228
+ @use_table_schema = args[:use_table_schema] if args.key?(:use_table_schema)
97
229
  @use_topic_schema = args[:use_topic_schema] if args.key?(:use_topic_schema)
98
230
  @write_metadata = args[:write_metadata] if args.key?(:write_metadata)
99
231
  end
@@ -137,7 +269,27 @@ module Google
137
269
  # kubernetes-engine/docs/how-to/kubernetes-service-accounts). For example, `my-
138
270
  # project.svc.id.goog[my-namespace/my-kubernetes-sa]`. * `group:`emailid``: An
139
271
  # email address that represents a Google group. For example, `admins@example.com`
140
- # . * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
272
+ # . * `domain:`domain``: The G Suite domain (primary) that represents all the
273
+ # users of that domain. For example, `google.com` or `example.com`. * `principal:
274
+ # //iam.googleapis.com/locations/global/workforcePools/`pool_id`/subject/`
275
+ # subject_attribute_value``: A single identity in a workforce identity pool. * `
276
+ # principalSet://iam.googleapis.com/locations/global/workforcePools/`pool_id`/
277
+ # group/`group_id``: All workforce identities in a group. * `principalSet://iam.
278
+ # googleapis.com/locations/global/workforcePools/`pool_id`/attribute.`
279
+ # attribute_name`/`attribute_value``: All workforce identities with a specific
280
+ # attribute value. * `principalSet://iam.googleapis.com/locations/global/
281
+ # workforcePools/`pool_id`/*`: All identities in a workforce identity pool. * `
282
+ # principal://iam.googleapis.com/projects/`project_number`/locations/global/
283
+ # workloadIdentityPools/`pool_id`/subject/`subject_attribute_value``: A single
284
+ # identity in a workload identity pool. * `principalSet://iam.googleapis.com/
285
+ # projects/`project_number`/locations/global/workloadIdentityPools/`pool_id`/
286
+ # group/`group_id``: A workload identity pool group. * `principalSet://iam.
287
+ # googleapis.com/projects/`project_number`/locations/global/
288
+ # workloadIdentityPools/`pool_id`/attribute.`attribute_name`/`attribute_value``:
289
+ # All identities in a workload identity pool with a certain attribute. * `
290
+ # principalSet://iam.googleapis.com/projects/`project_number`/locations/global/
291
+ # workloadIdentityPools/`pool_id`/*`: All identities in a workload identity pool.
292
+ # * `deleted:user:`emailid`?uid=`uniqueid``: An email address (plus unique
141
293
  # identifier) representing a user that has been recently deleted. For example, `
142
294
  # alice@example.com?uid=123456789012345678901`. If the user is recovered, this
143
295
  # value reverts to `user:`emailid`` and the recovered user retains the role in
@@ -151,14 +303,19 @@ module Google
151
303
  # been recently deleted. For example, `admins@example.com?uid=
152
304
  # 123456789012345678901`. If the group is recovered, this value reverts to `
153
305
  # group:`emailid`` and the recovered group retains the role in the binding. * `
154
- # domain:`domain``: The G Suite domain (primary) that represents all the users
155
- # of that domain. For example, `google.com` or `example.com`.
306
+ # deleted:principal://iam.googleapis.com/locations/global/workforcePools/`
307
+ # pool_id`/subject/`subject_attribute_value``: Deleted single identity in a
308
+ # workforce identity pool. For example, `deleted:principal://iam.googleapis.com/
309
+ # locations/global/workforcePools/my-pool-id/subject/my-subject-attribute-value`.
156
310
  # Corresponds to the JSON property `members`
157
311
  # @return [Array<String>]
158
312
  attr_accessor :members
159
313
 
160
314
  # Role that is assigned to the list of `members`, or principals. For example, `
161
- # roles/viewer`, `roles/editor`, or `roles/owner`.
315
+ # roles/viewer`, `roles/editor`, or `roles/owner`. For an overview of the IAM
316
+ # roles and permissions, see the [IAM documentation](https://cloud.google.com/
317
+ # iam/docs/roles-overview). For a list of the available pre-defined roles, see [
318
+ # here](https://cloud.google.com/iam/docs/understanding-roles).
162
319
  # Corresponds to the JSON property `role`
163
320
  # @return [String]
164
321
  attr_accessor :role
@@ -175,12 +332,123 @@ module Google
175
332
  end
176
333
  end
177
334
 
335
+ # Configuration for a Cloud Storage subscription.
336
+ class CloudStorageConfig
337
+ include Google::Apis::Core::Hashable
338
+
339
+ # Configuration for writing message data in Avro format. Message payloads and
340
+ # metadata will be written to files as an Avro binary.
341
+ # Corresponds to the JSON property `avroConfig`
342
+ # @return [Google::Apis::PubsubV1::AvroConfig]
343
+ attr_accessor :avro_config
344
+
345
+ # Required. User-provided name for the Cloud Storage bucket. The bucket must be
346
+ # created by the user. The bucket name must be without any prefix like "gs://".
347
+ # See the [bucket naming requirements] (https://cloud.google.com/storage/docs/
348
+ # buckets#naming).
349
+ # Corresponds to the JSON property `bucket`
350
+ # @return [String]
351
+ attr_accessor :bucket
352
+
353
+ # Optional. User-provided format string specifying how to represent datetimes in
354
+ # Cloud Storage filenames. See the [datetime format guidance](https://cloud.
355
+ # google.com/pubsub/docs/create-cloudstorage-subscription#file_names).
356
+ # Corresponds to the JSON property `filenameDatetimeFormat`
357
+ # @return [String]
358
+ attr_accessor :filename_datetime_format
359
+
360
+ # Optional. User-provided prefix for Cloud Storage filename. See the [object
361
+ # naming requirements](https://cloud.google.com/storage/docs/objects#naming).
362
+ # Corresponds to the JSON property `filenamePrefix`
363
+ # @return [String]
364
+ attr_accessor :filename_prefix
365
+
366
+ # Optional. User-provided suffix for Cloud Storage filename. See the [object
367
+ # naming requirements](https://cloud.google.com/storage/docs/objects#naming).
368
+ # Must not end in "/".
369
+ # Corresponds to the JSON property `filenameSuffix`
370
+ # @return [String]
371
+ attr_accessor :filename_suffix
372
+
373
+ # Optional. The maximum bytes that can be written to a Cloud Storage file before
374
+ # a new file is created. Min 1 KB, max 10 GiB. The max_bytes limit may be
375
+ # exceeded in cases where messages are larger than the limit.
376
+ # Corresponds to the JSON property `maxBytes`
377
+ # @return [Fixnum]
378
+ attr_accessor :max_bytes
379
+
380
+ # Optional. The maximum duration that can elapse before a new Cloud Storage file
381
+ # is created. Min 1 minute, max 10 minutes, default 5 minutes. May not exceed
382
+ # the subscription's acknowledgement deadline.
383
+ # Corresponds to the JSON property `maxDuration`
384
+ # @return [String]
385
+ attr_accessor :max_duration
386
+
387
+ # Optional. The service account to use to write to Cloud Storage. The
388
+ # subscription creator or updater that specifies this field must have `iam.
389
+ # serviceAccounts.actAs` permission on the service account. If not specified,
390
+ # the Pub/Sub [service agent](https://cloud.google.com/iam/docs/service-agents),
391
+ # service-`project_number`@gcp-sa-pubsub.iam.gserviceaccount.com, is used.
392
+ # Corresponds to the JSON property `serviceAccountEmail`
393
+ # @return [String]
394
+ attr_accessor :service_account_email
395
+
396
+ # Output only. An output-only field that indicates whether or not the
397
+ # subscription can receive messages.
398
+ # Corresponds to the JSON property `state`
399
+ # @return [String]
400
+ attr_accessor :state
401
+
402
+ # Configuration for writing message data in text format. Message payloads will
403
+ # be written to files as raw text, separated by a newline.
404
+ # Corresponds to the JSON property `textConfig`
405
+ # @return [Google::Apis::PubsubV1::TextConfig]
406
+ attr_accessor :text_config
407
+
408
+ def initialize(**args)
409
+ update!(**args)
410
+ end
411
+
412
+ # Update properties of this object
413
+ def update!(**args)
414
+ @avro_config = args[:avro_config] if args.key?(:avro_config)
415
+ @bucket = args[:bucket] if args.key?(:bucket)
416
+ @filename_datetime_format = args[:filename_datetime_format] if args.key?(:filename_datetime_format)
417
+ @filename_prefix = args[:filename_prefix] if args.key?(:filename_prefix)
418
+ @filename_suffix = args[:filename_suffix] if args.key?(:filename_suffix)
419
+ @max_bytes = args[:max_bytes] if args.key?(:max_bytes)
420
+ @max_duration = args[:max_duration] if args.key?(:max_duration)
421
+ @service_account_email = args[:service_account_email] if args.key?(:service_account_email)
422
+ @state = args[:state] if args.key?(:state)
423
+ @text_config = args[:text_config] if args.key?(:text_config)
424
+ end
425
+ end
426
+
427
+ # Request for CommitSchema method.
428
+ class CommitSchemaRequest
429
+ include Google::Apis::Core::Hashable
430
+
431
+ # A schema resource.
432
+ # Corresponds to the JSON property `schema`
433
+ # @return [Google::Apis::PubsubV1::Schema]
434
+ attr_accessor :schema
435
+
436
+ def initialize(**args)
437
+ update!(**args)
438
+ end
439
+
440
+ # Update properties of this object
441
+ def update!(**args)
442
+ @schema = args[:schema] if args.key?(:schema)
443
+ end
444
+ end
445
+
178
446
  # Request for the `CreateSnapshot` method.
179
447
  class CreateSnapshotRequest
180
448
  include Google::Apis::Core::Hashable
181
449
 
182
- # See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)
183
- # .
450
+ # Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/
451
+ # docs/labels).
184
452
  # Corresponds to the JSON property `labels`
185
453
  # @return [Hash<String,String>]
186
454
  attr_accessor :labels
@@ -214,8 +482,8 @@ module Google
214
482
  class DeadLetterPolicy
215
483
  include Google::Apis::Core::Hashable
216
484
 
217
- # The name of the topic to which dead letter messages should be published.
218
- # Format is `projects/`project`/topics/`topic``.The Cloud Pub/Sub service
485
+ # Optional. The name of the topic to which dead letter messages should be
486
+ # published. Format is `projects/`project`/topics/`topic``.The Pub/Sub service
219
487
  # account associated with the enclosing subscription's parent project (i.e.,
220
488
  # service-`project_number`@gcp-sa-pubsub.iam.gserviceaccount.com) must have
221
489
  # permission to Publish() to this topic. The operation will fail if the topic
@@ -225,13 +493,13 @@ module Google
225
493
  # @return [String]
226
494
  attr_accessor :dead_letter_topic
227
495
 
228
- # The maximum number of delivery attempts for any message. The value must be
229
- # between 5 and 100. The number of delivery attempts is defined as 1 + (the sum
230
- # of number of NACKs and number of times the acknowledgement deadline has been
231
- # exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0
232
- # deadline. Note that client libraries may automatically extend ack_deadlines.
233
- # This field will be honored on a best effort basis. If this parameter is 0, a
234
- # default value of 5 is used.
496
+ # Optional. The maximum number of delivery attempts for any message. The value
497
+ # must be between 5 and 100. The number of delivery attempts is defined as 1 + (
498
+ # the sum of number of NACKs and number of times the acknowledgement deadline
499
+ # has been exceeded for the message). A NACK is any call to ModifyAckDeadline
500
+ # with a 0 deadline. Note that client libraries may automatically extend
501
+ # ack_deadlines. This field will be honored on a best effort basis. If this
502
+ # parameter is 0, a default value of 5 is used.
235
503
  # Corresponds to the JSON property `maxDeliveryAttempts`
236
504
  # @return [Fixnum]
237
505
  attr_accessor :max_delivery_attempts
@@ -281,11 +549,11 @@ module Google
281
549
  class ExpirationPolicy
282
550
  include Google::Apis::Core::Hashable
283
551
 
284
- # Specifies the "time-to-live" duration for an associated resource. The resource
285
- # expires if it is not active for a period of `ttl`. The definition of "activity"
286
- # depends on the type of the associated resource. The minimum and maximum
287
- # allowed values for `ttl` depend on the type of the associated resource, as
288
- # well. If `ttl` is not set, the associated resource never expires.
552
+ # Optional. Specifies the "time-to-live" duration for an associated resource.
553
+ # The resource expires if it is not active for a period of `ttl`. The definition
554
+ # of "activity" depends on the type of the associated resource. The minimum and
555
+ # maximum allowed values for `ttl` depend on the type of the associated resource,
556
+ # as well. If `ttl` is not set, the associated resource never expires.
289
557
  # Corresponds to the JSON property `ttl`
290
558
  # @return [String]
291
559
  attr_accessor :ttl
@@ -354,6 +622,51 @@ module Google
354
622
  end
355
623
  end
356
624
 
625
+ # Settings for an ingestion data source on a topic.
626
+ class IngestionDataSourceSettings
627
+ include Google::Apis::Core::Hashable
628
+
629
+ # Ingestion settings for Amazon Kinesis Data Streams.
630
+ # Corresponds to the JSON property `awsKinesis`
631
+ # @return [Google::Apis::PubsubV1::AwsKinesis]
632
+ attr_accessor :aws_kinesis
633
+
634
+ def initialize(**args)
635
+ update!(**args)
636
+ end
637
+
638
+ # Update properties of this object
639
+ def update!(**args)
640
+ @aws_kinesis = args[:aws_kinesis] if args.key?(:aws_kinesis)
641
+ end
642
+ end
643
+
644
+ # Response for the `ListSchemaRevisions` method.
645
+ class ListSchemaRevisionsResponse
646
+ include Google::Apis::Core::Hashable
647
+
648
+ # A token that can be sent as `page_token` to retrieve the next page. If this
649
+ # field is empty, there are no subsequent pages.
650
+ # Corresponds to the JSON property `nextPageToken`
651
+ # @return [String]
652
+ attr_accessor :next_page_token
653
+
654
+ # The revisions of the schema.
655
+ # Corresponds to the JSON property `schemas`
656
+ # @return [Array<Google::Apis::PubsubV1::Schema>]
657
+ attr_accessor :schemas
658
+
659
+ def initialize(**args)
660
+ update!(**args)
661
+ end
662
+
663
+ # Update properties of this object
664
+ def update!(**args)
665
+ @next_page_token = args[:next_page_token] if args.key?(:next_page_token)
666
+ @schemas = args[:schemas] if args.key?(:schemas)
667
+ end
668
+ end
669
+
357
670
  # Response for the `ListSchemas` method.
358
671
  class ListSchemasResponse
359
672
  include Google::Apis::Core::Hashable
@@ -384,13 +697,13 @@ module Google
384
697
  class ListSnapshotsResponse
385
698
  include Google::Apis::Core::Hashable
386
699
 
387
- # If not empty, indicates that there may be more snapshot that match the request;
388
- # this value should be passed in a new `ListSnapshotsRequest`.
700
+ # Optional. If not empty, indicates that there may be more snapshot that match
701
+ # the request; this value should be passed in a new `ListSnapshotsRequest`.
389
702
  # Corresponds to the JSON property `nextPageToken`
390
703
  # @return [String]
391
704
  attr_accessor :next_page_token
392
705
 
393
- # The resulting snapshots.
706
+ # Optional. The resulting snapshots.
394
707
  # Corresponds to the JSON property `snapshots`
395
708
  # @return [Array<Google::Apis::PubsubV1::Snapshot>]
396
709
  attr_accessor :snapshots
@@ -410,14 +723,14 @@ module Google
410
723
  class ListSubscriptionsResponse
411
724
  include Google::Apis::Core::Hashable
412
725
 
413
- # If not empty, indicates that there may be more subscriptions that match the
414
- # request; this value should be passed in a new `ListSubscriptionsRequest` to
415
- # get more subscriptions.
726
+ # Optional. If not empty, indicates that there may be more subscriptions that
727
+ # match the request; this value should be passed in a new `
728
+ # ListSubscriptionsRequest` to get more subscriptions.
416
729
  # Corresponds to the JSON property `nextPageToken`
417
730
  # @return [String]
418
731
  attr_accessor :next_page_token
419
732
 
420
- # The subscriptions that match the request.
733
+ # Optional. The subscriptions that match the request.
421
734
  # Corresponds to the JSON property `subscriptions`
422
735
  # @return [Array<Google::Apis::PubsubV1::Subscription>]
423
736
  attr_accessor :subscriptions
@@ -437,14 +750,14 @@ module Google
437
750
  class ListTopicSnapshotsResponse
438
751
  include Google::Apis::Core::Hashable
439
752
 
440
- # If not empty, indicates that there may be more snapshots that match the
441
- # request; this value should be passed in a new `ListTopicSnapshotsRequest` to
442
- # get more snapshots.
753
+ # Optional. If not empty, indicates that there may be more snapshots that match
754
+ # the request; this value should be passed in a new `ListTopicSnapshotsRequest`
755
+ # to get more snapshots.
443
756
  # Corresponds to the JSON property `nextPageToken`
444
757
  # @return [String]
445
758
  attr_accessor :next_page_token
446
759
 
447
- # The names of the snapshots that match the request.
760
+ # Optional. The names of the snapshots that match the request.
448
761
  # Corresponds to the JSON property `snapshots`
449
762
  # @return [Array<String>]
450
763
  attr_accessor :snapshots
@@ -464,14 +777,15 @@ module Google
464
777
  class ListTopicSubscriptionsResponse
465
778
  include Google::Apis::Core::Hashable
466
779
 
467
- # If not empty, indicates that there may be more subscriptions that match the
468
- # request; this value should be passed in a new `ListTopicSubscriptionsRequest`
469
- # to get more subscriptions.
780
+ # Optional. If not empty, indicates that there may be more subscriptions that
781
+ # match the request; this value should be passed in a new `
782
+ # ListTopicSubscriptionsRequest` to get more subscriptions.
470
783
  # Corresponds to the JSON property `nextPageToken`
471
784
  # @return [String]
472
785
  attr_accessor :next_page_token
473
786
 
474
- # The names of subscriptions attached to the topic specified in the request.
787
+ # Optional. The names of subscriptions attached to the topic specified in the
788
+ # request.
475
789
  # Corresponds to the JSON property `subscriptions`
476
790
  # @return [Array<String>]
477
791
  attr_accessor :subscriptions
@@ -491,13 +805,13 @@ module Google
491
805
  class ListTopicsResponse
492
806
  include Google::Apis::Core::Hashable
493
807
 
494
- # If not empty, indicates that there may be more topics that match the request;
495
- # this value should be passed in a new `ListTopicsRequest`.
808
+ # Optional. If not empty, indicates that there may be more topics that match the
809
+ # request; this value should be passed in a new `ListTopicsRequest`.
496
810
  # Corresponds to the JSON property `nextPageToken`
497
811
  # @return [String]
498
812
  attr_accessor :next_page_token
499
813
 
500
- # The resulting topics.
814
+ # Optional. The resulting topics.
501
815
  # Corresponds to the JSON property `topics`
502
816
  # @return [Array<Google::Apis::PubsubV1::Topic>]
503
817
  attr_accessor :topics
@@ -517,15 +831,25 @@ module Google
517
831
  class MessageStoragePolicy
518
832
  include Google::Apis::Core::Hashable
519
833
 
520
- # A list of IDs of GCP regions where messages that are published to the topic
521
- # may be persisted in storage. Messages published by publishers running in non-
522
- # allowed GCP regions (or running outside of GCP altogether) will be routed for
523
- # storage in one of the allowed regions. An empty list means that no regions are
524
- # allowed, and is not a valid configuration.
834
+ # Optional. A list of IDs of Google Cloud regions where messages that are
835
+ # published to the topic may be persisted in storage. Messages published by
836
+ # publishers running in non-allowed Google Cloud regions (or running outside of
837
+ # Google Cloud altogether) are routed for storage in one of the allowed regions.
838
+ # An empty list means that no regions are allowed, and is not a valid
839
+ # configuration.
525
840
  # Corresponds to the JSON property `allowedPersistenceRegions`
526
841
  # @return [Array<String>]
527
842
  attr_accessor :allowed_persistence_regions
528
843
 
844
+ # Optional. If true, `allowed_persistence_regions` is also used to enforce in-
845
+ # transit guarantees for messages. That is, Pub/Sub will fail Publish operations
846
+ # on this topic and subscribe operations on any subscription attached to this
847
+ # topic in any region that is not in `allowed_persistence_regions`.
848
+ # Corresponds to the JSON property `enforceInTransit`
849
+ # @return [Boolean]
850
+ attr_accessor :enforce_in_transit
851
+ alias_method :enforce_in_transit?, :enforce_in_transit
852
+
529
853
  def initialize(**args)
530
854
  update!(**args)
531
855
  end
@@ -533,6 +857,7 @@ module Google
533
857
  # Update properties of this object
534
858
  def update!(**args)
535
859
  @allowed_persistence_regions = args[:allowed_persistence_regions] if args.key?(:allowed_persistence_regions)
860
+ @enforce_in_transit = args[:enforce_in_transit] if args.key?(:enforce_in_transit)
536
861
  end
537
862
  end
538
863
 
@@ -546,8 +871,8 @@ module Google
546
871
  # zero might immediately make the message available for delivery to another
547
872
  # subscriber client. This typically results in an increase in the rate of
548
873
  # message redeliveries (that is, duplicates). The minimum deadline you can
549
- # specify is 0 seconds. The maximum deadline you can specify is 600 seconds (10
550
- # minutes).
874
+ # specify is 0 seconds. The maximum deadline you can specify in a single request
875
+ # is 600 seconds (10 minutes).
551
876
  # Corresponds to the JSON property `ackDeadlineSeconds`
552
877
  # @return [Fixnum]
553
878
  attr_accessor :ack_deadline_seconds
@@ -587,25 +912,47 @@ module Google
587
912
  end
588
913
  end
589
914
 
915
+ # Sets the `data` field as the HTTP body for delivery.
916
+ class NoWrapper
917
+ include Google::Apis::Core::Hashable
918
+
919
+ # Optional. When true, writes the Pub/Sub message metadata to `x-goog-pubsub-:`
920
+ # headers of the HTTP request. Writes the Pub/Sub message attributes to `:`
921
+ # headers of the HTTP request.
922
+ # Corresponds to the JSON property `writeMetadata`
923
+ # @return [Boolean]
924
+ attr_accessor :write_metadata
925
+ alias_method :write_metadata?, :write_metadata
926
+
927
+ def initialize(**args)
928
+ update!(**args)
929
+ end
930
+
931
+ # Update properties of this object
932
+ def update!(**args)
933
+ @write_metadata = args[:write_metadata] if args.key?(:write_metadata)
934
+ end
935
+ end
936
+
590
937
  # Contains information needed for generating an [OpenID Connect token](https://
591
- # developers.google.com/identity/protocols/OpenIDConnect). [Service account
592
- # email](https://cloud.google.com/iam/docs/service-accounts) used for generating
593
- # the OIDC token. For more information on setting up authentication, see [Push
594
- # subscriptions](https://cloud.google.com/pubsub/docs/push).
938
+ # developers.google.com/identity/protocols/OpenIDConnect).
595
939
  class OidcToken
596
940
  include Google::Apis::Core::Hashable
597
941
 
598
- # Audience to be used when generating OIDC token. The audience claim identifies
599
- # the recipients that the JWT is intended for. The audience value is a single
600
- # case-sensitive string. Having multiple values (array) for the audience field
601
- # is not supported. More info about the OIDC JWT token audience here: https://
602
- # tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the Push
603
- # endpoint URL will be used.
942
+ # Optional. Audience to be used when generating OIDC token. The audience claim
943
+ # identifies the recipients that the JWT is intended for. The audience value is
944
+ # a single case-sensitive string. Having multiple values (array) for the
945
+ # audience field is not supported. More info about the OIDC JWT token audience
946
+ # here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified,
947
+ # the Push endpoint URL will be used.
604
948
  # Corresponds to the JSON property `audience`
605
949
  # @return [String]
606
950
  attr_accessor :audience
607
951
 
608
- #
952
+ # Optional. [Service account email](https://cloud.google.com/iam/docs/service-
953
+ # accounts) used for generating the OIDC token. For more information on setting
954
+ # up authentication, see [Push subscriptions](https://cloud.google.com/pubsub/
955
+ # docs/push).
609
956
  # Corresponds to the JSON property `serviceAccountEmail`
610
957
  # @return [String]
611
958
  attr_accessor :service_account_email
@@ -632,22 +979,22 @@ module Google
632
979
  # evaluates to `true`. A condition can add constraints based on attributes of
633
980
  # the request, the resource, or both. To learn which resources support
634
981
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
635
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
982
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
636
983
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
637
984
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
638
985
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
639
986
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
640
987
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
641
988
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
642
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
643
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
644
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
645
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
646
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
647
- # access description: Does not grant access after Sep 2020 expression: request.
648
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
649
- # a description of IAM and its features, see the [IAM documentation](https://
650
- # cloud.google.com/iam/docs/).
989
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
990
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
991
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
992
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
993
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
994
+ # title: expirable access description: Does not grant access after Sep 2020
995
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
996
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
997
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
651
998
  class Policy
652
999
  include Google::Apis::Core::Hashable
653
1000
 
@@ -733,8 +1080,9 @@ module Google
733
1080
  class PublishResponse
734
1081
  include Google::Apis::Core::Hashable
735
1082
 
736
- # The server-assigned ID of each published message, in the same order as the
737
- # messages in the request. IDs are guaranteed to be unique within the topic.
1083
+ # Optional. The server-assigned ID of each published message, in the same order
1084
+ # as the messages in the request. IDs are guaranteed to be unique within the
1085
+ # topic.
738
1086
  # Corresponds to the JSON property `messageIds`
739
1087
  # @return [Array<String>]
740
1088
  attr_accessor :message_ids
@@ -759,14 +1107,15 @@ module Google
759
1107
  class Message
760
1108
  include Google::Apis::Core::Hashable
761
1109
 
762
- # Attributes for this message. If this field is empty, the message must contain
763
- # non-empty data. This can be used to filter messages on the subscription.
1110
+ # Optional. Attributes for this message. If this field is empty, the message
1111
+ # must contain non-empty data. This can be used to filter messages on the
1112
+ # subscription.
764
1113
  # Corresponds to the JSON property `attributes`
765
1114
  # @return [Hash<String,String>]
766
1115
  attr_accessor :attributes
767
1116
 
768
- # The message data field. If this field is empty, the message must contain at
769
- # least one attribute.
1117
+ # Optional. The message data field. If this field is empty, the message must
1118
+ # contain at least one attribute.
770
1119
  # Corresponds to the JSON property `data`
771
1120
  # NOTE: Values are automatically base64 encoded/decoded in the client library.
772
1121
  # @return [String]
@@ -780,9 +1129,9 @@ module Google
780
1129
  # @return [String]
781
1130
  attr_accessor :message_id
782
1131
 
783
- # If non-empty, identifies related messages for which publish order should be
784
- # respected. If a `Subscription` has `enable_message_ordering` set to `true`,
785
- # messages published with the same non-empty `ordering_key` value will be
1132
+ # Optional. If non-empty, identifies related messages for which publish order
1133
+ # should be respected. If a `Subscription` has `enable_message_ordering` set to `
1134
+ # true`, messages published with the same non-empty `ordering_key` value will be
786
1135
  # delivered to subscribers in the order in which they are received by the Pub/
787
1136
  # Sub system. All `PubsubMessage`s published in a given `PublishRequest` must
788
1137
  # specify the same `ordering_key` value. For more information, see [ordering
@@ -812,6 +1161,21 @@ module Google
812
1161
  end
813
1162
  end
814
1163
 
1164
+ # The payload to the push endpoint is in the form of the JSON representation of
1165
+ # a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.
1166
+ # pubsub.v1#pubsubmessage).
1167
+ class PubsubWrapper
1168
+ include Google::Apis::Core::Hashable
1169
+
1170
+ def initialize(**args)
1171
+ update!(**args)
1172
+ end
1173
+
1174
+ # Update properties of this object
1175
+ def update!(**args)
1176
+ end
1177
+ end
1178
+
815
1179
  # Request for the `Pull` method.
816
1180
  class PullRequest
817
1181
  include Google::Apis::Core::Hashable
@@ -850,10 +1214,11 @@ module Google
850
1214
  class PullResponse
851
1215
  include Google::Apis::Core::Hashable
852
1216
 
853
- # Received Pub/Sub messages. The list will be empty if there are no more
854
- # messages available in the backlog. For JSON, the response can be entirely
855
- # empty. The Pub/Sub system may return fewer than the `maxMessages` requested
856
- # even if there are more messages available in the backlog.
1217
+ # Optional. Received Pub/Sub messages. The list will be empty if there are no
1218
+ # more messages available in the backlog, or if no messages could be returned
1219
+ # before the request timeout. For JSON, the response can be entirely empty. The
1220
+ # Pub/Sub system may return fewer than the `maxMessages` requested even if there
1221
+ # are more messages available in the backlog.
857
1222
  # Corresponds to the JSON property `receivedMessages`
858
1223
  # @return [Array<Google::Apis::PubsubV1::ReceivedMessage>]
859
1224
  attr_accessor :received_messages
@@ -872,34 +1237,43 @@ module Google
872
1237
  class PushConfig
873
1238
  include Google::Apis::Core::Hashable
874
1239
 
875
- # Endpoint configuration attributes that can be used to control different
876
- # aspects of the message delivery. The only currently supported attribute is `x-
877
- # goog-version`, which you can use to change the format of the pushed message.
878
- # This attribute indicates the version of the data expected by the endpoint.
879
- # This controls the shape of the pushed message (i.e., its fields and metadata).
880
- # If not present during the `CreateSubscription` call, it will default to the
881
- # version of the Pub/Sub API used to make such call. If not present in a `
882
- # ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls
883
- # will always return a valid version, even if the subscription was created
884
- # without this attribute. The only supported values for the `x-goog-version`
885
- # attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/
886
- # Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub
887
- # API. For example: `attributes ` "x-goog-version": "v1" ``
1240
+ # Optional. Endpoint configuration attributes that can be used to control
1241
+ # different aspects of the message delivery. The only currently supported
1242
+ # attribute is `x-goog-version`, which you can use to change the format of the
1243
+ # pushed message. This attribute indicates the version of the data expected by
1244
+ # the endpoint. This controls the shape of the pushed message (i.e., its fields
1245
+ # and metadata). If not present during the `CreateSubscription` call, it will
1246
+ # default to the version of the Pub/Sub API used to make such call. If not
1247
+ # present in a `ModifyPushConfig` call, its value will not be changed. `
1248
+ # GetSubscription` calls will always return a valid version, even if the
1249
+ # subscription was created without this attribute. The only supported values for
1250
+ # the `x-goog-version` attribute are: * `v1beta1`: uses the push format defined
1251
+ # in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined
1252
+ # in the v1 Pub/Sub API. For example: `attributes ` "x-goog-version": "v1" ``
888
1253
  # Corresponds to the JSON property `attributes`
889
1254
  # @return [Hash<String,String>]
890
1255
  attr_accessor :attributes
891
1256
 
1257
+ # Sets the `data` field as the HTTP body for delivery.
1258
+ # Corresponds to the JSON property `noWrapper`
1259
+ # @return [Google::Apis::PubsubV1::NoWrapper]
1260
+ attr_accessor :no_wrapper
1261
+
892
1262
  # Contains information needed for generating an [OpenID Connect token](https://
893
- # developers.google.com/identity/protocols/OpenIDConnect). [Service account
894
- # email](https://cloud.google.com/iam/docs/service-accounts) used for generating
895
- # the OIDC token. For more information on setting up authentication, see [Push
896
- # subscriptions](https://cloud.google.com/pubsub/docs/push).
1263
+ # developers.google.com/identity/protocols/OpenIDConnect).
897
1264
  # Corresponds to the JSON property `oidcToken`
898
1265
  # @return [Google::Apis::PubsubV1::OidcToken]
899
1266
  attr_accessor :oidc_token
900
1267
 
901
- # A URL locating the endpoint to which messages should be pushed. For example, a
902
- # Webhook endpoint might use `https://example.com/push`.
1268
+ # The payload to the push endpoint is in the form of the JSON representation of
1269
+ # a PubsubMessage (https://cloud.google.com/pubsub/docs/reference/rpc/google.
1270
+ # pubsub.v1#pubsubmessage).
1271
+ # Corresponds to the JSON property `pubsubWrapper`
1272
+ # @return [Google::Apis::PubsubV1::PubsubWrapper]
1273
+ attr_accessor :pubsub_wrapper
1274
+
1275
+ # Optional. A URL locating the endpoint to which messages should be pushed. For
1276
+ # example, a Webhook endpoint might use `https://example.com/push`.
903
1277
  # Corresponds to the JSON property `pushEndpoint`
904
1278
  # @return [String]
905
1279
  attr_accessor :push_endpoint
@@ -911,7 +1285,9 @@ module Google
911
1285
  # Update properties of this object
912
1286
  def update!(**args)
913
1287
  @attributes = args[:attributes] if args.key?(:attributes)
1288
+ @no_wrapper = args[:no_wrapper] if args.key?(:no_wrapper)
914
1289
  @oidc_token = args[:oidc_token] if args.key?(:oidc_token)
1290
+ @pubsub_wrapper = args[:pubsub_wrapper] if args.key?(:pubsub_wrapper)
915
1291
  @push_endpoint = args[:push_endpoint] if args.key?(:push_endpoint)
916
1292
  end
917
1293
  end
@@ -920,16 +1296,16 @@ module Google
920
1296
  class ReceivedMessage
921
1297
  include Google::Apis::Core::Hashable
922
1298
 
923
- # This ID can be used to acknowledge the received message.
1299
+ # Optional. This ID can be used to acknowledge the received message.
924
1300
  # Corresponds to the JSON property `ackId`
925
1301
  # @return [String]
926
1302
  attr_accessor :ack_id
927
1303
 
928
- # The approximate number of times that Cloud Pub/Sub has attempted to deliver
929
- # the associated message to a subscriber. More precisely, this is 1 + (number of
930
- # NACKs) + (number of ack_deadline exceeds) for this message. A NACK is any call
931
- # to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds event is
932
- # whenever a message is not acknowledged within ack_deadline. Note that
1304
+ # Optional. The approximate number of times that Pub/Sub has attempted to
1305
+ # deliver the associated message to a subscriber. More precisely, this is 1 + (
1306
+ # number of NACKs) + (number of ack_deadline exceeds) for this message. A NACK
1307
+ # is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline exceeds
1308
+ # event is whenever a message is not acknowledged within ack_deadline. Note that
933
1309
  # ack_deadline is initially Subscription.ackDeadlineSeconds, but may get
934
1310
  # extended automatically by the client library. Upon the first delivery of a
935
1311
  # given message, `delivery_attempt` will have a value of 1. The value is
@@ -962,24 +1338,24 @@ module Google
962
1338
  end
963
1339
  end
964
1340
 
965
- # A policy that specifies how Cloud Pub/Sub retries message delivery. Retry
966
- # delay will be exponential based on provided minimum and maximum backoffs.
967
- # https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be
968
- # triggered on NACKs or acknowledgement deadline exceeded events for a given
969
- # message. Retry Policy is implemented on a best effort basis. At times, the
970
- # delay between consecutive deliveries may not match the configuration. That is,
971
- # delay can be more or less than configured backoff.
1341
+ # A policy that specifies how Pub/Sub retries message delivery. Retry delay will
1342
+ # be exponential based on provided minimum and maximum backoffs. https://en.
1343
+ # wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs
1344
+ # or acknowledgement deadline exceeded events for a given message. Retry Policy
1345
+ # is implemented on a best effort basis. At times, the delay between consecutive
1346
+ # deliveries may not match the configuration. That is, delay can be more or less
1347
+ # than configured backoff.
972
1348
  class RetryPolicy
973
1349
  include Google::Apis::Core::Hashable
974
1350
 
975
- # The maximum delay between consecutive deliveries of a given message. Value
976
- # should be between 0 and 600 seconds. Defaults to 600 seconds.
1351
+ # Optional. The maximum delay between consecutive deliveries of a given message.
1352
+ # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
977
1353
  # Corresponds to the JSON property `maximumBackoff`
978
1354
  # @return [String]
979
1355
  attr_accessor :maximum_backoff
980
1356
 
981
- # The minimum delay between consecutive deliveries of a given message. Value
982
- # should be between 0 and 600 seconds. Defaults to 10 seconds.
1357
+ # Optional. The minimum delay between consecutive deliveries of a given message.
1358
+ # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
983
1359
  # Corresponds to the JSON property `minimumBackoff`
984
1360
  # @return [String]
985
1361
  attr_accessor :minimum_backoff
@@ -995,6 +1371,26 @@ module Google
995
1371
  end
996
1372
  end
997
1373
 
1374
+ # Request for the `RollbackSchema` method.
1375
+ class RollbackSchemaRequest
1376
+ include Google::Apis::Core::Hashable
1377
+
1378
+ # Required. The revision ID to roll back to. It must be a revision of the same
1379
+ # schema. Example: c7cfa2a8
1380
+ # Corresponds to the JSON property `revisionId`
1381
+ # @return [String]
1382
+ attr_accessor :revision_id
1383
+
1384
+ def initialize(**args)
1385
+ update!(**args)
1386
+ end
1387
+
1388
+ # Update properties of this object
1389
+ def update!(**args)
1390
+ @revision_id = args[:revision_id] if args.key?(:revision_id)
1391
+ end
1392
+ end
1393
+
998
1394
  # A schema resource.
999
1395
  class Schema
1000
1396
  include Google::Apis::Core::Hashable
@@ -1044,21 +1440,21 @@ module Google
1044
1440
  class SchemaSettings
1045
1441
  include Google::Apis::Core::Hashable
1046
1442
 
1047
- # The encoding of messages validated against `schema`.
1443
+ # Optional. The encoding of messages validated against `schema`.
1048
1444
  # Corresponds to the JSON property `encoding`
1049
1445
  # @return [String]
1050
1446
  attr_accessor :encoding
1051
1447
 
1052
- # The minimum (inclusive) revision allowed for validating messages. If empty or
1053
- # not present, allow any revision to be validated against last_revision or any
1054
- # revision created before.
1448
+ # Optional. The minimum (inclusive) revision allowed for validating messages. If
1449
+ # empty or not present, allow any revision to be validated against last_revision
1450
+ # or any revision created before.
1055
1451
  # Corresponds to the JSON property `firstRevisionId`
1056
1452
  # @return [String]
1057
1453
  attr_accessor :first_revision_id
1058
1454
 
1059
- # The maximum (inclusive) revision allowed for validating messages. If empty or
1060
- # not present, allow any revision to be validated against first_revision or any
1061
- # revision created after.
1455
+ # Optional. The maximum (inclusive) revision allowed for validating messages. If
1456
+ # empty or not present, allow any revision to be validated against
1457
+ # first_revision or any revision created after.
1062
1458
  # Corresponds to the JSON property `lastRevisionId`
1063
1459
  # @return [String]
1064
1460
  attr_accessor :last_revision_id
@@ -1087,21 +1483,23 @@ module Google
1087
1483
  class SeekRequest
1088
1484
  include Google::Apis::Core::Hashable
1089
1485
 
1090
- # The snapshot to seek to. The snapshot's topic must be the same as that of the
1091
- # provided subscription. Format is `projects/`project`/snapshots/`snap``.
1486
+ # Optional. The snapshot to seek to. The snapshot's topic must be the same as
1487
+ # that of the provided subscription. Format is `projects/`project`/snapshots/`
1488
+ # snap``.
1092
1489
  # Corresponds to the JSON property `snapshot`
1093
1490
  # @return [String]
1094
1491
  attr_accessor :snapshot
1095
1492
 
1096
- # The time to seek to. Messages retained in the subscription that were published
1097
- # before this time are marked as acknowledged, and messages retained in the
1098
- # subscription that were published after this time are marked as unacknowledged.
1099
- # Note that this operation affects only those messages retained in the
1100
- # subscription (configured by the combination of `message_retention_duration`
1101
- # and `retain_acked_messages`). For example, if `time` corresponds to a point
1102
- # before the message retention window (or to a point before the system's notion
1103
- # of the subscription creation time), only retained messages will be marked as
1104
- # unacknowledged, and already-expunged messages will not be restored.
1493
+ # Optional. The time to seek to. Messages retained in the subscription that were
1494
+ # published before this time are marked as acknowledged, and messages retained
1495
+ # in the subscription that were published after this time are marked as
1496
+ # unacknowledged. Note that this operation affects only those messages retained
1497
+ # in the subscription (configured by the combination of `
1498
+ # message_retention_duration` and `retain_acked_messages`). For example, if `
1499
+ # time` corresponds to a point before the message retention window (or to a
1500
+ # point before the system's notion of the subscription creation time), only
1501
+ # retained messages will be marked as unacknowledged, and already-expunged
1502
+ # messages will not be restored.
1105
1503
  # Corresponds to the JSON property `time`
1106
1504
  # @return [String]
1107
1505
  attr_accessor :time
@@ -1145,22 +1543,22 @@ module Google
1145
1543
  # evaluates to `true`. A condition can add constraints based on attributes of
1146
1544
  # the request, the resource, or both. To learn which resources support
1147
1545
  # conditions in their IAM policies, see the [IAM documentation](https://cloud.
1148
- # google.com/iam/help/conditions/resource-policies). **JSON example:** ` "
1546
+ # google.com/iam/help/conditions/resource-policies). **JSON example:** ``` ` "
1149
1547
  # bindings": [ ` "role": "roles/resourcemanager.organizationAdmin", "members": [
1150
1548
  # "user:mike@example.com", "group:admins@example.com", "domain:google.com", "
1151
1549
  # serviceAccount:my-project-id@appspot.gserviceaccount.com" ] `, ` "role": "
1152
1550
  # roles/resourcemanager.organizationViewer", "members": [ "user:eve@example.com"
1153
1551
  # ], "condition": ` "title": "expirable access", "description": "Does not grant
1154
1552
  # access after Sep 2020", "expression": "request.time < timestamp('2020-10-01T00:
1155
- # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` **YAML example:**
1156
- # bindings: - members: - user:mike@example.com - group:admins@example.com -
1157
- # domain:google.com - serviceAccount:my-project-id@appspot.gserviceaccount.com
1158
- # role: roles/resourcemanager.organizationAdmin - members: - user:eve@example.
1159
- # com role: roles/resourcemanager.organizationViewer condition: title: expirable
1160
- # access description: Does not grant access after Sep 2020 expression: request.
1161
- # time < timestamp('2020-10-01T00:00:00.000Z') etag: BwWWja0YfJA= version: 3 For
1162
- # a description of IAM and its features, see the [IAM documentation](https://
1163
- # cloud.google.com/iam/docs/).
1553
+ # 00:00.000Z')", ` ` ], "etag": "BwWWja0YfJA=", "version": 3 ` ``` **YAML
1554
+ # example:** ``` bindings: - members: - user:mike@example.com - group:admins@
1555
+ # example.com - domain:google.com - serviceAccount:my-project-id@appspot.
1556
+ # gserviceaccount.com role: roles/resourcemanager.organizationAdmin - members: -
1557
+ # user:eve@example.com role: roles/resourcemanager.organizationViewer condition:
1558
+ # title: expirable access description: Does not grant access after Sep 2020
1559
+ # expression: request.time < timestamp('2020-10-01T00:00:00.000Z') etag:
1560
+ # BwWWja0YfJA= version: 3 ``` For a description of IAM and its features, see the
1561
+ # [IAM documentation](https://cloud.google.com/iam/docs/).
1164
1562
  # Corresponds to the JSON property `policy`
1165
1563
  # @return [Google::Apis::PubsubV1::Policy]
1166
1564
  attr_accessor :policy
@@ -1182,11 +1580,11 @@ module Google
1182
1580
  class Snapshot
1183
1581
  include Google::Apis::Core::Hashable
1184
1582
 
1185
- # The snapshot is guaranteed to exist up until this time. A newly-created
1186
- # snapshot expires no later than 7 days from the time of its creation. Its exact
1187
- # lifetime is determined at creation by the existing backlog in the source
1188
- # subscription. Specifically, the lifetime of the snapshot is `7 days - (age of
1189
- # oldest unacked message in the subscription)`. For example, consider a
1583
+ # Optional. The snapshot is guaranteed to exist up until this time. A newly-
1584
+ # created snapshot expires no later than 7 days from the time of its creation.
1585
+ # Its exact lifetime is determined at creation by the existing backlog in the
1586
+ # source subscription. Specifically, the lifetime of the snapshot is `7 days - (
1587
+ # age of oldest unacked message in the subscription)`. For example, consider a
1190
1588
  # subscription whose oldest unacked message is 3 days old. If a snapshot is
1191
1589
  # created from this subscription, the snapshot -- which will always capture this
1192
1590
  # 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The
@@ -1196,18 +1594,18 @@ module Google
1196
1594
  # @return [String]
1197
1595
  attr_accessor :expire_time
1198
1596
 
1199
- # See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/
1200
- # labels).
1597
+ # Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/
1598
+ # docs/labels).
1201
1599
  # Corresponds to the JSON property `labels`
1202
1600
  # @return [Hash<String,String>]
1203
1601
  attr_accessor :labels
1204
1602
 
1205
- # The name of the snapshot.
1603
+ # Optional. The name of the snapshot.
1206
1604
  # Corresponds to the JSON property `name`
1207
1605
  # @return [String]
1208
1606
  attr_accessor :name
1209
1607
 
1210
- # The name of the topic from which this snapshot is retaining messages.
1608
+ # Optional. The name of the topic from which this snapshot is retaining messages.
1211
1609
  # Corresponds to the JSON property `topic`
1212
1610
  # @return [String]
1213
1611
  attr_accessor :topic
@@ -1225,20 +1623,20 @@ module Google
1225
1623
  end
1226
1624
  end
1227
1625
 
1228
- # A subscription resource. If none of `push_config` or `bigquery_config` is set,
1229
- # then the subscriber will pull and ack messages using API methods. At most one
1230
- # of these fields may be set.
1626
+ # A subscription resource. If none of `push_config`, `bigquery_config`, or `
1627
+ # cloud_storage_config` is set, then the subscriber will pull and ack messages
1628
+ # using API methods. At most one of these fields may be set.
1231
1629
  class Subscription
1232
1630
  include Google::Apis::Core::Hashable
1233
1631
 
1234
- # The approximate amount of time (on a best-effort basis) Pub/Sub waits for the
1235
- # subscriber to acknowledge receipt before resending the message. In the
1236
- # interval after the message is delivered and before it is acknowledged, it is
1237
- # considered to be _outstanding_. During that time period, the message will not
1238
- # be redelivered (on a best-effort basis). For pull subscriptions, this value is
1239
- # used as the initial value for the ack deadline. To override this value for a
1240
- # given message, call `ModifyAckDeadline` with the corresponding `ack_id` if
1241
- # using non-streaming pull or send the `ack_id` in a `
1632
+ # Optional. The approximate amount of time (on a best-effort basis) Pub/Sub
1633
+ # waits for the subscriber to acknowledge receipt before resending the message.
1634
+ # In the interval after the message is delivered and before it is acknowledged,
1635
+ # it is considered to be _outstanding_. During that time period, the message
1636
+ # will not be redelivered (on a best-effort basis). For pull subscriptions, this
1637
+ # value is used as the initial value for the ack deadline. To override this
1638
+ # value for a given message, call `ModifyAckDeadline` with the corresponding `
1639
+ # ack_id` if using non-streaming pull or send the `ack_id` in a `
1242
1640
  # StreamingModifyAckDeadlineRequest` if using streaming pull. The minimum custom
1243
1641
  # deadline you can specify is 10 seconds. The maximum custom deadline you can
1244
1642
  # specify is 600 seconds (10 minutes). If this parameter is 0, a default value
@@ -1250,11 +1648,22 @@ module Google
1250
1648
  # @return [Fixnum]
1251
1649
  attr_accessor :ack_deadline_seconds
1252
1650
 
1651
+ # Information about an associated Analytics Hub subscription (https://cloud.
1652
+ # google.com/bigquery/docs/analytics-hub-manage-subscriptions).
1653
+ # Corresponds to the JSON property `analyticsHubSubscriptionInfo`
1654
+ # @return [Google::Apis::PubsubV1::AnalyticsHubSubscriptionInfo]
1655
+ attr_accessor :analytics_hub_subscription_info
1656
+
1253
1657
  # Configuration for a BigQuery subscription.
1254
1658
  # Corresponds to the JSON property `bigqueryConfig`
1255
1659
  # @return [Google::Apis::PubsubV1::BigQueryConfig]
1256
1660
  attr_accessor :bigquery_config
1257
1661
 
1662
+ # Configuration for a Cloud Storage subscription.
1663
+ # Corresponds to the JSON property `cloudStorageConfig`
1664
+ # @return [Google::Apis::PubsubV1::CloudStorageConfig]
1665
+ attr_accessor :cloud_storage_config
1666
+
1258
1667
  # Dead lettering is done on a best effort basis. The same message might be dead
1259
1668
  # lettered multiple times. If validation on any of the fields fails at
1260
1669
  # subscription creation/updation, the create/update subscription request will
@@ -1263,32 +1672,33 @@ module Google
1263
1672
  # @return [Google::Apis::PubsubV1::DeadLetterPolicy]
1264
1673
  attr_accessor :dead_letter_policy
1265
1674
 
1266
- # Indicates whether the subscription is detached from its topic. Detached
1267
- # subscriptions don't receive messages from their topic and don't retain any
1268
- # backlog. `Pull` and `StreamingPull` requests will return FAILED_PRECONDITION.
1269
- # If the subscription is a push subscription, pushes to the endpoint will not be
1270
- # made.
1675
+ # Optional. Indicates whether the subscription is detached from its topic.
1676
+ # Detached subscriptions don't receive messages from their topic and don't
1677
+ # retain any backlog. `Pull` and `StreamingPull` requests will return
1678
+ # FAILED_PRECONDITION. If the subscription is a push subscription, pushes to the
1679
+ # endpoint will not be made.
1271
1680
  # Corresponds to the JSON property `detached`
1272
1681
  # @return [Boolean]
1273
1682
  attr_accessor :detached
1274
1683
  alias_method :detached?, :detached
1275
1684
 
1276
- # If true, Pub/Sub provides the following guarantees for the delivery of a
1277
- # message with a given value of `message_id` on this subscription: * The message
1278
- # sent to a subscriber is guaranteed not to be resent before the message's
1279
- # acknowledgement deadline expires. * An acknowledged message will not be resent
1280
- # to a subscriber. Note that subscribers may still receive multiple copies of a
1281
- # message when `enable_exactly_once_delivery` is true if the message was
1282
- # published multiple times by a publisher client. These copies are considered
1283
- # distinct by Pub/Sub and have distinct `message_id` values.
1685
+ # Optional. If true, Pub/Sub provides the following guarantees for the delivery
1686
+ # of a message with a given value of `message_id` on this subscription: * The
1687
+ # message sent to a subscriber is guaranteed not to be resent before the message'
1688
+ # s acknowledgement deadline expires. * An acknowledged message will not be
1689
+ # resent to a subscriber. Note that subscribers may still receive multiple
1690
+ # copies of a message when `enable_exactly_once_delivery` is true if the message
1691
+ # was published multiple times by a publisher client. These copies are
1692
+ # considered distinct by Pub/Sub and have distinct `message_id` values.
1284
1693
  # Corresponds to the JSON property `enableExactlyOnceDelivery`
1285
1694
  # @return [Boolean]
1286
1695
  attr_accessor :enable_exactly_once_delivery
1287
1696
  alias_method :enable_exactly_once_delivery?, :enable_exactly_once_delivery
1288
1697
 
1289
- # If true, messages published with the same `ordering_key` in `PubsubMessage`
1290
- # will be delivered to the subscribers in the order in which they are received
1291
- # by the Pub/Sub system. Otherwise, they may be delivered in any order.
1698
+ # Optional. If true, messages published with the same `ordering_key` in `
1699
+ # PubsubMessage` will be delivered to the subscribers in the order in which they
1700
+ # are received by the Pub/Sub system. Otherwise, they may be delivered in any
1701
+ # order.
1292
1702
  # Corresponds to the JSON property `enableMessageOrdering`
1293
1703
  # @return [Boolean]
1294
1704
  attr_accessor :enable_message_ordering
@@ -1300,24 +1710,24 @@ module Google
1300
1710
  # @return [Google::Apis::PubsubV1::ExpirationPolicy]
1301
1711
  attr_accessor :expiration_policy
1302
1712
 
1303
- # An expression written in the Pub/Sub [filter language](https://cloud.google.
1304
- # com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s whose `
1305
- # attributes` field matches the filter are delivered on this subscription. If
1306
- # empty, then no messages are filtered out.
1713
+ # Optional. An expression written in the Pub/Sub [filter language](https://cloud.
1714
+ # google.com/pubsub/docs/filtering). If non-empty, then only `PubsubMessage`s
1715
+ # whose `attributes` field matches the filter are delivered on this subscription.
1716
+ # If empty, then no messages are filtered out.
1307
1717
  # Corresponds to the JSON property `filter`
1308
1718
  # @return [String]
1309
1719
  attr_accessor :filter
1310
1720
 
1311
- # See [Creating and managing labels](https://cloud.google.com/pubsub/docs/labels)
1312
- # .
1721
+ # Optional. See [Creating and managing labels](https://cloud.google.com/pubsub/
1722
+ # docs/labels).
1313
1723
  # Corresponds to the JSON property `labels`
1314
1724
  # @return [Hash<String,String>]
1315
1725
  attr_accessor :labels
1316
1726
 
1317
- # How long to retain unacknowledged messages in the subscription's backlog, from
1318
- # the moment a message is published. If `retain_acked_messages` is true, then
1319
- # this also configures the retention of acknowledged messages, and thus
1320
- # configures how far back in time a `Seek` can be done. Defaults to 7 days.
1727
+ # Optional. How long to retain unacknowledged messages in the subscription's
1728
+ # backlog, from the moment a message is published. If `retain_acked_messages` is
1729
+ # true, then this also configures the retention of acknowledged messages, and
1730
+ # thus configures how far back in time a `Seek` can be done. Defaults to 7 days.
1321
1731
  # Cannot be more than 7 days or less than 10 minutes.
1322
1732
  # Corresponds to the JSON property `messageRetentionDuration`
1323
1733
  # @return [String]
@@ -1338,24 +1748,24 @@ module Google
1338
1748
  # @return [Google::Apis::PubsubV1::PushConfig]
1339
1749
  attr_accessor :push_config
1340
1750
 
1341
- # Indicates whether to retain acknowledged messages. If true, then messages are
1342
- # not expunged from the subscription's backlog, even if they are acknowledged,
1343
- # until they fall out of the `message_retention_duration` window. This must be
1344
- # true if you would like to [`Seek` to a timestamp] (https://cloud.google.com/
1345
- # pubsub/docs/replay-overview#seek_to_a_time) in the past to replay previously-
1346
- # acknowledged messages.
1751
+ # Optional. Indicates whether to retain acknowledged messages. If true, then
1752
+ # messages are not expunged from the subscription's backlog, even if they are
1753
+ # acknowledged, until they fall out of the `message_retention_duration` window.
1754
+ # This must be true if you would like to [`Seek` to a timestamp] (https://cloud.
1755
+ # google.com/pubsub/docs/replay-overview#seek_to_a_time) in the past to replay
1756
+ # previously-acknowledged messages.
1347
1757
  # Corresponds to the JSON property `retainAckedMessages`
1348
1758
  # @return [Boolean]
1349
1759
  attr_accessor :retain_acked_messages
1350
1760
  alias_method :retain_acked_messages?, :retain_acked_messages
1351
1761
 
1352
- # A policy that specifies how Cloud Pub/Sub retries message delivery. Retry
1353
- # delay will be exponential based on provided minimum and maximum backoffs.
1354
- # https://en.wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be
1355
- # triggered on NACKs or acknowledgement deadline exceeded events for a given
1356
- # message. Retry Policy is implemented on a best effort basis. At times, the
1357
- # delay between consecutive deliveries may not match the configuration. That is,
1358
- # delay can be more or less than configured backoff.
1762
+ # A policy that specifies how Pub/Sub retries message delivery. Retry delay will
1763
+ # be exponential based on provided minimum and maximum backoffs. https://en.
1764
+ # wikipedia.org/wiki/Exponential_backoff. RetryPolicy will be triggered on NACKs
1765
+ # or acknowledgement deadline exceeded events for a given message. Retry Policy
1766
+ # is implemented on a best effort basis. At times, the delay between consecutive
1767
+ # deliveries may not match the configuration. That is, delay can be more or less
1768
+ # than configured backoff.
1359
1769
  # Corresponds to the JSON property `retryPolicy`
1360
1770
  # @return [Google::Apis::PubsubV1::RetryPolicy]
1361
1771
  attr_accessor :retry_policy
@@ -1390,7 +1800,9 @@ module Google
1390
1800
  # Update properties of this object
1391
1801
  def update!(**args)
1392
1802
  @ack_deadline_seconds = args[:ack_deadline_seconds] if args.key?(:ack_deadline_seconds)
1803
+ @analytics_hub_subscription_info = args[:analytics_hub_subscription_info] if args.key?(:analytics_hub_subscription_info)
1393
1804
  @bigquery_config = args[:bigquery_config] if args.key?(:bigquery_config)
1805
+ @cloud_storage_config = args[:cloud_storage_config] if args.key?(:cloud_storage_config)
1394
1806
  @dead_letter_policy = args[:dead_letter_policy] if args.key?(:dead_letter_policy)
1395
1807
  @detached = args[:detached] if args.key?(:detached)
1396
1808
  @enable_exactly_once_delivery = args[:enable_exactly_once_delivery] if args.key?(:enable_exactly_once_delivery)
@@ -1449,31 +1861,50 @@ module Google
1449
1861
  end
1450
1862
  end
1451
1863
 
1864
+ # Configuration for writing message data in text format. Message payloads will
1865
+ # be written to files as raw text, separated by a newline.
1866
+ class TextConfig
1867
+ include Google::Apis::Core::Hashable
1868
+
1869
+ def initialize(**args)
1870
+ update!(**args)
1871
+ end
1872
+
1873
+ # Update properties of this object
1874
+ def update!(**args)
1875
+ end
1876
+ end
1877
+
1452
1878
  # A topic resource.
1453
1879
  class Topic
1454
1880
  include Google::Apis::Core::Hashable
1455
1881
 
1456
- # The resource name of the Cloud KMS CryptoKey to be used to protect access to
1457
- # messages published on this topic. The expected format is `projects/*/locations/
1458
- # */keyRings/*/cryptoKeys/*`.
1882
+ # Settings for an ingestion data source on a topic.
1883
+ # Corresponds to the JSON property `ingestionDataSourceSettings`
1884
+ # @return [Google::Apis::PubsubV1::IngestionDataSourceSettings]
1885
+ attr_accessor :ingestion_data_source_settings
1886
+
1887
+ # Optional. The resource name of the Cloud KMS CryptoKey to be used to protect
1888
+ # access to messages published on this topic. The expected format is `projects/*/
1889
+ # locations/*/keyRings/*/cryptoKeys/*`.
1459
1890
  # Corresponds to the JSON property `kmsKeyName`
1460
1891
  # @return [String]
1461
1892
  attr_accessor :kms_key_name
1462
1893
 
1463
- # See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/
1464
- # labels).
1894
+ # Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/
1895
+ # docs/labels).
1465
1896
  # Corresponds to the JSON property `labels`
1466
1897
  # @return [Hash<String,String>]
1467
1898
  attr_accessor :labels
1468
1899
 
1469
- # Indicates the minimum duration to retain a message after it is published to
1470
- # the topic. If this field is set, messages published to the topic in the last `
1471
- # message_retention_duration` are always available to subscribers. For instance,
1472
- # it allows any attached subscription to [seek to a timestamp](https://cloud.
1473
- # google.com/pubsub/docs/replay-overview#seek_to_a_time) that is up to `
1474
- # message_retention_duration` in the past. If this field is not set, message
1475
- # retention is controlled by settings on individual subscriptions. Cannot be
1476
- # more than 31 days or less than 10 minutes.
1900
+ # Optional. Indicates the minimum duration to retain a message after it is
1901
+ # published to the topic. If this field is set, messages published to the topic
1902
+ # in the last `message_retention_duration` are always available to subscribers.
1903
+ # For instance, it allows any attached subscription to [seek to a timestamp](
1904
+ # https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time) that is
1905
+ # up to `message_retention_duration` in the past. If this field is not set,
1906
+ # message retention is controlled by settings on individual subscriptions.
1907
+ # Cannot be more than 31 days or less than 10 minutes.
1477
1908
  # Corresponds to the JSON property `messageRetentionDuration`
1478
1909
  # @return [String]
1479
1910
  attr_accessor :message_retention_duration
@@ -1492,8 +1923,8 @@ module Google
1492
1923
  # @return [String]
1493
1924
  attr_accessor :name
1494
1925
 
1495
- # Reserved for future use. This field is set only in responses from the server;
1496
- # it is ignored if it is set in any requests.
1926
+ # Optional. Reserved for future use. This field is set only in responses from
1927
+ # the server; it is ignored if it is set in any requests.
1497
1928
  # Corresponds to the JSON property `satisfiesPzs`
1498
1929
  # @return [Boolean]
1499
1930
  attr_accessor :satisfies_pzs
@@ -1504,12 +1935,18 @@ module Google
1504
1935
  # @return [Google::Apis::PubsubV1::SchemaSettings]
1505
1936
  attr_accessor :schema_settings
1506
1937
 
1938
+ # Output only. An output-only field indicating the state of the topic.
1939
+ # Corresponds to the JSON property `state`
1940
+ # @return [String]
1941
+ attr_accessor :state
1942
+
1507
1943
  def initialize(**args)
1508
1944
  update!(**args)
1509
1945
  end
1510
1946
 
1511
1947
  # Update properties of this object
1512
1948
  def update!(**args)
1949
+ @ingestion_data_source_settings = args[:ingestion_data_source_settings] if args.key?(:ingestion_data_source_settings)
1513
1950
  @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name)
1514
1951
  @labels = args[:labels] if args.key?(:labels)
1515
1952
  @message_retention_duration = args[:message_retention_duration] if args.key?(:message_retention_duration)
@@ -1517,6 +1954,7 @@ module Google
1517
1954
  @name = args[:name] if args.key?(:name)
1518
1955
  @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs)
1519
1956
  @schema_settings = args[:schema_settings] if args.key?(:schema_settings)
1957
+ @state = args[:state] if args.key?(:state)
1520
1958
  end
1521
1959
  end
1522
1960
 
@@ -1553,9 +1991,9 @@ module Google
1553
1991
  class UpdateSubscriptionRequest
1554
1992
  include Google::Apis::Core::Hashable
1555
1993
 
1556
- # A subscription resource. If none of `push_config` or `bigquery_config` is set,
1557
- # then the subscriber will pull and ack messages using API methods. At most one
1558
- # of these fields may be set.
1994
+ # A subscription resource. If none of `push_config`, `bigquery_config`, or `
1995
+ # cloud_storage_config` is set, then the subscriber will pull and ack messages
1996
+ # using API methods. At most one of these fields may be set.
1559
1997
  # Corresponds to the JSON property `subscription`
1560
1998
  # @return [Google::Apis::PubsubV1::Subscription]
1561
1999
  attr_accessor :subscription