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_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.
1354 1355 1356 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1354 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
1320 1321 1322 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1320 def kms_key_name @kms_key_name end |
#labels ⇒ Hash<String,String>
See Creating and managing labels.
Corresponds to the JSON property labels
1326 1327 1328 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1326 def labels @labels 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
1331 1332 1333 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1331 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
1340 1341 1342 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1340 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
1346 1347 1348 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1346 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
1352 1353 1354 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1352 def schema_settings @schema_settings end |
Instance Method Details
#update!(**args) ⇒ Object
Update properties of this object
1359 1360 1361 1362 1363 1364 1365 1366 |
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1359 def update!(**args) @kms_key_name = args[:kms_key_name] if args.key?(:kms_key_name) @labels = args[:labels] if args.key?(:labels) @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 |