Class: Google::Apis::PubsubV1::Topic

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 topic resource.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ Topic

Returns a new instance of Topic.



1383
1384
1385
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1383

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#kms_key_nameString

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

Returns:

  • (String)


1337
1338
1339
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1337

def kms_key_name
  @kms_key_name
end

#labelsHash<String,String>

See Creating and managing labels. Corresponds to the JSON property labels

Returns:

  • (Hash<String,String>)


1343
1344
1345
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1343

def labels
  @labels
end

#message_retention_durationString

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 7 days or less than 10 minutes. Corresponds to the JSON property messageRetentionDuration

Returns:

  • (String)


1355
1356
1357
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1355

def message_retention_duration
  @message_retention_duration
end

#message_storage_policyGoogle::Apis::PubsubV1::MessageStoragePolicy

A policy constraining the storage of messages published to the topic. Corresponds to the JSON property messageStoragePolicy



1360
1361
1362
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1360

def message_storage_policy
  @message_storage_policy
end

#nameString

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

Returns:

  • (String)


1369
1370
1371
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1369

def name
  @name
end

#satisfies_pzsBoolean 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

Returns:

  • (Boolean)


1375
1376
1377
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1375

def satisfies_pzs
  @satisfies_pzs
end

#schema_settingsGoogle::Apis::PubsubV1::SchemaSettings

Settings for validating messages published against a schema. Corresponds to the JSON property schemaSettings



1381
1382
1383
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1381

def schema_settings
  @schema_settings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1388
1389
1390
1391
1392
1393
1394
1395
1396
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1388

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