Struct scratchstack_aws_principal::AssumedRole
source · 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
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());
§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<AssumedRole> for AssumedRole
impl PartialEq<AssumedRole> for AssumedRole
source§fn eq(&self, other: &AssumedRole) -> bool
fn eq(&self, other: &AssumedRole) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl PartialOrd<AssumedRole> for AssumedRole
impl PartialOrd<AssumedRole> for AssumedRole
source§fn partial_cmp(&self, other: &AssumedRole) -> Option<Ordering>
fn partial_cmp(&self, other: &AssumedRole) -> Option<Ordering>
1.0.0 · source§fn le(&self, other: &Rhs) -> bool
fn le(&self, other: &Rhs) -> bool
This method tests less than or equal to (for
self
and other
) and is used by the <=
operator. Read moresource§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");
§type Error = PrincipalError
type Error = PrincipalError
The type returned in the event of a conversion error.