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.

§authority: String

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

source

pub fn state(&self) -> State

Returns the enum value of state, or the default if the field is set to an invalid enum value.

source

pub fn set_state(&mut self, value: State)

Sets state to the provided enum value.

source

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.

source

pub fn set_suspension_reason(&mut self, value: ErrorType)

Sets suspension_reason to the provided enum value.

Trait Implementations§

source§

impl Clone for Subscription

source§

fn clone(&self) -> Subscription

Returns a copy of the value. Read more
1.0.0 · source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
source§

impl Debug for Subscription

source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
source§

impl Default for Subscription

source§

fn default() -> Self

Returns the “default value” for a type. Read more
source§

impl Message for Subscription

source§

fn encoded_len(&self) -> usize

Returns the encoded length of the message without a length delimiter.
source§

fn clear(&mut self)

Clears the message, resetting all fields to their default.
source§

fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message to a buffer. Read more
source§

fn encode_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message to a newly allocated buffer.
source§

fn encode_length_delimited( &self, buf: &mut impl BufMut, ) -> Result<(), EncodeError>
where Self: Sized,

Encodes the message with a length-delimiter to a buffer. Read more
source§

fn encode_length_delimited_to_vec(&self) -> Vec<u8>
where Self: Sized,

Encodes the message with a length-delimiter to a newly allocated buffer.
source§

fn decode(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes an instance of the message from a buffer. Read more
source§

fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>
where Self: Default,

Decodes a length-delimited instance of the message from the buffer.
source§

fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes an instance of the message from a buffer, and merges it into self. Read more
source§

fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>
where Self: Sized,

Decodes a length-delimited instance of the message from buffer, and merges it into self.
source§

impl PartialEq for Subscription

source§

fn eq(&self, other: &Subscription) -> bool

This method tests for self and other values to be equal, and is used by ==.
1.0.0 · source§

fn ne(&self, other: &Rhs) -> bool

This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
source§

impl StructuralPartialEq for Subscription

Auto Trait Implementations§

Blanket Implementations§

source§

impl<T> Any for T
where T: 'static + ?Sized,

source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
source§

impl<T> Borrow<T> for T
where T: ?Sized,

source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
source§

impl<T> From<T> for T

source§

fn from(t: T) -> T

Returns the argument unchanged.

§

impl<T> FromRef<T> for T
where T: Clone,

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
source§

impl<T, U> Into<U> for T
where U: From<T>,

source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

source§

impl<T> IntoRequest<T> for T

source§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
source§

impl<T> ToOwned for T
where T: Clone,

§

type Owned = T

The resulting type after obtaining ownership.
source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

§

type Error = Infallible

The type returned in the event of a conversion error.
source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more