pub enum PolicySource {
EntityInline {
entity_arn: String,
entity_id: String,
policy_name: String,
},
EntityAttachedPolicy {
policy_arn: String,
policy_id: String,
version: String,
},
GroupInline {
group_arn: String,
group_id: String,
policy_name: String,
},
GroupAttachedPolicy {
group_arn: String,
group_id: String,
policy_arn: String,
policy_id: String,
version: String,
},
Resource {
resource_arn: String,
policy_name: Option<String>,
},
PermissionBoundary {
policy_arn: String,
policy_id: String,
version: String,
},
OrgServiceControl {
policy_arn: String,
policy_name: String,
applied_arn: String,
},
Session,
}
Expand description
The source of a policy.
Variants§
EntityInline
An inline policy directly attached to an IAM entity (user, role).
Fields
EntityAttachedPolicy
A managed policy that is attached to an IAM entity (user, role).
Fields
GroupInline
An inline policy directly attached to an IAM group that an IAM user ia a member of.
Fields
GroupAttachedPolicy
A managed policy that is attached to an IAM group that an IAM user is a member of.
Fields
Resource
A policy attached to a resource being accessed.
Fields
PermissionBoundary
A permissions boundary attached to an IAM entity (user, role).
Fields
OrgServiceControl
An service control policy attached to an account or organizational unit.
Fields
Session
A policy embedded in an assumed role session.
Implementations§
Source§impl PolicySource
impl PolicySource
Sourcepub fn is_boundary(&self) -> bool
pub fn is_boundary(&self) -> bool
Indicates whether the policy is being used permissions boundary.
Permissions boundaries are used to limit the permissions in effect. Allow effects in a permissions boundary do not grant permissions, but must be combined with an allow effect in a non-permissions boundary policy to be effective. Absence of an allow effect in a permissions boundary is the same as a deny effect.
Sourcepub fn new_entity_inline<S1, S2, S3>(
entity_arn: S1,
entity_id: S2,
policy_name: S3,
) -> Self
pub fn new_entity_inline<S1, S2, S3>( entity_arn: S1, entity_id: S2, policy_name: S3, ) -> Self
Create a new PolicySource::EntityInline object.
Sourcepub fn new_entity_attached_policy<S1, S2, S3>(
policy_arn: S1,
policy_id: S2,
version: S3,
) -> Self
pub fn new_entity_attached_policy<S1, S2, S3>( policy_arn: S1, policy_id: S2, version: S3, ) -> Self
Create a new PolicySource::EntityAttachedPolicy object.
Sourcepub fn new_group_inline<S1, S2, S3>(
group_arn: S1,
group_id: S2,
policy_name: S3,
) -> Self
pub fn new_group_inline<S1, S2, S3>( group_arn: S1, group_id: S2, policy_name: S3, ) -> Self
Create a new PolicySource::GroupInline object.
Sourcepub fn new_group_attached_policy<S1, S2, S3, S4, S5>(
group_arn: S1,
group_id: S2,
policy_arn: S3,
policy_id: S4,
version: S5,
) -> Self
pub fn new_group_attached_policy<S1, S2, S3, S4, S5>( group_arn: S1, group_id: S2, policy_arn: S3, policy_id: S4, version: S5, ) -> Self
Create a new PolicySource::GroupAttachedPolicy object.
Sourcepub fn new_resource<S1, S2>(resource_arn: S1, policy_name: Option<S2>) -> Self
pub fn new_resource<S1, S2>(resource_arn: S1, policy_name: Option<S2>) -> Self
Create a new PolicySource::Resource object.
Sourcepub fn new_permission_boundary<S1, S2, S3>(
policy_arn: S1,
policy_id: S2,
version: S3,
) -> Self
pub fn new_permission_boundary<S1, S2, S3>( policy_arn: S1, policy_id: S2, version: S3, ) -> Self
Create a new PolicySource::PermissionBoundary object.
Sourcepub fn new_org_service_control<S1, S2, S3>(
policy_arn: S1,
policy_name: S2,
applied_arn: S3,
) -> Self
pub fn new_org_service_control<S1, S2, S3>( policy_arn: S1, policy_name: S2, applied_arn: S3, ) -> Self
Create a new PolicySource::OrgServiceControl object.
Sourcepub fn new_session() -> Self
pub fn new_session() -> Self
Create a new PolicySource::Session object.
Trait Implementations§
Source§impl Clone for PolicySource
impl Clone for PolicySource
Source§fn clone(&self) -> PolicySource
fn clone(&self) -> PolicySource
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read more