amazonka-iam-1.2.0: Amazon Identity and Access Management SDK.

Copyright(c) 2013-2015 Brendan Hay
LicenseMozilla Public License, v. 2.0.
MaintainerBrendan Hay <brendan.g.hay@gmail.com>
Stabilityauto-generated
Portabilitynon-portable (GHC extensions)
Safe HaskellNone
LanguageHaskell2010

Network.AWS.IAM

Contents

Description

AWS Identity and Access Management

AWS Identity and Access Management (IAM) is a web service that you can use to manage users and user permissions under your AWS account. This guide provides descriptions of IAM actions that you can call programmatically. For general information about IAM, see AWS Identity and Access Management (IAM). For the user guide for IAM, see Using IAM.

AWS provides SDKs that consist of libraries and sample code for various programming languages and platforms (Java, Ruby, .NET, iOS, Android, etc.). The SDKs provide a convenient way to create programmatic access to IAM and AWS. For example, the SDKs take care of tasks such as cryptographically signing requests (see below), managing errors, and retrying requests automatically. For information about the AWS SDKs, including how to download and install them, see the Tools for Amazon Web Services page.

We recommend that you use the AWS SDKs to make programmatic API calls to IAM. However, you can also use the IAM Query API to make direct calls to the IAM web service. To learn more about the IAM Query API, see Making Query Requests in the Using IAM guide. IAM supports GET and POST requests for all actions. That is, the API does not require you to use GET for some actions and POST for others. However, GET requests are subject to the limitation size of a URL. Therefore, for operations that require larger sizes, use a POST request.

Signing Requests

Requests must be signed using an access key ID and a secret access key. We strongly recommend that you do not use your AWS account access key ID and secret access key for everyday work with IAM. You can use the access key ID and secret access key for an IAM user or you can use the AWS Security Token Service to generate temporary security credentials and use those to sign requests.

To sign requests, we recommend that you use Signature Version 4. If you have an existing application that uses Signature Version 2, you do not have to update it to use Signature Version 4. However, some operations now require Signature Version 4. The documentation for operations that require version 4 indicate this requirement.

Additional Resources

For more information, see the following:

  • AWS Security Credentials. This topic provides general information about the types of credentials used for accessing AWS.
  • IAM Best Practices. This topic presents a list of suggestions for using the IAM service to help secure your AWS resources.
  • AWS Security Token Service. This guide describes how to create and use temporary security credentials.
  • Signing AWS API Requests. This set of topics walk you through the process of signing a request using an access key ID and secret access key.

See: AWS API Reference

Synopsis

Service Configuration

iAM :: Service Source

API version '2010-05-08' of the Amazon Identity and Access Management SDK configuration.

Errors

Error matchers are designed for use with the functions provided by Control.Exception.Lens. This allows catching (and rethrowing) service specific errors returned by IAM.

CredentialReportNotPresentException

_CredentialReportNotPresentException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the credential report does not exist. To generate a credential report, use GenerateCredentialReport.

CredentialReportNotReadyException

_CredentialReportNotReadyException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the credential report is still being generated.

MalformedPolicyDocumentException

_MalformedPolicyDocumentException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the policy document was malformed. The error message describes the specific error.

EntityAlreadyExistsException

_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because it attempted to create a resource that already exists.

MalformedCertificateException

_MalformedCertificateException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the certificate was malformed or expired. The error message describes the specific error.

DuplicateCertificateException

_DuplicateCertificateException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the same certificate is associated with an IAM user in the account.

CredentialReportExpiredException

_CredentialReportExpiredException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the most recent credential report has expired. To generate a new credential report, use GenerateCredentialReport. For more information about credential report expiration, see Getting Credential Reports in the Using IAM guide.

NoSuchEntityException

_NoSuchEntityException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because it referenced an entity that does not exist. The error message describes the entity.

DeleteConflictException

_DeleteConflictException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because it attempted to delete a resource that has attached subordinate entities. The error message describes these entities.

InvalidCertificateException

_InvalidCertificateException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the certificate is invalid.

UnrecognizedPublicKeyEncodingException

_UnrecognizedPublicKeyEncodingException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the public key encoding format is unsupported or unrecognized.

InvalidUserTypeException

_InvalidUserTypeException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the type of user for the transaction was incorrect.

ServiceFailureException

_ServiceFailureException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request processing has failed because of an unknown error, exception or failure.

InvalidInputException

_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because an invalid or out-of-range value was supplied for an input parameter.

InvalidPublicKeyException

_InvalidPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the public key is malformed or otherwise invalid.

InvalidAuthenticationCodeException

_InvalidAuthenticationCodeException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the authentication code was not recognized. The error message describes the specific error.

EntityTemporarilyUnmodifiableException

_EntityTemporarilyUnmodifiableException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because it referenced an entity that is temporarily unmodifiable, such as a user name that was deleted and then recreated. The error indicates that the request is likely to succeed if you try again after waiting several minutes. The error message describes the entity.

DuplicateSSHPublicKeyException

_DuplicateSSHPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the SSH public key is already associated with the specified IAM user.

KeyPairMismatchException

_KeyPairMismatchException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the public key certificate and the private key do not match.

LimitExceededException

_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because it attempted to create resources beyond the current AWS account limits. The error message describes the limit exceeded.

PasswordPolicyViolationException

_PasswordPolicyViolationException :: AsError a => Getting (First ServiceError) a ServiceError Source

The request was rejected because the provided password did not meet the requirements imposed by the account password policy.

Waiters

Waiters poll by repeatedly sending a request until some remote success condition configured by the Wait specification is fulfilled. The Wait specification determines how many attempts should be made, in addition to delay and retry strategies.

InstanceProfileExists

instanceProfileExists :: Wait GetInstanceProfile Source

Polls GetInstanceProfile every 1 seconds until a successful state is reached. An error is returned after 40 failed checks.

UserExists

userExists :: Wait GetUser Source

Polls GetUser every 1 seconds until a successful state is reached. An error is returned after 20 failed checks.

Operations

Some AWS operations return results that are incomplete and require subsequent requests in order to obtain the entire result set. The process of sending subsequent requests to continue where a previous request left off is called pagination. For example, the ListObjects operation of Amazon S3 returns up to 1000 objects at a time, and you must send subsequent requests with the appropriate Marker in order to retrieve the next page of results.

Operations that have an AWSPager instance can transparently perform subsequent requests, correctly setting Markers and other request facets to iterate through the entire result set of a truncated API operation. Operations which support this have an additional note in the documentation.

Many operations have the ability to filter results on the server side. See the individual operation parameters for details.

AttachGroupPolicy

ListInstanceProfilesForRole (Paginated)

CreatePolicy

ListPolicies (Paginated)

AttachRolePolicy

ListSSHPublicKeys

DeleteSSHPublicKey

UpdateSSHPublicKey

ListOpenIdConnectProviders

DeleteAccountPasswordPolicy

UpdateAccountPasswordPolicy

CreateAccessKey

GetUserPolicy

CreateVirtualMFADevice

CreateOpenIdConnectProvider

ListAttachedRolePolicies

DeleteVirtualMFADevice

GetRole

DeactivateMFADevice

ListRoles (Paginated)

DeleteRole

ListUserPolicies (Paginated)

UploadSSHPublicKey

ListUsers (Paginated)

UpdateOpenIdConnectProviderThumbprint

GetSSHPublicKey

PutUserPolicy

CreateRole

DeleteUserPolicy

GetOpenIdConnectProvider

DetachGroupPolicy

GetCredentialReport

DeletePolicyVersion

DetachRolePolicy

DeleteInstanceProfile

ListGroupPolicies (Paginated)

GetAccountSummary

CreateInstanceProfile

PutGroupPolicy

DeleteGroupPolicy

GetAccountAuthorizationDetails

DeleteAccountAlias

RemoveRoleFromInstanceProfile

GetLoginProfile

RemoveUserFromGroup

DetachUserPolicy

CreateSAMLProvider

CreatePolicyVersion

GetGroupPolicy

DeletePolicy

ListServerCertificates (Paginated)

UpdateAssumeRolePolicy

ChangePassword

ListGroupsForUser (Paginated)

GetPolicyVersion

CreateLoginProfile

GetInstanceProfile

ListEntitiesForPolicy

GetSAMLProvider

AddRoleToInstanceProfile

AddUserToGroup

DeleteOpenIdConnectProvider

GetUser

ListAttachedUserPolicies

DeleteSigningCertificate

UpdateSigningCertificate

ListSigningCertificates (Paginated)

RemoveClientIdFromOpenIdConnectProvider

ListAccessKeys (Paginated)

ListVirtualMFADevices (Paginated)

DeleteAccessKey

UpdateAccessKey

GetRolePolicy

AttachUserPolicy

ResyncMFADevice

CreateUser

UploadSigningCertificate

PutRolePolicy

DeleteRolePolicy

UpdateUser

DeleteUser

ListRolePolicies (Paginated)

AddClientIdToOpenIdConnectProvider

GetAccessKeyLastUsed

GetAccountPasswordPolicy

ListAccountAliases (Paginated)

CreateAccountAlias

UploadServerCertificate

ListMFADevices (Paginated)

EnableMFADevice

ListPolicyVersions

ListSAMLProviders

UpdateSAMLProvider

DeleteSAMLProvider

CreateGroup

SetDefaultPolicyVersion

ListInstanceProfiles (Paginated)

ListGroups (Paginated)

DeleteGroup

UpdateGroup

GetServerCertificate

GetPolicy

GenerateCredentialReport

GetGroup (Paginated)

DeleteServerCertificate

UpdateServerCertificate

DeleteLoginProfile

UpdateLoginProfile

ListAttachedGroupPolicies

Types

AssignmentStatusType

EncodingType

EntityType

PolicyScopeType

ReportFormatType

ReportStateType

StatusType

SummaryKeyType

AccessKey

data AccessKey Source

Contains information about an AWS access key.

This data type is used as a response element in the CreateAccessKey and ListAccessKeys actions.

The SecretAccessKey value is returned only in response to CreateAccessKey. You can get a secret access key only when you first create an access key; you cannot recover the secret access key later. If you lose a secret access key, you must create a new access key.

See: accessKey smart constructor.

accessKey Source

Creates a value of AccessKey with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

akCreateDate :: Lens' AccessKey (Maybe UTCTime) Source

The date when the access key was created.

akUserName :: Lens' AccessKey Text Source

The name of the IAM user that the access key is associated with.

akAccessKeyId :: Lens' AccessKey Text Source

The ID for this access key.

akStatus :: Lens' AccessKey StatusType Source

The status of the access key. Active means the key is valid for API calls, while Inactive means it is not.

akSecretAccessKey :: Lens' AccessKey Text Source

The secret key used to sign requests.

AccessKeyLastUsed

data AccessKeyLastUsed Source

Contains information about the last time an AWS access key was used.

This data type is used as a response element in the GetAccessKeyLastUsed action.

See: accessKeyLastUsed smart constructor.

accessKeyLastUsed Source

Creates a value of AccessKeyLastUsed with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

akluLastUsedDate :: Lens' AccessKeyLastUsed UTCTime Source

The date and time, in ISO 8601 date-time format, when the access key was most recently used. This field is null when:

  • The user does not have an access key.
  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.
  • There is no sign-in data associated with the user

akluServiceName :: Lens' AccessKeyLastUsed Text Source

The name of the AWS service with which this access key was most recently used. This field is null when:

  • The user does not have an access key.
  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.
  • There is no sign-in data associated with the user

akluRegion :: Lens' AccessKeyLastUsed Text Source

The AWS region where this access key was most recently used. This field is null when:

  • The user does not have an access key.
  • An access key exists but has never been used, at least not since IAM started tracking this information on April 22nd, 2015.
  • There is no sign-in data associated with the user

For more information about AWS regions, see Regions and Endpoints in the Amazon Web Services General Reference.

AccessKeyMetadata

data AccessKeyMetadata Source

Contains information about an AWS access key, without its secret key.

This data type is used as a response element in the ListAccessKeys action.

See: accessKeyMetadata smart constructor.

accessKeyMetadata :: AccessKeyMetadata Source

Creates a value of AccessKeyMetadata with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

akmStatus :: Lens' AccessKeyMetadata (Maybe StatusType) Source

The status of the access key. Active means the key is valid for API calls; Inactive means it is not.

akmCreateDate :: Lens' AccessKeyMetadata (Maybe UTCTime) Source

The date when the access key was created.

akmUserName :: Lens' AccessKeyMetadata (Maybe Text) Source

The name of the IAM user that the key is associated with.

akmAccessKeyId :: Lens' AccessKeyMetadata (Maybe Text) Source

The ID for this access key.

AttachedPolicy

data AttachedPolicy Source

Contains information about an attached policy.

An attached policy is a managed policy that has been attached to a user, group, or role. This data type is used as a response element in the ListAttachedGroupPolicies, ListAttachedRolePolicies, ListAttachedUserPolicies, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: attachedPolicy smart constructor.

attachedPolicy :: AttachedPolicy Source

Creates a value of AttachedPolicy with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

apPolicyName :: Lens' AttachedPolicy (Maybe Text) Source

The friendly name of the attached policy.

apPolicyARN :: Lens' AttachedPolicy (Maybe Text) Source

Undocumented member.

Group

data Group Source

Contains information about an IAM group entity.

This data type is used as a response element in the following actions:

  • CreateGroup
  • GetGroup
  • ListGroups

See: group' smart constructor.

group' Source

Creates a value of Group with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gPath :: Lens' Group Text Source

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

gGroupName :: Lens' Group Text Source

The friendly name that identifies the group.

gGroupId :: Lens' Group Text Source

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

gARN :: Lens' Group Text Source

The Amazon Resource Name (ARN) specifying the group. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

gCreateDate :: Lens' Group UTCTime Source

The date and time, in ISO 8601 date-time format, when the group was created.

GroupDetail

data GroupDetail Source

Contains information about an IAM group, including all of the group's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

See: groupDetail smart constructor.

groupDetail :: GroupDetail Source

Creates a value of GroupDetail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

gdARN :: Lens' GroupDetail (Maybe Text) Source

Undocumented member.

gdPath :: Lens' GroupDetail (Maybe Text) Source

The path to the group. For more information about paths, see IAM Identifiers in the Using IAM guide.

gdCreateDate :: Lens' GroupDetail (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the group was created.

gdGroupId :: Lens' GroupDetail (Maybe Text) Source

The stable and unique string identifying the group. For more information about IDs, see IAM Identifiers in the Using IAM guide.

gdGroupPolicyList :: Lens' GroupDetail [PolicyDetail] Source

A list of the inline policies embedded in the group.

gdGroupName :: Lens' GroupDetail (Maybe Text) Source

The friendly name that identifies the group.

gdAttachedManagedPolicies :: Lens' GroupDetail [AttachedPolicy] Source

A list of the managed policies attached to the group.

InstanceProfile

data InstanceProfile Source

Contains information about an instance profile.

This data type is used as a response element in the following actions:

  • CreateInstanceProfile
  • GetInstanceProfile
  • ListInstanceProfiles
  • ListInstanceProfilesForRole

See: instanceProfile smart constructor.

instanceProfile Source

Creates a value of InstanceProfile with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

ipPath :: Lens' InstanceProfile Text Source

The path to the instance profile. For more information about paths, see IAM Identifiers in the Using IAM guide.

ipInstanceProfileName :: Lens' InstanceProfile Text Source

The name identifying the instance profile.

ipInstanceProfileId :: Lens' InstanceProfile Text Source

The stable and unique string identifying the instance profile. For more information about IDs, see IAM Identifiers in the Using IAM guide.

ipARN :: Lens' InstanceProfile Text Source

The Amazon Resource Name (ARN) specifying the instance profile. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

ipCreateDate :: Lens' InstanceProfile UTCTime Source

The date when the instance profile was created.

ipRoles :: Lens' InstanceProfile [Role] Source

The role associated with the instance profile.

LoginProfile

data LoginProfile Source

Contains the user name and password create date for a user.

This data type is used as a response element in the CreateLoginProfile and GetLoginProfile actions.

See: loginProfile smart constructor.

loginProfile Source

Creates a value of LoginProfile with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

lpPasswordResetRequired :: Lens' LoginProfile (Maybe Bool) Source

Specifies whether the user is required to set a new password on next sign-in.

lpUserName :: Lens' LoginProfile Text Source

The name of the user, which can be used for signing in to the AWS Management Console.

lpCreateDate :: Lens' LoginProfile UTCTime Source

The date when the password for the user was created.

MFADevice

data MFADevice Source

Contains information about an MFA device.

This data type is used as a response element in the ListMFADevices action.

See: mfaDevice smart constructor.

mfaDevice Source

Creates a value of MFADevice with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

mdUserName :: Lens' MFADevice Text Source

The user with whom the MFA device is associated.

mdSerialNumber :: Lens' MFADevice Text Source

The serial number that uniquely identifies the MFA device. For virtual MFA devices, the serial number is the device ARN.

mdEnableDate :: Lens' MFADevice UTCTime Source

The date when the MFA device was enabled for the user.

ManagedPolicyDetail

data ManagedPolicyDetail Source

Contains information about a managed policy, including the policy's ARN, versions, and the number of principal entities (users, groups, and roles) that the policy is attached to.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

For more information about managed policies, see Managed Policies and Inline Policies in the Using IAM guide.

See: managedPolicyDetail smart constructor.

managedPolicyDetail :: ManagedPolicyDetail Source

Creates a value of ManagedPolicyDetail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

mpdPolicyName :: Lens' ManagedPolicyDetail (Maybe Text) Source

The friendly name (not ARN) identifying the policy.

mpdARN :: Lens' ManagedPolicyDetail (Maybe Text) Source

Undocumented member.

mpdPath :: Lens' ManagedPolicyDetail (Maybe Text) Source

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

mpdUpdateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

mpdPolicyId :: Lens' ManagedPolicyDetail (Maybe Text) Source

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

mpdCreateDate :: Lens' ManagedPolicyDetail (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the policy was created.

mpdPolicyVersionList :: Lens' ManagedPolicyDetail [PolicyVersion] Source

A list containing information about the versions of the policy.

mpdIsAttachable :: Lens' ManagedPolicyDetail (Maybe Bool) Source

Specifies whether the policy can be attached to an IAM user, group, or role.

mpdDefaultVersionId :: Lens' ManagedPolicyDetail (Maybe Text) Source

The identifier for the version of the policy that is set as the default (operative) version.

For more information about policy versions, see Versioning for Managed Policies in the Using IAM guide.

mpdAttachmentCount :: Lens' ManagedPolicyDetail (Maybe Int) Source

The number of principal entities (users, groups, and roles) that the policy is attached to.

mpdDescription :: Lens' ManagedPolicyDetail (Maybe Text) Source

A friendly description of the policy.

OpenIdConnectProviderListEntry

openIdConnectProviderListEntry :: OpenIdConnectProviderListEntry Source

Creates a value of OpenIdConnectProviderListEntry with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

PasswordPolicy

data PasswordPolicy Source

Contains information about the account password policy.

This data type is used as a response element in the GetAccountPasswordPolicy action.

See: passwordPolicy smart constructor.

ppExpirePasswords :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether IAM users are required to change their password after a specified number of days.

ppRequireNumbers :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether to require numbers for IAM user passwords.

ppMinimumPasswordLength :: Lens' PasswordPolicy (Maybe Natural) Source

Minimum length to require for IAM user passwords.

ppPasswordReusePrevention :: Lens' PasswordPolicy (Maybe Natural) Source

Specifies the number of previous passwords that IAM users are prevented from reusing.

ppRequireLowercaseCharacters :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether to require lowercase characters for IAM user passwords.

ppMaxPasswordAge :: Lens' PasswordPolicy (Maybe Natural) Source

The number of days that an IAM user password is valid.

ppHardExpiry :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether IAM users are prevented from setting a new password after their password has expired.

ppRequireSymbols :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether to require symbols for IAM user passwords.

ppRequireUppercaseCharacters :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether to require uppercase characters for IAM user passwords.

ppAllowUsersToChangePassword :: Lens' PasswordPolicy (Maybe Bool) Source

Specifies whether IAM users are allowed to change their own password.

Policy

data Policy Source

Contains information about a managed policy.

This data type is used as a response element in the CreatePolicy, GetPolicy, and ListPolicies actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: policy smart constructor.

policy :: Policy Source

Creates a value of Policy with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pPolicyName :: Lens' Policy (Maybe Text) Source

The friendly name (not ARN) identifying the policy.

pARN :: Lens' Policy (Maybe Text) Source

Undocumented member.

pPath :: Lens' Policy (Maybe Text) Source

The path to the policy.

For more information about paths, see IAM Identifiers in the Using IAM guide.

pUpdateDate :: Lens' Policy (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the policy was last updated.

When a policy has only one version, this field contains the date and time when the policy was created. When a policy has more than one version, this field contains the date and time when the most recent policy version was created.

pPolicyId :: Lens' Policy (Maybe Text) Source

The stable and unique string identifying the policy.

For more information about IDs, see IAM Identifiers in the Using IAM guide.

pCreateDate :: Lens' Policy (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the policy was created.

pIsAttachable :: Lens' Policy (Maybe Bool) Source

Specifies whether the policy can be attached to an IAM user, group, or role.

pDefaultVersionId :: Lens' Policy (Maybe Text) Source

The identifier for the version of the policy that is set as the default version.

pAttachmentCount :: Lens' Policy (Maybe Int) Source

The number of entities (users, groups, and roles) that the policy is attached to.

pDescription :: Lens' Policy (Maybe Text) Source

A friendly description of the policy.

This element is included in the response to the GetPolicy operation. It is not included in the response to the ListPolicies operation.

PolicyDetail

data PolicyDetail Source

Contains information about an IAM policy, including the policy document.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

See: policyDetail smart constructor.

policyDetail :: PolicyDetail Source

Creates a value of PolicyDetail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pdPolicyName :: Lens' PolicyDetail (Maybe Text) Source

The name of the policy.

PolicyGroup

data PolicyGroup Source

Contains information about a group that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: policyGroup smart constructor.

policyGroup :: PolicyGroup Source

Creates a value of PolicyGroup with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pgGroupName :: Lens' PolicyGroup (Maybe Text) Source

The name (friendly name, not ARN) identifying the group.

PolicyRole

data PolicyRole Source

Contains information about a role that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: policyRole smart constructor.

policyRole :: PolicyRole Source

Creates a value of PolicyRole with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

prRoleName :: Lens' PolicyRole (Maybe Text) Source

The name (friendly name, not ARN) identifying the role.

PolicyUser

data PolicyUser Source

Contains information about a user that a managed policy is attached to.

This data type is used as a response element in the ListEntitiesForPolicy action.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: policyUser smart constructor.

policyUser :: PolicyUser Source

Creates a value of PolicyUser with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

puUserName :: Lens' PolicyUser (Maybe Text) Source

The name (friendly name, not ARN) identifying the user.

PolicyVersion

data PolicyVersion Source

Contains information about a version of a managed policy.

This data type is used as a response element in the CreatePolicyVersion, GetPolicyVersion, ListPolicyVersions, and GetAccountAuthorizationDetails actions.

For more information about managed policies, refer to Managed Policies and Inline Policies in the Using IAM guide.

See: policyVersion smart constructor.

policyVersion :: PolicyVersion Source

Creates a value of PolicyVersion with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

pvVersionId :: Lens' PolicyVersion (Maybe Text) Source

The identifier for the policy version.

Policy version identifiers always begin with v (always lowercase). When a policy is created, the first policy version is v1.

pvCreateDate :: Lens' PolicyVersion (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the policy version was created.

pvDocument :: Lens' PolicyVersion (Maybe Text) Source

The policy document.

The policy document is returned in the response to the GetPolicyVersion and GetAccountAuthorizationDetails operations. It is not returned in the response to the CreatePolicyVersion or ListPolicyVersions operations.

pvIsDefaultVersion :: Lens' PolicyVersion (Maybe Bool) Source

Specifies whether the policy version is set as the policy's default version.

Role

data Role Source

Contains information about an IAM role.

This data type is used as a response element in the following actions:

  • CreateRole
  • GetRole
  • ListRoles

See: role smart constructor.

role Source

Creates a value of Role with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rAssumeRolePolicyDocument :: Lens' Role (Maybe Text) Source

The policy that grants an entity permission to assume the role.

rPath :: Lens' Role Text Source

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

rRoleName :: Lens' Role Text Source

The friendly name that identifies the role.

rRoleId :: Lens' Role Text Source

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

rARN :: Lens' Role Text Source

The Amazon Resource Name (ARN) specifying the role. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

rCreateDate :: Lens' Role UTCTime Source

The date and time, in ISO 8601 date-time format, when the role was created.

RoleDetail

data RoleDetail Source

Contains information about an IAM role, including all of the role's policies.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

See: roleDetail smart constructor.

roleDetail :: RoleDetail Source

Creates a value of RoleDetail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

rdAssumeRolePolicyDocument :: Lens' RoleDetail (Maybe Text) Source

The trust policy that grants permission to assume the role.

rdARN :: Lens' RoleDetail (Maybe Text) Source

Undocumented member.

rdPath :: Lens' RoleDetail (Maybe Text) Source

The path to the role. For more information about paths, see IAM Identifiers in the Using IAM guide.

rdCreateDate :: Lens' RoleDetail (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the role was created.

rdRoleName :: Lens' RoleDetail (Maybe Text) Source

The friendly name that identifies the role.

rdRoleId :: Lens' RoleDetail (Maybe Text) Source

The stable and unique string identifying the role. For more information about IDs, see IAM Identifiers in the Using IAM guide.

rdRolePolicyList :: Lens' RoleDetail [PolicyDetail] Source

A list of inline policies embedded in the role. These policies are the role's access (permissions) policies.

rdAttachedManagedPolicies :: Lens' RoleDetail [AttachedPolicy] Source

A list of managed policies attached to the role. These policies are the role's access (permissions) policies.

SAMLProviderListEntry

sAMLProviderListEntry :: SAMLProviderListEntry Source

Creates a value of SAMLProviderListEntry with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

samlpleARN :: Lens' SAMLProviderListEntry (Maybe Text) Source

The Amazon Resource Name (ARN) of the SAML provider.

samlpleCreateDate :: Lens' SAMLProviderListEntry (Maybe UTCTime) Source

The date and time when the SAML provider was created.

samlpleValidUntil :: Lens' SAMLProviderListEntry (Maybe UTCTime) Source

The expiration date and time for the SAML provider.

SSHPublicKey

data SSHPublicKey Source

Contains information about an SSH public key.

This data type is used as a response element in the GetSSHPublicKey and UploadSSHPublicKey actions.

See: sshPublicKey smart constructor.

sshPublicKey Source

Creates a value of SSHPublicKey with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

spkUploadDate :: Lens' SSHPublicKey (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

spkUserName :: Lens' SSHPublicKey Text Source

The name of the IAM user associated with the SSH public key.

spkSSHPublicKeyId :: Lens' SSHPublicKey Text Source

The unique identifier for the SSH public key.

spkFingerprint :: Lens' SSHPublicKey Text Source

The MD5 message digest of the SSH public key.

spkStatus :: Lens' SSHPublicKey StatusType Source

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

SSHPublicKeyMetadata

data SSHPublicKeyMetadata Source

Contains information about an SSH public key, without the key's body or fingerprint.

This data type is used as a response element in the ListSSHPublicKeys action.

See: sshPublicKeyMetadata smart constructor.

sshPublicKeyMetadata Source

Creates a value of SSHPublicKeyMetadata with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

spkmUserName :: Lens' SSHPublicKeyMetadata Text Source

The name of the IAM user associated with the SSH public key.

spkmSSHPublicKeyId :: Lens' SSHPublicKeyMetadata Text Source

The unique identifier for the SSH public key.

spkmStatus :: Lens' SSHPublicKeyMetadata StatusType Source

The status of the SSH public key. Active means the key can be used for authentication with an AWS CodeCommit repository. Inactive means the key cannot be used.

spkmUploadDate :: Lens' SSHPublicKeyMetadata UTCTime Source

The date and time, in ISO 8601 date-time format, when the SSH public key was uploaded.

ServerCertificate

data ServerCertificate Source

Contains information about a server certificate.

This data type is used as a response element in the GetServerCertificate action.

See: serverCertificate smart constructor.

serverCertificate Source

Creates a value of ServerCertificate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

sCertificateChain :: Lens' ServerCertificate (Maybe Text) Source

The contents of the public key certificate chain.

sServerCertificateMetadata :: Lens' ServerCertificate ServerCertificateMetadata Source

The meta information of the server certificate, such as its name, path, ID, and ARN.

sCertificateBody :: Lens' ServerCertificate Text Source

The contents of the public key certificate.

ServerCertificateMetadata

data ServerCertificateMetadata Source

Contains information about a server certificate without its certificate body, certificate chain, and private key.

This data type is used as a response element in the UploadServerCertificate and ListServerCertificates actions.

See: serverCertificateMetadata smart constructor.

serverCertificateMetadata Source

Creates a value of ServerCertificateMetadata with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

scmUploadDate :: Lens' ServerCertificateMetadata (Maybe UTCTime) Source

The date when the server certificate was uploaded.

scmExpiration :: Lens' ServerCertificateMetadata (Maybe UTCTime) Source

The date on which the certificate is set to expire.

scmPath :: Lens' ServerCertificateMetadata Text Source

The path to the server certificate. For more information about paths, see IAM Identifiers in the Using IAM guide.

scmServerCertificateName :: Lens' ServerCertificateMetadata Text Source

The name that identifies the server certificate.

scmServerCertificateId :: Lens' ServerCertificateMetadata Text Source

The stable and unique string identifying the server certificate. For more information about IDs, see IAM Identifiers in the Using IAM guide.

scmARN :: Lens' ServerCertificateMetadata Text Source

The Amazon Resource Name (ARN) specifying the server certificate. For more information about ARNs and how to use them in policies, see IAM Identifiers in the Using IAM guide.

SigningCertificate

data SigningCertificate Source

Contains information about an X.509 signing certificate.

This data type is used as a response element in the UploadSigningCertificate and ListSigningCertificates actions.

See: signingCertificate smart constructor.

signingCertificate Source

Creates a value of SigningCertificate with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

scUploadDate :: Lens' SigningCertificate (Maybe UTCTime) Source

The date when the signing certificate was uploaded.

scUserName :: Lens' SigningCertificate Text Source

The name of the user the signing certificate is associated with.

scCertificateId :: Lens' SigningCertificate Text Source

The ID for the signing certificate.

scCertificateBody :: Lens' SigningCertificate Text Source

The contents of the signing certificate.

scStatus :: Lens' SigningCertificate StatusType Source

The status of the signing certificate. Active means the key is valid for API calls, while Inactive means it is not.

User

data User Source

Contains information about an IAM user entity.

This data type is used as a response element in the following actions:

  • CreateUser
  • GetUser
  • ListUsers

See: user smart constructor.

user Source

Creates a value of User with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

uPasswordLastUsed :: Lens' User (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the user's password was last used to sign in to an AWS website. For a list of AWS websites that capture a user's last sign-in time, see the Credential Reports topic in the Using IAM guide. If a password is used more than once in a five-minute span, only the first use is returned in this field. This field is null (not present) when:

  • The user does not have a password
  • The password exists but has never been used (at least not since IAM started tracking this information on October 20th, 2014
  • there is no sign-in data associated with the user

This value is returned only in the GetUser and ListUsers actions.

uPath :: Lens' User Text Source

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

uUserName :: Lens' User Text Source

The friendly name identifying the user.

uUserId :: Lens' User Text Source

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

uARN :: Lens' User Text Source

The Amazon Resource Name (ARN) that identifies the user. For more information about ARNs and how to use ARNs in policies, see IAM Identifiers in the Using IAM guide.

uCreateDate :: Lens' User UTCTime Source

The date and time, in ISO 8601 date-time format, when the user was created.

UserDetail

data UserDetail Source

Contains information about an IAM user, including all the user's policies and all the IAM groups the user is in.

This data type is used as a response element in the GetAccountAuthorizationDetails action.

See: userDetail smart constructor.

userDetail :: UserDetail Source

Creates a value of UserDetail with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

udARN :: Lens' UserDetail (Maybe Text) Source

Undocumented member.

udPath :: Lens' UserDetail (Maybe Text) Source

The path to the user. For more information about paths, see IAM Identifiers in the Using IAM guide.

udGroupList :: Lens' UserDetail [Text] Source

A list of IAM groups that the user is in.

udCreateDate :: Lens' UserDetail (Maybe UTCTime) Source

The date and time, in ISO 8601 date-time format, when the user was created.

udUserName :: Lens' UserDetail (Maybe Text) Source

The friendly name identifying the user.

udUserId :: Lens' UserDetail (Maybe Text) Source

The stable and unique string identifying the user. For more information about IDs, see IAM Identifiers in the Using IAM guide.

udUserPolicyList :: Lens' UserDetail [PolicyDetail] Source

A list of the inline policies embedded in the user.

udAttachedManagedPolicies :: Lens' UserDetail [AttachedPolicy] Source

A list of the managed policies attached to the user.

VirtualMFADevice

virtualMFADevice Source

Creates a value of VirtualMFADevice with the minimum fields required to make a request.

Use one of the following lenses to modify other fields as desired:

vmdQRCodePNG :: Lens' VirtualMFADevice (Maybe ByteString) Source

A QR code PNG image that encodes 'otpauth:\/\/totp\/$virtualMFADeviceName\'$AccountName?secret=$Base32String' where '$virtualMFADeviceName' is one of the create call arguments, AccountName is the user name if set (otherwise, the account ID otherwise), and Base32String is the seed in Base32 format. The Base32String value is Base64-encoded.

Note: This Lens automatically encodes and decodes Base64 data, despite what the AWS documentation might say. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

vmdBase32StringSeed :: Lens' VirtualMFADevice (Maybe ByteString) Source

The Base32 seed defined as specified in RFC3548. The Base32StringSeed is Base64-encoded.

Note: This Lens automatically encodes and decodes Base64 data, despite what the AWS documentation might say. The underlying isomorphism will encode to Base64 representation during serialisation, and decode from Base64 representation during deserialisation. This Lens accepts and returns only raw unencoded data.

vmdUser :: Lens' VirtualMFADevice (Maybe User) Source

Undocumented member.

vmdEnableDate :: Lens' VirtualMFADevice (Maybe UTCTime) Source

The date and time on which the virtual MFA device was enabled.

vmdSerialNumber :: Lens' VirtualMFADevice Text Source

The serial number associated with VirtualMFADevice.