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

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/pubsub_v1/classes.rb,
generated/google/apis/pubsub_v1/representations.rb,
generated/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.



1256
1257
1258
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1256

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)


1234
1235
1236
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1234

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


1240
1241
1242
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1240

def labels
  @labels
end

#message_storage_policyGoogle::Apis::PubsubV1::MessageStoragePolicy

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



1245
1246
1247
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1245

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)


1254
1255
1256
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1254

def name
  @name
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1261
1262
1263
1264
1265
1266
# File 'generated/google/apis/pubsub_v1/classes.rb', line 1261

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