Struct gapi_grpc::google::cloud::policytroubleshooter::v1::BindingExplanation [−][src]
Details about how a binding in a policy affects a member’s ability to use a permission.
Fields
access: i32
Required. Indicates whether this binding provides the specified permission to the specified member for the specified resource.
This field does not indicate whether the member actually has the
permission for the resource. There might be another binding that overrides
this binding. To determine whether the member actually has the permission,
use the access
field in the
[TroubleshootIamPolicyResponse][IamChecker.TroubleshootIamPolicyResponse].
role: String
The role that this binding grants. For example,
roles/compute.serviceAgent
.
For a complete list of predefined IAM roles, as well as the permissions in each role, see https://cloud.google.com/iam/help/roles/reference.
role_permission: i32
Indicates whether the role granted by this binding contains the specified permission.
role_permission_relevance: i32
The relevance of the permission’s existence, or nonexistence, in the role to the overall determination for the entire policy.
memberships: HashMap<String, AnnotatedMembership>
Indicates whether each member in the binding includes the member specified in the request, either directly or indirectly. Each key identifies a member in the binding, and each value indicates whether the member in the binding includes the member in the request.
For example, suppose that a binding includes the following members:
user:alice@example.com
group:product-eng@example.com
You want to troubleshoot access for user:bob@example.com
. This user is a
member of the group group:product-eng@example.com
.
For the first member in the binding, the key is user:alice@example.com
,
and the membership
field in the value is set to
MEMBERSHIP_NOT_INCLUDED
.
For the second member in the binding, the key is
group:product-eng@example.com
, and the membership
field in the value is
set to MEMBERSHIP_INCLUDED
.
relevance: i32
The relevance of this binding to the overall determination for the entire policy.
condition: Option<Expr>
A condition expression that prevents access unless the expression evaluates
to true
.
To learn about IAM Conditions, see http://cloud.google.com/iam/help/conditions/overview.
Implementations
impl BindingExplanation
[src]
pub fn access(&self) -> AccessState
[src]
Returns the enum value of access
, or the default if the field is set to an invalid enum value.
pub fn set_access(&mut self, value: AccessState)
[src]
Sets access
to the provided enum value.
pub fn role_permission(&self) -> RolePermission
[src]
Returns the enum value of role_permission
, or the default if the field is set to an invalid enum value.
pub fn set_role_permission(&mut self, value: RolePermission)
[src]
Sets role_permission
to the provided enum value.
pub fn role_permission_relevance(&self) -> HeuristicRelevance
[src]
Returns the enum value of role_permission_relevance
, or the default if the field is set to an invalid enum value.
pub fn set_role_permission_relevance(&mut self, value: HeuristicRelevance)
[src]
Sets role_permission_relevance
to the provided enum value.
pub fn relevance(&self) -> HeuristicRelevance
[src]
Returns the enum value of relevance
, or the default if the field is set to an invalid enum value.
pub fn set_relevance(&mut self, value: HeuristicRelevance)
[src]
Sets relevance
to the provided enum value.
Trait Implementations
impl Clone for BindingExplanation
[src]
fn clone(&self) -> BindingExplanation
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for BindingExplanation
[src]
impl Default for BindingExplanation
[src]
fn default() -> BindingExplanation
[src]
impl Message for BindingExplanation
[src]
fn encode_raw<B>(&self, buf: &mut B) where
B: BufMut,
[src]
B: BufMut,
fn merge_field<B>(
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
[src]
&mut self,
tag: u32,
wire_type: WireType,
buf: &mut B,
ctx: DecodeContext
) -> Result<(), DecodeError> where
B: Buf,
fn encoded_len(&self) -> usize
[src]
fn clear(&mut self)
[src]
pub fn encode<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn encode_length_delimited<B>(&self, buf: &mut B) -> Result<(), EncodeError> where
B: BufMut,
[src]
B: BufMut,
pub fn decode<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn decode_length_delimited<B>(buf: B) -> Result<Self, DecodeError> where
Self: Default,
B: Buf,
[src]
Self: Default,
B: Buf,
pub fn merge<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
pub fn merge_length_delimited<B>(&mut self, buf: B) -> Result<(), DecodeError> where
B: Buf,
[src]
B: Buf,
impl PartialEq<BindingExplanation> for BindingExplanation
[src]
fn eq(&self, other: &BindingExplanation) -> bool
[src]
fn ne(&self, other: &BindingExplanation) -> bool
[src]
impl StructuralPartialEq for BindingExplanation
[src]
Auto Trait Implementations
impl RefUnwindSafe for BindingExplanation
impl Send for BindingExplanation
impl Sync for BindingExplanation
impl Unpin for BindingExplanation
impl UnwindSafe for BindingExplanation
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> IntoRequest<T> for T
[src]
pub fn into_request(self) -> Request<T>
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
[src]
V: MultiLane<T>,
impl<T> WithSubscriber for T
[src]
pub fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self> where
S: Into<Dispatch>,
[src]
S: Into<Dispatch>,