google-cloud-pubsub 1.4.0 → 1.7.1

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.
@@ -7,9 +7,14 @@
7
7
  "UNAVAILABLE",
8
8
  "UNKNOWN"
9
9
  ],
10
+ "non_idempotent2": [],
10
11
  "non_idempotent": [
11
12
  "UNAVAILABLE"
12
13
  ],
14
+ "idempotent2": [
15
+ "DEADLINE_EXCEEDED",
16
+ "UNAVAILABLE"
17
+ ],
13
18
  "none": [],
14
19
  "publish": [
15
20
  "ABORTED",
@@ -79,6 +84,11 @@
79
84
  "retry_codes_name": "idempotent",
80
85
  "retry_params_name": "default"
81
86
  },
87
+ "ListTopicSnapshots": {
88
+ "timeout_millis": 60000,
89
+ "retry_codes_name": "idempotent2",
90
+ "retry_params_name": "default"
91
+ },
82
92
  "DeleteTopic": {
83
93
  "timeout_millis": 60000,
84
94
  "retry_codes_name": "non_idempotent",
@@ -98,6 +108,11 @@
98
108
  "timeout_millis": 60000,
99
109
  "retry_codes_name": "non_idempotent",
100
110
  "retry_params_name": "default"
111
+ },
112
+ "DetachSubscription": {
113
+ "timeout_millis": 60000,
114
+ "retry_codes_name": "non_idempotent2",
115
+ "retry_params_name": "default"
101
116
  }
102
117
  }
103
118
  }
@@ -307,6 +307,14 @@ module Google
307
307
  {'subscription' => request.subscription}
308
308
  end
309
309
  )
310
+ @get_snapshot = Google::Gax.create_api_call(
311
+ @subscriber_stub.method(:get_snapshot),
312
+ defaults["get_snapshot"],
313
+ exception_transformer: exception_transformer,
314
+ params_extractor: proc do |request|
315
+ {'snapshot' => request.snapshot}
316
+ end
317
+ )
310
318
  @modify_ack_deadline = Google::Gax.create_api_call(
311
319
  @subscriber_stub.method(:modify_ack_deadline),
312
320
  defaults["modify_ack_deadline"],
@@ -501,6 +509,14 @@ module Google
501
509
  # value for `expiration_policy.ttl` is 1 day.
502
510
  # A hash of the same form as `Google::Cloud::PubSub::V1::ExpirationPolicy`
503
511
  # can also be provided.
512
+ # @param filter [String]
513
+ # An expression written in the Cloud Pub/Sub filter language. If non-empty,
514
+ # then only `PubsubMessage`s whose `attributes` field matches the filter are
515
+ # delivered on this subscription. If empty, then no messages are filtered
516
+ # out.
517
+ # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
518
+ # API might be changed in backward-incompatible ways and is not recommended
519
+ # for production use. It is not subject to any SLA or deprecation policy.
504
520
  # @param dead_letter_policy [Google::Cloud::PubSub::V1::DeadLetterPolicy | Hash]
505
521
  # A policy that specifies the conditions for dead lettering messages in
506
522
  # this subscription. If dead_letter_policy is not set, dead lettering
@@ -510,11 +526,21 @@ module Google
510
526
  # parent project (i.e.,
511
527
  # service-\\{project_number}@gcp-sa-pubsub.iam.gserviceaccount.com) must have
512
528
  # permission to Acknowledge() messages on this subscription.
513
- # <b>EXPERIMENTAL:</b> This feature is part of a closed alpha release. This
514
- # API might be changed in backward-incompatible ways and is not recommended
515
- # for production use. It is not subject to any SLA or deprecation policy.
516
529
  # A hash of the same form as `Google::Cloud::PubSub::V1::DeadLetterPolicy`
517
530
  # can also be provided.
531
+ # @param retry_policy [Google::Cloud::PubSub::V1::RetryPolicy | Hash]
532
+ # A policy that specifies how Cloud Pub/Sub retries message delivery for this
533
+ # subscription.
534
+ #
535
+ # If not set, the default retry policy is applied. This generally implies
536
+ # that messages will be retried as soon as possible for healthy subscribers.
537
+ # RetryPolicy will be triggered on NACKs or acknowledgement deadline
538
+ # exceeded events for a given message.
539
+ # <b>EXPERIMENTAL:</b> This API might be changed in backward-incompatible
540
+ # ways and is not recommended for production use. It is not subject to any
541
+ # SLA or deprecation policy.
542
+ # A hash of the same form as `Google::Cloud::PubSub::V1::RetryPolicy`
543
+ # can also be provided.
518
544
  # @param options [Google::Gax::CallOptions]
519
545
  # Overrides the default settings for this call, e.g, timeout,
520
546
  # retries, etc.
@@ -541,7 +567,9 @@ module Google
541
567
  labels: nil,
542
568
  enable_message_ordering: nil,
543
569
  expiration_policy: nil,
570
+ filter: nil,
544
571
  dead_letter_policy: nil,
572
+ retry_policy: nil,
545
573
  options: nil,
546
574
  &block
547
575
  req = {
@@ -554,7 +582,9 @@ module Google
554
582
  labels: labels,
555
583
  enable_message_ordering: enable_message_ordering,
556
584
  expiration_policy: expiration_policy,
557
- dead_letter_policy: dead_letter_policy
585
+ filter: filter,
586
+ dead_letter_policy: dead_letter_policy,
587
+ retry_policy: retry_policy
558
588
  }.delete_if { |_, v| v.nil? }
559
589
  req = Google::Gax::to_proto(req, Google::Cloud::PubSub::V1::Subscription)
560
590
  @create_subscription.call(req, options, &block)
@@ -725,6 +755,41 @@ module Google
725
755
  nil
726
756
  end
727
757
 
758
+ # Gets the configuration details of a snapshot. Snapshots are used in
759
+ # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
760
+ # operations, which allow you to manage message acknowledgments in bulk. That
761
+ # is, you can set the acknowledgment state of messages in an existing
762
+ # subscription to the state captured by a snapshot.
763
+ #
764
+ # @param snapshot [String]
765
+ # Required. The name of the snapshot to get.
766
+ # Format is `projects/{project}/snapshots/{snap}`.
767
+ # @param options [Google::Gax::CallOptions]
768
+ # Overrides the default settings for this call, e.g, timeout,
769
+ # retries, etc.
770
+ # @yield [result, operation] Access the result along with the RPC operation
771
+ # @yieldparam result [Google::Cloud::PubSub::V1::Snapshot]
772
+ # @yieldparam operation [GRPC::ActiveCall::Operation]
773
+ # @return [Google::Cloud::PubSub::V1::Snapshot]
774
+ # @raise [Google::Gax::GaxError] if the RPC is aborted.
775
+ # @example
776
+ # require "google/cloud/pubsub"
777
+ #
778
+ # subscriber_client = Google::Cloud::PubSub::Subscriber.new(version: :v1)
779
+ # formatted_snapshot = Google::Cloud::PubSub::V1::SubscriberClient.snapshot_path("[PROJECT]", "[SNAPSHOT]")
780
+ # response = subscriber_client.get_snapshot(formatted_snapshot)
781
+
782
+ def get_snapshot \
783
+ snapshot,
784
+ options: nil,
785
+ &block
786
+ req = {
787
+ snapshot: snapshot
788
+ }.delete_if { |_, v| v.nil? }
789
+ req = Google::Gax::to_proto(req, Google::Cloud::PubSub::V1::GetSnapshotRequest)
790
+ @get_snapshot.call(req, options, &block)
791
+ end
792
+
728
793
  # Modifies the ack deadline for a specific message. This method is useful
729
794
  # to indicate that more time is needed to process a message by the
730
795
  # subscriber, or to make the message available for redelivery if the
@@ -1254,8 +1319,8 @@ module Google
1254
1319
  # Sets the access control policy on the specified resource. Replaces
1255
1320
  # any existing policy.
1256
1321
  #
1257
- # Can return Public Errors: NOT_FOUND, INVALID_ARGUMENT and
1258
- # PERMISSION_DENIED
1322
+ # Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED`
1323
+ # errors.
1259
1324
  #
1260
1325
  # @param resource [String]
1261
1326
  # REQUIRED: The resource for which the policy is being specified.
@@ -1279,11 +1344,13 @@ module Google
1279
1344
  # require "google/cloud/pubsub"
1280
1345
  #
1281
1346
  # subscriber_client = Google::Cloud::PubSub::Subscriber.new(version: :v1)
1282
- # formatted_resource = Google::Cloud::PubSub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
1347
+ #
1348
+ # # TODO: Initialize `resource`:
1349
+ # resource = ''
1283
1350
  #
1284
1351
  # # TODO: Initialize `policy`:
1285
1352
  # policy = {}
1286
- # response = subscriber_client.set_iam_policy(formatted_resource, policy)
1353
+ # response = subscriber_client.set_iam_policy(resource, policy)
1287
1354
 
1288
1355
  def set_iam_policy \
1289
1356
  resource,
@@ -1321,8 +1388,10 @@ module Google
1321
1388
  # require "google/cloud/pubsub"
1322
1389
  #
1323
1390
  # subscriber_client = Google::Cloud::PubSub::Subscriber.new(version: :v1)
1324
- # formatted_resource = Google::Cloud::PubSub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
1325
- # response = subscriber_client.get_iam_policy(formatted_resource)
1391
+ #
1392
+ # # TODO: Initialize `resource`:
1393
+ # resource = ''
1394
+ # response = subscriber_client.get_iam_policy(resource)
1326
1395
 
1327
1396
  def get_iam_policy \
1328
1397
  resource,
@@ -1339,7 +1408,7 @@ module Google
1339
1408
 
1340
1409
  # Returns permissions that a caller has on the specified resource. If the
1341
1410
  # resource does not exist, this will return an empty set of
1342
- # permissions, not a NOT_FOUND error.
1411
+ # permissions, not a `NOT_FOUND` error.
1343
1412
  #
1344
1413
  # Note: This operation is designed to be used for building
1345
1414
  # permission-aware UIs and command-line tools, not for authorization
@@ -1365,11 +1434,13 @@ module Google
1365
1434
  # require "google/cloud/pubsub"
1366
1435
  #
1367
1436
  # subscriber_client = Google::Cloud::PubSub::Subscriber.new(version: :v1)
1368
- # formatted_resource = Google::Cloud::PubSub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
1437
+ #
1438
+ # # TODO: Initialize `resource`:
1439
+ # resource = ''
1369
1440
  #
1370
1441
  # # TODO: Initialize `permissions`:
1371
1442
  # permissions = []
1372
- # response = subscriber_client.test_iam_permissions(formatted_resource, permissions)
1443
+ # response = subscriber_client.test_iam_permissions(resource, permissions)
1373
1444
 
1374
1445
  def test_iam_permissions \
1375
1446
  resource,
@@ -10,6 +10,10 @@
10
10
  "non_idempotent": [
11
11
  "UNAVAILABLE"
12
12
  ],
13
+ "idempotent2": [
14
+ "DEADLINE_EXCEEDED",
15
+ "UNAVAILABLE"
16
+ ],
13
17
  "streaming_pull": [
14
18
  "ABORTED",
15
19
  "DEADLINE_EXCEEDED",
@@ -73,6 +77,11 @@
73
77
  "retry_codes_name": "non_idempotent",
74
78
  "retry_params_name": "default"
75
79
  },
80
+ "GetSnapshot": {
81
+ "timeout_millis": 60000,
82
+ "retry_codes_name": "idempotent2",
83
+ "retry_params_name": "default"
84
+ },
76
85
  "ModifyAckDeadline": {
77
86
  "timeout_millis": 60000,
78
87
  "retry_codes_name": "non_idempotent",
@@ -16,7 +16,7 @@
16
16
  module Google
17
17
  module Cloud
18
18
  module PubSub
19
- VERSION = "1.4.0".freeze
19
+ VERSION = "1.7.1".freeze
20
20
  end
21
21
 
22
22
  Pubsub = PubSub unless const_defined? :Pubsub
@@ -73,6 +73,11 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
73
73
  add_message "google.pubsub.v1.DeleteTopicRequest" do
74
74
  optional :topic, :string, 1
75
75
  end
76
+ add_message "google.pubsub.v1.DetachSubscriptionRequest" do
77
+ optional :subscription, :string, 1
78
+ end
79
+ add_message "google.pubsub.v1.DetachSubscriptionResponse" do
80
+ end
76
81
  add_message "google.pubsub.v1.Subscription" do
77
82
  optional :name, :string, 1
78
83
  optional :topic, :string, 2
@@ -83,7 +88,13 @@ Google::Protobuf::DescriptorPool.generated_pool.build do
83
88
  map :labels, :string, :string, 9
84
89
  optional :enable_message_ordering, :bool, 10
85
90
  optional :expiration_policy, :message, 11, "google.pubsub.v1.ExpirationPolicy"
91
+ optional :filter, :string, 12
86
92
  optional :dead_letter_policy, :message, 13, "google.pubsub.v1.DeadLetterPolicy"
93
+ optional :retry_policy, :message, 14, "google.pubsub.v1.RetryPolicy"
94
+ end
95
+ add_message "google.pubsub.v1.RetryPolicy" do
96
+ optional :minimum_backoff, :message, 1, "google.protobuf.Duration"
97
+ optional :maximum_backoff, :message, 2, "google.protobuf.Duration"
87
98
  end
88
99
  add_message "google.pubsub.v1.DeadLetterPolicy" do
89
100
  optional :dead_letter_topic, :string, 1
@@ -222,7 +233,10 @@ module Google::Cloud::PubSub::V1
222
233
  ListTopicSnapshotsRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.ListTopicSnapshotsRequest").msgclass
223
234
  ListTopicSnapshotsResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.ListTopicSnapshotsResponse").msgclass
224
235
  DeleteTopicRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.DeleteTopicRequest").msgclass
236
+ DetachSubscriptionRequest = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.DetachSubscriptionRequest").msgclass
237
+ DetachSubscriptionResponse = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.DetachSubscriptionResponse").msgclass
225
238
  Subscription = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.Subscription").msgclass
239
+ RetryPolicy = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.RetryPolicy").msgclass
226
240
  DeadLetterPolicy = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.DeadLetterPolicy").msgclass
227
241
  ExpirationPolicy = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.ExpirationPolicy").msgclass
228
242
  PushConfig = Google::Protobuf::DescriptorPool.generated_pool.lookup("google.pubsub.v1.PushConfig").msgclass
@@ -53,7 +53,7 @@ module Google::Cloud::PubSub::V1
53
53
  rpc :GetTopic, GetTopicRequest, Topic
54
54
  # Lists matching topics.
55
55
  rpc :ListTopics, ListTopicsRequest, ListTopicsResponse
56
- # Lists the names of the subscriptions on this topic.
56
+ # Lists the names of the attached subscriptions on this topic.
57
57
  rpc :ListTopicSubscriptions, ListTopicSubscriptionsRequest, ListTopicSubscriptionsResponse
58
58
  # Lists the names of the snapshots on this topic. Snapshots are used in
59
59
  # <a href="https://cloud.google.com/pubsub/docs/replay-overview">Seek</a>
@@ -68,6 +68,11 @@ module Google::Cloud::PubSub::V1
68
68
  # configuration or subscriptions. Existing subscriptions to this topic are
69
69
  # not deleted, but their `topic` field is set to `_deleted-topic_`.
70
70
  rpc :DeleteTopic, DeleteTopicRequest, Google::Protobuf::Empty
71
+ # Detaches a subscription from this topic. All messages retained in the
72
+ # subscription are dropped. Subsequent `Pull` and `StreamingPull` requests
73
+ # will return FAILED_PRECONDITION. If the subscription is a push
74
+ # subscription, pushes to the endpoint will stop.
75
+ rpc :DetachSubscription, DetachSubscriptionRequest, DetachSubscriptionResponse
71
76
  end
72
77
 
73
78
  Stub = Service.rpc_stub_class
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: google-cloud-pubsub
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.4.0
4
+ version: 1.7.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Mike Moore
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2020-03-11 00:00:00.000000000 Z
12
+ date: 2020-05-28 00:00:00.000000000 Z
13
13
  dependencies:
14
14
  - !ruby/object:Gem::Dependency
15
15
  name: concurrent-ruby
@@ -141,14 +141,14 @@ dependencies:
141
141
  requirements:
142
142
  - - "~>"
143
143
  - !ruby/object:Gem::Version
144
- version: '5.10'
144
+ version: '5.14'
145
145
  type: :development
146
146
  prerelease: false
147
147
  version_requirements: !ruby/object:Gem::Requirement
148
148
  requirements:
149
149
  - - "~>"
150
150
  - !ruby/object:Gem::Version
151
- version: '5.10'
151
+ version: '5.14'
152
152
  - !ruby/object:Gem::Dependency
153
153
  name: minitest-autotest
154
154
  requirement: !ruby/object:Gem::Requirement
@@ -278,6 +278,7 @@ files:
278
278
  - lib/google/cloud/pubsub/project.rb
279
279
  - lib/google/cloud/pubsub/publish_result.rb
280
280
  - lib/google/cloud/pubsub/received_message.rb
281
+ - lib/google/cloud/pubsub/retry_policy.rb
281
282
  - lib/google/cloud/pubsub/service.rb
282
283
  - lib/google/cloud/pubsub/snapshot.rb
283
284
  - lib/google/cloud/pubsub/snapshot/list.rb