module Network.AWS.IAM.Types
(
iam
, _CredentialReportNotPresentException
, _CredentialReportNotReadyException
, _MalformedPolicyDocumentException
, _EntityAlreadyExistsException
, _MalformedCertificateException
, _CredentialReportExpiredException
, _UnmodifiableEntityException
, _DuplicateCertificateException
, _DeleteConflictException
, _NoSuchEntityException
, _InvalidCertificateException
, _PolicyNotAttachableException
, _ServiceNotSupportedException
, _UnrecognizedPublicKeyEncodingException
, _InvalidUserTypeException
, _ServiceFailureException
, _InvalidInputException
, _InvalidPublicKeyException
, _InvalidAuthenticationCodeException
, _EntityTemporarilyUnmodifiableException
, _DuplicateSSHPublicKeyException
, _KeyPairMismatchException
, _PolicyEvaluationException
, _PasswordPolicyViolationException
, _LimitExceededException
, AssignmentStatusType (..)
, ContextKeyTypeEnum (..)
, DeletionTaskStatusType (..)
, EncodingType (..)
, EntityType (..)
, PolicyEvaluationDecisionType (..)
, PolicyScopeType (..)
, PolicySourceType (..)
, ReportFormatType (..)
, ReportStateType (..)
, StatusType (..)
, SummaryKeyType (..)
, AccessKeyInfo
, accessKeyInfo
, akiCreateDate
, akiUserName
, akiAccessKeyId
, akiStatus
, akiSecretAccessKey
, AccessKeyLastUsed
, accessKeyLastUsed
, akluLastUsedDate
, akluServiceName
, akluRegion
, AccessKeyMetadata
, accessKeyMetadata
, akmStatus
, akmCreateDate
, akmUserName
, akmAccessKeyId
, AttachedPolicy
, attachedPolicy
, apPolicyName
, apPolicyARN
, ContextEntry
, contextEntry
, ceContextKeyValues
, ceContextKeyName
, ceContextKeyType
, DeletionTaskFailureReasonType
, deletionTaskFailureReasonType
, dtfrtRoleUsageList
, dtfrtReason
, EvaluationResult
, evaluationResult
, erMatchedStatements
, erEvalDecisionDetails
, erResourceSpecificResults
, erEvalResourceName
, erMissingContextValues
, erOrganizationsDecisionDetail
, erEvalActionName
, erEvalDecision
, GetContextKeysForPolicyResponse
, getContextKeysForPolicyResponse
, gckfpContextKeyNames
, Group
, group'
, gPath
, gGroupName
, gGroupId
, gARN
, gCreateDate
, GroupDetail
, groupDetail
, gdARN
, gdPath
, gdCreateDate
, gdGroupId
, gdGroupPolicyList
, gdGroupName
, gdAttachedManagedPolicies
, InstanceProfile
, instanceProfile
, ipPath
, ipInstanceProfileName
, ipInstanceProfileId
, ipARN
, ipCreateDate
, ipRoles
, LoginProfile
, loginProfile
, lpPasswordResetRequired
, lpUserName
, lpCreateDate
, MFADevice
, mfaDevice
, mdUserName
, mdSerialNumber
, mdEnableDate
, ManagedPolicyDetail
, managedPolicyDetail
, mpdPolicyName
, mpdARN
, mpdUpdateDate
, mpdPolicyId
, mpdPath
, mpdPolicyVersionList
, mpdCreateDate
, mpdIsAttachable
, mpdDefaultVersionId
, mpdAttachmentCount
, mpdDescription
, OpenIdConnectProviderListEntry
, openIdConnectProviderListEntry
, oicpleARN
, OrganizationsDecisionDetail
, organizationsDecisionDetail
, oddAllowedByOrganizations
, PasswordPolicy
, passwordPolicy
, ppExpirePasswords
, ppMinimumPasswordLength
, ppRequireNumbers
, ppPasswordReusePrevention
, ppRequireLowercaseCharacters
, ppMaxPasswordAge
, ppHardExpiry
, ppRequireSymbols
, ppRequireUppercaseCharacters
, ppAllowUsersToChangePassword
, Policy
, policy
, pPolicyName
, pARN
, pUpdateDate
, pPolicyId
, pPath
, pCreateDate
, pIsAttachable
, pDefaultVersionId
, pAttachmentCount
, pDescription
, PolicyDetail
, policyDetail
, pdPolicyDocument
, pdPolicyName
, PolicyGroup
, policyGroup
, pgGroupId
, pgGroupName
, PolicyRole
, policyRole
, prRoleName
, prRoleId
, PolicyUser
, policyUser
, puUserName
, puUserId
, PolicyVersion
, policyVersion
, pvVersionId
, pvCreateDate
, pvDocument
, pvIsDefaultVersion
, Position
, position
, pLine
, pColumn
, ResourceSpecificResult
, resourceSpecificResult
, rsrMatchedStatements
, rsrEvalDecisionDetails
, rsrMissingContextValues
, rsrEvalResourceName
, rsrEvalResourceDecision
, Role
, role'
, rAssumeRolePolicyDocument
, rDescription
, rPath
, rRoleName
, rRoleId
, rARN
, rCreateDate
, RoleDetail
, roleDetail
, rdAssumeRolePolicyDocument
, rdARN
, rdPath
, rdInstanceProfileList
, rdCreateDate
, rdRoleName
, rdRoleId
, rdRolePolicyList
, rdAttachedManagedPolicies
, RoleUsageType
, roleUsageType
, rutResources
, rutRegion
, SAMLProviderListEntry
, sAMLProviderListEntry
, samlpleARN
, samlpleCreateDate
, samlpleValidUntil
, SSHPublicKey
, sshPublicKey
, spkUploadDate
, spkUserName
, spkSSHPublicKeyId
, spkFingerprint
, spkSSHPublicKeyBody
, spkStatus
, SSHPublicKeyMetadata
, sshPublicKeyMetadata
, spkmUserName
, spkmSSHPublicKeyId
, spkmStatus
, spkmUploadDate
, ServerCertificate
, serverCertificate
, sCertificateChain
, sServerCertificateMetadata
, sCertificateBody
, ServerCertificateMetadata
, serverCertificateMetadata
, scmUploadDate
, scmExpiration
, scmPath
, scmServerCertificateName
, scmServerCertificateId
, scmARN
, ServiceSpecificCredential
, serviceSpecificCredential
, sscCreateDate
, sscServiceName
, sscServiceUserName
, sscServicePassword
, sscServiceSpecificCredentialId
, sscUserName
, sscStatus
, ServiceSpecificCredentialMetadata
, serviceSpecificCredentialMetadata
, sscmUserName
, sscmStatus
, sscmServiceUserName
, sscmCreateDate
, sscmServiceSpecificCredentialId
, sscmServiceName
, SigningCertificate
, signingCertificate
, scUploadDate
, scUserName
, scCertificateId
, scCertificateBody
, scStatus
, SimulatePolicyResponse
, simulatePolicyResponse
, spEvaluationResults
, spMarker
, spIsTruncated
, Statement
, statement
, sSourcePolicyType
, sSourcePolicyId
, sEndPosition
, sStartPosition
, User
, user
, uPasswordLastUsed
, uPath
, uUserName
, uUserId
, uARN
, uCreateDate
, UserDetail
, userDetail
, udGroupList
, udARN
, udPath
, udCreateDate
, udUserName
, udUserId
, udUserPolicyList
, udAttachedManagedPolicies
, VirtualMFADevice
, virtualMFADevice
, vmdQRCodePNG
, vmdBase32StringSeed
, vmdUser
, vmdEnableDate
, vmdSerialNumber
) where
import Network.AWS.IAM.Types.Product
import Network.AWS.IAM.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
iam :: Service
iam =
Service
{ _svcAbbrev = "IAM"
, _svcSigner = v4
, _svcPrefix = "iam"
, _svcVersion = "2010-05-08"
, _svcEndpoint = defaultEndpoint iam
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseXMLError "IAM"
, _svcRetry = retry
}
where
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottledException" . hasStatus 400) e =
Just "throttled_exception"
| has (hasStatus 429) e = Just "too_many_requests"
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 504) e = Just "gateway_timeout"
| has (hasStatus 502) e = Just "bad_gateway"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_CredentialReportNotPresentException :: AsError a => Getting (First ServiceError) a ServiceError
_CredentialReportNotPresentException =
_MatchServiceError iam "ReportNotPresent" . hasStatus 410
_CredentialReportNotReadyException :: AsError a => Getting (First ServiceError) a ServiceError
_CredentialReportNotReadyException =
_MatchServiceError iam "ReportInProgress" . hasStatus 404
_MalformedPolicyDocumentException :: AsError a => Getting (First ServiceError) a ServiceError
_MalformedPolicyDocumentException =
_MatchServiceError iam "MalformedPolicyDocument" . hasStatus 400
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityAlreadyExistsException =
_MatchServiceError iam "EntityAlreadyExists" . hasStatus 409
_MalformedCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_MalformedCertificateException =
_MatchServiceError iam "MalformedCertificate" . hasStatus 400
_CredentialReportExpiredException :: AsError a => Getting (First ServiceError) a ServiceError
_CredentialReportExpiredException =
_MatchServiceError iam "ReportExpired" . hasStatus 410
_UnmodifiableEntityException :: AsError a => Getting (First ServiceError) a ServiceError
_UnmodifiableEntityException =
_MatchServiceError iam "UnmodifiableEntity" . hasStatus 400
_DuplicateCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateCertificateException =
_MatchServiceError iam "DuplicateCertificate" . hasStatus 409
_DeleteConflictException :: AsError a => Getting (First ServiceError) a ServiceError
_DeleteConflictException =
_MatchServiceError iam "DeleteConflict" . hasStatus 409
_NoSuchEntityException :: AsError a => Getting (First ServiceError) a ServiceError
_NoSuchEntityException = _MatchServiceError iam "NoSuchEntity" . hasStatus 404
_InvalidCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidCertificateException =
_MatchServiceError iam "InvalidCertificate" . hasStatus 400
_PolicyNotAttachableException :: AsError a => Getting (First ServiceError) a ServiceError
_PolicyNotAttachableException =
_MatchServiceError iam "PolicyNotAttachable" . hasStatus 400
_ServiceNotSupportedException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceNotSupportedException =
_MatchServiceError iam "NotSupportedService" . hasStatus 404
_UnrecognizedPublicKeyEncodingException :: AsError a => Getting (First ServiceError) a ServiceError
_UnrecognizedPublicKeyEncodingException =
_MatchServiceError iam "UnrecognizedPublicKeyEncoding" . hasStatus 400
_InvalidUserTypeException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidUserTypeException =
_MatchServiceError iam "InvalidUserType" . hasStatus 400
_ServiceFailureException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceFailureException =
_MatchServiceError iam "ServiceFailure" . hasStatus 500
_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidInputException = _MatchServiceError iam "InvalidInput" . hasStatus 400
_InvalidPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidPublicKeyException =
_MatchServiceError iam "InvalidPublicKey" . hasStatus 400
_InvalidAuthenticationCodeException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidAuthenticationCodeException =
_MatchServiceError iam "InvalidAuthenticationCode" . hasStatus 403
_EntityTemporarilyUnmodifiableException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityTemporarilyUnmodifiableException =
_MatchServiceError iam "EntityTemporarilyUnmodifiable" . hasStatus 409
_DuplicateSSHPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateSSHPublicKeyException =
_MatchServiceError iam "DuplicateSSHPublicKey" . hasStatus 400
_KeyPairMismatchException :: AsError a => Getting (First ServiceError) a ServiceError
_KeyPairMismatchException =
_MatchServiceError iam "KeyPairMismatch" . hasStatus 400
_PolicyEvaluationException :: AsError a => Getting (First ServiceError) a ServiceError
_PolicyEvaluationException =
_MatchServiceError iam "PolicyEvaluation" . hasStatus 500
_PasswordPolicyViolationException :: AsError a => Getting (First ServiceError) a ServiceError
_PasswordPolicyViolationException =
_MatchServiceError iam "PasswordPolicyViolation" . hasStatus 400
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException = _MatchServiceError iam "LimitExceeded" . hasStatus 409