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

Fields

§entity_arn: String

The ARN of the entity.

§entity_id: String

The IAM ID of the entity.

§policy_name: String

The name of the policy.

An inline policy directly attached to an IAM entity (user, role).

§

EntityAttachedPolicy

Fields

§policy_arn: String

The ARN of the of the policy.

§policy_id: String

The IAM ID of the policy.

§version: String

The version of the policy used.

A managed policy that is attached to an IAM entity (user, role).

§

GroupInline

Fields

§group_arn: String

The ARN of the IAM group.

§group_id: String

The IAM ID of the group.

§policy_name: String

The name of the policy.

An inline policy directly attached to an IAM group that an IAM user ia a member of.

§

GroupAttachedPolicy

Fields

§group_arn: String

The ARN of the of IAM group.

§group_id: String

The IAM ID of the group.

§policy_arn: String

The ARN of the of the policy.

§policy_id: String

The IAM ID of the policy.

§version: String

The version of the policy used.

A managed policy that is attached to an IAM group that an IAM user is a member of.

§

Resource

Fields

§resource_arn: String

The ARN of the resource being accessed.

§policy_name: Option<String>

The name of the policy, if any.

A policy attached to a resource being accessed.

§

PermissionBoundary

Fields

§policy_arn: String

The ARN of the the policy used as a permissions boundary.

§policy_id: String

The IAM ID of the policy used as a permissions boundary.

§version: String

The version of the policy used.

A permissions boundary attached to an IAM entity (user, role).

§

OrgServiceControl

Fields

§policy_arn: String

The ARN of the the policy used as a service control policy.

§policy_name: String

The name of the policy used as a service control policy.

§applied_arn: String

The ARN of the account or organizational unit that the policy is attached to.

An service control policy attached to an account or organizational unit.

§

Session

A policy embedded in an assumed role session.

Implementations§

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.

Create a new PolicySource::EntityInline object.

Create a new PolicySource::GroupInline object.

Create a new PolicySource::GroupAttachedPolicy object.

Create a new PolicySource::Resource object.

Create a new PolicySource::PermissionBoundary object.

Create a new PolicySource::OrgServiceControl object.

Create a new PolicySource::Session object.

Trait Implementations§

Returns a copy of the value. Read more
Performs copy-assignment from source. Read more
Formats the value using the given formatter. Read more
Feeds this value into the given Hasher. Read more
Feeds a slice of this type into the given Hasher. Read more
This method tests for self and other values to be equal, and is used by ==.
This method tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.

Auto Trait Implementations§

Blanket Implementations§

Gets the TypeId of self. Read more
Immutably borrows from an owned value. Read more
Mutably borrows from an owned value. Read more

Returns the argument unchanged.

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

The resulting type after obtaining ownership.
Creates owned data from borrowed data, usually by cloning. Read more
Uses borrowed data to replace owned data, usually by cloning. Read more
The type returned in the event of a conversion error.
Performs the conversion.
The type returned in the event of a conversion error.
Performs the conversion.