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
-
#ingestion_data_source_settings ⇒ Google::Apis::PubsubV1::IngestionDataSourceSettings
Settings for an ingestion data source on a topic.
-
#kms_key_name ⇒ String
Optional.
-
#labels ⇒ Hash<String,String>
Optional.
-
#message_retention_duration ⇒ String
Optional.
-
#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?)
Optional.
-
#schema_settings ⇒ Google::Apis::PubsubV1::SchemaSettings
Settings for validating messages published against a schema.
-
#state ⇒ String
Output only.
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.
1950 1951 1952 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1950 def initialize(**args) update!(**args) end |
Instance Attribute Details
#ingestion_data_source_settings ⇒ Google::Apis::PubsubV1::IngestionDataSourceSettings
Settings for an ingestion data source on a topic.
Corresponds to the JSON property ingestionDataSourceSettings
1892 1893 1894 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1892 def ingestion_data_source_settings @ingestion_data_source_settings end |
#kms_key_name ⇒ String
Optional. 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
1899 1900 1901 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1899 def kms_key_name @kms_key_name end |
#labels ⇒ Hash<String,String>
Optional. See Creating and managing labels.
Corresponds to the JSON property labels
1905 1906 1907 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1905 def labels @labels end |
#message_retention_duration ⇒ String
Optional. 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
1917 1918 1919 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1917 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
1922 1923 1924 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1922 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
1931 1932 1933 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1931 def name @name end |
#satisfies_pzs ⇒ Boolean Also known as: satisfies_pzs?
Optional. 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
1937 1938 1939 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1937 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
1943 1944 1945 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1943 def schema_settings @schema_settings end |
#state ⇒ String
Output only. An output-only field indicating the state of the topic.
Corresponds to the JSON property state
1948 1949 1950 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1948 def state @state end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1955 1956 1957 1958 1959 1960 1961 1962 1963 1964 1965 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1955 def update!(**args) @ingestion_data_source_settings = args[:ingestion_data_source_settings] if args.key?(:ingestion_data_source_settings) @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) @state = args[:state] if args.key?(:state) end |