Struct scratchstack_aws_principal::details::RoleDetails [−][src]
pub struct RoleDetails<T: Data> { pub partition: String, pub account_id: String, pub path: String, pub role_name: String, pub data: T, }
Details about an AWS IAM role.
Fields
partition: String
The partition this principal exists in.
account_id: String
The account id.
path: String
Path, starting with a /
.
role_name: String
Name of the principal, case-insensitive.
data: T
Principal flavor-specific data.
Implementations
impl<T: Data> RoleDetails<T>
[src]
impl<T: Data> RoleDetails<T>
[src]pub fn new<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
role_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,
role_name: S4,
data: T
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Create a RoleDetails 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.
role_name
: The name of the role. This must meet the following requirements or a PrincipalError::InvalidRoleName 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 RoleDetails object is returned. Otherwise, a PrincipalError error is returned.
Trait Implementations
impl<T: Clone + Data> Clone for RoleDetails<T>
[src]
impl<T: Clone + Data> Clone for RoleDetails<T>
[src]fn clone(&self) -> RoleDetails<T>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<T: Debug + Data> Debug for RoleDetails<T>
[src]
impl<T: Debug + Data> Debug for RoleDetails<T>
[src]impl<T: Eq + Data> Eq for RoleDetails<T>
[src]
impl<T: Eq + Data> Eq for RoleDetails<T>
[src]impl From<RoleDetails<String>> for RoleDetails<()>
[src]
impl From<RoleDetails<String>> for RoleDetails<()>
[src]fn from(from: RoleDetails) -> RoleDetails<()>
[src]
impl<T: PartialEq + Data> PartialEq<RoleDetails<T>> for RoleDetails<T>
[src]
impl<T: PartialEq + Data> PartialEq<RoleDetails<T>> for RoleDetails<T>
[src]fn eq(&self, other: &RoleDetails<T>) -> bool
[src]
fn ne(&self, other: &RoleDetails<T>) -> bool
[src]
impl<T: Data> StructuralEq for RoleDetails<T>
[src]
impl<T: Data> StructuralEq for RoleDetails<T>
[src]impl<T: Data> StructuralPartialEq for RoleDetails<T>
[src]
impl<T: Data> StructuralPartialEq for RoleDetails<T>
[src]Auto Trait Implementations
impl<T> RefUnwindSafe for RoleDetails<T> where
T: RefUnwindSafe,
impl<T> RefUnwindSafe for RoleDetails<T> where
T: RefUnwindSafe,
impl<T> Send for RoleDetails<T>
impl<T> Send for RoleDetails<T>
impl<T> Sync for RoleDetails<T>
impl<T> Sync for RoleDetails<T>
impl<T> Unpin for RoleDetails<T> where
T: Unpin,
impl<T> Unpin for RoleDetails<T> where
T: Unpin,
impl<T> UnwindSafe for RoleDetails<T> where
T: UnwindSafe,
impl<T> UnwindSafe for RoleDetails<T> where
T: UnwindSafe,