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: StringThe partition this principal exists in.
account_id: StringThe account id.
path: StringPath, starting with a /.
role_name: StringName of the principal, case-insensitive.
data: TPrincipal 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,