Enum scratchstack_aws_principal::policy::PolicyPrincipal [−][src]
pub enum PolicyPrincipal { AssumedRole(AssumedRoleDetails), FederatedUser(FederatedUserDetails), InstanceProfile(InstanceProfileDetails), Group(GroupDetails), Role(RoleDetails), RootUser(RootUserDetails), User(UserDetails), }
An AWS principal referred to in an Aspen policy.
Variants
AssumedRole(AssumedRoleDetails)
Details for an assumed role.
FederatedUser(FederatedUserDetails)
Details for a federated user.
InstanceProfile(InstanceProfileDetails)
Details for an instance profile.
Group(GroupDetails)
Details for an IAM group.
Role(RoleDetails)
Details for an IAM role.
RootUser(RootUserDetails)
Details for the root user of an account.
User(UserDetails)
Details for an IAM user.
Implementations
impl PolicyPrincipal
[src]
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>(
partition: Option<String>,
account_id: S1
) -> Result<Self, PrincipalError> where
S1: Into<String>,
[src]
partition: Option<String>,
account_id: S1
) -> Result<Self, PrincipalError> where
S1: 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]
impl Clone for PolicyPrincipal
[src]fn clone(&self) -> PolicyPrincipal
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Eq for PolicyPrincipal
[src]
impl Eq for PolicyPrincipal
[src]impl From<PrincipalActor> for PolicyPrincipal
[src]
impl From<PrincipalActor> for PolicyPrincipal
[src]fn from(from: PrincipalActor) -> PolicyPrincipal
[src]
Convert the PrincipalActor into a PolicyPrincipal.
This is a lossy conversion, losing the identifier or token details attached to the actor.
impl FromStr for PolicyPrincipal
[src]
impl FromStr for PolicyPrincipal
[src]impl PartialEq<PolicyPrincipal> 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 StructuralEq for PolicyPrincipal
[src]impl StructuralPartialEq for PolicyPrincipal
[src]
impl StructuralPartialEq for PolicyPrincipal
[src]Auto Trait Implementations
impl RefUnwindSafe for PolicyPrincipal
impl RefUnwindSafe for PolicyPrincipal
impl Send for PolicyPrincipal
impl Send for PolicyPrincipal
impl Sync for PolicyPrincipal
impl Sync for PolicyPrincipal
impl Unpin for PolicyPrincipal
impl Unpin for PolicyPrincipal
impl UnwindSafe for PolicyPrincipal
impl UnwindSafe for PolicyPrincipal