## SchemaService

# Struct SchemaService

Source

    pub struct SchemaService { /* private fields */ }

Expand description

Implements a client for the Cloud Pub/Sub API.

## §Example

    let client = SchemaService::builder().build().await?;
    // use `client` to make requests to the Cloud Pub/Sub API.

## §Service Description

Service for doing schema-related operations.

## §Configuration

To configure `SchemaService` use the `with_*` methods in the type returned by builder(). The default configuration should work for most applications. Common configuration changes include

- with_endpoint(): by default this client uses the global default endpoint (`https://pubsub.googleapis.com`). Applications using regional endpoints or running in restricted networks (e.g. a network configured override this default.
- with_credentials(): by default this client uses Application Default Credentials. Applications using custom authentication may need to override this default.

## §Pooling and Cloning

`SchemaService` holds a connection pool internally, it is advised to create one and the reuse it. You do not need to wrap `SchemaService` in an Rc or Arc to reuse it, because it already uses an `Arc` internally.

## Implementations§

Source§

### impl SchemaService

Source

#### pub fn builder() -> ClientBuilder

Returns a builder for SchemaService.

    let client = SchemaService::builder().build().await?;

Source

#### pub fn from_stub<T>(stub: T) -> Self
where T: SchemaService + 'static,

Creates a new client from the provided stub.

The most common case for calling this function is in tests mocking the client’s behavior.

Source

#### pub fn create_schema(&self) -> CreateSchema

Creates a schema.

Source

#### pub fn get_schema(&self) -> GetSchema

Gets a schema.

Source

#### pub fn list_schemas(&self) -> ListSchemas

Lists schemas in a project.

Source

#### pub fn list_schema_revisions(&self) -> ListSchemaRevisions

Lists all schema revisions for the named schema.

Source

#### pub fn commit_schema(&self) -> CommitSchema

Commits a new schema revision to an existing schema.

Source

#### pub fn rollback_schema(&self) -> RollbackSchema

Creates a new schema revision that is a copy of the provided revision_id.

Source

#### pub fn delete_schema_revision(&self) -> DeleteSchemaRevision

Deletes a specific schema revision.

Source

#### pub fn delete_schema(&self) -> DeleteSchema

Deletes a schema.

Source

#### pub fn validate_schema(&self) -> ValidateSchema

Validates a schema.

Source

#### pub fn validate_message(&self) -> ValidateMessage

Validates a message against a schema.

Source

#### pub fn set_iam_policy(&self) -> SetIamPolicy

Sets the access control policy on the specified resource. Replaces any existing policy.

Can return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.

Source

#### pub fn get_iam_policy(&self) -> GetIamPolicy

Gets the access control policy for a resource. Returns an empty policy if the resource exists and does not have a policy set.

Source

#### pub fn test_iam_permissions(&self) -> TestIamPermissions

Returns permissions that a caller has on the specified resource. If the resource does not exist, this will return an empty set of permissions, not a `NOT_FOUND` error.

Note: This operation is designed to be used for building permission-aware UIs and command-line tools, not for authorization checking. This operation may “fail open” without warning.

## Trait Implementations§

Source§

### impl Clone for SchemaService

Source§

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

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 SchemaService

Source§

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

Formats the value using the given formatter. Read more

## Auto Trait Implementations§

§

### impl Freeze for SchemaService

§

### impl !RefUnwindSafe for SchemaService

§

### impl Send for SchemaService

§

### impl Sync for SchemaService

§

### impl Unpin for SchemaService

§

### impl !UnwindSafe for SchemaService

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