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.



1187
1188
1189
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1187

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


1176
1177
1178
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1176

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)


1184
1185
1186
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1184

def enforce_in_transit
  @enforce_in_transit
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1192
1193
1194
1195
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1192

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