module Network.AWS.IAM.Types
(
iam
, _CredentialReportNotPresentException
, _CredentialReportNotReadyException
, _MalformedPolicyDocumentException
, _EntityAlreadyExistsException
, _MalformedCertificateException
, _CredentialReportExpiredException
, _DuplicateCertificateException
, _DeleteConflictException
, _NoSuchEntityException
, _InvalidCertificateException
, _UnrecognizedPublicKeyEncodingException
, _InvalidUserTypeException
, _ServiceFailureException
, _InvalidInputException
, _InvalidPublicKeyException
, _InvalidAuthenticationCodeException
, _EntityTemporarilyUnmodifiableException
, _DuplicateSSHPublicKeyException
, _KeyPairMismatchException
, _PolicyEvaluationException
, _PasswordPolicyViolationException
, _LimitExceededException
, AssignmentStatusType (..)
, ContextKeyTypeEnum (..)
, EncodingType (..)
, EntityType (..)
, PolicyEvaluationDecisionType (..)
, PolicyScopeType (..)
, PolicySourceType (..)
, ReportFormatType (..)
, ReportStateType (..)
, StatusType (..)
, SummaryKeyType (..)
, AccessKey
, accessKey
, akCreateDate
, akUserName
, akAccessKeyId
, akStatus
, akSecretAccessKey
, AccessKeyLastUsed
, accessKeyLastUsed
, akluLastUsedDate
, akluServiceName
, akluRegion
, AccessKeyMetadata
, accessKeyMetadata
, akmStatus
, akmCreateDate
, akmUserName
, akmAccessKeyId
, AttachedPolicy
, attachedPolicy
, apPolicyName
, apPolicyARN
, ContextEntry
, contextEntry
, ceContextKeyValues
, ceContextKeyName
, ceContextKeyType
, EvaluationResult
, evaluationResult
, erMatchedStatements
, erEvalDecisionDetails
, erResourceSpecificResults
, erEvalResourceName
, erMissingContextValues
, 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
, 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
, rPath
, rRoleName
, rRoleId
, rARN
, rCreateDate
, RoleDetail
, roleDetail
, rdAssumeRolePolicyDocument
, rdARN
, rdPath
, rdInstanceProfileList
, rdCreateDate
, rdRoleName
, rdRoleId
, rdRolePolicyList
, rdAttachedManagedPolicies
, 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
, 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 (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 =
_ServiceError . hasStatus 410 . hasCode "ReportNotPresent"
_CredentialReportNotReadyException :: AsError a => Getting (First ServiceError) a ServiceError
_CredentialReportNotReadyException =
_ServiceError . hasStatus 404 . hasCode "ReportInProgress"
_MalformedPolicyDocumentException :: AsError a => Getting (First ServiceError) a ServiceError
_MalformedPolicyDocumentException =
_ServiceError . hasStatus 400 . hasCode "MalformedPolicyDocument"
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityAlreadyExistsException =
_ServiceError . hasStatus 409 . hasCode "EntityAlreadyExists"
_MalformedCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_MalformedCertificateException =
_ServiceError . hasStatus 400 . hasCode "MalformedCertificate"
_CredentialReportExpiredException :: AsError a => Getting (First ServiceError) a ServiceError
_CredentialReportExpiredException =
_ServiceError . hasStatus 410 . hasCode "ReportExpired"
_DuplicateCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateCertificateException =
_ServiceError . hasStatus 409 . hasCode "DuplicateCertificate"
_DeleteConflictException :: AsError a => Getting (First ServiceError) a ServiceError
_DeleteConflictException =
_ServiceError . hasStatus 409 . hasCode "DeleteConflict"
_NoSuchEntityException :: AsError a => Getting (First ServiceError) a ServiceError
_NoSuchEntityException = _ServiceError . hasStatus 404 . hasCode "NoSuchEntity"
_InvalidCertificateException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidCertificateException =
_ServiceError . hasStatus 400 . hasCode "InvalidCertificate"
_UnrecognizedPublicKeyEncodingException :: AsError a => Getting (First ServiceError) a ServiceError
_UnrecognizedPublicKeyEncodingException =
_ServiceError . hasStatus 400 . hasCode "UnrecognizedPublicKeyEncoding"
_InvalidUserTypeException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidUserTypeException =
_ServiceError . hasStatus 400 . hasCode "InvalidUserType"
_ServiceFailureException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceFailureException =
_ServiceError . hasStatus 500 . hasCode "ServiceFailure"
_InvalidInputException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidInputException = _ServiceError . hasStatus 400 . hasCode "InvalidInput"
_InvalidPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidPublicKeyException =
_ServiceError . hasStatus 400 . hasCode "InvalidPublicKey"
_InvalidAuthenticationCodeException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidAuthenticationCodeException =
_ServiceError . hasStatus 403 . hasCode "InvalidAuthenticationCode"
_EntityTemporarilyUnmodifiableException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityTemporarilyUnmodifiableException =
_ServiceError . hasStatus 409 . hasCode "EntityTemporarilyUnmodifiable"
_DuplicateSSHPublicKeyException :: AsError a => Getting (First ServiceError) a ServiceError
_DuplicateSSHPublicKeyException =
_ServiceError . hasStatus 400 . hasCode "DuplicateSSHPublicKey"
_KeyPairMismatchException :: AsError a => Getting (First ServiceError) a ServiceError
_KeyPairMismatchException =
_ServiceError . hasStatus 400 . hasCode "KeyPairMismatch"
_PolicyEvaluationException :: AsError a => Getting (First ServiceError) a ServiceError
_PolicyEvaluationException =
_ServiceError . hasStatus 500 . hasCode "PolicyEvaluation"
_PasswordPolicyViolationException :: AsError a => Getting (First ServiceError) a ServiceError
_PasswordPolicyViolationException =
_ServiceError . hasStatus 400 . hasCode "PasswordPolicyViolation"
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException =
_ServiceError . hasStatus 409 . hasCode "LimitExceeded"