google-cloud-pubsub 1.9.0 → 2.2.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/AUTHENTICATION.md +2 -1
- data/CHANGELOG.md +53 -0
- data/OVERVIEW.md +26 -58
- data/lib/google-cloud-pubsub.rb +14 -13
- data/lib/google/cloud/pubsub.rb +15 -18
- data/lib/google/cloud/pubsub/async_publisher.rb +2 -3
- data/lib/google/cloud/pubsub/credentials.rb +2 -2
- data/lib/google/cloud/pubsub/message.rb +1 -1
- data/lib/google/cloud/pubsub/project.rb +1 -1
- data/lib/google/cloud/pubsub/received_message.rb +4 -4
- data/lib/google/cloud/pubsub/service.rb +110 -257
- data/lib/google/cloud/pubsub/subscriber.rb +3 -3
- data/lib/google/cloud/pubsub/subscriber/stream.rb +1 -2
- data/lib/google/cloud/pubsub/subscription.rb +124 -22
- data/lib/google/cloud/pubsub/subscription/push_config.rb +55 -31
- data/lib/google/cloud/pubsub/topic.rb +50 -15
- data/lib/google/cloud/pubsub/version.rb +1 -1
- metadata +8 -79
- data/lib/google/cloud/pubsub/v1.rb +0 -17
- data/lib/google/cloud/pubsub/v1/credentials.rb +0 -41
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/iam_policy.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/options.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/iam/v1/policy.rb +0 -21
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/duration.rb +0 -91
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/empty.rb +0 -29
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/field_mask.rb +0 -222
- data/lib/google/cloud/pubsub/v1/doc/google/protobuf/timestamp.rb +0 -113
- data/lib/google/cloud/pubsub/v1/doc/google/pubsub/v1/pubsub.rb +0 -833
- data/lib/google/cloud/pubsub/v1/doc/google/type/expr.rb +0 -19
- data/lib/google/cloud/pubsub/v1/publisher_client.rb +0 -928
- data/lib/google/cloud/pubsub/v1/publisher_client_config.json +0 -120
- data/lib/google/cloud/pubsub/v1/subscriber_client.rb +0 -1466
- data/lib/google/cloud/pubsub/v1/subscriber_client_config.json +0 -153
- data/lib/google/pubsub/v1/pubsub_pb.rb +0 -269
- data/lib/google/pubsub/v1/pubsub_services_pb.rb +0 -215
@@ -41,7 +41,7 @@ module Google
|
|
41
41
|
# subscriber.start
|
42
42
|
#
|
43
43
|
# # Shut down the subscriber when ready to stop receiving messages.
|
44
|
-
# subscriber.stop
|
44
|
+
# subscriber.stop!
|
45
45
|
#
|
46
46
|
# @attr_reader [String] subscription_name The name of the subscription the
|
47
47
|
# messages are pulled from.
|
@@ -240,7 +240,7 @@ module Google
|
|
240
240
|
# subscriber.start
|
241
241
|
#
|
242
242
|
# # Shut down the subscriber when ready to stop receiving messages.
|
243
|
-
# subscriber.stop
|
243
|
+
# subscriber.stop!
|
244
244
|
#
|
245
245
|
def on_error &block
|
246
246
|
synchronize do
|
@@ -276,7 +276,7 @@ module Google
|
|
276
276
|
# subscriber.last_error #=> nil
|
277
277
|
#
|
278
278
|
# # Shut down the subscriber when ready to stop receiving messages.
|
279
|
-
# subscriber.stop
|
279
|
+
# subscriber.stop!
|
280
280
|
#
|
281
281
|
def last_error
|
282
282
|
synchronize { @last_error }
|
@@ -271,9 +271,8 @@ module Google
|
|
271
271
|
stop
|
272
272
|
rescue GRPC::Cancelled, GRPC::DeadlineExceeded, GRPC::Internal,
|
273
273
|
GRPC::ResourceExhausted, GRPC::Unauthenticated,
|
274
|
-
GRPC::Unavailable
|
274
|
+
GRPC::Unavailable
|
275
275
|
# Restart the stream with an incremental back for a retriable error.
|
276
|
-
# Also when GRPC raises the internal CallError.
|
277
276
|
|
278
277
|
retry
|
279
278
|
rescue RestartStream
|
@@ -43,12 +43,19 @@ module Google
|
|
43
43
|
# received_message.acknowledge!
|
44
44
|
# end
|
45
45
|
#
|
46
|
-
# #
|
47
|
-
# subscriber.
|
46
|
+
# # Handle exceptions from listener
|
47
|
+
# subscriber.on_error do |exception|
|
48
|
+
# puts "Exception: #{exception.class} #{exception.message}"
|
49
|
+
# end
|
48
50
|
#
|
49
|
-
# #
|
50
|
-
#
|
51
|
+
# # Gracefully shut down the subscriber
|
52
|
+
# at_exit do
|
53
|
+
# subscriber.stop!
|
54
|
+
# end
|
51
55
|
#
|
56
|
+
# # Start background threads that will call the block passed to listen.
|
57
|
+
# subscriber.start
|
58
|
+
# sleep
|
52
59
|
class Subscription
|
53
60
|
##
|
54
61
|
# @private The Service object.
|
@@ -323,7 +330,7 @@ module Google
|
|
323
330
|
# If {#expires_in=} is not set, a *default* value of of 31 days will be
|
324
331
|
# used. The minimum allowed value is 1 day.
|
325
332
|
#
|
326
|
-
# Makes an API call to retrieve the
|
333
|
+
# Makes an API call to retrieve the value when called on a
|
327
334
|
# reference object. See {#reference?}.
|
328
335
|
#
|
329
336
|
# @return [Numeric, nil] The expiration duration, or `nil` if unset.
|
@@ -346,7 +353,7 @@ module Google
|
|
346
353
|
# to unset.
|
347
354
|
#
|
348
355
|
def expires_in= ttl
|
349
|
-
new_expiration_policy = Google::
|
356
|
+
new_expiration_policy = Google::Cloud::PubSub::V1::ExpirationPolicy.new ttl: Convert.number_to_duration(ttl)
|
350
357
|
|
351
358
|
update_grpc = Google::Cloud::PubSub::V1::Subscription.new name: name, expiration_policy: new_expiration_policy
|
352
359
|
@grpc = service.update_subscription update_grpc, :expiration_policy
|
@@ -370,8 +377,8 @@ module Google
|
|
370
377
|
# otherwise `nil`. Dead lettering is done on a best effort basis. The same message might be dead lettered
|
371
378
|
# multiple times.
|
372
379
|
#
|
373
|
-
# See also {#dead_letter_topic=}, {#dead_letter_max_delivery_attempts=}
|
374
|
-
# {#
|
380
|
+
# See also {#dead_letter_topic=}, {#dead_letter_max_delivery_attempts=}, {#dead_letter_max_delivery_attempts}
|
381
|
+
# and {#remove_dead_letter_policy}.
|
375
382
|
#
|
376
383
|
# Makes an API call to retrieve the topic name when called on a reference object. See {#reference?}.
|
377
384
|
#
|
@@ -402,7 +409,8 @@ module Google
|
|
402
409
|
# The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached
|
403
410
|
# to this topic since messages published to a topic with no subscriptions are lost.
|
404
411
|
#
|
405
|
-
# See also {#dead_letter_topic}, {#dead_letter_max_delivery_attempts=}
|
412
|
+
# See also {#dead_letter_topic}, {#dead_letter_max_delivery_attempts=}, {#dead_letter_max_delivery_attempts}
|
413
|
+
# and {#remove_dead_letter_policy}.
|
406
414
|
#
|
407
415
|
# @param [Topic] new_dead_letter_topic The topic to which dead letter messages for the subscription should be
|
408
416
|
# published.
|
@@ -434,14 +442,15 @@ module Google
|
|
434
442
|
# acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0
|
435
443
|
# deadline. Note that client libraries may automatically extend ack_deadlines.
|
436
444
|
#
|
437
|
-
# This field will be honored on a best effort basis. If this parameter is 0
|
445
|
+
# This field will be honored on a best effort basis. If this parameter is `nil` or `0`, a default value of `5`
|
446
|
+
# is used.
|
438
447
|
#
|
439
|
-
# See also {#dead_letter_max_delivery_attempts=}, {#dead_letter_topic=}
|
448
|
+
# See also {#dead_letter_max_delivery_attempts=}, {#dead_letter_topic=}, {#dead_letter_topic}
|
449
|
+
# and {#remove_dead_letter_policy}.
|
440
450
|
#
|
441
451
|
# Makes an API call to retrieve the value when called on a reference object. See {#reference?}.
|
442
452
|
#
|
443
|
-
# @return [Integer, nil] A value between 5 and 100
|
444
|
-
# value is 0, a default value of 5 is used.
|
453
|
+
# @return [Integer, nil] A value between `5` and `100`, or `nil` if no dead letter policy is configured.
|
445
454
|
#
|
446
455
|
# @example
|
447
456
|
# require "google/cloud/pubsub"
|
@@ -468,10 +477,13 @@ module Google
|
|
468
477
|
#
|
469
478
|
# This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used.
|
470
479
|
#
|
471
|
-
# The dead letter topic must
|
480
|
+
# The dead letter topic must be set first. See {#dead_letter_topic=}, {#dead_letter_topic} and
|
481
|
+
# {#remove_dead_letter_policy}.
|
472
482
|
#
|
473
|
-
# @param [Integer] new_dead_letter_max_delivery_attempts A value between 5 and 100. If this parameter is
|
474
|
-
# default value of 5 is used.
|
483
|
+
# @param [Integer, nil] new_dead_letter_max_delivery_attempts A value between 5 and 100. If this parameter is
|
484
|
+
# `nil` or `0`, a default value of 5 is used.
|
485
|
+
#
|
486
|
+
# @raise [ArgumentError] if the dead letter topic has not been set. See {#dead_letter_topic=}.
|
475
487
|
#
|
476
488
|
# @example
|
477
489
|
# require "google/cloud/pubsub"
|
@@ -496,6 +508,39 @@ module Google
|
|
496
508
|
@resource_name = nil
|
497
509
|
end
|
498
510
|
|
511
|
+
##
|
512
|
+
# Removes an existing dead letter policy. A dead letter policy specifies the conditions for dead lettering
|
513
|
+
# messages in the subscription. If a dead letter policy is not set, dead lettering is disabled.
|
514
|
+
#
|
515
|
+
# See {#dead_letter_topic}, {#dead_letter_topic=}, {#dead_letter_max_delivery_attempts} and
|
516
|
+
# {#dead_letter_max_delivery_attempts=}.
|
517
|
+
#
|
518
|
+
# @return [Boolean] `true` if an existing dead letter policy was removed, `false` if no existing dead letter
|
519
|
+
# policy was present.
|
520
|
+
#
|
521
|
+
# @example
|
522
|
+
# require "google/cloud/pubsub"
|
523
|
+
#
|
524
|
+
# pubsub = Google::Cloud::PubSub.new
|
525
|
+
#
|
526
|
+
# sub = pubsub.subscription "my-topic-sub"
|
527
|
+
#
|
528
|
+
# sub.dead_letter_topic.name #=> "projects/my-project/topics/my-dead-letter-topic"
|
529
|
+
# sub.dead_letter_max_delivery_attempts #=> 10
|
530
|
+
#
|
531
|
+
# sub.remove_dead_letter_policy
|
532
|
+
#
|
533
|
+
# sub.dead_letter_topic #=> nil
|
534
|
+
# sub.dead_letter_max_delivery_attempts #=> nil
|
535
|
+
#
|
536
|
+
def remove_dead_letter_policy
|
537
|
+
ensure_grpc!
|
538
|
+
return false if @grpc.dead_letter_policy.nil?
|
539
|
+
update_grpc = Google::Cloud::PubSub::V1::Subscription.new name: name, dead_letter_policy: nil
|
540
|
+
@grpc = service.update_subscription update_grpc, :dead_letter_policy
|
541
|
+
true
|
542
|
+
end
|
543
|
+
|
499
544
|
##
|
500
545
|
# A policy that specifies how Cloud Pub/Sub retries message delivery for this subscription. If `nil`, the
|
501
546
|
# default retry policy is applied. This generally implies that messages will be retried as soon as possible
|
@@ -566,7 +611,7 @@ module Google
|
|
566
611
|
#
|
567
612
|
# See {Topic#publish_async}, {#listen}, and {Message#ordering_key}.
|
568
613
|
#
|
569
|
-
# Makes an API call to retrieve the
|
614
|
+
# Makes an API call to retrieve the enable_message_ordering value when called on a
|
570
615
|
# reference object. See {#reference?}.
|
571
616
|
#
|
572
617
|
# @return [Boolean]
|
@@ -576,6 +621,35 @@ module Google
|
|
576
621
|
@grpc.enable_message_ordering
|
577
622
|
end
|
578
623
|
|
624
|
+
##
|
625
|
+
# Whether the subscription is detached from its topic. Detached subscriptions don't receive messages from their
|
626
|
+
# topic and don't retain any backlog. {#pull} and {#listen} (pull and streaming pull) operations will raise
|
627
|
+
# `FAILED_PRECONDITION`. If the subscription is a push subscription (see {#push_config}), pushes to the endpoint
|
628
|
+
# will not be made. The default value is `false`.
|
629
|
+
#
|
630
|
+
# See {Topic#subscribe} and {#detach}.
|
631
|
+
#
|
632
|
+
# Makes an API call to retrieve the value when called on a
|
633
|
+
# reference object. See {#reference?}.
|
634
|
+
#
|
635
|
+
# @return [Boolean]
|
636
|
+
#
|
637
|
+
# @example
|
638
|
+
# require "google/cloud/pubsub"
|
639
|
+
#
|
640
|
+
# pubsub = Google::Cloud::PubSub.new
|
641
|
+
#
|
642
|
+
# sub = pubsub.subscription "my-topic-sub"
|
643
|
+
# sub.detach
|
644
|
+
#
|
645
|
+
# # sleep 120
|
646
|
+
# sub.detached? #=> true
|
647
|
+
#
|
648
|
+
def detached?
|
649
|
+
ensure_grpc!
|
650
|
+
@grpc.detached
|
651
|
+
end
|
652
|
+
|
579
653
|
##
|
580
654
|
# Determines whether the subscription exists in the Pub/Sub service.
|
581
655
|
#
|
@@ -623,6 +697,32 @@ module Google
|
|
623
697
|
true
|
624
698
|
end
|
625
699
|
|
700
|
+
##
|
701
|
+
# Detaches a subscription from its topic. All messages retained in the subscription are dropped. Detached
|
702
|
+
# subscriptions don't receive messages from their topic and don't retain any backlog. Subsequent {#pull} and
|
703
|
+
# {#listen} (pull and streaming pull) operations will raise `FAILED_PRECONDITION`. If the subscription is a push
|
704
|
+
# subscription (see {#push_config}), pushes to the endpoint will stop. It may take a few minutes for the
|
705
|
+
# subscription's detached state to be reflected in subsequent calls to {#detached?}.
|
706
|
+
#
|
707
|
+
# @return [Boolean] Returns `true` if the detach operation was successful.
|
708
|
+
#
|
709
|
+
# @example
|
710
|
+
# require "google/cloud/pubsub"
|
711
|
+
#
|
712
|
+
# pubsub = Google::Cloud::PubSub.new
|
713
|
+
#
|
714
|
+
# sub = pubsub.subscription "my-topic-sub"
|
715
|
+
# sub.detach
|
716
|
+
#
|
717
|
+
# # sleep 120
|
718
|
+
# sub.detached? #=> true
|
719
|
+
#
|
720
|
+
def detach
|
721
|
+
ensure_service!
|
722
|
+
service.detach_subscription name
|
723
|
+
true
|
724
|
+
end
|
725
|
+
|
626
726
|
##
|
627
727
|
# Pulls messages from the server. Returns an empty list if there are no
|
628
728
|
# messages available in the backlog. Raises an ApiError with status
|
@@ -761,7 +861,8 @@ module Google
|
|
761
861
|
# @param [Integer] streams The number of concurrent streams to open to
|
762
862
|
# pull messages from the subscription. Default is 4. Optional.
|
763
863
|
# @param [Hash, Integer] inventory The settings to control how received messages are to be handled by the
|
764
|
-
# subscriber. When provided as an Integer instead of a Hash only
|
864
|
+
# subscriber. When provided as an Integer instead of a Hash only `max_outstanding_messages` will be set.
|
865
|
+
# Optional.
|
765
866
|
#
|
766
867
|
# Hash keys and values may include the following:
|
767
868
|
#
|
@@ -801,6 +902,7 @@ module Google
|
|
801
902
|
#
|
802
903
|
# subscriber = sub.listen do |received_message|
|
803
904
|
# # process message
|
905
|
+
# puts "Data: #{received_message.message.data}, published at #{received_message.message.published_at}"
|
804
906
|
# received_message.acknowledge!
|
805
907
|
# end
|
806
908
|
#
|
@@ -808,7 +910,7 @@ module Google
|
|
808
910
|
# subscriber.start
|
809
911
|
#
|
810
912
|
# # Shut down the subscriber when ready to stop receiving messages.
|
811
|
-
# subscriber.stop
|
913
|
+
# subscriber.stop!
|
812
914
|
#
|
813
915
|
# @example Configuring to increase concurrent callbacks:
|
814
916
|
# require "google/cloud/pubsub"
|
@@ -827,7 +929,7 @@ module Google
|
|
827
929
|
# subscriber.start
|
828
930
|
#
|
829
931
|
# # Shut down the subscriber when ready to stop receiving messages.
|
830
|
-
# subscriber.stop
|
932
|
+
# subscriber.stop!
|
831
933
|
#
|
832
934
|
# @example Ordered messages are supported using ordering_key:
|
833
935
|
# require "google/cloud/pubsub"
|
@@ -847,7 +949,7 @@ module Google
|
|
847
949
|
# subscriber.start
|
848
950
|
#
|
849
951
|
# # Shut down the subscriber when ready to stop receiving messages.
|
850
|
-
# subscriber.stop
|
952
|
+
# subscriber.stop!
|
851
953
|
#
|
852
954
|
# @example Set the maximum amount of time before redelivery if the subscriber fails to extend the deadline:
|
853
955
|
# require "google/cloud/pubsub"
|
@@ -866,7 +968,7 @@ module Google
|
|
866
968
|
# subscriber.start
|
867
969
|
#
|
868
970
|
# # Shut down the subscriber when ready to stop receiving messages.
|
869
|
-
# subscriber.stop
|
971
|
+
# subscriber.stop!
|
870
972
|
#
|
871
973
|
def listen deadline: nil, message_ordering: nil, streams: nil, inventory: nil, threads: {}, &block
|
872
974
|
ensure_service!
|
@@ -22,7 +22,18 @@ module Google
|
|
22
22
|
##
|
23
23
|
# Configuration for a push delivery endpoint.
|
24
24
|
#
|
25
|
-
# @example
|
25
|
+
# @example Create a push config:
|
26
|
+
# require "google/cloud/pubsub"
|
27
|
+
#
|
28
|
+
# pubsub = Google::Cloud::PubSub.new
|
29
|
+
# topic = pubsub.topic "my-topic"
|
30
|
+
#
|
31
|
+
# push_config = Google::Cloud::PubSub::Subscription::PushConfig.new endpoint: "http://example.net/callback"
|
32
|
+
# push_config.set_oidc_token "service-account@example.net", "audience-header-value"
|
33
|
+
#
|
34
|
+
# sub = topic.subscribe "my-subscription", push_config: push_config
|
35
|
+
#
|
36
|
+
# @example Read a push config:
|
26
37
|
# require "google/cloud/pubsub"
|
27
38
|
#
|
28
39
|
# pubsub = Google::Cloud::PubSub.new
|
@@ -32,7 +43,7 @@ module Google
|
|
32
43
|
# sub.push_config.authentication.email #=> "user@example.com"
|
33
44
|
# sub.push_config.authentication.audience #=> "client-12345"
|
34
45
|
#
|
35
|
-
# @example Update
|
46
|
+
# @example Update a push config:
|
36
47
|
# require "google/cloud/pubsub"
|
37
48
|
#
|
38
49
|
# pubsub = Google::Cloud::PubSub.new
|
@@ -45,14 +56,31 @@ module Google
|
|
45
56
|
#
|
46
57
|
class PushConfig
|
47
58
|
##
|
48
|
-
#
|
49
|
-
|
59
|
+
# Creates a new push configuration.
|
60
|
+
#
|
61
|
+
# @param [String] endpoint A URL locating the endpoint to which messages should be pushed. For
|
62
|
+
# example, a Webhook endpoint might use `https://example.com/push`.
|
63
|
+
# @param [String] email The service account email to be used for generating the OIDC token.
|
64
|
+
# The caller must have the `iam.serviceAccounts.actAs` permission for the service account.
|
65
|
+
# @param [String] audience The audience to be used when generating OIDC token. The audience claim identifies
|
66
|
+
# the recipients that the JWT is intended for. The audience value is a single case-sensitive string. Having
|
67
|
+
# multiple values (array) for the audience field is not supported. More info about the OIDC JWT token
|
68
|
+
# audience here: https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the `endpoint`
|
69
|
+
# URL will be used.
|
70
|
+
#
|
71
|
+
def initialize endpoint: nil, email: nil, audience: nil
|
50
72
|
@grpc = Google::Cloud::PubSub::V1::PushConfig.new
|
73
|
+
|
74
|
+
self.endpoint = endpoint unless endpoint.nil?
|
75
|
+
|
76
|
+
raise ArgumentError, "audience provided without email. Authentication is invalid" if audience && !email
|
77
|
+
|
78
|
+
set_oidc_token email, audience if email
|
51
79
|
end
|
52
80
|
|
53
81
|
##
|
54
|
-
# A URL locating the endpoint to which messages should be pushed. For
|
55
|
-
#
|
82
|
+
# A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use
|
83
|
+
# `https://example.com/push`.
|
56
84
|
#
|
57
85
|
# @return [String]
|
58
86
|
def endpoint
|
@@ -60,9 +88,8 @@ module Google
|
|
60
88
|
end
|
61
89
|
|
62
90
|
##
|
63
|
-
# Sets the URL locating the endpoint to which messages should be
|
64
|
-
#
|
65
|
-
# `https://example.com/push`.
|
91
|
+
# Sets the URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might
|
92
|
+
# use `https://example.com/push`.
|
66
93
|
#
|
67
94
|
# @param [String, nil] new_endpoint New URL value
|
68
95
|
def endpoint= new_endpoint
|
@@ -70,8 +97,7 @@ module Google
|
|
70
97
|
end
|
71
98
|
|
72
99
|
##
|
73
|
-
# The authentication method used by push endpoints to verify the
|
74
|
-
# source of push requests.
|
100
|
+
# The authentication method used by push endpoints to verify the source of push requests.
|
75
101
|
#
|
76
102
|
# @return [OidcToken, nil] An OIDC JWT token if specified, `nil`
|
77
103
|
# otherwise.
|
@@ -82,8 +108,7 @@ module Google
|
|
82
108
|
end
|
83
109
|
|
84
110
|
##
|
85
|
-
# Sets the authentication method used by push endpoints to verify the
|
86
|
-
# source of push requests.
|
111
|
+
# Sets the authentication method used by push endpoints to verify the source of push requests.
|
87
112
|
#
|
88
113
|
# @param [OidcToken, nil] new_auth An authentication value.
|
89
114
|
def authentication= new_auth
|
@@ -118,13 +143,12 @@ module Google
|
|
118
143
|
end
|
119
144
|
|
120
145
|
##
|
121
|
-
# The format of the pushed message. This attribute indicates the
|
122
|
-
#
|
123
|
-
#
|
124
|
-
# endpoint version is based on the version of the Pub/Sub API.
|
146
|
+
# The format of the pushed message. This attribute indicates the version of the data expected by the endpoint.
|
147
|
+
# This controls the shape of the pushed message (i.e., its fields and metadata). The endpoint version is based
|
148
|
+
# on the version of the Pub/Sub API.
|
125
149
|
#
|
126
|
-
# If not present during the Subscription creation, it will default to
|
127
|
-
#
|
150
|
+
# If not present during the Subscription creation, it will default to the version of the API used to make such
|
151
|
+
# call.
|
128
152
|
#
|
129
153
|
# The possible values for this attribute are:
|
130
154
|
#
|
@@ -182,7 +206,8 @@ module Google
|
|
182
206
|
end
|
183
207
|
|
184
208
|
##
|
185
|
-
#
|
209
|
+
# The service account email to be used for generating the OIDC token. The caller must have the
|
210
|
+
# `iam.serviceAccounts.actAs` permission for the service account.
|
186
211
|
#
|
187
212
|
# @return [String]
|
188
213
|
def email
|
@@ -190,7 +215,8 @@ module Google
|
|
190
215
|
end
|
191
216
|
|
192
217
|
##
|
193
|
-
#
|
218
|
+
# Sets the service account email to be used for generating the OIDC token. The caller must have the
|
219
|
+
# `iam.serviceAccounts.actAs` permission for the service account.
|
194
220
|
#
|
195
221
|
# @param [String] new_email New service account email value.
|
196
222
|
def email= new_email
|
@@ -198,15 +224,10 @@ module Google
|
|
198
224
|
end
|
199
225
|
|
200
226
|
##
|
201
|
-
#
|
202
|
-
#
|
203
|
-
# audience
|
204
|
-
#
|
205
|
-
# Having multiple values (array) for the audience field is not
|
206
|
-
# supported.
|
207
|
-
#
|
208
|
-
# More info about the OIDC JWT token audience here:
|
209
|
-
# https://tools.ietf.org/html/rfc7519#section-4.1.3
|
227
|
+
# The audience to be used when generating OIDC token. The audience claim identifies the recipients that
|
228
|
+
# the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values
|
229
|
+
# (array) for the audience field is not supported. More info about the OIDC JWT token audience here:
|
230
|
+
# https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the `endpoint` URL will be used.
|
210
231
|
#
|
211
232
|
# @return [String]
|
212
233
|
def audience
|
@@ -214,7 +235,10 @@ module Google
|
|
214
235
|
end
|
215
236
|
|
216
237
|
##
|
217
|
-
# Sets the audience to be used when generating OIDC token.
|
238
|
+
# Sets the audience to be used when generating OIDC token. The audience claim identifies the recipients that
|
239
|
+
# the JWT is intended for. The audience value is a single case-sensitive string. Having multiple values
|
240
|
+
# (array) for the audience field is not supported. More info about the OIDC JWT token audience here:
|
241
|
+
# https://tools.ietf.org/html/rfc7519#section-4.1.3 Note: if not specified, the `endpoint` URL will be used.
|
218
242
|
#
|
219
243
|
# @param [String] new_audience New audience value.
|
220
244
|
def audience= new_audience
|