google-cloud-pubsub 1.4.0 → 1.7.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -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