Struct scratchstack_aws_principal::details::UserDetails [−][src]
pub struct UserDetails<T: Data> { pub partition: String, pub account_id: String, pub path: String, pub user_name: String, pub data: T, }
Details about an AWS IAM user.
Fields
partition: StringThe partition this principal exists in.
account_id: StringThe account id.
path: StringPath, starting with a /.
user_name: StringName of the principal, case-insensitive.
data: TPrincipal flavor-specific data.
Implementations
impl<T: Data> UserDetails<T>[src]
impl<T: Data> UserDetails<T>[src]pub fn new<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
user_name: S4,
data: T
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>, [src]
partition: S1,
account_id: S2,
path: S3,
user_name: S4,
data: T
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Create a UserDetails object.
Arguments
account_id: The 12 digit account id. This must be composed of 12 ASCII digits or a PrincipalError::InvalidAccountId error will be returned.path: The IAM path the group is under. This must meet the following requirements or a PrincipalError::InvalidPath error will be returned:- The path must contain between 1 and 512 characters.
- The path must start and end with
/. - All characters in the path must be in the ASCII range 0x21 (
!) through 0x7E (~). The AWS documentation erroneously indicates that 0x7F (DEL) is acceptable; however, the IAM APIs reject this character.
user_name: The name of the user. This must meet the following requirements or a PrincipalError::InvalidUserName error will be returned:- The name must contain between 1 and 64 characters.
- The name must be composed to ASCII alphanumeric characters or one of
, - . = @ _.
data: Principal flavor-specific data.
Return value
If all of the requirements are met, a UserDetails object is returned. Otherwise, a PrincipalError error is returned.
Trait Implementations
impl<T: Clone + Data> Clone for UserDetails<T>[src]
impl<T: Clone + Data> Clone for UserDetails<T>[src]fn clone(&self) -> UserDetails<T>[src]
pub fn clone_from(&mut self, source: &Self)1.0.0[src]
impl<T: Debug + Data> Debug for UserDetails<T>[src]
impl<T: Debug + Data> Debug for UserDetails<T>[src]impl<T: Eq + Data> Eq for UserDetails<T>[src]
impl<T: Eq + Data> Eq for UserDetails<T>[src]impl From<UserDetails<String>> for UserDetails<()>[src]
impl From<UserDetails<String>> for UserDetails<()>[src]fn from(from: UserDetails) -> UserDetails<()>[src]
impl<T: PartialEq + Data> PartialEq<UserDetails<T>> for UserDetails<T>[src]
impl<T: PartialEq + Data> PartialEq<UserDetails<T>> for UserDetails<T>[src]fn eq(&self, other: &UserDetails<T>) -> bool[src]
fn ne(&self, other: &UserDetails<T>) -> bool[src]
impl<T: Data> StructuralEq for UserDetails<T>[src]
impl<T: Data> StructuralEq for UserDetails<T>[src]impl<T: Data> StructuralPartialEq for UserDetails<T>[src]
impl<T: Data> StructuralPartialEq for UserDetails<T>[src]Auto Trait Implementations
impl<T> RefUnwindSafe for UserDetails<T> where
T: RefUnwindSafe,
impl<T> RefUnwindSafe for UserDetails<T> where
T: RefUnwindSafe, impl<T> Send for UserDetails<T>
impl<T> Send for UserDetails<T>impl<T> Sync for UserDetails<T>
impl<T> Sync for UserDetails<T>impl<T> Unpin for UserDetails<T> where
T: Unpin,
impl<T> Unpin for UserDetails<T> where
T: Unpin, impl<T> UnwindSafe for UserDetails<T> where
T: UnwindSafe,
impl<T> UnwindSafe for UserDetails<T> where
T: UnwindSafe,