module Network.AWS.MechanicalTurk.Types
(
mechanicalTurk
, _ServiceFault
, _RequestError
, AssignmentStatus (..)
, Comparator (..)
, EventType (..)
, HITReviewStatus (..)
, HITStatus (..)
, NotificationTransport (..)
, NotifyWorkersFailureCode (..)
, QualificationStatus (..)
, QualificationTypeStatus (..)
, ReviewActionStatus (..)
, ReviewPolicyLevel (..)
, ReviewableHITStatus (..)
, Assignment
, assignment
, aAcceptTime
, aAnswer
, aAssignmentStatus
, aRequesterFeedback
, aDeadline
, aApprovalTime
, aRejectionTime
, aAutoApprovalTime
, aHITId
, aWorkerId
, aAssignmentId
, aSubmitTime
, BonusPayment
, bonusPayment
, bpReason
, bpGrantTime
, bpWorkerId
, bpAssignmentId
, bpBonusAmount
, HIT
, hIT
, hitCreationTime
, hitHITGroupId
, hitNumberOfAssignmentsPending
, hitHITTypeId
, hitExpiration
, hitAutoApprovalDelayInSeconds
, hitRequesterAnnotation
, hitHITStatus
, hitMaxAssignments
, hitNumberOfAssignmentsCompleted
, hitReward
, hitKeywords
, hitHITLayoutId
, hitQualificationRequirements
, hitTitle
, hitHITId
, hitHITReviewStatus
, hitNumberOfAssignmentsAvailable
, hitDescription
, hitQuestion
, hitAssignmentDurationInSeconds
, HITLayoutParameter
, hITLayoutParameter
, hitlpName
, hitlpValue
, Locale
, locale
, lSubdivision
, lCountry
, NotificationSpecification
, notificationSpecification
, nsDestination
, nsTransport
, nsVersion
, nsEventTypes
, NotifyWorkersFailureStatus
, notifyWorkersFailureStatus
, nwfsNotifyWorkersFailureMessage
, nwfsNotifyWorkersFailureCode
, nwfsWorkerId
, ParameterMapEntry
, parameterMapEntry
, pmeValues
, pmeKey
, PolicyParameter
, policyParameter
, ppValues
, ppMapEntries
, ppKey
, Qualification
, qualification
, qStatus
, qIntegerValue
, qLocaleValue
, qQualificationTypeId
, qGrantTime
, qWorkerId
, QualificationRequest
, qualificationRequest
, quaQualificationRequestId
, quaTest
, quaQualificationTypeId
, quaAnswer
, quaWorkerId
, quaSubmitTime
, QualificationRequirement
, qualificationRequirement
, qrLocaleValues
, qrRequiredToPreview
, qrIntegerValues
, qrQualificationTypeId
, qrComparator
, QualificationType
, qualificationType
, qtCreationTime
, qtTestDurationInSeconds
, qtQualificationTypeStatus
, qtAnswerKey
, qtTest
, qtQualificationTypeId
, qtName
, qtKeywords
, qtAutoGranted
, qtAutoGrantedValue
, qtDescription
, qtIsRequestable
, qtRetryDelayInSeconds
, ReviewActionDetail
, reviewActionDetail
, radStatus
, radTargetId
, radActionId
, radTargetType
, radResult
, radActionName
, radCompleteTime
, radErrorCode
, ReviewPolicy
, reviewPolicy
, rpParameters
, rpPolicyName
, ReviewReport
, reviewReport
, rrReviewActions
, rrReviewResults
, ReviewResultDetail
, reviewResultDetail
, rrdValue
, rrdActionId
, rrdSubjectType
, rrdKey
, rrdQuestionId
, rrdSubjectId
, WorkerBlock
, workerBlock
, wbReason
, wbWorkerId
) where
import Network.AWS.Lens
import Network.AWS.MechanicalTurk.Types.Product
import Network.AWS.MechanicalTurk.Types.Sum
import Network.AWS.Prelude
import Network.AWS.Sign.V4
mechanicalTurk :: Service
mechanicalTurk =
Service
{ _svcAbbrev = "MechanicalTurk"
, _svcSigner = v4
, _svcPrefix = "mturk-requester"
, _svcVersion = "2017-01-17"
, _svcEndpoint = defaultEndpoint mechanicalTurk
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseJSONError "MechanicalTurk"
, _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
_ServiceFault :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceFault = _MatchServiceError mechanicalTurk "ServiceFault"
_RequestError :: AsError a => Getting (First ServiceError) a ServiceError
_RequestError = _MatchServiceError mechanicalTurk "RequestError"