google-cloud-pubsub 0.31.1 → 0.32.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.
- checksums.yaml +4 -4
- data/.yardopts +1 -0
- data/README.md +8 -8
- data/lib/google/cloud/pubsub/async_publisher.rb +4 -0
- data/lib/google/cloud/pubsub/credentials.rb +2 -14
- data/lib/google/cloud/pubsub/subscriber.rb +85 -0
- data/lib/google/cloud/pubsub/subscriber/async_stream_pusher.rb +24 -19
- data/lib/google/cloud/pubsub/subscriber/async_unary_pusher.rb +45 -26
- data/lib/google/cloud/pubsub/subscriber/inventory.rb +136 -0
- data/lib/google/cloud/pubsub/subscriber/stream.rb +80 -138
- data/lib/google/cloud/pubsub/subscription.rb +2 -2
- data/lib/google/cloud/pubsub/topic.rb +4 -4
- data/lib/google/cloud/pubsub/v1/credentials.rb +38 -0
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/iam_policy.rb +62 -0
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/policy.rb +127 -0
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +1 -1
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/empty.rb +28 -0
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb +1 -1
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +1 -1
- data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +113 -31
- data/lib/google/cloud/pubsub/v1/publisher_client.rb +180 -109
- data/lib/google/cloud/pubsub/v1/subscriber_client.rb +322 -193
- data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +1 -1
- data/lib/google/cloud/pubsub/version.rb +1 -1
- data/lib/google/pubsub/v1/pubsub_pb.rb +21 -0
- data/lib/google/pubsub/v1/pubsub_services_pb.rb +87 -73
- metadata +23 -5
- data/lib/google/cloud/pubsub/v1/doc/overview.rb +0 -75
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# Copyright
|
|
1
|
+
# Copyright 2018 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.
|
|
@@ -18,9 +18,6 @@
|
|
|
18
18
|
# and updates to that file get reflected here through a refresh process.
|
|
19
19
|
# For the short term, the refresh process will only be runnable by Google
|
|
20
20
|
# engineers.
|
|
21
|
-
#
|
|
22
|
-
# The only allowed edits are to method and file documentation. A 3-way
|
|
23
|
-
# merge preserves those additions if the generated source changes.
|
|
24
21
|
|
|
25
22
|
require "json"
|
|
26
23
|
require "pathname"
|
|
@@ -29,14 +26,15 @@ require "google/gax"
|
|
|
29
26
|
|
|
30
27
|
require "google/iam/v1/iam_policy_pb"
|
|
31
28
|
require "google/pubsub/v1/pubsub_pb"
|
|
32
|
-
require "google/cloud/pubsub/credentials"
|
|
29
|
+
require "google/cloud/pubsub/v1/credentials"
|
|
33
30
|
|
|
34
31
|
module Google
|
|
35
32
|
module Cloud
|
|
36
33
|
module Pubsub
|
|
37
34
|
module V1
|
|
38
35
|
# The service that an application uses to manipulate subscriptions and to
|
|
39
|
-
# consume messages from a subscription via the +Pull+ method
|
|
36
|
+
# consume messages from a subscription via the +Pull+ method or by
|
|
37
|
+
# establishing a bi-directional stream using the +StreamingPull+ method.
|
|
40
38
|
#
|
|
41
39
|
# @!attribute [r] iam_policy_stub
|
|
42
40
|
# @return [Google::Iam::V1::IAMPolicy::Stub]
|
|
@@ -51,6 +49,9 @@ module Google
|
|
|
51
49
|
# The default port of the service.
|
|
52
50
|
DEFAULT_SERVICE_PORT = 443
|
|
53
51
|
|
|
52
|
+
# The default set of gRPC interceptors.
|
|
53
|
+
GRPC_INTERCEPTORS = []
|
|
54
|
+
|
|
54
55
|
DEFAULT_TIMEOUT = 30
|
|
55
56
|
|
|
56
57
|
PAGE_DESCRIPTORS = {
|
|
@@ -73,17 +74,6 @@ module Google
|
|
|
73
74
|
"https://www.googleapis.com/auth/pubsub"
|
|
74
75
|
].freeze
|
|
75
76
|
|
|
76
|
-
PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
|
77
|
-
"projects/{project}"
|
|
78
|
-
)
|
|
79
|
-
|
|
80
|
-
private_constant :PROJECT_PATH_TEMPLATE
|
|
81
|
-
|
|
82
|
-
SNAPSHOT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
|
83
|
-
"projects/{project}/snapshots/{snapshot}"
|
|
84
|
-
)
|
|
85
|
-
|
|
86
|
-
private_constant :SNAPSHOT_PATH_TEMPLATE
|
|
87
77
|
|
|
88
78
|
SUBSCRIPTION_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
|
89
79
|
"projects/{project}/subscriptions/{subscription}"
|
|
@@ -97,25 +87,17 @@ module Google
|
|
|
97
87
|
|
|
98
88
|
private_constant :TOPIC_PATH_TEMPLATE
|
|
99
89
|
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
def self.project_path project
|
|
104
|
-
PROJECT_PATH_TEMPLATE.render(
|
|
105
|
-
:"project" => project
|
|
106
|
-
)
|
|
107
|
-
end
|
|
90
|
+
PROJECT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
|
91
|
+
"projects/{project}"
|
|
92
|
+
)
|
|
108
93
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
:"snapshot" => snapshot
|
|
117
|
-
)
|
|
118
|
-
end
|
|
94
|
+
private_constant :PROJECT_PATH_TEMPLATE
|
|
95
|
+
|
|
96
|
+
SNAPSHOT_PATH_TEMPLATE = Google::Gax::PathTemplate.new(
|
|
97
|
+
"projects/{project}/snapshots/{snapshot}"
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
private_constant :SNAPSHOT_PATH_TEMPLATE
|
|
119
101
|
|
|
120
102
|
# Returns a fully-qualified subscription resource name string.
|
|
121
103
|
# @param project [String]
|
|
@@ -139,6 +121,26 @@ module Google
|
|
|
139
121
|
)
|
|
140
122
|
end
|
|
141
123
|
|
|
124
|
+
# Returns a fully-qualified project resource name string.
|
|
125
|
+
# @param project [String]
|
|
126
|
+
# @return [String]
|
|
127
|
+
def self.project_path project
|
|
128
|
+
PROJECT_PATH_TEMPLATE.render(
|
|
129
|
+
:"project" => project
|
|
130
|
+
)
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# Returns a fully-qualified snapshot resource name string.
|
|
134
|
+
# @param project [String]
|
|
135
|
+
# @param snapshot [String]
|
|
136
|
+
# @return [String]
|
|
137
|
+
def self.snapshot_path project, snapshot
|
|
138
|
+
SNAPSHOT_PATH_TEMPLATE.render(
|
|
139
|
+
:"project" => project,
|
|
140
|
+
:"snapshot" => snapshot
|
|
141
|
+
)
|
|
142
|
+
end
|
|
143
|
+
|
|
142
144
|
# @param credentials [Google::Auth::Credentials, String, Hash, GRPC::Core::Channel, GRPC::Core::ChannelCredentials, Proc]
|
|
143
145
|
# Provides the means for authenticating requests made by the client. This parameter can
|
|
144
146
|
# be many types.
|
|
@@ -163,16 +165,18 @@ module Google
|
|
|
163
165
|
# or the specified config is missing data points.
|
|
164
166
|
# @param timeout [Numeric]
|
|
165
167
|
# The default timeout, in seconds, for calls made through this client.
|
|
168
|
+
# @param metadata [Hash]
|
|
169
|
+
# Default metadata to be sent with each request. This can be overridden on a per call basis.
|
|
170
|
+
# @param exception_transformer [Proc]
|
|
171
|
+
# An optional proc that intercepts any exceptions raised during an API call to inject
|
|
172
|
+
# custom error handling.
|
|
166
173
|
def initialize \
|
|
167
|
-
service_path: SERVICE_ADDRESS,
|
|
168
|
-
port: DEFAULT_SERVICE_PORT,
|
|
169
|
-
channel: nil,
|
|
170
|
-
chan_creds: nil,
|
|
171
|
-
updater_proc: nil,
|
|
172
174
|
credentials: nil,
|
|
173
175
|
scopes: ALL_SCOPES,
|
|
174
176
|
client_config: {},
|
|
175
177
|
timeout: DEFAULT_TIMEOUT,
|
|
178
|
+
metadata: nil,
|
|
179
|
+
exception_transformer: nil,
|
|
176
180
|
lib_name: nil,
|
|
177
181
|
lib_version: ""
|
|
178
182
|
# These require statements are intentionally placed here to initialize
|
|
@@ -182,21 +186,10 @@ module Google
|
|
|
182
186
|
require "google/iam/v1/iam_policy_services_pb"
|
|
183
187
|
require "google/pubsub/v1/pubsub_services_pb"
|
|
184
188
|
|
|
185
|
-
|
|
186
|
-
warn "The `channel`, `chan_creds`, and `updater_proc` parameters will be removed " \
|
|
187
|
-
"on 2017/09/08"
|
|
188
|
-
credentials ||= channel
|
|
189
|
-
credentials ||= chan_creds
|
|
190
|
-
credentials ||= updater_proc
|
|
191
|
-
end
|
|
192
|
-
if service_path != SERVICE_ADDRESS || port != DEFAULT_SERVICE_PORT
|
|
193
|
-
warn "`service_path` and `port` parameters are deprecated and will be removed"
|
|
194
|
-
end
|
|
195
|
-
|
|
196
|
-
credentials ||= Google::Cloud::Pubsub::Credentials.default
|
|
189
|
+
credentials ||= Google::Cloud::Pubsub::V1::Credentials.default
|
|
197
190
|
|
|
198
191
|
if credentials.is_a?(String) || credentials.is_a?(Hash)
|
|
199
|
-
updater_proc = Google::Cloud::Pubsub::Credentials.new(credentials).updater_proc
|
|
192
|
+
updater_proc = Google::Cloud::Pubsub::V1::Credentials.new(credentials).updater_proc
|
|
200
193
|
end
|
|
201
194
|
if credentials.is_a?(GRPC::Core::Channel)
|
|
202
195
|
channel = credentials
|
|
@@ -211,13 +204,16 @@ module Google
|
|
|
211
204
|
updater_proc = credentials.updater_proc
|
|
212
205
|
end
|
|
213
206
|
|
|
207
|
+
package_version = Gem.loaded_specs['google-cloud-pubsub'].version.version
|
|
208
|
+
|
|
214
209
|
google_api_client = "gl-ruby/#{RUBY_VERSION}"
|
|
215
210
|
google_api_client << " #{lib_name}/#{lib_version}" if lib_name
|
|
216
|
-
google_api_client << " gapic
|
|
211
|
+
google_api_client << " gapic/#{package_version} gax/#{Google::Gax::VERSION}"
|
|
217
212
|
google_api_client << " grpc/#{GRPC::VERSION}"
|
|
218
213
|
google_api_client.freeze
|
|
219
214
|
|
|
220
215
|
headers = { :"x-goog-api-client" => google_api_client }
|
|
216
|
+
headers.merge!(metadata) unless metadata.nil?
|
|
221
217
|
client_config_file = Pathname.new(__dir__).join(
|
|
222
218
|
"subscriber_client_config.json"
|
|
223
219
|
)
|
|
@@ -230,9 +226,14 @@ module Google
|
|
|
230
226
|
timeout,
|
|
231
227
|
page_descriptors: PAGE_DESCRIPTORS,
|
|
232
228
|
errors: Google::Gax::Grpc::API_ERRORS,
|
|
233
|
-
|
|
229
|
+
metadata: headers
|
|
234
230
|
)
|
|
235
231
|
end
|
|
232
|
+
|
|
233
|
+
# Allow overriding the service path/port in subclasses.
|
|
234
|
+
service_path = self.class::SERVICE_ADDRESS
|
|
235
|
+
port = self.class::DEFAULT_SERVICE_PORT
|
|
236
|
+
interceptors = self.class::GRPC_INTERCEPTORS
|
|
236
237
|
@iam_policy_stub = Google::Gax::Grpc.create_stub(
|
|
237
238
|
service_path,
|
|
238
239
|
port,
|
|
@@ -240,6 +241,7 @@ module Google
|
|
|
240
241
|
channel: channel,
|
|
241
242
|
updater_proc: updater_proc,
|
|
242
243
|
scopes: scopes,
|
|
244
|
+
interceptors: interceptors,
|
|
243
245
|
&Google::Iam::V1::IAMPolicy::Stub.method(:new)
|
|
244
246
|
)
|
|
245
247
|
@subscriber_stub = Google::Gax::Grpc.create_stub(
|
|
@@ -249,86 +251,106 @@ module Google
|
|
|
249
251
|
channel: channel,
|
|
250
252
|
updater_proc: updater_proc,
|
|
251
253
|
scopes: scopes,
|
|
254
|
+
interceptors: interceptors,
|
|
252
255
|
&Google::Pubsub::V1::Subscriber::Stub.method(:new)
|
|
253
256
|
)
|
|
254
257
|
|
|
255
|
-
@set_iam_policy = Google::Gax.create_api_call(
|
|
256
|
-
@iam_policy_stub.method(:set_iam_policy),
|
|
257
|
-
defaults["set_iam_policy"]
|
|
258
|
-
)
|
|
259
|
-
@get_iam_policy = Google::Gax.create_api_call(
|
|
260
|
-
@iam_policy_stub.method(:get_iam_policy),
|
|
261
|
-
defaults["get_iam_policy"]
|
|
262
|
-
)
|
|
263
|
-
@test_iam_permissions = Google::Gax.create_api_call(
|
|
264
|
-
@iam_policy_stub.method(:test_iam_permissions),
|
|
265
|
-
defaults["test_iam_permissions"]
|
|
266
|
-
)
|
|
267
258
|
@create_subscription = Google::Gax.create_api_call(
|
|
268
259
|
@subscriber_stub.method(:create_subscription),
|
|
269
|
-
defaults["create_subscription"]
|
|
260
|
+
defaults["create_subscription"],
|
|
261
|
+
exception_transformer: exception_transformer
|
|
270
262
|
)
|
|
271
263
|
@get_subscription = Google::Gax.create_api_call(
|
|
272
264
|
@subscriber_stub.method(:get_subscription),
|
|
273
|
-
defaults["get_subscription"]
|
|
265
|
+
defaults["get_subscription"],
|
|
266
|
+
exception_transformer: exception_transformer
|
|
274
267
|
)
|
|
275
268
|
@update_subscription = Google::Gax.create_api_call(
|
|
276
269
|
@subscriber_stub.method(:update_subscription),
|
|
277
|
-
defaults["update_subscription"]
|
|
270
|
+
defaults["update_subscription"],
|
|
271
|
+
exception_transformer: exception_transformer
|
|
278
272
|
)
|
|
279
273
|
@list_subscriptions = Google::Gax.create_api_call(
|
|
280
274
|
@subscriber_stub.method(:list_subscriptions),
|
|
281
|
-
defaults["list_subscriptions"]
|
|
275
|
+
defaults["list_subscriptions"],
|
|
276
|
+
exception_transformer: exception_transformer
|
|
282
277
|
)
|
|
283
278
|
@delete_subscription = Google::Gax.create_api_call(
|
|
284
279
|
@subscriber_stub.method(:delete_subscription),
|
|
285
|
-
defaults["delete_subscription"]
|
|
280
|
+
defaults["delete_subscription"],
|
|
281
|
+
exception_transformer: exception_transformer
|
|
286
282
|
)
|
|
287
283
|
@modify_ack_deadline = Google::Gax.create_api_call(
|
|
288
284
|
@subscriber_stub.method(:modify_ack_deadline),
|
|
289
|
-
defaults["modify_ack_deadline"]
|
|
285
|
+
defaults["modify_ack_deadline"],
|
|
286
|
+
exception_transformer: exception_transformer
|
|
290
287
|
)
|
|
291
288
|
@acknowledge = Google::Gax.create_api_call(
|
|
292
289
|
@subscriber_stub.method(:acknowledge),
|
|
293
|
-
defaults["acknowledge"]
|
|
290
|
+
defaults["acknowledge"],
|
|
291
|
+
exception_transformer: exception_transformer
|
|
294
292
|
)
|
|
295
293
|
@pull = Google::Gax.create_api_call(
|
|
296
294
|
@subscriber_stub.method(:pull),
|
|
297
|
-
defaults["pull"]
|
|
295
|
+
defaults["pull"],
|
|
296
|
+
exception_transformer: exception_transformer
|
|
298
297
|
)
|
|
299
298
|
@streaming_pull = Google::Gax.create_api_call(
|
|
300
299
|
@subscriber_stub.method(:streaming_pull),
|
|
301
|
-
defaults["streaming_pull"]
|
|
300
|
+
defaults["streaming_pull"],
|
|
301
|
+
exception_transformer: exception_transformer
|
|
302
302
|
)
|
|
303
303
|
@modify_push_config = Google::Gax.create_api_call(
|
|
304
304
|
@subscriber_stub.method(:modify_push_config),
|
|
305
|
-
defaults["modify_push_config"]
|
|
305
|
+
defaults["modify_push_config"],
|
|
306
|
+
exception_transformer: exception_transformer
|
|
306
307
|
)
|
|
307
308
|
@list_snapshots = Google::Gax.create_api_call(
|
|
308
309
|
@subscriber_stub.method(:list_snapshots),
|
|
309
|
-
defaults["list_snapshots"]
|
|
310
|
+
defaults["list_snapshots"],
|
|
311
|
+
exception_transformer: exception_transformer
|
|
310
312
|
)
|
|
311
313
|
@create_snapshot = Google::Gax.create_api_call(
|
|
312
314
|
@subscriber_stub.method(:create_snapshot),
|
|
313
|
-
defaults["create_snapshot"]
|
|
315
|
+
defaults["create_snapshot"],
|
|
316
|
+
exception_transformer: exception_transformer
|
|
314
317
|
)
|
|
315
318
|
@update_snapshot = Google::Gax.create_api_call(
|
|
316
319
|
@subscriber_stub.method(:update_snapshot),
|
|
317
|
-
defaults["update_snapshot"]
|
|
320
|
+
defaults["update_snapshot"],
|
|
321
|
+
exception_transformer: exception_transformer
|
|
318
322
|
)
|
|
319
323
|
@delete_snapshot = Google::Gax.create_api_call(
|
|
320
324
|
@subscriber_stub.method(:delete_snapshot),
|
|
321
|
-
defaults["delete_snapshot"]
|
|
325
|
+
defaults["delete_snapshot"],
|
|
326
|
+
exception_transformer: exception_transformer
|
|
322
327
|
)
|
|
323
328
|
@seek = Google::Gax.create_api_call(
|
|
324
329
|
@subscriber_stub.method(:seek),
|
|
325
|
-
defaults["seek"]
|
|
330
|
+
defaults["seek"],
|
|
331
|
+
exception_transformer: exception_transformer
|
|
332
|
+
)
|
|
333
|
+
@set_iam_policy = Google::Gax.create_api_call(
|
|
334
|
+
@iam_policy_stub.method(:set_iam_policy),
|
|
335
|
+
defaults["set_iam_policy"],
|
|
336
|
+
exception_transformer: exception_transformer
|
|
337
|
+
)
|
|
338
|
+
@get_iam_policy = Google::Gax.create_api_call(
|
|
339
|
+
@iam_policy_stub.method(:get_iam_policy),
|
|
340
|
+
defaults["get_iam_policy"],
|
|
341
|
+
exception_transformer: exception_transformer
|
|
342
|
+
)
|
|
343
|
+
@test_iam_permissions = Google::Gax.create_api_call(
|
|
344
|
+
@iam_policy_stub.method(:test_iam_permissions),
|
|
345
|
+
defaults["test_iam_permissions"],
|
|
346
|
+
exception_transformer: exception_transformer
|
|
326
347
|
)
|
|
327
348
|
end
|
|
328
349
|
|
|
329
350
|
# Service calls
|
|
330
351
|
|
|
331
|
-
# Creates a subscription to a given topic.
|
|
352
|
+
# Creates a subscription to a given topic. See the
|
|
353
|
+
# <a href="/pubsub/docs/admin#resource_names"> resource name rules</a>.
|
|
332
354
|
# If the subscription already exists, returns +ALREADY_EXISTS+.
|
|
333
355
|
# If the corresponding topic doesn't exist, returns +NOT_FOUND+.
|
|
334
356
|
#
|
|
@@ -345,7 +367,7 @@ module Google
|
|
|
345
367
|
# start with a letter, and contain only letters (+[A-Za-z]+), numbers
|
|
346
368
|
# (+[0-9]+), dashes (+-+), underscores (+_+), periods (+.+), tildes (+~+),
|
|
347
369
|
# plus (+++) or percent signs (+%+). It must be between 3 and 255 characters
|
|
348
|
-
# in length, and it must not start with +"goog"
|
|
370
|
+
# in length, and it must not start with +"goog"+
|
|
349
371
|
# @param topic [String]
|
|
350
372
|
# The name of the topic from which this subscription is receiving messages.
|
|
351
373
|
# Format is +projects/{project}/topics/{topic}+.
|
|
@@ -367,7 +389,8 @@ module Google
|
|
|
367
389
|
# For pull subscriptions, this value is used as the initial value for the ack
|
|
368
390
|
# deadline. To override this value for a given message, call
|
|
369
391
|
# +ModifyAckDeadline+ with the corresponding +ack_id+ if using
|
|
370
|
-
# pull
|
|
392
|
+
# non-streaming pull or send the +ack_id+ in a
|
|
393
|
+
# +StreamingModifyAckDeadlineRequest+ if using streaming pull.
|
|
371
394
|
# The minimum custom deadline you can specify is 10 seconds.
|
|
372
395
|
# The maximum custom deadline you can specify is 600 seconds (10 minutes).
|
|
373
396
|
# If this parameter is 0, a default value of 10 seconds is used.
|
|
@@ -381,14 +404,20 @@ module Google
|
|
|
381
404
|
# Indicates whether to retain acknowledged messages. If true, then
|
|
382
405
|
# messages are not expunged from the subscription's backlog, even if they are
|
|
383
406
|
# acknowledged, until they fall out of the +message_retention_duration+
|
|
384
|
-
# window
|
|
407
|
+
# window.<br><br>
|
|
408
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
409
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
410
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
385
411
|
# @param message_retention_duration [Google::Protobuf::Duration | Hash]
|
|
386
412
|
# How long to retain unacknowledged messages in the subscription's backlog,
|
|
387
413
|
# from the moment a message is published.
|
|
388
414
|
# If +retain_acked_messages+ is true, then this also configures the retention
|
|
389
415
|
# of acknowledged messages, and thus configures how far back in time a +Seek+
|
|
390
416
|
# can be done. Defaults to 7 days. Cannot be more than 7 days or less than 10
|
|
391
|
-
# minutes
|
|
417
|
+
# minutes.<br><br>
|
|
418
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
419
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
420
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
392
421
|
# A hash of the same form as `Google::Protobuf::Duration`
|
|
393
422
|
# can also be provided.
|
|
394
423
|
# @param labels [Hash{String => String}]
|
|
@@ -396,12 +425,15 @@ module Google
|
|
|
396
425
|
# @param options [Google::Gax::CallOptions]
|
|
397
426
|
# Overrides the default settings for this call, e.g, timeout,
|
|
398
427
|
# retries, etc.
|
|
428
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
429
|
+
# @yieldparam result [Google::Pubsub::V1::Subscription]
|
|
430
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
399
431
|
# @return [Google::Pubsub::V1::Subscription]
|
|
400
432
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
401
433
|
# @example
|
|
402
|
-
# require "google/cloud/pubsub
|
|
434
|
+
# require "google/cloud/pubsub"
|
|
403
435
|
#
|
|
404
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
436
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
405
437
|
# formatted_name = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
406
438
|
# formatted_topic = Google::Cloud::Pubsub::V1::SubscriberClient.topic_path("[PROJECT]", "[TOPIC]")
|
|
407
439
|
# response = subscriber_client.create_subscription(formatted_name, formatted_topic)
|
|
@@ -414,7 +446,8 @@ module Google
|
|
|
414
446
|
retain_acked_messages: nil,
|
|
415
447
|
message_retention_duration: nil,
|
|
416
448
|
labels: nil,
|
|
417
|
-
options: nil
|
|
449
|
+
options: nil,
|
|
450
|
+
&block
|
|
418
451
|
req = {
|
|
419
452
|
name: name,
|
|
420
453
|
topic: topic,
|
|
@@ -425,7 +458,7 @@ module Google
|
|
|
425
458
|
labels: labels
|
|
426
459
|
}.delete_if { |_, v| v.nil? }
|
|
427
460
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::Subscription)
|
|
428
|
-
@create_subscription.call(req, options)
|
|
461
|
+
@create_subscription.call(req, options, &block)
|
|
429
462
|
end
|
|
430
463
|
|
|
431
464
|
# Gets the configuration details of a subscription.
|
|
@@ -436,31 +469,31 @@ module Google
|
|
|
436
469
|
# @param options [Google::Gax::CallOptions]
|
|
437
470
|
# Overrides the default settings for this call, e.g, timeout,
|
|
438
471
|
# retries, etc.
|
|
472
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
473
|
+
# @yieldparam result [Google::Pubsub::V1::Subscription]
|
|
474
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
439
475
|
# @return [Google::Pubsub::V1::Subscription]
|
|
440
476
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
441
477
|
# @example
|
|
442
|
-
# require "google/cloud/pubsub
|
|
478
|
+
# require "google/cloud/pubsub"
|
|
443
479
|
#
|
|
444
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
480
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
445
481
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
446
482
|
# response = subscriber_client.get_subscription(formatted_subscription)
|
|
447
483
|
|
|
448
484
|
def get_subscription \
|
|
449
485
|
subscription,
|
|
450
|
-
options: nil
|
|
486
|
+
options: nil,
|
|
487
|
+
&block
|
|
451
488
|
req = {
|
|
452
489
|
subscription: subscription
|
|
453
490
|
}.delete_if { |_, v| v.nil? }
|
|
454
491
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::GetSubscriptionRequest)
|
|
455
|
-
@get_subscription.call(req, options)
|
|
492
|
+
@get_subscription.call(req, options, &block)
|
|
456
493
|
end
|
|
457
494
|
|
|
458
495
|
# Updates an existing subscription. Note that certain properties of a
|
|
459
496
|
# subscription, such as its topic, are not modifiable.
|
|
460
|
-
# NOTE: The style guide requires body: "subscription" instead of body: "*".
|
|
461
|
-
# Keeping the latter for internal consistency in V1, however it should be
|
|
462
|
-
# corrected in V2. See
|
|
463
|
-
# https://cloud.google.com/apis/design/standard_methods#update for details.
|
|
464
497
|
#
|
|
465
498
|
# @param subscription [Google::Pubsub::V1::Subscription | Hash]
|
|
466
499
|
# The updated subscription object.
|
|
@@ -474,26 +507,33 @@ module Google
|
|
|
474
507
|
# @param options [Google::Gax::CallOptions]
|
|
475
508
|
# Overrides the default settings for this call, e.g, timeout,
|
|
476
509
|
# retries, etc.
|
|
510
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
511
|
+
# @yieldparam result [Google::Pubsub::V1::Subscription]
|
|
512
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
477
513
|
# @return [Google::Pubsub::V1::Subscription]
|
|
478
514
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
479
515
|
# @example
|
|
480
|
-
# require "google/cloud/pubsub
|
|
516
|
+
# require "google/cloud/pubsub"
|
|
481
517
|
#
|
|
482
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
483
|
-
#
|
|
484
|
-
#
|
|
518
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
519
|
+
# ack_deadline_seconds = 42
|
|
520
|
+
# subscription = { ack_deadline_seconds: ack_deadline_seconds }
|
|
521
|
+
# paths_element = "ack_deadline_seconds"
|
|
522
|
+
# paths = [paths_element]
|
|
523
|
+
# update_mask = { paths: paths }
|
|
485
524
|
# response = subscriber_client.update_subscription(subscription, update_mask)
|
|
486
525
|
|
|
487
526
|
def update_subscription \
|
|
488
527
|
subscription,
|
|
489
528
|
update_mask,
|
|
490
|
-
options: nil
|
|
529
|
+
options: nil,
|
|
530
|
+
&block
|
|
491
531
|
req = {
|
|
492
532
|
subscription: subscription,
|
|
493
533
|
update_mask: update_mask
|
|
494
534
|
}.delete_if { |_, v| v.nil? }
|
|
495
535
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::UpdateSubscriptionRequest)
|
|
496
|
-
@update_subscription.call(req, options)
|
|
536
|
+
@update_subscription.call(req, options, &block)
|
|
497
537
|
end
|
|
498
538
|
|
|
499
539
|
# Lists matching subscriptions.
|
|
@@ -510,6 +550,9 @@ module Google
|
|
|
510
550
|
# @param options [Google::Gax::CallOptions]
|
|
511
551
|
# Overrides the default settings for this call, e.g, timeout,
|
|
512
552
|
# retries, etc.
|
|
553
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
554
|
+
# @yieldparam result [Google::Gax::PagedEnumerable<Google::Pubsub::V1::Subscription>]
|
|
555
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
513
556
|
# @return [Google::Gax::PagedEnumerable<Google::Pubsub::V1::Subscription>]
|
|
514
557
|
# An enumerable of Google::Pubsub::V1::Subscription instances.
|
|
515
558
|
# See Google::Gax::PagedEnumerable documentation for other
|
|
@@ -517,9 +560,9 @@ module Google
|
|
|
517
560
|
# object.
|
|
518
561
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
519
562
|
# @example
|
|
520
|
-
# require "google/cloud/pubsub
|
|
563
|
+
# require "google/cloud/pubsub"
|
|
521
564
|
#
|
|
522
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
565
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
523
566
|
# formatted_project = Google::Cloud::Pubsub::V1::SubscriberClient.project_path("[PROJECT]")
|
|
524
567
|
#
|
|
525
568
|
# # Iterate over all results.
|
|
@@ -538,13 +581,14 @@ module Google
|
|
|
538
581
|
def list_subscriptions \
|
|
539
582
|
project,
|
|
540
583
|
page_size: nil,
|
|
541
|
-
options: nil
|
|
584
|
+
options: nil,
|
|
585
|
+
&block
|
|
542
586
|
req = {
|
|
543
587
|
project: project,
|
|
544
588
|
page_size: page_size
|
|
545
589
|
}.delete_if { |_, v| v.nil? }
|
|
546
590
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::ListSubscriptionsRequest)
|
|
547
|
-
@list_subscriptions.call(req, options)
|
|
591
|
+
@list_subscriptions.call(req, options, &block)
|
|
548
592
|
end
|
|
549
593
|
|
|
550
594
|
# Deletes an existing subscription. All messages retained in the subscription
|
|
@@ -559,22 +603,26 @@ module Google
|
|
|
559
603
|
# @param options [Google::Gax::CallOptions]
|
|
560
604
|
# Overrides the default settings for this call, e.g, timeout,
|
|
561
605
|
# retries, etc.
|
|
606
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
607
|
+
# @yieldparam result []
|
|
608
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
562
609
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
563
610
|
# @example
|
|
564
|
-
# require "google/cloud/pubsub
|
|
611
|
+
# require "google/cloud/pubsub"
|
|
565
612
|
#
|
|
566
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
613
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
567
614
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
568
615
|
# subscriber_client.delete_subscription(formatted_subscription)
|
|
569
616
|
|
|
570
617
|
def delete_subscription \
|
|
571
618
|
subscription,
|
|
572
|
-
options: nil
|
|
619
|
+
options: nil,
|
|
620
|
+
&block
|
|
573
621
|
req = {
|
|
574
622
|
subscription: subscription
|
|
575
623
|
}.delete_if { |_, v| v.nil? }
|
|
576
624
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::DeleteSubscriptionRequest)
|
|
577
|
-
@delete_subscription.call(req, options)
|
|
625
|
+
@delete_subscription.call(req, options, &block)
|
|
578
626
|
nil
|
|
579
627
|
end
|
|
580
628
|
|
|
@@ -600,13 +648,20 @@ module Google
|
|
|
600
648
|
# @param options [Google::Gax::CallOptions]
|
|
601
649
|
# Overrides the default settings for this call, e.g, timeout,
|
|
602
650
|
# retries, etc.
|
|
651
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
652
|
+
# @yieldparam result []
|
|
653
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
603
654
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
604
655
|
# @example
|
|
605
|
-
# require "google/cloud/pubsub
|
|
656
|
+
# require "google/cloud/pubsub"
|
|
606
657
|
#
|
|
607
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
658
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
608
659
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
660
|
+
#
|
|
661
|
+
# # TODO: Initialize +ack_ids+:
|
|
609
662
|
# ack_ids = []
|
|
663
|
+
#
|
|
664
|
+
# # TODO: Initialize +ack_deadline_seconds+:
|
|
610
665
|
# ack_deadline_seconds = 0
|
|
611
666
|
# subscriber_client.modify_ack_deadline(formatted_subscription, ack_ids, ack_deadline_seconds)
|
|
612
667
|
|
|
@@ -614,14 +669,15 @@ module Google
|
|
|
614
669
|
subscription,
|
|
615
670
|
ack_ids,
|
|
616
671
|
ack_deadline_seconds,
|
|
617
|
-
options: nil
|
|
672
|
+
options: nil,
|
|
673
|
+
&block
|
|
618
674
|
req = {
|
|
619
675
|
subscription: subscription,
|
|
620
676
|
ack_ids: ack_ids,
|
|
621
677
|
ack_deadline_seconds: ack_deadline_seconds
|
|
622
678
|
}.delete_if { |_, v| v.nil? }
|
|
623
679
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::ModifyAckDeadlineRequest)
|
|
624
|
-
@modify_ack_deadline.call(req, options)
|
|
680
|
+
@modify_ack_deadline.call(req, options, &block)
|
|
625
681
|
nil
|
|
626
682
|
end
|
|
627
683
|
|
|
@@ -642,25 +698,31 @@ module Google
|
|
|
642
698
|
# @param options [Google::Gax::CallOptions]
|
|
643
699
|
# Overrides the default settings for this call, e.g, timeout,
|
|
644
700
|
# retries, etc.
|
|
701
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
702
|
+
# @yieldparam result []
|
|
703
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
645
704
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
646
705
|
# @example
|
|
647
|
-
# require "google/cloud/pubsub
|
|
706
|
+
# require "google/cloud/pubsub"
|
|
648
707
|
#
|
|
649
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
708
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
650
709
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
710
|
+
#
|
|
711
|
+
# # TODO: Initialize +ack_ids+:
|
|
651
712
|
# ack_ids = []
|
|
652
713
|
# subscriber_client.acknowledge(formatted_subscription, ack_ids)
|
|
653
714
|
|
|
654
715
|
def acknowledge \
|
|
655
716
|
subscription,
|
|
656
717
|
ack_ids,
|
|
657
|
-
options: nil
|
|
718
|
+
options: nil,
|
|
719
|
+
&block
|
|
658
720
|
req = {
|
|
659
721
|
subscription: subscription,
|
|
660
722
|
ack_ids: ack_ids
|
|
661
723
|
}.delete_if { |_, v| v.nil? }
|
|
662
724
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::AcknowledgeRequest)
|
|
663
|
-
@acknowledge.call(req, options)
|
|
725
|
+
@acknowledge.call(req, options, &block)
|
|
664
726
|
nil
|
|
665
727
|
end
|
|
666
728
|
|
|
@@ -685,13 +747,18 @@ module Google
|
|
|
685
747
|
# @param options [Google::Gax::CallOptions]
|
|
686
748
|
# Overrides the default settings for this call, e.g, timeout,
|
|
687
749
|
# retries, etc.
|
|
750
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
751
|
+
# @yieldparam result [Google::Pubsub::V1::PullResponse]
|
|
752
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
688
753
|
# @return [Google::Pubsub::V1::PullResponse]
|
|
689
754
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
690
755
|
# @example
|
|
691
|
-
# require "google/cloud/pubsub
|
|
756
|
+
# require "google/cloud/pubsub"
|
|
692
757
|
#
|
|
693
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
758
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
694
759
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
760
|
+
#
|
|
761
|
+
# # TODO: Initialize +max_messages+:
|
|
695
762
|
# max_messages = 0
|
|
696
763
|
# response = subscriber_client.pull(formatted_subscription, max_messages)
|
|
697
764
|
|
|
@@ -699,28 +766,24 @@ module Google
|
|
|
699
766
|
subscription,
|
|
700
767
|
max_messages,
|
|
701
768
|
return_immediately: nil,
|
|
702
|
-
options: nil
|
|
769
|
+
options: nil,
|
|
770
|
+
&block
|
|
703
771
|
req = {
|
|
704
772
|
subscription: subscription,
|
|
705
773
|
max_messages: max_messages,
|
|
706
774
|
return_immediately: return_immediately
|
|
707
775
|
}.delete_if { |_, v| v.nil? }
|
|
708
776
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::PullRequest)
|
|
709
|
-
@pull.call(req, options)
|
|
777
|
+
@pull.call(req, options, &block)
|
|
710
778
|
end
|
|
711
779
|
|
|
712
|
-
# (EXPERIMENTAL) StreamingPull is an experimental feature. This RPC will
|
|
713
|
-
# respond with UNIMPLEMENTED errors unless you have been invited to test
|
|
714
|
-
# this feature. Contact cloud-pubsub@google.com with any questions.
|
|
715
|
-
#
|
|
716
780
|
# Establishes a stream with the server, which sends messages down to the
|
|
717
781
|
# client. The client streams acknowledgements and ack deadline modifications
|
|
718
782
|
# back to the server. The server will close the stream and return the status
|
|
719
|
-
# on any error. The server may close the stream with status +
|
|
720
|
-
# server-side resources, in which case, the client should
|
|
721
|
-
# stream.
|
|
722
|
-
#
|
|
723
|
-
# control can be achieved by configuring the underlying RPC channel.
|
|
783
|
+
# on any error. The server may close the stream with status +UNAVAILABLE+ to
|
|
784
|
+
# reassign server-side resources, in which case, the client should
|
|
785
|
+
# re-establish the stream. Flow control can be achieved by configuring the
|
|
786
|
+
# underlying RPC channel.
|
|
724
787
|
#
|
|
725
788
|
# @param reqs [Enumerable<Google::Pubsub::V1::StreamingPullRequest>]
|
|
726
789
|
# The input requests.
|
|
@@ -738,10 +801,12 @@ module Google
|
|
|
738
801
|
# This method interface might change in the future.
|
|
739
802
|
#
|
|
740
803
|
# @example
|
|
741
|
-
# require "google/cloud/pubsub
|
|
804
|
+
# require "google/cloud/pubsub"
|
|
742
805
|
#
|
|
743
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
806
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
744
807
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
808
|
+
#
|
|
809
|
+
# # TODO: Initialize +stream_ack_deadline_seconds+:
|
|
745
810
|
# stream_ack_deadline_seconds = 0
|
|
746
811
|
# request = { subscription: formatted_subscription, stream_ack_deadline_seconds: stream_ack_deadline_seconds }
|
|
747
812
|
# requests = [request]
|
|
@@ -772,35 +837,44 @@ module Google
|
|
|
772
837
|
# An empty +pushConfig+ indicates that the Pub/Sub system should
|
|
773
838
|
# stop pushing messages from the given subscription and allow
|
|
774
839
|
# messages to be pulled and acknowledged - effectively pausing
|
|
775
|
-
# the subscription if +Pull+ is not called.
|
|
840
|
+
# the subscription if +Pull+ or +StreamingPull+ is not called.
|
|
776
841
|
# A hash of the same form as `Google::Pubsub::V1::PushConfig`
|
|
777
842
|
# can also be provided.
|
|
778
843
|
# @param options [Google::Gax::CallOptions]
|
|
779
844
|
# Overrides the default settings for this call, e.g, timeout,
|
|
780
845
|
# retries, etc.
|
|
846
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
847
|
+
# @yieldparam result []
|
|
848
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
781
849
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
782
850
|
# @example
|
|
783
|
-
# require "google/cloud/pubsub
|
|
851
|
+
# require "google/cloud/pubsub"
|
|
784
852
|
#
|
|
785
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
853
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
786
854
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
855
|
+
#
|
|
856
|
+
# # TODO: Initialize +push_config+:
|
|
787
857
|
# push_config = {}
|
|
788
858
|
# subscriber_client.modify_push_config(formatted_subscription, push_config)
|
|
789
859
|
|
|
790
860
|
def modify_push_config \
|
|
791
861
|
subscription,
|
|
792
862
|
push_config,
|
|
793
|
-
options: nil
|
|
863
|
+
options: nil,
|
|
864
|
+
&block
|
|
794
865
|
req = {
|
|
795
866
|
subscription: subscription,
|
|
796
867
|
push_config: push_config
|
|
797
868
|
}.delete_if { |_, v| v.nil? }
|
|
798
869
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::ModifyPushConfigRequest)
|
|
799
|
-
@modify_push_config.call(req, options)
|
|
870
|
+
@modify_push_config.call(req, options, &block)
|
|
800
871
|
nil
|
|
801
872
|
end
|
|
802
873
|
|
|
803
|
-
# Lists the existing snapshots
|
|
874
|
+
# Lists the existing snapshots.<br><br>
|
|
875
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
876
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
877
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
804
878
|
#
|
|
805
879
|
# @param project [String]
|
|
806
880
|
# The name of the cloud project that snapshots belong to.
|
|
@@ -814,6 +888,9 @@ module Google
|
|
|
814
888
|
# @param options [Google::Gax::CallOptions]
|
|
815
889
|
# Overrides the default settings for this call, e.g, timeout,
|
|
816
890
|
# retries, etc.
|
|
891
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
892
|
+
# @yieldparam result [Google::Gax::PagedEnumerable<Google::Pubsub::V1::Snapshot>]
|
|
893
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
817
894
|
# @return [Google::Gax::PagedEnumerable<Google::Pubsub::V1::Snapshot>]
|
|
818
895
|
# An enumerable of Google::Pubsub::V1::Snapshot instances.
|
|
819
896
|
# See Google::Gax::PagedEnumerable documentation for other
|
|
@@ -821,9 +898,9 @@ module Google
|
|
|
821
898
|
# object.
|
|
822
899
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
823
900
|
# @example
|
|
824
|
-
# require "google/cloud/pubsub
|
|
901
|
+
# require "google/cloud/pubsub"
|
|
825
902
|
#
|
|
826
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
903
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
827
904
|
# formatted_project = Google::Cloud::Pubsub::V1::SubscriberClient.project_path("[PROJECT]")
|
|
828
905
|
#
|
|
829
906
|
# # Iterate over all results.
|
|
@@ -842,25 +919,31 @@ module Google
|
|
|
842
919
|
def list_snapshots \
|
|
843
920
|
project,
|
|
844
921
|
page_size: nil,
|
|
845
|
-
options: nil
|
|
922
|
+
options: nil,
|
|
923
|
+
&block
|
|
846
924
|
req = {
|
|
847
925
|
project: project,
|
|
848
926
|
page_size: page_size
|
|
849
927
|
}.delete_if { |_, v| v.nil? }
|
|
850
928
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::ListSnapshotsRequest)
|
|
851
|
-
@list_snapshots.call(req, options)
|
|
929
|
+
@list_snapshots.call(req, options, &block)
|
|
852
930
|
end
|
|
853
931
|
|
|
854
|
-
# Creates a snapshot from the requested subscription
|
|
932
|
+
# Creates a snapshot from the requested subscription.<br><br>
|
|
933
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
934
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
935
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
855
936
|
# If the snapshot already exists, returns +ALREADY_EXISTS+.
|
|
856
937
|
# If the requested subscription doesn't exist, returns +NOT_FOUND+.
|
|
857
|
-
#
|
|
858
|
-
#
|
|
938
|
+
# If the backlog in the subscription is too old -- and the resulting snapshot
|
|
939
|
+
# would expire in less than 1 hour -- then +FAILED_PRECONDITION+ is returned.
|
|
940
|
+
# See also the +Snapshot.expire_time+ field. If the name is not provided in
|
|
941
|
+
# the request, the server will assign a random
|
|
859
942
|
# name for this snapshot on the same project as the subscription, conforming
|
|
860
|
-
# to the
|
|
861
|
-
#
|
|
862
|
-
#
|
|
863
|
-
#
|
|
943
|
+
# to the [resource name format](https://cloud.google.com/pubsub/docs/overview#names).
|
|
944
|
+
# The generated
|
|
945
|
+
# name is populated in the returned Snapshot object. Note that for REST API
|
|
946
|
+
# requests, you must specify a name in the request.
|
|
864
947
|
#
|
|
865
948
|
# @param name [String]
|
|
866
949
|
# Optional user-provided name for this snapshot.
|
|
@@ -878,15 +961,20 @@ module Google
|
|
|
878
961
|
# (b) Any messages published to the subscription's topic following the
|
|
879
962
|
# successful completion of the CreateSnapshot request.
|
|
880
963
|
# Format is +projects/{project}/subscriptions/{sub}+.
|
|
964
|
+
# @param labels [Hash{String => String}]
|
|
965
|
+
# User labels.
|
|
881
966
|
# @param options [Google::Gax::CallOptions]
|
|
882
967
|
# Overrides the default settings for this call, e.g, timeout,
|
|
883
968
|
# retries, etc.
|
|
969
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
970
|
+
# @yieldparam result [Google::Pubsub::V1::Snapshot]
|
|
971
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
884
972
|
# @return [Google::Pubsub::V1::Snapshot]
|
|
885
973
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
886
974
|
# @example
|
|
887
|
-
# require "google/cloud/pubsub
|
|
975
|
+
# require "google/cloud/pubsub"
|
|
888
976
|
#
|
|
889
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
977
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
890
978
|
# formatted_name = Google::Cloud::Pubsub::V1::SubscriberClient.snapshot_path("[PROJECT]", "[SNAPSHOT]")
|
|
891
979
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
892
980
|
# response = subscriber_client.create_snapshot(formatted_name, formatted_subscription)
|
|
@@ -894,24 +982,26 @@ module Google
|
|
|
894
982
|
def create_snapshot \
|
|
895
983
|
name,
|
|
896
984
|
subscription,
|
|
897
|
-
|
|
985
|
+
labels: nil,
|
|
986
|
+
options: nil,
|
|
987
|
+
&block
|
|
898
988
|
req = {
|
|
899
989
|
name: name,
|
|
900
|
-
subscription: subscription
|
|
990
|
+
subscription: subscription,
|
|
991
|
+
labels: labels
|
|
901
992
|
}.delete_if { |_, v| v.nil? }
|
|
902
993
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::CreateSnapshotRequest)
|
|
903
|
-
@create_snapshot.call(req, options)
|
|
994
|
+
@create_snapshot.call(req, options, &block)
|
|
904
995
|
end
|
|
905
996
|
|
|
906
|
-
# Updates an existing snapshot
|
|
907
|
-
#
|
|
908
|
-
#
|
|
909
|
-
#
|
|
910
|
-
#
|
|
911
|
-
# https://cloud.google.com/apis/design/standard_methods#update for details.
|
|
997
|
+
# Updates an existing snapshot.<br><br>
|
|
998
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
999
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
1000
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
1001
|
+
# Note that certain properties of a snapshot are not modifiable.
|
|
912
1002
|
#
|
|
913
1003
|
# @param snapshot [Google::Pubsub::V1::Snapshot | Hash]
|
|
914
|
-
# The updated
|
|
1004
|
+
# The updated snapshot object.
|
|
915
1005
|
# A hash of the same form as `Google::Pubsub::V1::Snapshot`
|
|
916
1006
|
# can also be provided.
|
|
917
1007
|
# @param update_mask [Google::Protobuf::FieldMask | Hash]
|
|
@@ -922,29 +1012,41 @@ module Google
|
|
|
922
1012
|
# @param options [Google::Gax::CallOptions]
|
|
923
1013
|
# Overrides the default settings for this call, e.g, timeout,
|
|
924
1014
|
# retries, etc.
|
|
1015
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1016
|
+
# @yieldparam result [Google::Pubsub::V1::Snapshot]
|
|
1017
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
925
1018
|
# @return [Google::Pubsub::V1::Snapshot]
|
|
926
1019
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
927
1020
|
# @example
|
|
928
|
-
# require "google/cloud/pubsub
|
|
1021
|
+
# require "google/cloud/pubsub"
|
|
929
1022
|
#
|
|
930
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
931
|
-
#
|
|
932
|
-
#
|
|
1023
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
1024
|
+
# seconds = 123456
|
|
1025
|
+
# expire_time = { seconds: seconds }
|
|
1026
|
+
# snapshot = { expire_time: expire_time }
|
|
1027
|
+
# paths_element = "expire_time"
|
|
1028
|
+
# paths = [paths_element]
|
|
1029
|
+
# update_mask = { paths: paths }
|
|
933
1030
|
# response = subscriber_client.update_snapshot(snapshot, update_mask)
|
|
934
1031
|
|
|
935
1032
|
def update_snapshot \
|
|
936
1033
|
snapshot,
|
|
937
1034
|
update_mask,
|
|
938
|
-
options: nil
|
|
1035
|
+
options: nil,
|
|
1036
|
+
&block
|
|
939
1037
|
req = {
|
|
940
1038
|
snapshot: snapshot,
|
|
941
1039
|
update_mask: update_mask
|
|
942
1040
|
}.delete_if { |_, v| v.nil? }
|
|
943
1041
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::UpdateSnapshotRequest)
|
|
944
|
-
@update_snapshot.call(req, options)
|
|
1042
|
+
@update_snapshot.call(req, options, &block)
|
|
945
1043
|
end
|
|
946
1044
|
|
|
947
|
-
# Removes an existing snapshot.
|
|
1045
|
+
# Removes an existing snapshot. <br><br>
|
|
1046
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
1047
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
1048
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
1049
|
+
# When the snapshot is deleted, all messages retained in the snapshot
|
|
948
1050
|
# are immediately dropped. After a snapshot is deleted, a new one may be
|
|
949
1051
|
# created with the same name, but the new one has no association with the old
|
|
950
1052
|
# snapshot or its subscription, unless the same subscription is specified.
|
|
@@ -955,27 +1057,34 @@ module Google
|
|
|
955
1057
|
# @param options [Google::Gax::CallOptions]
|
|
956
1058
|
# Overrides the default settings for this call, e.g, timeout,
|
|
957
1059
|
# retries, etc.
|
|
1060
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1061
|
+
# @yieldparam result []
|
|
1062
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
958
1063
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
959
1064
|
# @example
|
|
960
|
-
# require "google/cloud/pubsub
|
|
1065
|
+
# require "google/cloud/pubsub"
|
|
961
1066
|
#
|
|
962
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
1067
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
963
1068
|
# formatted_snapshot = Google::Cloud::Pubsub::V1::SubscriberClient.snapshot_path("[PROJECT]", "[SNAPSHOT]")
|
|
964
1069
|
# subscriber_client.delete_snapshot(formatted_snapshot)
|
|
965
1070
|
|
|
966
1071
|
def delete_snapshot \
|
|
967
1072
|
snapshot,
|
|
968
|
-
options: nil
|
|
1073
|
+
options: nil,
|
|
1074
|
+
&block
|
|
969
1075
|
req = {
|
|
970
1076
|
snapshot: snapshot
|
|
971
1077
|
}.delete_if { |_, v| v.nil? }
|
|
972
1078
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::DeleteSnapshotRequest)
|
|
973
|
-
@delete_snapshot.call(req, options)
|
|
1079
|
+
@delete_snapshot.call(req, options, &block)
|
|
974
1080
|
nil
|
|
975
1081
|
end
|
|
976
1082
|
|
|
977
1083
|
# Seeks an existing subscription to a point in time or to a given snapshot,
|
|
978
|
-
# whichever is provided in the request
|
|
1084
|
+
# whichever is provided in the request.<br><br>
|
|
1085
|
+
# <b>ALPHA:</b> This feature is part of an alpha release. This API might be
|
|
1086
|
+
# changed in backward-incompatible ways and is not recommended for production
|
|
1087
|
+
# use. It is not subject to any SLA or deprecation policy.
|
|
979
1088
|
#
|
|
980
1089
|
# @param subscription [String]
|
|
981
1090
|
# The subscription to affect.
|
|
@@ -1000,12 +1109,15 @@ module Google
|
|
|
1000
1109
|
# @param options [Google::Gax::CallOptions]
|
|
1001
1110
|
# Overrides the default settings for this call, e.g, timeout,
|
|
1002
1111
|
# retries, etc.
|
|
1112
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1113
|
+
# @yieldparam result [Google::Pubsub::V1::SeekResponse]
|
|
1114
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1003
1115
|
# @return [Google::Pubsub::V1::SeekResponse]
|
|
1004
1116
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1005
1117
|
# @example
|
|
1006
|
-
# require "google/cloud/pubsub
|
|
1118
|
+
# require "google/cloud/pubsub"
|
|
1007
1119
|
#
|
|
1008
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
1120
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
1009
1121
|
# formatted_subscription = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
1010
1122
|
# response = subscriber_client.seek(formatted_subscription)
|
|
1011
1123
|
|
|
@@ -1013,14 +1125,15 @@ module Google
|
|
|
1013
1125
|
subscription,
|
|
1014
1126
|
time: nil,
|
|
1015
1127
|
snapshot: nil,
|
|
1016
|
-
options: nil
|
|
1128
|
+
options: nil,
|
|
1129
|
+
&block
|
|
1017
1130
|
req = {
|
|
1018
1131
|
subscription: subscription,
|
|
1019
1132
|
time: time,
|
|
1020
1133
|
snapshot: snapshot
|
|
1021
1134
|
}.delete_if { |_, v| v.nil? }
|
|
1022
1135
|
req = Google::Gax::to_proto(req, Google::Pubsub::V1::SeekRequest)
|
|
1023
|
-
@seek.call(req, options)
|
|
1136
|
+
@seek.call(req, options, &block)
|
|
1024
1137
|
end
|
|
1025
1138
|
|
|
1026
1139
|
# Sets the access control policy on the specified resource. Replaces any
|
|
@@ -1040,26 +1153,32 @@ module Google
|
|
|
1040
1153
|
# @param options [Google::Gax::CallOptions]
|
|
1041
1154
|
# Overrides the default settings for this call, e.g, timeout,
|
|
1042
1155
|
# retries, etc.
|
|
1156
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1157
|
+
# @yieldparam result [Google::Iam::V1::Policy]
|
|
1158
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1043
1159
|
# @return [Google::Iam::V1::Policy]
|
|
1044
1160
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1045
1161
|
# @example
|
|
1046
|
-
# require "google/cloud/pubsub
|
|
1162
|
+
# require "google/cloud/pubsub"
|
|
1047
1163
|
#
|
|
1048
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
1164
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
1049
1165
|
# formatted_resource = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
1166
|
+
#
|
|
1167
|
+
# # TODO: Initialize +policy+:
|
|
1050
1168
|
# policy = {}
|
|
1051
1169
|
# response = subscriber_client.set_iam_policy(formatted_resource, policy)
|
|
1052
1170
|
|
|
1053
1171
|
def set_iam_policy \
|
|
1054
1172
|
resource,
|
|
1055
1173
|
policy,
|
|
1056
|
-
options: nil
|
|
1174
|
+
options: nil,
|
|
1175
|
+
&block
|
|
1057
1176
|
req = {
|
|
1058
1177
|
resource: resource,
|
|
1059
1178
|
policy: policy
|
|
1060
1179
|
}.delete_if { |_, v| v.nil? }
|
|
1061
1180
|
req = Google::Gax::to_proto(req, Google::Iam::V1::SetIamPolicyRequest)
|
|
1062
|
-
@set_iam_policy.call(req, options)
|
|
1181
|
+
@set_iam_policy.call(req, options, &block)
|
|
1063
1182
|
end
|
|
1064
1183
|
|
|
1065
1184
|
# Gets the access control policy for a resource.
|
|
@@ -1073,23 +1192,27 @@ module Google
|
|
|
1073
1192
|
# @param options [Google::Gax::CallOptions]
|
|
1074
1193
|
# Overrides the default settings for this call, e.g, timeout,
|
|
1075
1194
|
# retries, etc.
|
|
1195
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1196
|
+
# @yieldparam result [Google::Iam::V1::Policy]
|
|
1197
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1076
1198
|
# @return [Google::Iam::V1::Policy]
|
|
1077
1199
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1078
1200
|
# @example
|
|
1079
|
-
# require "google/cloud/pubsub
|
|
1201
|
+
# require "google/cloud/pubsub"
|
|
1080
1202
|
#
|
|
1081
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
1203
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
1082
1204
|
# formatted_resource = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
1083
1205
|
# response = subscriber_client.get_iam_policy(formatted_resource)
|
|
1084
1206
|
|
|
1085
1207
|
def get_iam_policy \
|
|
1086
1208
|
resource,
|
|
1087
|
-
options: nil
|
|
1209
|
+
options: nil,
|
|
1210
|
+
&block
|
|
1088
1211
|
req = {
|
|
1089
1212
|
resource: resource
|
|
1090
1213
|
}.delete_if { |_, v| v.nil? }
|
|
1091
1214
|
req = Google::Gax::to_proto(req, Google::Iam::V1::GetIamPolicyRequest)
|
|
1092
|
-
@get_iam_policy.call(req, options)
|
|
1215
|
+
@get_iam_policy.call(req, options, &block)
|
|
1093
1216
|
end
|
|
1094
1217
|
|
|
1095
1218
|
# Returns permissions that a caller has on the specified resource.
|
|
@@ -1108,26 +1231,32 @@ module Google
|
|
|
1108
1231
|
# @param options [Google::Gax::CallOptions]
|
|
1109
1232
|
# Overrides the default settings for this call, e.g, timeout,
|
|
1110
1233
|
# retries, etc.
|
|
1234
|
+
# @yield [result, operation] Access the result along with the RPC operation
|
|
1235
|
+
# @yieldparam result [Google::Iam::V1::TestIamPermissionsResponse]
|
|
1236
|
+
# @yieldparam operation [GRPC::ActiveCall::Operation]
|
|
1111
1237
|
# @return [Google::Iam::V1::TestIamPermissionsResponse]
|
|
1112
1238
|
# @raise [Google::Gax::GaxError] if the RPC is aborted.
|
|
1113
1239
|
# @example
|
|
1114
|
-
# require "google/cloud/pubsub
|
|
1240
|
+
# require "google/cloud/pubsub"
|
|
1115
1241
|
#
|
|
1116
|
-
# subscriber_client = Google::Cloud::Pubsub::
|
|
1242
|
+
# subscriber_client = Google::Cloud::Pubsub::Subscriber.new(version: :v1)
|
|
1117
1243
|
# formatted_resource = Google::Cloud::Pubsub::V1::SubscriberClient.subscription_path("[PROJECT]", "[SUBSCRIPTION]")
|
|
1244
|
+
#
|
|
1245
|
+
# # TODO: Initialize +permissions+:
|
|
1118
1246
|
# permissions = []
|
|
1119
1247
|
# response = subscriber_client.test_iam_permissions(formatted_resource, permissions)
|
|
1120
1248
|
|
|
1121
1249
|
def test_iam_permissions \
|
|
1122
1250
|
resource,
|
|
1123
1251
|
permissions,
|
|
1124
|
-
options: nil
|
|
1252
|
+
options: nil,
|
|
1253
|
+
&block
|
|
1125
1254
|
req = {
|
|
1126
1255
|
resource: resource,
|
|
1127
1256
|
permissions: permissions
|
|
1128
1257
|
}.delete_if { |_, v| v.nil? }
|
|
1129
1258
|
req = Google::Gax::to_proto(req, Google::Iam::V1::TestIamPermissionsRequest)
|
|
1130
|
-
@test_iam_permissions.call(req, options)
|
|
1259
|
+
@test_iam_permissions.call(req, options, &block)
|
|
1131
1260
|
end
|
|
1132
1261
|
end
|
|
1133
1262
|
end
|