Class: Google::Apis::PubsubV1::Topic
- Inherits:
-
Object
- Object
- Google::Apis::PubsubV1::Topic
- 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 topic resource.
Instance Attribute Summary collapse
-
#kms_key_name ⇒ String
The resource name of the Cloud KMS CryptoKey to be used to protect access to messages published on this topic.
- #labels ⇒ Hash<String,String>
-
#message_retention_duration ⇒ String
Indicates the minimum duration to retain a message after it is published to the topic.
-
#message_storage_policy ⇒ Google::Apis::PubsubV1::MessageStoragePolicy
A policy constraining the storage of messages published to the topic.
-
#name ⇒ String
Required.
-
#satisfies_pzs ⇒ Boolean
(also: #satisfies_pzs?)
Reserved for future use.
-
#schema_settings ⇒ Google::Apis::PubsubV1::SchemaSettings
Settings for validating messages published against a schema.
Instance Method Summary collapse
-
#initialize(**args) ⇒ Topic
constructor
A new instance of Topic.
-
#update!(**args) ⇒ Object
Update properties of this object.
Constructor Details
#initialize(**args) ⇒ Topic
Returns a new instance of Topic.
1685 1686 1687 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1685 def initialize(**args) update!(**args) end |
Instance Attribute Details
#kms_key_name ⇒ String
The resource name of the Cloud KMS CryptoKey to be used to protect access to
messages published on this topic. The expected format is projects/*/locations/
*/keyRings/*/cryptoKeys/*
.
Corresponds to the JSON property kmsKeyName
1639 1640 1641 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1639 def kms_key_name @kms_key_name end |
#labels ⇒ Hash<String,String>
See Creating and managing labels.
Corresponds to the JSON property labels
1645 1646 1647 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1645 def labels @labels end |
#message_retention_duration ⇒ String
Indicates the minimum duration to retain a message after it is published to
the topic. If this field is set, messages published to the topic in the last
message_retention_duration
are always available to subscribers. For instance,
it allows any attached subscription to seek to a timestamp that is up to
message_retention_duration
in the past. If this field is not set, message
retention is controlled by settings on individual subscriptions. Cannot be
more than 31 days or less than 10 minutes.
Corresponds to the JSON property messageRetentionDuration
1657 1658 1659 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1657 def @message_retention_duration end |
#message_storage_policy ⇒ Google::Apis::PubsubV1::MessageStoragePolicy
A policy constraining the storage of messages published to the topic.
Corresponds to the JSON property messageStoragePolicy
1662 1663 1664 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1662 def @message_storage_policy end |
#name ⇒ String
Required. The name of the topic. It must have the format "projects/
project/
topics/
topic"
. topic
must start with a letter, and contain only letters
([A-Za-z]
), numbers ([0-9]
), dashes (-
), underscores (_
), periods (.
)
, tildes (~
), plus (+
) or percent signs (%
). It must be between 3 and
255 characters in length, and it must not start with "goog"
.
Corresponds to the JSON property name
1671 1672 1673 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1671 def name @name end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Reserved for future use. This field is set only in responses from the server;
it is ignored if it is set in any requests.
Corresponds to the JSON property satisfiesPzs
1677 1678 1679 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1677 def satisfies_pzs @satisfies_pzs end |
#schema_settings ⇒ Google::Apis::PubsubV1::SchemaSettings
Settings for validating messages published against a schema.
Corresponds to the JSON property schemaSettings
1683 1684 1685 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1683 def schema_settings @schema_settings end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1690 1691 1692 1693 1694 1695 1696 1697 1698 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1690 def update!(**args) @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) @labels = args[:labels] if args.key?(:labels) @message_retention_duration = args[:message_retention_duration] if args.key?(:message_retention_duration) @message_storage_policy = args[:message_storage_policy] if args.key?(:message_storage_policy) @name = args[:name] if args.key?(:name) @satisfies_pzs = args[:satisfies_pzs] if args.key?(:satisfies_pzs) @schema_settings = args[:schema_settings] if args.key?(:schema_settings) end |