google-cloud-pubsub 1.1.3 → 1.10.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.
Files changed (33) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +122 -0
  3. data/EMULATOR.md +1 -1
  4. data/TROUBLESHOOTING.md +2 -8
  5. data/lib/google/cloud/pubsub/async_publisher.rb +15 -19
  6. data/lib/google/cloud/pubsub/project.rb +18 -26
  7. data/lib/google/cloud/pubsub/received_message.rb +38 -0
  8. data/lib/google/cloud/pubsub/retry_policy.rb +90 -0
  9. data/lib/google/cloud/pubsub/service.rb +37 -15
  10. data/lib/google/cloud/pubsub/subscriber/inventory.rb +43 -15
  11. data/lib/google/cloud/pubsub/subscriber/stream.rb +7 -8
  12. data/lib/google/cloud/pubsub/subscriber.rb +86 -15
  13. data/lib/google/cloud/pubsub/subscription/push_config.rb +2 -2
  14. data/lib/google/cloud/pubsub/subscription.rb +296 -6
  15. data/lib/google/cloud/pubsub/topic.rb +65 -2
  16. data/lib/google/cloud/pubsub/v1/credentials.rb +1 -1
  17. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/iam_policy.rb +1 -1
  18. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/options.rb +1 -1
  19. data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/policy.rb +1 -1
  20. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +1 -1
  21. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/empty.rb +1 -1
  22. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb +1 -1
  23. data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +1 -1
  24. data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +168 -79
  25. data/lib/google/cloud/pubsub/v1/doc/google/type/expr.rb +1 -1
  26. data/lib/google/cloud/pubsub/v1/publisher_client.rb +175 -33
  27. data/lib/google/cloud/pubsub/v1/publisher_client_config.json +16 -1
  28. data/lib/google/cloud/pubsub/v1/subscriber_client.rb +145 -64
  29. data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +12 -3
  30. data/lib/google/cloud/pubsub/version.rb +1 -1
  31. data/lib/google/pubsub/v1/pubsub_pb.rb +20 -0
  32. data/lib/google/pubsub/v1/pubsub_services_pb.rb +7 -3
  33. metadata +6 -5
@@ -1,4 +1,4 @@
1
- # Copyright 2019 Google LLC
1
+ # Copyright 2020 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.
@@ -17,6 +17,7 @@ module Google
17
17
  module Cloud
18
18
  module PubSub
19
19
  module V1
20
+ # A policy constraining the storage of messages published to the topic.
20
21
  # @!attribute [rw] allowed_persistence_regions
21
22
  # @return [Array<String>]
22
23
  # A list of IDs of GCP regions where messages that are published to the topic
@@ -29,7 +30,7 @@ module Google
29
30
  # A topic resource.
30
31
  # @!attribute [rw] name
31
32
  # @return [String]
32
- # The name of the topic. It must have the format
33
+ # Required. The name of the topic. It must have the format
33
34
  # `"projects/{project}/topics/{topic}"`. `{topic}` must start with a letter,
34
35
  # and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`),
35
36
  # underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent
@@ -66,7 +67,9 @@ module Google
66
67
  # at least one attribute.
67
68
  # @!attribute [rw] attributes
68
69
  # @return [Hash{String => String}]
69
- # Optional attributes for this message.
70
+ # Attributes for this message. If this field is empty, the message must
71
+ # contain non-empty data. This can be used to filter messages on the
72
+ # subscription.
70
73
  # @!attribute [rw] message_id
71
74
  # @return [String]
72
75
  # ID of this message, assigned by the server when the message is published.
@@ -80,10 +83,12 @@ module Google
80
83
  # publisher in a `Publish` call.
81
84
  # @!attribute [rw] ordering_key
82
85
  # @return [String]
83
- # Identifies related messages for which publish order should be respected.
84
- # If a `Subscription` has `enable_message_ordering` set to `true`, messages
85
- # published with the same `ordering_key` value will be delivered to
86
- # subscribers in the order in which they are received by the Pub/Sub system.
86
+ # If non-empty, identifies related messages for which publish order should be
87
+ # respected. If a `Subscription` has `enable_message_ordering` set to `true`,
88
+ # messages published with the same non-empty `ordering_key` value will be
89
+ # delivered to subscribers in the order in which they are received by the
90
+ # Pub/Sub system. All `PubsubMessage`s published in a given `PublishRequest`
91
+ # must specify the same `ordering_key` value.
87
92
  # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
88
93
  # API might be changed in backward-incompatible ways and is not recommended
89
94
  # for production use. It is not subject to any SLA or deprecation policy.
@@ -92,31 +97,31 @@ module Google
92
97
  # Request for the GetTopic method.
93
98
  # @!attribute [rw] topic
94
99
  # @return [String]
95
- # The name of the topic to get.
100
+ # Required. The name of the topic to get.
96
101
  # Format is `projects/{project}/topics/{topic}`.
97
102
  class GetTopicRequest; end
98
103
 
99
104
  # Request for the UpdateTopic method.
100
105
  # @!attribute [rw] topic
101
106
  # @return [Google::Cloud::PubSub::V1::Topic]
102
- # The updated topic object.
107
+ # Required. The updated topic object.
103
108
  # @!attribute [rw] update_mask
104
109
  # @return [Google::Protobuf::FieldMask]
105
- # Indicates which fields in the provided topic to update. Must be specified
106
- # and non-empty. Note that if `update_mask` contains
107
- # "message_storage_policy" then the new value will be determined based on the
108
- # policy configured at the project or organization level. The
109
- # `message_storage_policy` must not be set in the `topic` provided above.
110
+ # Required. Indicates which fields in the provided topic to update. Must be
111
+ # specified and non-empty. Note that if `update_mask` contains
112
+ # "message_storage_policy" but the `message_storage_policy` is not set in
113
+ # the `topic` provided above, then the updated value is determined by the
114
+ # policy configured at the project or organization level.
110
115
  class UpdateTopicRequest; end
111
116
 
112
117
  # Request for the Publish method.
113
118
  # @!attribute [rw] topic
114
119
  # @return [String]
115
- # The messages in the request will be published on this topic.
120
+ # Required. The messages in the request will be published on this topic.
116
121
  # Format is `projects/{project}/topics/{topic}`.
117
122
  # @!attribute [rw] messages
118
123
  # @return [Array<Google::Cloud::PubSub::V1::PubsubMessage>]
119
- # The messages to publish.
124
+ # Required. The messages to publish.
120
125
  class PublishRequest; end
121
126
 
122
127
  # Response for the `Publish` method.
@@ -130,7 +135,7 @@ module Google
130
135
  # Request for the `ListTopics` method.
131
136
  # @!attribute [rw] project
132
137
  # @return [String]
133
- # The name of the project in which to list topics.
138
+ # Required. The name of the project in which to list topics.
134
139
  # Format is `projects/{project-id}`.
135
140
  # @!attribute [rw] page_size
136
141
  # @return [Integer]
@@ -155,7 +160,7 @@ module Google
155
160
  # Request for the `ListTopicSubscriptions` method.
156
161
  # @!attribute [rw] topic
157
162
  # @return [String]
158
- # The name of the topic that subscriptions are attached to.
163
+ # Required. The name of the topic that subscriptions are attached to.
159
164
  # Format is `projects/{project}/topics/{topic}`.
160
165
  # @!attribute [rw] page_size
161
166
  # @return [Integer]
@@ -170,7 +175,7 @@ module Google
170
175
  # Response for the `ListTopicSubscriptions` method.
171
176
  # @!attribute [rw] subscriptions
172
177
  # @return [Array<String>]
173
- # The names of the subscriptions that match the request.
178
+ # The names of subscriptions attached to the topic specified in the request.
174
179
  # @!attribute [rw] next_page_token
175
180
  # @return [String]
176
181
  # If not empty, indicates that there may be more subscriptions that match
@@ -181,7 +186,7 @@ module Google
181
186
  # Request for the `ListTopicSnapshots` method.
182
187
  # @!attribute [rw] topic
183
188
  # @return [String]
184
- # The name of the topic that snapshots are attached to.
189
+ # Required. The name of the topic that snapshots are attached to.
185
190
  # Format is `projects/{project}/topics/{topic}`.
186
191
  # @!attribute [rw] page_size
187
192
  # @return [Integer]
@@ -207,25 +212,35 @@ module Google
207
212
  # Request for the `DeleteTopic` method.
208
213
  # @!attribute [rw] topic
209
214
  # @return [String]
210
- # Name of the topic to delete.
215
+ # Required. Name of the topic to delete.
211
216
  # Format is `projects/{project}/topics/{topic}`.
212
217
  class DeleteTopicRequest; end
213
218
 
219
+ # Request for the DetachSubscription method.
220
+ # @!attribute [rw] subscription
221
+ # @return [String]
222
+ # Required. The subscription to detach.
223
+ # Format is `projects/{project}/subscriptions/{subscription}`.
224
+ class DetachSubscriptionRequest; end
225
+
226
+ # Response for the DetachSubscription method.
227
+ # Reserved for future use.
228
+ class DetachSubscriptionResponse; end
229
+
214
230
  # A subscription resource.
215
231
  # @!attribute [rw] name
216
232
  # @return [String]
217
- # The name of the subscription. It must have the format
233
+ # Required. The name of the subscription. It must have the format
218
234
  # `"projects/{project}/subscriptions/{subscription}"`. `{subscription}` must
219
235
  # start with a letter, and contain only letters (`[A-Za-z]`), numbers
220
236
  # (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`),
221
237
  # plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters
222
- # in length, and it must not start with `"goog"`
238
+ # in length, and it must not start with `"goog"`.
223
239
  # @!attribute [rw] topic
224
240
  # @return [String]
225
- # The name of the topic from which this subscription is receiving messages.
226
- # Format is `projects/{project}/topics/{topic}`.
227
- # The value of this field will be `_deleted-topic_` if the topic has been
228
- # deleted.
241
+ # Required. The name of the topic from which this subscription is receiving
242
+ # messages. Format is `projects/{project}/topics/{topic}`. The value of this
243
+ # field will be `_deleted-topic_` if the topic has been deleted.
229
244
  # @!attribute [rw] push_config
230
245
  # @return [Google::Cloud::PubSub::V1::PushConfig]
231
246
  # If push delivery is used with this subscription, this field is
@@ -291,6 +306,13 @@ module Google
291
306
  # operations on the subscription. If `expiration_policy` is not set, a
292
307
  # *default policy* with `ttl` of 31 days will be used. The minimum allowed
293
308
  # value for `expiration_policy.ttl` is 1 day.
309
+ # @!attribute [rw] filter
310
+ # @return [String]
311
+ # An expression written in the Pub/Sub [filter
312
+ # language](https://cloud.google.com/pubsub/docs/filtering). If non-empty,
313
+ # then only `PubsubMessage`s whose `attributes` field matches the filter are
314
+ # delivered on this subscription. If empty, then no messages are filtered
315
+ # out.
294
316
  # @!attribute [rw] dead_letter_policy
295
317
  # @return [Google::Cloud::PubSub::V1::DeadLetterPolicy]
296
318
  # A policy that specifies the conditions for dead lettering messages in
@@ -301,11 +323,45 @@ module Google
301
323
  # parent project (i.e.,
302
324
  # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
303
325
  # permission to Acknowledge() messages on this subscription.
304
- # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
305
- # API might be changed in backward-incompatible ways and is not recommended
306
- # for production use. It is not subject to any SLA or deprecation policy.
326
+ # @!attribute [rw] retry_policy
327
+ # @return [Google::Cloud::PubSub::V1::RetryPolicy]
328
+ # A policy that specifies how Pub/Sub retries message delivery for this
329
+ # subscription.
330
+ #
331
+ # If not set, the default retry policy is applied. This generally implies
332
+ # that messages will be retried as soon as possible for healthy subscribers.
333
+ # RetryPolicy will be triggered on NACKs or acknowledgement deadline
334
+ # exceeded events for a given message.
335
+ # @!attribute [rw] detached
336
+ # @return [true, false]
337
+ # Indicates whether the subscription is detached from its topic. Detached
338
+ # subscriptions don't receive messages from their topic and don't retain any
339
+ # backlog. `Pull` and `StreamingPull` requests will return
340
+ # FAILED_PRECONDITION. If the subscription is a push subscription, pushes to
341
+ # the endpoint will not be made.
307
342
  class Subscription; end
308
343
 
344
+ # A policy that specifies how Cloud Pub/Sub retries message delivery.
345
+ #
346
+ # Retry delay will be exponential based on provided minimum and maximum
347
+ # backoffs. https://en.wikipedia.org/wiki/Exponential_backoff.
348
+ #
349
+ # RetryPolicy will be triggered on NACKs or acknowledgement deadline exceeded
350
+ # events for a given message.
351
+ #
352
+ # Retry Policy is implemented on a best effort basis. At times, the delay
353
+ # between consecutive deliveries may not match the configuration. That is,
354
+ # delay can be more or less than configured backoff.
355
+ # @!attribute [rw] minimum_backoff
356
+ # @return [Google::Protobuf::Duration]
357
+ # The minimum delay between consecutive deliveries of a given message.
358
+ # Value should be between 0 and 600 seconds. Defaults to 10 seconds.
359
+ # @!attribute [rw] maximum_backoff
360
+ # @return [Google::Protobuf::Duration]
361
+ # The maximum delay between consecutive deliveries of a given message.
362
+ # Value should be between 0 and 600 seconds. Defaults to 600 seconds.
363
+ class RetryPolicy; end
364
+
309
365
  # Dead lettering is done on a best effort basis. The same message might be
310
366
  # dead lettered multiple times.
311
367
  #
@@ -355,7 +411,7 @@ module Google
355
411
  # @!attribute [rw] push_endpoint
356
412
  # @return [String]
357
413
  # A URL locating the endpoint to which messages should be pushed.
358
- # For example, a Webhook endpoint might use "https://example.com/push".
414
+ # For example, a Webhook endpoint might use `https://example.com/push`.
359
415
  # @!attribute [rw] attributes
360
416
  # @return [Hash{String => String}]
361
417
  # Endpoint configuration attributes that can be used to control different
@@ -414,8 +470,11 @@ module Google
414
470
  # The message.
415
471
  # @!attribute [rw] delivery_attempt
416
472
  # @return [Integer]
417
- # Delivery attempt counter is 1 + (the sum of number of NACKs and number of
418
- # ack_deadline exceeds) for this message.
473
+ # The approximate number of times that Cloud Pub/Sub has attempted to deliver
474
+ # the associated message to a subscriber.
475
+ #
476
+ # More precisely, this is 1 + (number of NACKs) +
477
+ # (number of ack_deadline exceeds) for this message.
419
478
  #
420
479
  # A NACK is any call to ModifyAckDeadline with a 0 deadline. An ack_deadline
421
480
  # exceeds event is whenever a message is not acknowledged within
@@ -423,36 +482,33 @@ module Google
423
482
  # Subscription.ackDeadlineSeconds, but may get extended automatically by
424
483
  # the client library.
425
484
  #
426
- # The first delivery of a given message will have this value as 1. The value
427
- # is calculated at best effort and is approximate.
485
+ # Upon the first delivery of a given message, `delivery_attempt` will have a
486
+ # value of 1. The value is calculated at best effort and is approximate.
428
487
  #
429
488
  # If a DeadLetterPolicy is not set on the subscription, this will be 0.
430
- # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
431
- # API might be changed in backward-incompatible ways and is not recommended
432
- # for production use. It is not subject to any SLA or deprecation policy.
433
489
  class ReceivedMessage; end
434
490
 
435
491
  # Request for the GetSubscription method.
436
492
  # @!attribute [rw] subscription
437
493
  # @return [String]
438
- # The name of the subscription to get.
494
+ # Required. The name of the subscription to get.
439
495
  # Format is `projects/{project}/subscriptions/{sub}`.
440
496
  class GetSubscriptionRequest; end
441
497
 
442
498
  # Request for the UpdateSubscription method.
443
499
  # @!attribute [rw] subscription
444
500
  # @return [Google::Cloud::PubSub::V1::Subscription]
445
- # The updated subscription object.
501
+ # Required. The updated subscription object.
446
502
  # @!attribute [rw] update_mask
447
503
  # @return [Google::Protobuf::FieldMask]
448
- # Indicates which fields in the provided subscription to update.
504
+ # Required. Indicates which fields in the provided subscription to update.
449
505
  # Must be specified and non-empty.
450
506
  class UpdateSubscriptionRequest; end
451
507
 
452
508
  # Request for the `ListSubscriptions` method.
453
509
  # @!attribute [rw] project
454
510
  # @return [String]
455
- # The name of the project in which to list subscriptions.
511
+ # Required. The name of the project in which to list subscriptions.
456
512
  # Format is `projects/{project-id}`.
457
513
  # @!attribute [rw] page_size
458
514
  # @return [Integer]
@@ -478,18 +534,18 @@ module Google
478
534
  # Request for the DeleteSubscription method.
479
535
  # @!attribute [rw] subscription
480
536
  # @return [String]
481
- # The subscription to delete.
537
+ # Required. The subscription to delete.
482
538
  # Format is `projects/{project}/subscriptions/{sub}`.
483
539
  class DeleteSubscriptionRequest; end
484
540
 
485
541
  # Request for the ModifyPushConfig method.
486
542
  # @!attribute [rw] subscription
487
543
  # @return [String]
488
- # The name of the subscription.
544
+ # Required. The name of the subscription.
489
545
  # Format is `projects/{project}/subscriptions/{sub}`.
490
546
  # @!attribute [rw] push_config
491
547
  # @return [Google::Cloud::PubSub::V1::PushConfig]
492
- # The push configuration for future deliveries.
548
+ # Required. The push configuration for future deliveries.
493
549
  #
494
550
  # An empty `pushConfig` indicates that the Pub/Sub system should
495
551
  # stop pushing messages from the given subscription and allow
@@ -500,18 +556,21 @@ module Google
500
556
  # Request for the `Pull` method.
501
557
  # @!attribute [rw] subscription
502
558
  # @return [String]
503
- # The subscription from which messages should be pulled.
559
+ # Required. The subscription from which messages should be pulled.
504
560
  # Format is `projects/{project}/subscriptions/{sub}`.
505
561
  # @!attribute [rw] return_immediately
506
562
  # @return [true, false]
507
- # If this field set to true, the system will respond immediately even if
508
- # it there are no messages available to return in the `Pull` response.
509
- # Otherwise, the system may wait (for a bounded amount of time) until at
510
- # least one message is available, rather than returning no messages.
563
+ # Optional. If this field set to true, the system will respond immediately
564
+ # even if it there are no messages available to return in the `Pull`
565
+ # response. Otherwise, the system may wait (for a bounded amount of time)
566
+ # until at least one message is available, rather than returning no messages.
567
+ # Warning: setting this field to `true` is discouraged because it adversely
568
+ # impacts the performance of `Pull` operations. We recommend that users do
569
+ # not set this field.
511
570
  # @!attribute [rw] max_messages
512
571
  # @return [Integer]
513
- # The maximum number of messages to return for this request. Must be a
514
- # positive integer. The Pub/Sub system may return fewer than the number
572
+ # Required. The maximum number of messages to return for this request. Must
573
+ # be a positive integer. The Pub/Sub system may return fewer than the number
515
574
  # specified.
516
575
  class PullRequest; end
517
576
 
@@ -527,17 +586,17 @@ module Google
527
586
  # Request for the ModifyAckDeadline method.
528
587
  # @!attribute [rw] subscription
529
588
  # @return [String]
530
- # The name of the subscription.
589
+ # Required. The name of the subscription.
531
590
  # Format is `projects/{project}/subscriptions/{sub}`.
532
591
  # @!attribute [rw] ack_ids
533
592
  # @return [Array<String>]
534
- # List of acknowledgment IDs.
593
+ # Required. List of acknowledgment IDs.
535
594
  # @!attribute [rw] ack_deadline_seconds
536
595
  # @return [Integer]
537
- # The new ack deadline with respect to the time this request was sent to
538
- # the Pub/Sub system. For example, if the value is 10, the new
539
- # ack deadline will expire 10 seconds after the `ModifyAckDeadline` call
540
- # was made. Specifying zero might immediately make the message available for
596
+ # Required. The new ack deadline with respect to the time this request was
597
+ # sent to the Pub/Sub system. For example, if the value is 10, the new ack
598
+ # deadline will expire 10 seconds after the `ModifyAckDeadline` call was
599
+ # made. Specifying zero might immediately make the message available for
541
600
  # delivery to another subscriber client. This typically results in an
542
601
  # increase in the rate of message redeliveries (that is, duplicates).
543
602
  # The minimum deadline you can specify is 0 seconds.
@@ -547,12 +606,13 @@ module Google
547
606
  # Request for the Acknowledge method.
548
607
  # @!attribute [rw] subscription
549
608
  # @return [String]
550
- # The subscription whose message is being acknowledged.
609
+ # Required. The subscription whose message is being acknowledged.
551
610
  # Format is `projects/{project}/subscriptions/{sub}`.
552
611
  # @!attribute [rw] ack_ids
553
612
  # @return [Array<String>]
554
- # The acknowledgment ID for the messages being acknowledged that was returned
555
- # by the Pub/Sub system in the `Pull` response. Must not be empty.
613
+ # Required. The acknowledgment ID for the messages being acknowledged that
614
+ # was returned by the Pub/Sub system in the `Pull` response. Must not be
615
+ # empty.
556
616
  class AcknowledgeRequest; end
557
617
 
558
618
  # Request for the `StreamingPull` streaming RPC method. This request is used to
@@ -560,8 +620,8 @@ module Google
560
620
  # deadline modifications from the client to the server.
561
621
  # @!attribute [rw] subscription
562
622
  # @return [String]
563
- # The subscription for which to initialize the new stream. This must be
564
- # provided in the first request on the stream, and must not be set in
623
+ # Required. The subscription for which to initialize the new stream. This
624
+ # must be provided in the first request on the stream, and must not be set in
565
625
  # subsequent requests from client to server.
566
626
  # Format is `projects/{project}/subscriptions/{sub}`.
567
627
  # @!attribute [rw] ack_ids
@@ -593,10 +653,40 @@ module Google
593
653
  # processing was interrupted.
594
654
  # @!attribute [rw] stream_ack_deadline_seconds
595
655
  # @return [Integer]
596
- # The ack deadline to use for the stream. This must be provided in the
597
- # first request on the stream, but it can also be updated on subsequent
656
+ # Required. The ack deadline to use for the stream. This must be provided in
657
+ # the first request on the stream, but it can also be updated on subsequent
598
658
  # requests from client to server. The minimum deadline you can specify is 10
599
659
  # seconds. The maximum deadline you can specify is 600 seconds (10 minutes).
660
+ # @!attribute [rw] client_id
661
+ # @return [String]
662
+ # A unique identifier that is used to distinguish client instances from each
663
+ # other. Only needs to be provided on the initial request. When a stream
664
+ # disconnects and reconnects for the same stream, the client_id should be set
665
+ # to the same value so that state associated with the old stream can be
666
+ # transferred to the new stream. The same client_id should not be used for
667
+ # different client instances.
668
+ # @!attribute [rw] max_outstanding_messages
669
+ # @return [Integer]
670
+ # Flow control settings for the maximum number of outstanding messages. When
671
+ # there are `max_outstanding_messages` or more currently sent to the
672
+ # streaming pull client that have not yet been acked or nacked, the server
673
+ # stops sending more messages. The sending of messages resumes once the
674
+ # number of outstanding messages is less than this value. If the value is
675
+ # <= 0, there is no limit to the number of outstanding messages. This
676
+ # property can only be set on the initial StreamingPullRequest. If it is set
677
+ # on a subsequent request, the stream will be aborted with status
678
+ # `INVALID_ARGUMENT`.
679
+ # @!attribute [rw] max_outstanding_bytes
680
+ # @return [Integer]
681
+ # Flow control settings for the maximum number of outstanding bytes. When
682
+ # there are `max_outstanding_bytes` or more worth of messages currently sent
683
+ # to the streaming pull client that have not yet been acked or nacked, the
684
+ # server will stop sending more messages. The sending of messages resumes
685
+ # once the number of outstanding bytes is less than this value. If the value
686
+ # is <= 0, there is no limit to the number of outstanding bytes. This
687
+ # property can only be set on the initial StreamingPullRequest. If it is set
688
+ # on a subsequent request, the stream will be aborted with status
689
+ # `INVALID_ARGUMENT`.
600
690
  class StreamingPullRequest; end
601
691
 
602
692
  # Response for the `StreamingPull` method. This response is used to stream
@@ -609,16 +699,15 @@ module Google
609
699
  # Request for the `CreateSnapshot` method.
610
700
  # @!attribute [rw] name
611
701
  # @return [String]
612
- # Optional user-provided name for this snapshot.
613
- # If the name is not provided in the request, the server will assign a random
614
- # name for this snapshot on the same project as the subscription.
615
- # Note that for REST API requests, you must specify a name. See the
616
- # <a href="https://cloud.google.com/pubsub/docs/admin#resource_names">
617
- # resource name rules</a>.
618
- # Format is `projects/{project}/snapshots/{snap}`.
702
+ # Required. User-provided name for this snapshot. If the name is not provided
703
+ # in the request, the server will assign a random name for this snapshot on
704
+ # the same project as the subscription. Note that for REST API requests, you
705
+ # must specify a name. See the <a
706
+ # href="https://cloud.google.com/pubsub/docs/admin#resource_names"> resource
707
+ # name rules</a>. Format is `projects/{project}/snapshots/{snap}`.
619
708
  # @!attribute [rw] subscription
620
709
  # @return [String]
621
- # The subscription whose backlog the snapshot retains.
710
+ # Required. The subscription whose backlog the snapshot retains.
622
711
  # Specifically, the created snapshot is guaranteed to retain:
623
712
  # (a) The existing backlog on the subscription. More precisely, this is
624
713
  # defined as the messages in the subscription's backlog that are
@@ -636,10 +725,10 @@ module Google
636
725
  # Request for the UpdateSnapshot method.
637
726
  # @!attribute [rw] snapshot
638
727
  # @return [Google::Cloud::PubSub::V1::Snapshot]
639
- # The updated snapshot object.
728
+ # Required. The updated snapshot object.
640
729
  # @!attribute [rw] update_mask
641
730
  # @return [Google::Protobuf::FieldMask]
642
- # Indicates which fields in the provided snapshot to update.
731
+ # Required. Indicates which fields in the provided snapshot to update.
643
732
  # Must be specified and non-empty.
644
733
  class UpdateSnapshotRequest; end
645
734
 
@@ -676,14 +765,14 @@ module Google
676
765
  # Request for the GetSnapshot method.
677
766
  # @!attribute [rw] snapshot
678
767
  # @return [String]
679
- # The name of the snapshot to get.
768
+ # Required. The name of the snapshot to get.
680
769
  # Format is `projects/{project}/snapshots/{snap}`.
681
770
  class GetSnapshotRequest; end
682
771
 
683
772
  # Request for the `ListSnapshots` method.
684
773
  # @!attribute [rw] project
685
774
  # @return [String]
686
- # The name of the project in which to list snapshots.
775
+ # Required. The name of the project in which to list snapshots.
687
776
  # Format is `projects/{project-id}`.
688
777
  # @!attribute [rw] page_size
689
778
  # @return [Integer]
@@ -708,14 +797,14 @@ module Google
708
797
  # Request for the `DeleteSnapshot` method.
709
798
  # @!attribute [rw] snapshot
710
799
  # @return [String]
711
- # The name of the snapshot to delete.
800
+ # Required. The name of the snapshot to delete.
712
801
  # Format is `projects/{project}/snapshots/{snap}`.
713
802
  class DeleteSnapshotRequest; end
714
803
 
715
804
  # Request for the `Seek` method.
716
805
  # @!attribute [rw] subscription
717
806
  # @return [String]
718
- # The subscription to affect.
807
+ # Required. The subscription to affect.
719
808
  # @!attribute [rw] time
720
809
  # @return [Google::Protobuf::Timestamp]
721
810
  # The time to seek to.
@@ -1,4 +1,4 @@
1
- # Copyright 2019 Google LLC
1
+ # Copyright 2020 Google LLC
2
2
  #
3
3
  # Licensed under the Apache License, Version 2.0 (the "License");
4
4
  # you may not use this file except in compliance with the License.