Class: Google::Apis::PubsubV1::Snapshot

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

Overview

A snapshot resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Snapshot

Returns a new instance of Snapshot



708
709
710
# File 'generated/google/apis/pubsub_v1/classes.rb', line 708

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

Instance Attribute Details

#expire_timeString

The snapshot is guaranteed to exist up until this time. A newly-created snapshot expires no later than 7 days from the time of its creation. Its exact lifetime is determined at creation by the existing backlog in the source subscription. Specifically, the lifetime of the snapshot is 7 days - (age of oldest unacked message in the subscription). For example, consider a subscription whose oldest unacked message is 3 days old. If a snapshot is created from this subscription, the snapshot -- which will always capture this 3-day-old backlog as long as the snapshot exists -- will expire in 4 days. The service will refuse to create a snapshot that would expire in less than 1 hour after creation. Corresponds to the JSON property expireTime

Returns:

  • (String)


696
697
698
# File 'generated/google/apis/pubsub_v1/classes.rb', line 696

def expire_time
  @expire_time
end

#nameString

The name of the snapshot. Corresponds to the JSON property name

Returns:

  • (String)


701
702
703
# File 'generated/google/apis/pubsub_v1/classes.rb', line 701

def name
  @name
end

#topicString

The name of the topic from which this snapshot is retaining messages. Corresponds to the JSON property topic

Returns:

  • (String)


706
707
708
# File 'generated/google/apis/pubsub_v1/classes.rb', line 706

def topic
  @topic
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



713
714
715
716
717
# File 'generated/google/apis/pubsub_v1/classes.rb', line 713

def update!(**args)
  @expire_time = args[:expire_time] if args.key?(:expire_time)
  @name = args[:name] if args.key?(:name)
  @topic = args[:topic] if args.key?(:topic)
end