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.



684
685
686
# File 'lib/google/apis/pubsub_v1/classes.rb', line 684

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>)


673
674
675
# File 'lib/google/apis/pubsub_v1/classes.rb', line 673

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)


681
682
683
# File 'lib/google/apis/pubsub_v1/classes.rb', line 681

def enforce_in_transit
  @enforce_in_transit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



689
690
691
692
# File 'lib/google/apis/pubsub_v1/classes.rb', line 689

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