Struct google_api_proto::google::apps::events::subscriptions::v1::Subscription
source · pub struct Subscription {Show 14 fields
pub name: String,
pub uid: String,
pub target_resource: String,
pub event_types: Vec<String>,
pub payload_options: Option<PayloadOptions>,
pub notification_endpoint: Option<NotificationEndpoint>,
pub state: i32,
pub suspension_reason: i32,
pub authority: String,
pub create_time: Option<Timestamp>,
pub update_time: Option<Timestamp>,
pub reconciling: bool,
pub etag: String,
pub expiration: Option<Expiration>,
}
Expand description
A subscription to receive events about a Google Workspace resource. To learn more about subscriptions, see the Google Workspace Events API overview.
Fields§
§name: String
Optional. Immutable. Identifier. Resource name of the subscription.
Format: subscriptions/{subscription}
uid: String
Output only. System-assigned unique identifier for the subscription.
target_resource: String
Required. Immutable. The Google Workspace resource that’s monitored for events, formatted as the full resource name. To learn about target resources and the events that they support, see Supported Google Workspace events.
A user can only authorize your app to create one subscription for a given
target resource. If your app tries to create another subscription with the
same user credentials, the request returns an ALREADY_EXISTS
error.
event_types: Vec<String>
Required. Immutable. Unordered list. Input for creating a subscription. Otherwise, output only. One or more types of events to receive about the target resource. Formatted according to the CloudEvents specification.
The supported event types depend on the target resource of your subscription. For details, see Supported Google Workspace events.
By default, you also receive events about the lifecycle of your subscription. You don’t need to specify lifecycle events for this field.
If you specify an event type that doesn’t exist for the target resource,
the request returns an HTTP 400 Bad Request
status code.
payload_options: Option<PayloadOptions>
Optional. Options about what data to include in the event payload. Only supported for Google Chat events.
notification_endpoint: Option<NotificationEndpoint>
Required. Immutable. The endpoint where the subscription delivers events, such as a Pub/Sub topic.
state: i32
Output only. The state of the subscription. Determines whether the subscription can receive events and deliver them to the notification endpoint.
suspension_reason: i32
Output only. The error that suspended the subscription.
To reactivate the subscription, resolve the error and call the
[ReactivateSubscription
][google.apps.events.subscriptions.v1.SubscriptionsService.ReactivateSubscription]
method.
Output only. The user who authorized the creation of the subscription.
Format: users/{user}
For Google Workspace users, the {user}
value is the
user.id
field from the Directory API.
create_time: Option<Timestamp>
Output only. The time when the subscription is created.
update_time: Option<Timestamp>
Output only. The last time that the subscription is updated.
reconciling: bool
Output only. If true
, the subscription is in the process of being
updated.
etag: String
Optional. This checksum is computed by the server based on the value of other fields, and might be sent on update requests to ensure the client has an up-to-date value before proceeding.
expiration: Option<Expiration>
The time when the subscription expires.
The maximum expiration time depends on whether your subscription includes resource data in event payloads (specified in the [PayloadOptions][google.apps.events.subscriptions.v1.PayloadOptions] field):
- If payloads omit resource data, up to 7 days.
- If payloads include resource data, up to 4 hours. If your Google Workspace organization grants access to the resource through domain-wide delegation, you can extend the subscription’s expiration time to up to 24 hours.
After a subscription expires, it’s deleted automatically. You receive lifecycle events to the [notification_endpoint][google.apps.events.subscriptions.v1.Subscription.notification_endpoint] 12 hours and one hour before the subscription expires. For details, see Receive and respond to lifecycle events.
To prevent a subscription from expiring, you can use the
[UpdateSubscription
][google.apps.events.subscriptions.v1.SubscriptionsService.UpdateSubscription]
method to extend its expiration date. For details, see Update or renew a
subscription.
Implementations§
source§impl Subscription
impl Subscription
sourcepub fn state(&self) -> State
pub fn state(&self) -> State
Returns the enum value of state
, or the default if the field is set to an invalid enum value.
sourcepub fn suspension_reason(&self) -> ErrorType
pub fn suspension_reason(&self) -> ErrorType
Returns the enum value of suspension_reason
, or the default if the field is set to an invalid enum value.
sourcepub fn set_suspension_reason(&mut self, value: ErrorType)
pub fn set_suspension_reason(&mut self, value: ErrorType)
Sets suspension_reason
to the provided enum value.
Trait Implementations§
source§impl Clone for Subscription
impl Clone for Subscription
source§fn clone(&self) -> Subscription
fn clone(&self) -> Subscription
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for Subscription
impl Debug for Subscription
source§impl Default for Subscription
impl Default for Subscription
source§impl Message for Subscription
impl Message for Subscription
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for Subscription
impl PartialEq for Subscription
source§fn eq(&self, other: &Subscription) -> bool
fn eq(&self, other: &Subscription) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for Subscription
Auto Trait Implementations§
impl Freeze for Subscription
impl RefUnwindSafe for Subscription
impl Send for Subscription
impl Sync for Subscription
impl Unpin for Subscription
impl UnwindSafe for Subscription
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request