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.



1482
1483
1484
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1482

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)


1436
1437
1438
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1436

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


1442
1443
1444
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1442

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

Returns:

  • (String)


1454
1455
1456
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1454

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



1459
1460
1461
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1459

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)


1468
1469
1470
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1468

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)


1474
1475
1476
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1474

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



1480
1481
1482
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1480

def schema_settings
  @schema_settings
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1487
1488
1489
1490
1491
1492
1493
1494
1495
# File 'lib/google/apis/pubsub_v1/classes.rb', line 1487

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