Struct googapis::google::pubsub::v1::Topic [−][src]
pub struct Topic {
pub name: String,
pub labels: HashMap<String, String>,
pub message_storage_policy: Option<MessageStoragePolicy>,
pub kms_key_name: String,
pub schema_settings: Option<SchemaSettings>,
pub satisfies_pzs: bool,
pub message_retention_duration: Option<Duration>,
}
Expand description
A topic resource.
Fields
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"
.
labels: HashMap<String, String>
See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).
message_storage_policy: Option<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.
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/*
.
schema_settings: Option<SchemaSettings>
Settings for validating messages published against a schema.
satisfies_pzs: bool
Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.
message_retention_duration: Option<Duration>
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.
Trait Implementations
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
Returns the encoded length of the message without a length delimiter.
Encodes the message to a buffer. Read more
Encodes the message to a newly allocated buffer.
Encodes the message with a length-delimiter to a buffer. Read more
Encodes the message with a length-delimiter to a newly allocated buffer.
Decodes an instance of the message from a buffer. Read more
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
Decodes a length-delimited instance of the message from the buffer.
Decodes an instance of the message from a buffer, and merges it into self
. Read more
Decodes a length-delimited instance of the message from buffer, and
merges it into self
. Read more
Auto Trait Implementations
impl RefUnwindSafe for Topic
impl UnwindSafe for Topic
Blanket Implementations
Mutably borrows from an owned value. Read more
Wrap the input message T
in a tonic::Request
pub fn vzip(self) -> V
Attaches the provided Subscriber
to this type, returning a
WithDispatch
wrapper. Read more
Attaches the current default Subscriber
to this type, returning a
WithDispatch
wrapper. Read more