[][src]Struct gcp_client::google::iam::v1::iam_policy_client::IamPolicyClient

pub struct IamPolicyClient<T> { /* fields omitted */ }

API Overview

Manages Identity and Access Management (IAM) policies.

Any implementation of an API that offers access control features implements the google.iam.v1.IAMPolicy interface.

Data model

Access control is applied when a principal (user or service account), takes some action on a resource exposed by a service. Resources, identified by URI-like names, are the unit of access control specification. Service implementations can choose the granularity of access control and the supported permissions for their resources. For example one database service may allow access control to be specified only at the Table level, whereas another might allow access control to also be specified at the Column level.

Policy Structure

See google.iam.v1.Policy

This is intentionally not a CRUD style API because access control policies are created and deleted implicitly with the resources to which they are attached.

Implementations

impl<T> IamPolicyClient<T> where
    T: GrpcService<BoxBody>,
    T::ResponseBody: Body + HttpBody + Send + 'static,
    T::Error: Into<StdError>,
    <T::ResponseBody as HttpBody>::Error: Into<StdError> + Send
[src]

pub fn new(inner: T) -> Self[src]

pub fn with_interceptor(inner: T, interceptor: impl Into<Interceptor>) -> Self[src]

pub async fn set_iam_policy<'_>(
    &'_ mut self,
    request: impl IntoRequest<SetIamPolicyRequest>
) -> Result<Response<Policy>, Status>
[src]

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

pub async fn get_iam_policy<'_>(
    &'_ mut self,
    request: impl IntoRequest<GetIamPolicyRequest>
) -> Result<Response<Policy>, Status>
[src]

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

pub async fn test_iam_permissions<'_>(
    &'_ mut self,
    request: impl IntoRequest<TestIamPermissionsRequest>
) -> Result<Response<TestIamPermissionsResponse>, Status>
[src]

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

impl<T: Clone> Clone for IamPolicyClient<T>[src]

impl<T> Debug for IamPolicyClient<T>[src]

Auto Trait Implementations

impl<T> !RefUnwindSafe for IamPolicyClient<T>

impl<T> Send for IamPolicyClient<T> where
    T: Send

impl<T> Sync for IamPolicyClient<T> where
    T: Sync

impl<T> Unpin for IamPolicyClient<T> where
    T: Unpin

impl<T> !UnwindSafe for IamPolicyClient<T>

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> From<T> for T[src]

impl<T> Instrument for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> IntoRequest<T> for T[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

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

The type returned in the event of a conversion error.

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

impl<T> WithSubscriber for T[src]