pub struct Topic {
pub ingestion_data_source_settings: Option<IngestionDataSourceSettings>,
pub kms_key_name: Option<String>,
pub labels: Option<HashMap<String, String>>,
pub message_retention_duration: Option<Duration>,
pub message_storage_policy: Option<MessageStoragePolicy>,
pub name: Option<String>,
pub satisfies_pzs: Option<bool>,
pub schema_settings: Option<SchemaSettings>,
pub state: Option<String>,
}
Expand description
A topic resource.
§Activities
This type is used in activities, which are methods you may call on this type or where this type is involved in. The list links the activity name, along with information about where it is used (one of request and response).
- topics create projects (request|response)
- topics get projects (response)
- topics patch projects (response)
Fields§
§ingestion_data_source_settings: Option<IngestionDataSourceSettings>
Optional. Settings for ingestion from a data source into this topic.
kms_key_name: Option<String>
Optional. 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: Option<HashMap<String, String>>
Optional. See [Creating and managing labels] (https://cloud.google.com/pubsub/docs/labels).
message_retention_duration: Option<Duration>
Optional. 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.
message_storage_policy: Option<MessageStoragePolicy>
Optional. 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: Option<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"
.
satisfies_pzs: Option<bool>
Optional. Reserved for future use. This field is set only in responses from the server; it is ignored if it is set in any requests.
schema_settings: Option<SchemaSettings>
Optional. Settings for validating messages published against a schema.
state: Option<String>
Output only. An output-only field indicating the state of the topic.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Topic
impl<'de> Deserialize<'de> for Topic
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
impl RequestValue for Topic
impl ResponseResult for Topic
Auto Trait Implementations§
impl Freeze for Topic
impl RefUnwindSafe for Topic
impl Send for Topic
impl Sync for Topic
impl Unpin for Topic
impl UnwindSafe for Topic
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more