google-cloud-pubsub-v1 0.1.2 → 0.6.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -42,13 +42,12 @@ module Google
42
42
  # See {::Google::Cloud::PubSub::V1::Publisher::Client::Configuration}
43
43
  # for a description of the configuration fields.
44
44
  #
45
- # ## Example
45
+ # @example
46
46
  #
47
- # To modify the configuration for all Publisher clients:
48
- #
49
- # ::Google::Cloud::PubSub::V1::Publisher::Client.configure do |config|
50
- # config.timeout = 10.0
51
- # end
47
+ # # Modify the configuration for all Publisher clients
48
+ # ::Google::Cloud::PubSub::V1::Publisher::Client.configure do |config|
49
+ # config.timeout = 10.0
50
+ # end
52
51
  #
53
52
  # @yield [config] Configure the Client client.
54
53
  # @yieldparam config [Client::Configuration]
@@ -61,81 +60,54 @@ module Google
61
60
  parent_config = while namespace.any?
62
61
  parent_name = namespace.join "::"
63
62
  parent_const = const_get parent_name
64
- break parent_const.configure if parent_const&.respond_to? :configure
63
+ break parent_const.configure if parent_const.respond_to? :configure
65
64
  namespace.pop
66
65
  end
67
66
  default_config = Client::Configuration.new parent_config
68
67
 
69
68
  default_config.rpcs.create_topic.timeout = 60.0
70
69
  default_config.rpcs.create_topic.retry_policy = {
71
- initial_delay: 0.1,
72
- max_delay: 60.0,
73
- multiplier: 1.3,
74
- retry_codes: [14]
70
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
75
71
  }
76
72
 
77
73
  default_config.rpcs.update_topic.timeout = 60.0
78
74
  default_config.rpcs.update_topic.retry_policy = {
79
- initial_delay: 0.1,
80
- max_delay: 60.0,
81
- multiplier: 1.3,
82
- retry_codes: [14]
75
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
83
76
  }
84
77
 
85
78
  default_config.rpcs.publish.timeout = 60.0
86
79
  default_config.rpcs.publish.retry_policy = {
87
- initial_delay: 0.1,
88
- max_delay: 60.0,
89
- multiplier: 1.3,
90
- retry_codes: [10, 1, 13, 8, 2, 14, 4]
80
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [10, 1, 13, 8, 2, 14, 4]
91
81
  }
92
82
 
93
83
  default_config.rpcs.get_topic.timeout = 60.0
94
84
  default_config.rpcs.get_topic.retry_policy = {
95
- initial_delay: 0.1,
96
- max_delay: 60.0,
97
- multiplier: 1.3,
98
- retry_codes: [2, 10, 14]
85
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [2, 10, 14]
99
86
  }
100
87
 
101
88
  default_config.rpcs.list_topics.timeout = 60.0
102
89
  default_config.rpcs.list_topics.retry_policy = {
103
- initial_delay: 0.1,
104
- max_delay: 60.0,
105
- multiplier: 1.3,
106
- retry_codes: [2, 10, 14]
90
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [2, 10, 14]
107
91
  }
108
92
 
109
93
  default_config.rpcs.list_topic_subscriptions.timeout = 60.0
110
94
  default_config.rpcs.list_topic_subscriptions.retry_policy = {
111
- initial_delay: 0.1,
112
- max_delay: 60.0,
113
- multiplier: 1.3,
114
- retry_codes: [2, 10, 14]
95
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [2, 10, 14]
115
96
  }
116
97
 
117
98
  default_config.rpcs.list_topic_snapshots.timeout = 60.0
118
99
  default_config.rpcs.list_topic_snapshots.retry_policy = {
119
- initial_delay: 0.1,
120
- max_delay: 60.0,
121
- multiplier: 1.3,
122
- retry_codes: [2, 10, 14]
100
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [2, 10, 14]
123
101
  }
124
102
 
125
103
  default_config.rpcs.delete_topic.timeout = 60.0
126
104
  default_config.rpcs.delete_topic.retry_policy = {
127
- initial_delay: 0.1,
128
- max_delay: 60.0,
129
- multiplier: 1.3,
130
- retry_codes: [14]
105
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
131
106
  }
132
107
 
133
108
  default_config.rpcs.detach_subscription.timeout = 60.0
134
109
  default_config.rpcs.detach_subscription.retry_policy = {
135
- initial_delay: 0.1,
136
- max_delay: 60.0,
137
- multiplier: 1.3,
138
- retry_codes: [14]
110
+ initial_delay: 0.1, max_delay: 60.0, multiplier: 1.3, retry_codes: [14]
139
111
  }
140
112
 
141
113
  default_config
@@ -167,19 +139,15 @@ module Google
167
139
  ##
168
140
  # Create a new Publisher client object.
169
141
  #
170
- # ## Examples
171
- #
172
- # To create a new Publisher client with the default
173
- # configuration:
174
- #
175
- # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new
142
+ # @example
176
143
  #
177
- # To create a new Publisher client with a custom
178
- # configuration:
144
+ # # Create a client using the default configuration
145
+ # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new
179
146
  #
180
- # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new do |config|
181
- # config.timeout = 10.0
182
- # end
147
+ # # Create a client using a custom configuration
148
+ # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new do |config|
149
+ # config.timeout = 10.0
150
+ # end
183
151
  #
184
152
  # @yield [config] Configure the Publisher client.
185
153
  # @yieldparam config [Client::Configuration]
@@ -199,8 +167,13 @@ module Google
199
167
 
200
168
  # Create credentials
201
169
  credentials = @config.credentials
202
- credentials ||= Credentials.default scope: @config.scope
203
- if credentials.is_a?(String) || credentials.is_a?(Hash)
170
+ # Use self-signed JWT if the endpoint is unchanged from default,
171
+ # but only if the default endpoint does not have a region prefix.
172
+ enable_self_signed_jwt = @config.endpoint == Client.configure.endpoint &&
173
+ !@config.endpoint.split(".").first.include?("-")
174
+ credentials ||= Credentials.default scope: @config.scope,
175
+ enable_self_signed_jwt: enable_self_signed_jwt
176
+ if credentials.is_a?(::String) || credentials.is_a?(::Hash)
204
177
  credentials = Credentials.new credentials, scope: @config.scope
205
178
  end
206
179
  @quota_project_id = @config.quota_project
@@ -218,8 +191,8 @@ module Google
218
191
  # Service calls
219
192
 
220
193
  ##
221
- # Creates the given topic with the given name. See the [resource name rules](
222
- # https://cloud.google.com/pubsub/docs/admin#resource_names).
194
+ # Creates the given topic with the given name. See the [resource name rules]
195
+ # (https://cloud.google.com/pubsub/docs/admin#resource_names).
223
196
  #
224
197
  # @overload create_topic(request, options = nil)
225
198
  # Pass arguments to `create_topic` via a request object, either of type
@@ -231,7 +204,7 @@ module Google
231
204
  # @param options [::Gapic::CallOptions, ::Hash]
232
205
  # Overrides the default settings for this call, e.g, timeout, retries, etc. Optional.
233
206
  #
234
- # @overload create_topic(name: nil, labels: nil, message_storage_policy: nil, kms_key_name: nil)
207
+ # @overload create_topic(name: nil, labels: nil, message_storage_policy: nil, kms_key_name: nil, schema_settings: nil, satisfies_pzs: nil, message_retention_duration: nil)
235
208
  # Pass arguments to `create_topic` via keyword arguments. Note that at
236
209
  # least one keyword argument is required. To specify no parameters, or to keep all
237
210
  # the default parameter values, pass an empty Hash as a request object (see above).
@@ -255,6 +228,20 @@ module Google
255
228
  # to messages published on this topic.
256
229
  #
257
230
  # The expected format is `projects/*/locations/*/keyRings/*/cryptoKeys/*`.
231
+ # @param schema_settings [::Google::Cloud::PubSub::V1::SchemaSettings, ::Hash]
232
+ # Settings for validating messages published against a schema.
233
+ # @param satisfies_pzs [::Boolean]
234
+ # Reserved for future use. This field is set only in responses from the
235
+ # server; it is ignored if it is set in any requests.
236
+ # @param message_retention_duration [::Google::Protobuf::Duration, ::Hash]
237
+ # Indicates the minimum duration to retain a message after it is published to
238
+ # the topic. If this field is set, messages published to the topic in the
239
+ # last `message_retention_duration` are always available to subscribers. For
240
+ # instance, it allows any attached subscription to [seek to a
241
+ # timestamp](https://cloud.google.com/pubsub/docs/replay-overview#seek_to_a_time)
242
+ # that is up to `message_retention_duration` in the past. If this field is
243
+ # not set, message retention is controlled by settings on individual
244
+ # subscriptions. Cannot be more than 7 days or less than 10 minutes.
258
245
  #
259
246
  # @yield [response, operation] Access the result along with the RPC operation
260
247
  # @yieldparam response [::Google::Cloud::PubSub::V1::Topic]
@@ -264,6 +251,21 @@ module Google
264
251
  #
265
252
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
266
253
  #
254
+ # @example Basic example
255
+ # require "google/cloud/pubsub/v1"
256
+ #
257
+ # # Create a client object. The client can be reused for multiple calls.
258
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
259
+ #
260
+ # # Create a request. To set request fields, pass in keyword arguments.
261
+ # request = Google::Cloud::PubSub::V1::Topic.new
262
+ #
263
+ # # Call the create_topic method.
264
+ # result = client.create_topic request
265
+ #
266
+ # # The returned object is of type Google::Cloud::PubSub::V1::Topic.
267
+ # p result
268
+ #
267
269
  def create_topic request, options = nil
268
270
  raise ::ArgumentError, "request must be provided" if request.nil?
269
271
 
@@ -281,16 +283,20 @@ module Google
281
283
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
282
284
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
283
285
 
284
- header_params = {
285
- "name" => request.name
286
- }
286
+ header_params = {}
287
+ if request.name
288
+ header_params["name"] = request.name
289
+ end
290
+
287
291
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
288
292
  metadata[:"x-goog-request-params"] ||= request_params_header
289
293
 
290
294
  options.apply_defaults timeout: @config.rpcs.create_topic.timeout,
291
295
  metadata: metadata,
292
296
  retry_policy: @config.rpcs.create_topic.retry_policy
293
- options.apply_defaults metadata: @config.metadata,
297
+
298
+ options.apply_defaults timeout: @config.timeout,
299
+ metadata: @config.metadata,
294
300
  retry_policy: @config.retry_policy
295
301
 
296
302
  @publisher_stub.call_rpc :create_topic, request, options: options do |response, operation|
@@ -337,6 +343,21 @@ module Google
337
343
  #
338
344
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
339
345
  #
346
+ # @example Basic example
347
+ # require "google/cloud/pubsub/v1"
348
+ #
349
+ # # Create a client object. The client can be reused for multiple calls.
350
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
351
+ #
352
+ # # Create a request. To set request fields, pass in keyword arguments.
353
+ # request = Google::Cloud::PubSub::V1::UpdateTopicRequest.new
354
+ #
355
+ # # Call the update_topic method.
356
+ # result = client.update_topic request
357
+ #
358
+ # # The returned object is of type Google::Cloud::PubSub::V1::Topic.
359
+ # p result
360
+ #
340
361
  def update_topic request, options = nil
341
362
  raise ::ArgumentError, "request must be provided" if request.nil?
342
363
 
@@ -354,16 +375,20 @@ module Google
354
375
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
355
376
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
356
377
 
357
- header_params = {
358
- "topic.name" => request.topic.name
359
- }
378
+ header_params = {}
379
+ if request.topic&.name
380
+ header_params["topic.name"] = request.topic.name
381
+ end
382
+
360
383
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
361
384
  metadata[:"x-goog-request-params"] ||= request_params_header
362
385
 
363
386
  options.apply_defaults timeout: @config.rpcs.update_topic.timeout,
364
387
  metadata: metadata,
365
388
  retry_policy: @config.rpcs.update_topic.retry_policy
366
- options.apply_defaults metadata: @config.metadata,
389
+
390
+ options.apply_defaults timeout: @config.timeout,
391
+ metadata: @config.metadata,
367
392
  retry_policy: @config.retry_policy
368
393
 
369
394
  @publisher_stub.call_rpc :update_topic, request, options: options do |response, operation|
@@ -407,6 +432,21 @@ module Google
407
432
  #
408
433
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
409
434
  #
435
+ # @example Basic example
436
+ # require "google/cloud/pubsub/v1"
437
+ #
438
+ # # Create a client object. The client can be reused for multiple calls.
439
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
440
+ #
441
+ # # Create a request. To set request fields, pass in keyword arguments.
442
+ # request = Google::Cloud::PubSub::V1::PublishRequest.new
443
+ #
444
+ # # Call the publish method.
445
+ # result = client.publish request
446
+ #
447
+ # # The returned object is of type Google::Cloud::PubSub::V1::PublishResponse.
448
+ # p result
449
+ #
410
450
  def publish request, options = nil
411
451
  raise ::ArgumentError, "request must be provided" if request.nil?
412
452
 
@@ -424,16 +464,20 @@ module Google
424
464
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
425
465
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
426
466
 
427
- header_params = {
428
- "topic" => request.topic
429
- }
467
+ header_params = {}
468
+ if request.topic
469
+ header_params["topic"] = request.topic
470
+ end
471
+
430
472
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
431
473
  metadata[:"x-goog-request-params"] ||= request_params_header
432
474
 
433
475
  options.apply_defaults timeout: @config.rpcs.publish.timeout,
434
476
  metadata: metadata,
435
477
  retry_policy: @config.rpcs.publish.retry_policy
436
- options.apply_defaults metadata: @config.metadata,
478
+
479
+ options.apply_defaults timeout: @config.timeout,
480
+ metadata: @config.metadata,
437
481
  retry_policy: @config.retry_policy
438
482
 
439
483
  @publisher_stub.call_rpc :publish, request, options: options do |response, operation|
@@ -474,6 +518,21 @@ module Google
474
518
  #
475
519
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
476
520
  #
521
+ # @example Basic example
522
+ # require "google/cloud/pubsub/v1"
523
+ #
524
+ # # Create a client object. The client can be reused for multiple calls.
525
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
526
+ #
527
+ # # Create a request. To set request fields, pass in keyword arguments.
528
+ # request = Google::Cloud::PubSub::V1::GetTopicRequest.new
529
+ #
530
+ # # Call the get_topic method.
531
+ # result = client.get_topic request
532
+ #
533
+ # # The returned object is of type Google::Cloud::PubSub::V1::Topic.
534
+ # p result
535
+ #
477
536
  def get_topic request, options = nil
478
537
  raise ::ArgumentError, "request must be provided" if request.nil?
479
538
 
@@ -491,16 +550,20 @@ module Google
491
550
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
492
551
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
493
552
 
494
- header_params = {
495
- "topic" => request.topic
496
- }
553
+ header_params = {}
554
+ if request.topic
555
+ header_params["topic"] = request.topic
556
+ end
557
+
497
558
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
498
559
  metadata[:"x-goog-request-params"] ||= request_params_header
499
560
 
500
561
  options.apply_defaults timeout: @config.rpcs.get_topic.timeout,
501
562
  metadata: metadata,
502
563
  retry_policy: @config.rpcs.get_topic.retry_policy
503
- options.apply_defaults metadata: @config.metadata,
564
+
565
+ options.apply_defaults timeout: @config.timeout,
566
+ metadata: @config.metadata,
504
567
  retry_policy: @config.retry_policy
505
568
 
506
569
  @publisher_stub.call_rpc :get_topic, request, options: options do |response, operation|
@@ -547,6 +610,27 @@ module Google
547
610
  #
548
611
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
549
612
  #
613
+ # @example Basic example
614
+ # require "google/cloud/pubsub/v1"
615
+ #
616
+ # # Create a client object. The client can be reused for multiple calls.
617
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
618
+ #
619
+ # # Create a request. To set request fields, pass in keyword arguments.
620
+ # request = Google::Cloud::PubSub::V1::ListTopicsRequest.new
621
+ #
622
+ # # Call the list_topics method.
623
+ # result = client.list_topics request
624
+ #
625
+ # # The returned object is of type Gapic::PagedEnumerable. You can
626
+ # # iterate over all elements by calling #each, and the enumerable
627
+ # # will lazily make API calls to fetch subsequent pages. Other
628
+ # # methods are also available for managing paging directly.
629
+ # result.each do |response|
630
+ # # Each element is of type ::Google::Cloud::PubSub::V1::Topic.
631
+ # p response
632
+ # end
633
+ #
550
634
  def list_topics request, options = nil
551
635
  raise ::ArgumentError, "request must be provided" if request.nil?
552
636
 
@@ -564,16 +648,20 @@ module Google
564
648
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
565
649
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
566
650
 
567
- header_params = {
568
- "project" => request.project
569
- }
651
+ header_params = {}
652
+ if request.project
653
+ header_params["project"] = request.project
654
+ end
655
+
570
656
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
571
657
  metadata[:"x-goog-request-params"] ||= request_params_header
572
658
 
573
659
  options.apply_defaults timeout: @config.rpcs.list_topics.timeout,
574
660
  metadata: metadata,
575
661
  retry_policy: @config.rpcs.list_topics.retry_policy
576
- options.apply_defaults metadata: @config.metadata,
662
+
663
+ options.apply_defaults timeout: @config.timeout,
664
+ metadata: @config.metadata,
577
665
  retry_policy: @config.retry_policy
578
666
 
579
667
  @publisher_stub.call_rpc :list_topics, request, options: options do |response, operation|
@@ -621,6 +709,21 @@ module Google
621
709
  #
622
710
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
623
711
  #
712
+ # @example Basic example
713
+ # require "google/cloud/pubsub/v1"
714
+ #
715
+ # # Create a client object. The client can be reused for multiple calls.
716
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
717
+ #
718
+ # # Create a request. To set request fields, pass in keyword arguments.
719
+ # request = Google::Cloud::PubSub::V1::ListTopicSubscriptionsRequest.new
720
+ #
721
+ # # Call the list_topic_subscriptions method.
722
+ # result = client.list_topic_subscriptions request
723
+ #
724
+ # # The returned object is of type Google::Cloud::PubSub::V1::ListTopicSubscriptionsResponse.
725
+ # p result
726
+ #
624
727
  def list_topic_subscriptions request, options = nil
625
728
  raise ::ArgumentError, "request must be provided" if request.nil?
626
729
 
@@ -638,16 +741,20 @@ module Google
638
741
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
639
742
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
640
743
 
641
- header_params = {
642
- "topic" => request.topic
643
- }
744
+ header_params = {}
745
+ if request.topic
746
+ header_params["topic"] = request.topic
747
+ end
748
+
644
749
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
645
750
  metadata[:"x-goog-request-params"] ||= request_params_header
646
751
 
647
752
  options.apply_defaults timeout: @config.rpcs.list_topic_subscriptions.timeout,
648
753
  metadata: metadata,
649
754
  retry_policy: @config.rpcs.list_topic_subscriptions.retry_policy
650
- options.apply_defaults metadata: @config.metadata,
755
+
756
+ options.apply_defaults timeout: @config.timeout,
757
+ metadata: @config.metadata,
651
758
  retry_policy: @config.retry_policy
652
759
 
653
760
  @publisher_stub.call_rpc :list_topic_subscriptions, request, options: options do |response, operation|
@@ -698,6 +805,21 @@ module Google
698
805
  #
699
806
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
700
807
  #
808
+ # @example Basic example
809
+ # require "google/cloud/pubsub/v1"
810
+ #
811
+ # # Create a client object. The client can be reused for multiple calls.
812
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
813
+ #
814
+ # # Create a request. To set request fields, pass in keyword arguments.
815
+ # request = Google::Cloud::PubSub::V1::ListTopicSnapshotsRequest.new
816
+ #
817
+ # # Call the list_topic_snapshots method.
818
+ # result = client.list_topic_snapshots request
819
+ #
820
+ # # The returned object is of type Google::Cloud::PubSub::V1::ListTopicSnapshotsResponse.
821
+ # p result
822
+ #
701
823
  def list_topic_snapshots request, options = nil
702
824
  raise ::ArgumentError, "request must be provided" if request.nil?
703
825
 
@@ -715,16 +837,20 @@ module Google
715
837
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
716
838
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
717
839
 
718
- header_params = {
719
- "topic" => request.topic
720
- }
840
+ header_params = {}
841
+ if request.topic
842
+ header_params["topic"] = request.topic
843
+ end
844
+
721
845
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
722
846
  metadata[:"x-goog-request-params"] ||= request_params_header
723
847
 
724
848
  options.apply_defaults timeout: @config.rpcs.list_topic_snapshots.timeout,
725
849
  metadata: metadata,
726
850
  retry_policy: @config.rpcs.list_topic_snapshots.retry_policy
727
- options.apply_defaults metadata: @config.metadata,
851
+
852
+ options.apply_defaults timeout: @config.timeout,
853
+ metadata: @config.metadata,
728
854
  retry_policy: @config.retry_policy
729
855
 
730
856
  @publisher_stub.call_rpc :list_topic_snapshots, request, options: options do |response, operation|
@@ -769,6 +895,21 @@ module Google
769
895
  #
770
896
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
771
897
  #
898
+ # @example Basic example
899
+ # require "google/cloud/pubsub/v1"
900
+ #
901
+ # # Create a client object. The client can be reused for multiple calls.
902
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
903
+ #
904
+ # # Create a request. To set request fields, pass in keyword arguments.
905
+ # request = Google::Cloud::PubSub::V1::DeleteTopicRequest.new
906
+ #
907
+ # # Call the delete_topic method.
908
+ # result = client.delete_topic request
909
+ #
910
+ # # The returned object is of type Google::Protobuf::Empty.
911
+ # p result
912
+ #
772
913
  def delete_topic request, options = nil
773
914
  raise ::ArgumentError, "request must be provided" if request.nil?
774
915
 
@@ -786,16 +927,20 @@ module Google
786
927
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
787
928
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
788
929
 
789
- header_params = {
790
- "topic" => request.topic
791
- }
930
+ header_params = {}
931
+ if request.topic
932
+ header_params["topic"] = request.topic
933
+ end
934
+
792
935
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
793
936
  metadata[:"x-goog-request-params"] ||= request_params_header
794
937
 
795
938
  options.apply_defaults timeout: @config.rpcs.delete_topic.timeout,
796
939
  metadata: metadata,
797
940
  retry_policy: @config.rpcs.delete_topic.retry_policy
798
- options.apply_defaults metadata: @config.metadata,
941
+
942
+ options.apply_defaults timeout: @config.timeout,
943
+ metadata: @config.metadata,
799
944
  retry_policy: @config.retry_policy
800
945
 
801
946
  @publisher_stub.call_rpc :delete_topic, request, options: options do |response, operation|
@@ -839,6 +984,21 @@ module Google
839
984
  #
840
985
  # @raise [::Google::Cloud::Error] if the RPC is aborted.
841
986
  #
987
+ # @example Basic example
988
+ # require "google/cloud/pubsub/v1"
989
+ #
990
+ # # Create a client object. The client can be reused for multiple calls.
991
+ # client = Google::Cloud::PubSub::V1::Publisher::Client.new
992
+ #
993
+ # # Create a request. To set request fields, pass in keyword arguments.
994
+ # request = Google::Cloud::PubSub::V1::DetachSubscriptionRequest.new
995
+ #
996
+ # # Call the detach_subscription method.
997
+ # result = client.detach_subscription request
998
+ #
999
+ # # The returned object is of type Google::Cloud::PubSub::V1::DetachSubscriptionResponse.
1000
+ # p result
1001
+ #
842
1002
  def detach_subscription request, options = nil
843
1003
  raise ::ArgumentError, "request must be provided" if request.nil?
844
1004
 
@@ -856,16 +1016,20 @@ module Google
856
1016
  gapic_version: ::Google::Cloud::PubSub::V1::VERSION
857
1017
  metadata[:"x-goog-user-project"] = @quota_project_id if @quota_project_id
858
1018
 
859
- header_params = {
860
- "subscription" => request.subscription
861
- }
1019
+ header_params = {}
1020
+ if request.subscription
1021
+ header_params["subscription"] = request.subscription
1022
+ end
1023
+
862
1024
  request_params_header = header_params.map { |k, v| "#{k}=#{v}" }.join("&")
863
1025
  metadata[:"x-goog-request-params"] ||= request_params_header
864
1026
 
865
1027
  options.apply_defaults timeout: @config.rpcs.detach_subscription.timeout,
866
1028
  metadata: metadata,
867
1029
  retry_policy: @config.rpcs.detach_subscription.retry_policy
868
- options.apply_defaults metadata: @config.metadata,
1030
+
1031
+ options.apply_defaults timeout: @config.timeout,
1032
+ metadata: @config.metadata,
869
1033
  retry_policy: @config.retry_policy
870
1034
 
871
1035
  @publisher_stub.call_rpc :detach_subscription, request, options: options do |response, operation|
@@ -889,22 +1053,21 @@ module Google
889
1053
  # Configuration can be applied globally to all clients, or to a single client
890
1054
  # on construction.
891
1055
  #
892
- # # Examples
893
- #
894
- # To modify the global config, setting the timeout for create_topic
895
- # to 20 seconds, and all remaining timeouts to 10 seconds:
896
- #
897
- # ::Google::Cloud::PubSub::V1::Publisher::Client.configure do |config|
898
- # config.timeout = 10.0
899
- # config.rpcs.create_topic.timeout = 20.0
900
- # end
1056
+ # @example
901
1057
  #
902
- # To apply the above configuration only to a new client:
1058
+ # # Modify the global config, setting the timeout for
1059
+ # # create_topic to 20 seconds,
1060
+ # # and all remaining timeouts to 10 seconds.
1061
+ # ::Google::Cloud::PubSub::V1::Publisher::Client.configure do |config|
1062
+ # config.timeout = 10.0
1063
+ # config.rpcs.create_topic.timeout = 20.0
1064
+ # end
903
1065
  #
904
- # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new do |config|
905
- # config.timeout = 10.0
906
- # config.rpcs.create_topic.timeout = 20.0
907
- # end
1066
+ # # Apply the above configuration only to a new client.
1067
+ # client = ::Google::Cloud::PubSub::V1::Publisher::Client.new do |config|
1068
+ # config.timeout = 10.0
1069
+ # config.rpcs.create_topic.timeout = 20.0
1070
+ # end
908
1071
  #
909
1072
  # @!attribute [rw] endpoint
910
1073
  # The hostname or hostname:port of the service endpoint.
@@ -968,7 +1131,7 @@ module Google
968
1131
  config_attr :scope, nil, ::String, ::Array, nil
969
1132
  config_attr :lib_name, nil, ::String, nil
970
1133
  config_attr :lib_version, nil, ::String, nil
971
- config_attr(:channel_args, { "grpc.service_config_disable_resolution"=>1 }, ::Hash, nil)
1134
+ config_attr(:channel_args, { "grpc.service_config_disable_resolution" => 1 }, ::Hash, nil)
972
1135
  config_attr :interceptors, nil, ::Array, nil
973
1136
  config_attr :timeout, nil, ::Numeric, nil
974
1137
  config_attr :metadata, nil, ::Hash, nil
@@ -989,7 +1152,7 @@ module Google
989
1152
  def rpcs
990
1153
  @rpcs ||= begin
991
1154
  parent_rpcs = nil
992
- parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config&.respond_to?(:rpcs)
1155
+ parent_rpcs = @parent_config.rpcs if defined?(@parent_config) && @parent_config.respond_to?(:rpcs)
993
1156
  Rpcs.new parent_rpcs
994
1157
  end
995
1158
  end
@@ -1001,7 +1164,7 @@ module Google
1001
1164
  # Each configuration object is of type `Gapic::Config::Method` and includes
1002
1165
  # the following configuration fields:
1003
1166
  #
1004
- # * `timeout` (*type:* `Numeric`) - The call timeout in milliseconds
1167
+ # * `timeout` (*type:* `Numeric`) - The call timeout in seconds
1005
1168
  # * `metadata` (*type:* `Hash{Symbol=>String}`) - Additional gRPC headers
1006
1169
  # * `retry_policy (*type:* `Hash`) - The retry policy. The policy fields
1007
1170
  # include the following keys:
@@ -1060,23 +1223,23 @@ module Google
1060
1223
 
1061
1224
  # @private
1062
1225
  def initialize parent_rpcs = nil
1063
- create_topic_config = parent_rpcs&.create_topic if parent_rpcs&.respond_to? :create_topic
1226
+ create_topic_config = parent_rpcs.create_topic if parent_rpcs.respond_to? :create_topic
1064
1227
  @create_topic = ::Gapic::Config::Method.new create_topic_config
1065
- update_topic_config = parent_rpcs&.update_topic if parent_rpcs&.respond_to? :update_topic
1228
+ update_topic_config = parent_rpcs.update_topic if parent_rpcs.respond_to? :update_topic
1066
1229
  @update_topic = ::Gapic::Config::Method.new update_topic_config
1067
- publish_config = parent_rpcs&.publish if parent_rpcs&.respond_to? :publish
1230
+ publish_config = parent_rpcs.publish if parent_rpcs.respond_to? :publish
1068
1231
  @publish = ::Gapic::Config::Method.new publish_config
1069
- get_topic_config = parent_rpcs&.get_topic if parent_rpcs&.respond_to? :get_topic
1232
+ get_topic_config = parent_rpcs.get_topic if parent_rpcs.respond_to? :get_topic
1070
1233
  @get_topic = ::Gapic::Config::Method.new get_topic_config
1071
- list_topics_config = parent_rpcs&.list_topics if parent_rpcs&.respond_to? :list_topics
1234
+ list_topics_config = parent_rpcs.list_topics if parent_rpcs.respond_to? :list_topics
1072
1235
  @list_topics = ::Gapic::Config::Method.new list_topics_config
1073
- list_topic_subscriptions_config = parent_rpcs&.list_topic_subscriptions if parent_rpcs&.respond_to? :list_topic_subscriptions
1236
+ list_topic_subscriptions_config = parent_rpcs.list_topic_subscriptions if parent_rpcs.respond_to? :list_topic_subscriptions
1074
1237
  @list_topic_subscriptions = ::Gapic::Config::Method.new list_topic_subscriptions_config
1075
- list_topic_snapshots_config = parent_rpcs&.list_topic_snapshots if parent_rpcs&.respond_to? :list_topic_snapshots
1238
+ list_topic_snapshots_config = parent_rpcs.list_topic_snapshots if parent_rpcs.respond_to? :list_topic_snapshots
1076
1239
  @list_topic_snapshots = ::Gapic::Config::Method.new list_topic_snapshots_config
1077
- delete_topic_config = parent_rpcs&.delete_topic if parent_rpcs&.respond_to? :delete_topic
1240
+ delete_topic_config = parent_rpcs.delete_topic if parent_rpcs.respond_to? :delete_topic
1078
1241
  @delete_topic = ::Gapic::Config::Method.new delete_topic_config
1079
- detach_subscription_config = parent_rpcs&.detach_subscription if parent_rpcs&.respond_to? :detach_subscription
1242
+ detach_subscription_config = parent_rpcs.detach_subscription if parent_rpcs.respond_to? :detach_subscription
1080
1243
  @detach_subscription = ::Gapic::Config::Method.new detach_subscription_config
1081
1244
 
1082
1245
  yield self if block_given?