Class: Google::Apis::PubsubV1::DeadLetterPolicy

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/pubsub_v1/classes.rb,
lib/google/apis/pubsub_v1/representations.rb,
lib/google/apis/pubsub_v1/representations.rb

Overview

Dead lettering is done on a best effort basis. The same message might be dead lettered multiple times. If validation on any of the fields fails at subscription creation/updation, the create/update subscription request will fail.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ DeadLetterPolicy

Returns a new instance of DeadLetterPolicy.



353
354
355
# File 'lib/google/apis/pubsub_v1/classes.rb', line 353

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#dead_letter_topicString

The name of the topic to which dead letter messages should be published. Format is projects/project/topics/topic`.The Cloud Pub/Sub service account associated with the enclosing subscription's parent project (i.e., service-project_number@gcp-sa-pubsub.iam.gserviceaccount.com) must have permission to Publish() to this topic. The operation will fail if the topic does not exist. Users should ensure that there is a subscription attached to this topic since messages published to a topic with no subscriptions are lost. Corresponds to the JSON propertydeadLetterTopic`

Returns:

  • (String)


340
341
342
# File 'lib/google/apis/pubsub_v1/classes.rb', line 340

def dead_letter_topic
  @dead_letter_topic
end

#max_delivery_attemptsFixnum

The maximum number of delivery attempts for any message. The value must be between 5 and 100. The number of delivery attempts is defined as 1 + (the sum of number of NACKs and number of times the acknowledgement deadline has been exceeded for the message). A NACK is any call to ModifyAckDeadline with a 0 deadline. Note that client libraries may automatically extend ack_deadlines. This field will be honored on a best effort basis. If this parameter is 0, a default value of 5 is used. Corresponds to the JSON property maxDeliveryAttempts

Returns:

  • (Fixnum)


351
352
353
# File 'lib/google/apis/pubsub_v1/classes.rb', line 351

def max_delivery_attempts
  @max_delivery_attempts
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



358
359
360
361
# File 'lib/google/apis/pubsub_v1/classes.rb', line 358

def update!(**args)
  @dead_letter_topic = args[:dead_letter_topic] if args.key?(:dead_letter_topic)
  @max_delivery_attempts = args[:max_delivery_attempts] if args.key?(:max_delivery_attempts)
end