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.



1314
1315
1316
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1314

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


1303
1304
1305
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1303

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)


1311
1312
1313
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1311

def enforce_in_transit
  @enforce_in_transit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1319
1320
1321
1322
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1319

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