#[non_exhaustive]pub enum Principal<'a> {
User {
user: &'a str,
},
ServiceAccount {
organization: &'a str,
service_account: &'a str,
},
ServiceAgent {
service_agent: &'a str,
},
Service {
service: &'a str,
},
}Expand description
Who acts: a principal, as a member of a role binding or the actor of an audit entry names it. Each is an iam full name.
An organisation acting on its own has no full name yet, and so no variant.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
User
A user: //iam.origincloudapis.eu/users/{user}.
ServiceAccount
An organization’s service account:
//iam.origincloudapis.eu/organizations/{organization}/serviceAccounts/{service_account}.
Fields
ServiceAgent
A service agent, a platform service acting in a customer’s project:
//iam.origincloudapis.eu/serviceAgents/{service_agent}.
Service
An internal platform service:
//iam.origincloudapis.eu/services/{service}.
Implementations§
Trait Implementations§
impl<'a> Copy for Principal<'a>
impl<'a> Eq for Principal<'a>
impl<'a> StructuralPartialEq for Principal<'a>
Auto Trait Implementations§
impl<'a> Forget for Principal<'a>
impl<'a> Freeze for Principal<'a>
impl<'a> Move for Principal<'a>
impl<'a> RefUnwindSafe for Principal<'a>
impl<'a> Send for Principal<'a>
impl<'a> Sync for Principal<'a>
impl<'a> Unpin for Principal<'a>
impl<'a> UnsafeUnpin for Principal<'a>
impl<'a> UnwindSafe for Principal<'a>
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.