pub struct AssumedRole { /* private fields */ }
Expand description
Details about an AWS STS assumed role.
AssumedRole
structs are immutable.
Implementations§
Source§impl AssumedRole
impl AssumedRole
Sourcepub fn new(
partition: &str,
account_id: &str,
role_name: &str,
session_name: &str,
) -> Result<Self, PrincipalError>
pub fn new( partition: &str, account_id: &str, role_name: &str, session_name: &str, ) -> Result<Self, PrincipalError>
Create an AssumedRole object.
§Arguments:
partition
: The partition this principal exists in.account_id
: The 12 digit account id. This must be composed of 12 ASCII digits or a PrincipalError::InvalidAccountId error will be returned.role_name
: The name of the role being assumed. 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
, - . = @ _
.
session_name
: A name to assign to the session. This must meet the following requirements or a PrincipalError::InvalidSessionName error will be returned:- The session name must contain between 2 and 64 characters.
- The session name must be composed to ASCII alphanumeric characters or one of
, - . = @ _
.
§Return value
If all of the requirements are met, an AssumedRole object is returned. Otherwise, a PrincipalError error is returned.
§Example
let assumed_role = AssumedRole::new("aws", "123456789012", "role-name", "session-name").unwrap();
assert_eq!(assumed_role.partition(), "aws");
assert_eq!(assumed_role.account_id(), "123456789012");
assert_eq!(assumed_role.role_name(), "role-name");
assert_eq!(assumed_role.session_name(), "session-name");
Sourcepub fn account_id(&self) -> &str
pub fn account_id(&self) -> &str
The account ID of the assumed role.
Sourcepub fn session_name(&self) -> &str
pub fn session_name(&self) -> &str
The name of the session.
Trait Implementations§
Source§impl Clone for AssumedRole
impl Clone for AssumedRole
Source§fn clone(&self) -> AssumedRole
fn clone(&self) -> AssumedRole
Returns a copy of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source
. Read moreSource§impl Debug for AssumedRole
impl Debug for AssumedRole
Source§impl Display for AssumedRole
impl Display for AssumedRole
Source§impl From<&AssumedRole> for Arn
impl From<&AssumedRole> for Arn
Source§fn from(role: &AssumedRole) -> Arn
fn from(role: &AssumedRole) -> Arn
Converts to this type from the input type.
Source§impl From<AssumedRole> for Principal
impl From<AssumedRole> for Principal
Source§fn from(role: AssumedRole) -> Self
fn from(role: AssumedRole) -> Self
Converts to this type from the input type.
Source§impl From<AssumedRole> for PrincipalIdentity
Wrap an AssumedRole in a PrincipalIdentity.
impl From<AssumedRole> for PrincipalIdentity
Wrap an AssumedRole in a PrincipalIdentity.
Source§fn from(assumed_role: AssumedRole) -> Self
fn from(assumed_role: AssumedRole) -> Self
Converts to this type from the input type.
Source§impl FromStr for AssumedRole
impl FromStr for AssumedRole
Source§fn from_str(arn: &str) -> Result<Self, PrincipalError>
fn from_str(arn: &str) -> Result<Self, PrincipalError>
Parse an ARN, returning an AssumedRole if the ARN is a valid assumed role ARN.
§Example
let result = AssumedRole::from_str("arn:aws:sts::123456789012:assumed-role/role-name/session-name");
assert!(result.is_ok());
Source§type Err = PrincipalError
type Err = PrincipalError
The associated error which can be returned from parsing.
Source§impl Hash for AssumedRole
impl Hash for AssumedRole
Source§impl Ord for AssumedRole
impl Ord for AssumedRole
Source§fn cmp(&self, other: &AssumedRole) -> Ordering
fn cmp(&self, other: &AssumedRole) -> Ordering
1.21.0 · Source§fn max(self, other: Self) -> Selfwhere
Self: Sized,
fn max(self, other: Self) -> Selfwhere
Self: Sized,
Compares and returns the maximum of two values. Read more
Source§impl PartialEq for AssumedRole
impl PartialEq for AssumedRole
Source§impl PartialOrd for AssumedRole
impl PartialOrd for AssumedRole
Source§impl TryFrom<&Arn> for AssumedRole
impl TryFrom<&Arn> for AssumedRole
Source§fn try_from(arn: &Arn) -> Result<Self, Self::Error>
fn try_from(arn: &Arn) -> Result<Self, Self::Error>
If an Arn represents a valid assumed role, convert it to an AssumedRole; otherwise, return a PrincipalError indicating what is wrong with the ARN.
§Example
let arn = Arn::from_str("arn:aws:sts::123456789012:assumed-role/role-name/session-name").unwrap();
let assumed_role = AssumedRole::try_from(&arn).unwrap();
assert_eq!(assumed_role.role_name(), "role-name");
assert_eq!(assumed_role.session_name(), "session-name");
Source§type Error = PrincipalError
type Error = PrincipalError
The type returned in the event of a conversion error.
impl Eq for AssumedRole
impl StructuralPartialEq for AssumedRole
Auto Trait Implementations§
impl Freeze for AssumedRole
impl RefUnwindSafe for AssumedRole
impl Send for AssumedRole
impl Sync for AssumedRole
impl Unpin for AssumedRole
impl UnwindSafe for AssumedRole
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