## PushConfig

# Struct PushConfig

Source

    #[non_exhaustive]pub struct PushConfig {
        pub push_endpoint: String,
        pub attributes: HashMap<String, String>,
        pub authentication_method: Option<AuthenticationMethod>,
        pub wrapper: Option<Wrapper>,
        /* private fields */
    }

Expand description

Configuration for a push delivery endpoint.

## Fields (Non-exhaustive)§

This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional `Struct { .. }` syntax; cannot be matched against without a wildcard `..`; and struct update syntax will not work.
§`push_endpoint: String`

Optional. A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use `<https://example.com/push>`.

§`attributes: HashMap<String, String>`

Optional. Endpoint configuration attributes that can be used to control different aspects of the message delivery.

The only currently supported attribute is `x-goog-version`, which you can use to change the format of the pushed message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the pushed message (i.e., its fields and metadata).

If not present during the `CreateSubscription` call, it will default to the version of the Pub/Sub API used to make such call. If not present in a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute.

The only supported values for the `x-goog-version` attribute are:

- `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API.
- `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.

For example: `attributes { "x-goog-version": "v1" }`

§`authentication_method: Option<AuthenticationMethod>`

An authentication method used by push endpoints to verify the source of push requests. This can be used with push endpoints that are private by default to allow requests only from the Pub/Sub system, for example. This field is optional and should be set only by users interested in authenticated push.

§`wrapper: Option<Wrapper>`

The format of the delivered message to the push endpoint is defined by the chosen wrapper. When unset, `PubsubWrapper` is used.

## Implementations§

Source§

### impl PushConfig

Source

#### pub fn new() -> Self

Source

#### pub fn set_push_endpoint<T: Into<String>>(self, v: T) -> Self

Sets the value of push_endpoint.

##### §Example

ⓘ

    let x = PushConfig::new().set_push_endpoint("example");

Source

#### pub fn set_attributes<T, K, V>(self, v: T) -> Self
where T: IntoIterator<Item = (K, V)>, K: Into<String>, V: Into<String>,

Sets the value of attributes.

##### §Example

ⓘ

    let x = PushConfig::new().set_attributes([
        ("key0", "abc"),
        ("key1", "xyz"),
    ]);

Source

#### pub fn set_authentication_method<T: Into<Option<AuthenticationMethod>>>( self, v: T, ) -> Self

Sets the value of authentication_method.

Note that all the setters affecting `authentication_method` are mutually exclusive.

##### §Example

ⓘ

    use google_cloud_pubsub::model::push_config::OidcToken;
    let x = PushConfig::new().set_authentication_method(Some(
        google_cloud_pubsub::model::push_config::AuthenticationMethod::OidcToken(OidcToken::default().into())));

Source

#### pub fn oidc_token(&self) -> Option<&Box<OidcToken>>

The value of authentication_method if it holds a `OidcToken`, `None` if the field is not set or holds a different branch.

Source

#### pub fn set_oidc_token<T: Into<Box<OidcToken>>>(self, v: T) -> Self

Sets the value of authentication_method to hold a `OidcToken`.

Note that all the setters affecting `authentication_method` are mutually exclusive.

##### §Example

ⓘ

    use google_cloud_pubsub::model::push_config::OidcToken;
    let x = PushConfig::new().set_oidc_token(OidcToken::default()/* use setters */);
    assert!(x.oidc_token().is_some());

Source

#### pub fn set_wrapper<T: Into<Option<Wrapper>>>(self, v: T) -> Self

Sets the value of wrapper.

Note that all the setters affecting `wrapper` are mutually exclusive.

##### §Example

ⓘ

    use google_cloud_pubsub::model::push_config::PubsubWrapper;
    let x = PushConfig::new().set_wrapper(Some(
        google_cloud_pubsub::model::push_config::Wrapper::PubsubWrapper(PubsubWrapper::default().into())));

Source

#### pub fn pubsub_wrapper(&self) -> Option<&Box<PubsubWrapper>>

The value of wrapper if it holds a `PubsubWrapper`, `None` if the field is not set or holds a different branch.

Source

#### pub fn set_pubsub_wrapper<T: Into<Box<PubsubWrapper>>>(self, v: T) -> Self

Sets the value of wrapper to hold a `PubsubWrapper`.

Note that all the setters affecting `wrapper` are mutually exclusive.

##### §Example

ⓘ

    use google_cloud_pubsub::model::push_config::PubsubWrapper;
    let x = PushConfig::new().set_pubsub_wrapper(PubsubWrapper::default()/* use setters */);
    assert!(x.pubsub_wrapper().is_some());
    assert!(x.no_wrapper().is_none());

Source

#### pub fn no_wrapper(&self) -> Option<&Box<NoWrapper>>

The value of wrapper if it holds a `NoWrapper`, `None` if the field is not set or holds a different branch.

Source

#### pub fn set_no_wrapper<T: Into<Box<NoWrapper>>>(self, v: T) -> Self

Sets the value of wrapper to hold a `NoWrapper`.

Note that all the setters affecting `wrapper` are mutually exclusive.

##### §Example

ⓘ

    use google_cloud_pubsub::model::push_config::NoWrapper;
    let x = PushConfig::new().set_no_wrapper(NoWrapper::default()/* use setters */);
    assert!(x.no_wrapper().is_some());
    assert!(x.pubsub_wrapper().is_none());

## Trait Implementations§

Source§

### impl Clone for PushConfig

Source§

#### fn clone(&self) -> PushConfig

Returns a duplicate 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 PushConfig

Source§

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

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

### impl Default for PushConfig

Source§

#### fn default() -> PushConfig

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

### impl Message for PushConfig

Source§

#### fn typename() -> &'static str

The typename of this message.
Source§

### impl PartialEq for PushConfig

Source§

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

Tests for `self` and `other` values to be equal, and is used by `==`.
1.0.0 · Source§

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

Tests for `!=`. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

### impl StructuralPartialEq for PushConfig

## Auto Trait Implementations§

§

### impl Freeze for PushConfig

§

### impl RefUnwindSafe for PushConfig

§

### impl Send for PushConfig

§

### impl Sync for PushConfig

§

### impl Unpin for PushConfig

§

### impl UnwindSafe for PushConfig

## 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> CloneToUninit for T
where T: Clone,

Source§

#### unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (`clone_to_uninit`)
Performs copy-assignment from `self` to `dest`. Read more
Source§

### impl<T> From<T> for T

Source§

#### fn from(t: T) -> T

Returns the argument unchanged.

§

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

§

### impl<T> IntoRequest<T> for T

§

#### fn into_request(self) -> Request<T>

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

### impl<L> LayerExt<L> for L

§

#### fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [`Layered`].
§

### impl<T> PolicyExt for T
where T: ?Sized,

§

#### fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new `Policy` that returns [`Action::Follow`] only if `self` and `other` return `Action::Follow`. Read more
§

#### fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new `Policy` that returns [`Action::Follow`] if either `self` or `other` returns `Action::Follow`. Read more
Source§

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

Source§

#### 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>,

Source§

#### 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>,

Source§

#### 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
Source§

### impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,