Struct scratchstack_aws_principal::policy::PolicyPrincipal [−][src]
pub struct PolicyPrincipal { pub partition: String, pub details: PolicyPrincipalDetails, }
An AWS principal referred to in an Aspen policy.
Fields
partition: String
The partition this principal exists in.
details: PolicyPrincipalDetails
Specific details about the principal.
Implementations
impl PolicyPrincipal
[src]
pub fn assumed_role<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
role_name: S3,
session_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
[src]
partition: S1,
account_id: S2,
role_name: S3,
session_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Return a principal for an assumed role.
Arguments:
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
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, a PolicyPrincipal with AssumedRoleDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn federated_user<S1, S2, S3>(
partition: S1,
account_id: S2,
user_name: S3
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
[src]
partition: S1,
account_id: S2,
user_name: S3
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
Return a principal for a federated user.
Arguments:
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
account_id
: The 12 digit account id. This must be composed of 12 ASCII digits or a PrincipalError::InvalidAccountId error will be returned.user_name
: The name of the federated user. This must meet the following requirements or a PrincipalError::InvalidFederatedUserName error will be returned:- The name must contain between 2 and 64 characters.
- The name must be composed to ASCII alphanumeric characters or one of
, - . = @ _
.
Return value
If all of the requirements are met, a PolicyPrincipal with FederatedUserDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn group<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
group_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
[src]
partition: S1,
account_id: S2,
path: S3,
group_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Return a principal for a group.
Arguments
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
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.
group_name
: The name of the group. This must meet the following requirements or a PrincipalError::InvalidGroupName error will be returned:- The name must contain between 1 and 128 characters.
- The name must be composed to ASCII alphanumeric characters or one of
, - . = @ _
.
Return value
If all of the requirements are met, a PolicyPrincipal with GroupDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn instance_profile<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
instance_profile_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
[src]
partition: S1,
account_id: S2,
path: S3,
instance_profile_name: S4
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Return a principal for an instance profile.
Arguments
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
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.
instance_profile_name
: The name of the instance profile. This must meet the following requirements or a PrincipalError::InvalidInstanceProfileName error will be returned:- The name must contain between 1 and 128 characters.
- The name must be composed to ASCII alphanumeric characters or one of
, - . = @ _
.
Return value
If all of the requirements are met, a PolicyPrincipal with InstanceProfileDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn role<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
role_name: S4
) -> 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
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Return a principal for a role.
Arguments
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
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
, - . = @ _
.
Return value
If all of the requirements are met, a PolicyPrincipal with RoleDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn root_user<S1, S2>(
partition: S1,
account_id: S2
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
[src]
partition: S1,
account_id: S2
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
Return a principal for the root user of an account.
Arguments
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
account_id
: The 12 digit account id. This must be composed of 12 ASCII digits or a PrincipalError::InvalidAccountId error will be returned.
Return value
If all of the requirements are met, a PolicyPrincipal with RootUserDetails details is returned. Otherwise, a PrincipalError error is returned.
pub fn user<S1, S2, S3, S4>(
partition: S1,
account_id: S2,
path: S3,
user_name: S4
) -> 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
) -> Result<Self, PrincipalError> where
S1: Into<String>,
S2: Into<String>,
S3: Into<String>,
S4: Into<String>,
Return a principal for a user.
Arguments
partition
: The partition being addressed. This must meet the following requirements or a PrincipalError::InvalidPartition error will be returned:- The partition must be composed of ASCII alphanumeric characters or
-
. - The partition must have between 1 and 32 characters.
- A
-
cannot appear in the first or last position, nor can it appear in two consecutive characters.
- The partition must be composed of ASCII alphanumeric characters or
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
, - . = @ _
.
Return value
If all of the requirements are met, a PolicyPrincipal with UserDetails details is returned. Otherwise, a PrincipalError error is returned.
Trait Implementations
impl Clone for PolicyPrincipal
[src]
fn clone(&self) -> PolicyPrincipal
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Debug for PolicyPrincipal
[src]
impl Display for PolicyPrincipal
[src]
impl Eq for PolicyPrincipal
[src]
impl PartialEq<PolicyPrincipal> for PolicyPrincipal
[src]
fn eq(&self, other: &PolicyPrincipal) -> bool
[src]
fn ne(&self, other: &PolicyPrincipal) -> bool
[src]
impl StructuralEq for PolicyPrincipal
[src]
impl StructuralPartialEq for PolicyPrincipal
[src]
Auto Trait Implementations
impl RefUnwindSafe for PolicyPrincipal
impl Send for PolicyPrincipal
impl Sync for PolicyPrincipal
impl Unpin for PolicyPrincipal
impl UnwindSafe for PolicyPrincipal
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Data for T where
T: Clone + Debug + PartialEq<T> + Eq + Send + Sync + 'static,
[src]
T: Clone + Debug + PartialEq<T> + Eq + Send + Sync + 'static,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T> ToString for T where
T: Display + ?Sized,
[src]
T: Display + ?Sized,
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,