Class: Google::Apis::PubsubV1::MessageStoragePolicy

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

A policy constraining the storage of messages published to the topic.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ MessageStoragePolicy

Returns a new instance of MessageStoragePolicy.



816
817
818
# File 'lib/google/apis/pubsub_v1/classes.rb', line 816

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

Instance Attribute Details

#allowed_persistence_regionsArray<String>

Optional. A list of IDs of Google Cloud regions where messages that are published to the topic may be persisted in storage. Messages published by publishers running in non-allowed Google Cloud regions (or running outside of Google Cloud altogether) are routed for storage in one of the allowed regions. An empty list means that no regions are allowed, and is not a valid configuration. Corresponds to the JSON property allowedPersistenceRegions

Returns:

  • (Array<String>)


805
806
807
# File 'lib/google/apis/pubsub_v1/classes.rb', line 805

def allowed_persistence_regions
  @allowed_persistence_regions
end

#enforce_in_transitBoolean Also known as: enforce_in_transit?

Optional. If true, allowed_persistence_regions is also used to enforce in- transit guarantees for messages. That is, Pub/Sub will fail Publish operations on this topic and subscribe operations on any subscription attached to this topic in any region that is not in allowed_persistence_regions. Corresponds to the JSON property enforceInTransit

Returns:

  • (Boolean)


813
814
815
# File 'lib/google/apis/pubsub_v1/classes.rb', line 813

def enforce_in_transit
  @enforce_in_transit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



821
822
823
824
# File 'lib/google/apis/pubsub_v1/classes.rb', line 821

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