Topic

@SerialVersionUID(0L) final case class Topic(name: String, labels: Map[String, String], messageStoragePolicy: Option[MessageStoragePolicy], kmsKeyName: String, schemaSettings: Option[SchemaSettings], satisfiesPzs: Boolean, messageRetentionDuration: Option[Duration], unknownFields: UnknownFieldSet) extends GeneratedMessage with Updatable[Topic]

A topic resource.

Value Params
kmsKeyName

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/*.

labels

See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).

messageRetentionDuration

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.

messageStoragePolicy

Policy constraining the set of Google Cloud Platform regions where messages published to the topic may be stored. If not present, then no constraints are in effect.

name

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".

satisfiesPzs

Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.

schemaSettings

Settings for validating messages published against a schema.

Companion
object
trait Updatable[Topic]
trait GeneratedMessage
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any

Value members

Concrete methods

def addAllLabels(`__vs`: Iterable[(String, String)]): Topic
def addLabels(`__vs`: (String, String)*): Topic
def getField(`__field`: FieldDescriptor): PValue
def getFieldByNumber(`__fieldNumber`: Int): Any
override def serializedSize: Int
Definition Classes
GeneratedMessage
def toProtoString: String
def withKmsKeyName(`__v`: String): Topic
def withLabels(`__v`: Map[String, String]): Topic
def withMessageRetentionDuration(`__v`: Duration): Topic
def withName(`__v`: String): Topic
def withSatisfiesPzs(`__v`: Boolean): Topic
def withUnknownFields(`__v`: UnknownFieldSet): Topic
def writeTo(`_output__`: CodedOutputStream): Unit

Inherited methods

def productElementNames: Iterator[String]
Inherited from
Product
def productIterator: Iterator[Any]
Inherited from
Product
final def toByteArray: Array[Byte]

Serializes the messgae and returns a byte array containing its raw bytes

Serializes the messgae and returns a byte array containing its raw bytes

Inherited from
GeneratedMessage
final def toByteString: ByteString

Serializes the messgae and returns a ByteString containing its raw bytes

Serializes the messgae and returns a ByteString containing its raw bytes

Inherited from
GeneratedMessage
final def toPMessage: PMessage
Inherited from
GeneratedMessage
def update(ms: Lens[Topic, Topic] => () => Topic*): Topic
Inherited from
Updatable
final def writeDelimitedTo(output: OutputStream): Unit
Inherited from
GeneratedMessage
final def writeTo(output: OutputStream): Unit

Serializes the message into the given output stream

Serializes the message into the given output stream

Inherited from
GeneratedMessage