Struct google_api_proto::google::cloud::policytroubleshooter::iam::v3::AllowBindingExplanation
source · pub struct AllowBindingExplanation {
pub allow_access_state: i32,
pub role: String,
pub role_permission: i32,
pub role_permission_relevance: i32,
pub combined_membership: Option<AnnotatedAllowMembership>,
pub memberships: BTreeMap<String, AnnotatedAllowMembership>,
pub relevance: i32,
pub condition: Option<Expr>,
pub condition_explanation: Option<ConditionExplanation>,
}
Expand description
Details about how a role binding in an allow policy affects a principal’s ability to use a permission.
Fields§
§allow_access_state: i32
Required. Indicates whether this role binding gives the specified permission to the specified principal on the specified resource.
This field does not indicate whether the principal actually has the
permission on the resource. There might be another role binding that
overrides this role binding. To determine whether the principal actually
has the permission, use the overall_access_state
field in the
[TroubleshootIamPolicyResponse][google.cloud.policytroubleshooter.iam.v3.TroubleshootIamPolicyResponse].
role: String
The role that this role binding grants. For example,
roles/compute.admin
.
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 role 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.
combined_membership: Option<AnnotatedAllowMembership>
The combined result of all memberships. Indicates if the principal is included in any role binding, either directly or indirectly.
memberships: BTreeMap<String, AnnotatedAllowMembership>
Indicates whether each role binding includes the principal specified in the request, either directly or indirectly. Each key identifies a principal in the role binding, and each value indicates whether the principal in the role binding includes the principal in the request.
For example, suppose that a role binding includes the following principals:
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 principal in the role binding, the key is
user:alice@example.com
, and the membership
field in the value is set to
NOT_INCLUDED
.
For the second principal in the role binding, the key is
group:product-eng@example.com
, and the membership
field in the value is
set to INCLUDED
.
relevance: i32
The relevance of this role binding to the overall determination for the entire policy.
condition: Option<Expr>
A condition expression that specifies when the role binding grants access.
To learn about IAM Conditions, see https://cloud.google.com/iam/help/conditions/overview.
condition_explanation: Option<ConditionExplanation>
Condition evaluation state for this role binding.
Implementations§
source§impl AllowBindingExplanation
impl AllowBindingExplanation
sourcepub fn allow_access_state(&self) -> AllowAccessState
pub fn allow_access_state(&self) -> AllowAccessState
Returns the enum value of allow_access_state
, or the default if the field is set to an invalid enum value.
sourcepub fn set_allow_access_state(&mut self, value: AllowAccessState)
pub fn set_allow_access_state(&mut self, value: AllowAccessState)
Sets allow_access_state
to the provided enum value.
sourcepub fn role_permission(&self) -> RolePermissionInclusionState
pub fn role_permission(&self) -> RolePermissionInclusionState
Returns the enum value of role_permission
, or the default if the field is set to an invalid enum value.
sourcepub fn set_role_permission(&mut self, value: RolePermissionInclusionState)
pub fn set_role_permission(&mut self, value: RolePermissionInclusionState)
Sets role_permission
to the provided enum value.
sourcepub fn role_permission_relevance(&self) -> HeuristicRelevance
pub fn role_permission_relevance(&self) -> HeuristicRelevance
Returns the enum value of role_permission_relevance
, or the default if the field is set to an invalid enum value.
sourcepub fn set_role_permission_relevance(&mut self, value: HeuristicRelevance)
pub fn set_role_permission_relevance(&mut self, value: HeuristicRelevance)
Sets role_permission_relevance
to the provided enum value.
sourcepub fn relevance(&self) -> HeuristicRelevance
pub fn relevance(&self) -> HeuristicRelevance
Returns the enum value of relevance
, or the default if the field is set to an invalid enum value.
sourcepub fn set_relevance(&mut self, value: HeuristicRelevance)
pub fn set_relevance(&mut self, value: HeuristicRelevance)
Sets relevance
to the provided enum value.
Trait Implementations§
source§impl Clone for AllowBindingExplanation
impl Clone for AllowBindingExplanation
source§fn clone(&self) -> AllowBindingExplanation
fn clone(&self) -> AllowBindingExplanation
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for AllowBindingExplanation
impl Debug for AllowBindingExplanation
source§impl Default for AllowBindingExplanation
impl Default for AllowBindingExplanation
source§impl Message for AllowBindingExplanation
impl Message for AllowBindingExplanation
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for AllowBindingExplanation
impl PartialEq for AllowBindingExplanation
source§fn eq(&self, other: &AllowBindingExplanation) -> bool
fn eq(&self, other: &AllowBindingExplanation) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for AllowBindingExplanation
Auto Trait Implementations§
impl Freeze for AllowBindingExplanation
impl RefUnwindSafe for AllowBindingExplanation
impl Send for AllowBindingExplanation
impl Sync for AllowBindingExplanation
impl Unpin for AllowBindingExplanation
impl UnwindSafe for AllowBindingExplanation
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
source§impl<T> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
T
in a tonic::Request