module Network.AWS.DeviceFarm.Types
(
DeviceFarm
, _IdempotencyException
, _NotFoundException
, _ArgumentException
, _ServiceAccountException
, _LimitExceededException
, ArtifactCategory (..)
, ArtifactType (..)
, BillingMethod (..)
, DeviceAttribute (..)
, DeviceFormFactor (..)
, DevicePlatform (..)
, DevicePoolType (..)
, ExecutionResult (..)
, ExecutionStatus (..)
, RuleOperator (..)
, SampleType (..)
, TestType (..)
, UploadStatus (..)
, UploadType (..)
, AccountSettings
, accountSettings
, asAwsAccountNumber
, asUnmeteredDevices
, Artifact
, artifact
, aArn
, aUrl
, aExtension
, aName
, aType
, CPU
, cpu
, cpuFrequency
, cpuClock
, cpuArchitecture
, Counters
, counters
, cPassed
, cSkipped
, cWarned
, cStopped
, cTotal
, cFailed
, cErrored
, Device
, device
, dCarrier
, dImage
, dManufacturer
, dPlatform
, dArn
, dFormFactor
, dResolution
, dMemory
, dRadio
, dOs
, dName
, dModel
, dCpu
, dHeapSize
, DevicePool
, devicePool
, dpArn
, dpRules
, dpName
, dpType
, dpDescription
, DevicePoolCompatibilityResult
, devicePoolCompatibilityResult
, dpcrDevice
, dpcrCompatible
, dpcrIncompatibilityMessages
, IncompatibilityMessage
, incompatibilityMessage
, imType
, imMessage
, Job
, job
, jobStatus
, jobCounters
, jobArn
, jobCreated
, jobDevice
, jobStopped
, jobResult
, jobName
, jobType
, jobMessage
, jobStarted
, Location
, location
, lLatitude
, lLongitude
, Problem
, problem
, pDevice
, pTest
, pResult
, pRun
, pJob
, pMessage
, pSuite
, ProblemDetail
, problemDetail
, pdArn
, pdName
, Project
, project
, pArn
, pCreated
, pName
, Radios
, radios
, rNfc
, rGps
, rBluetooth
, rWifi
, Resolution
, resolution
, rHeight
, rWidth
, Rule
, rule
, rAttribute
, rOperator
, rValue
, Run
, run
, runStatus
, runBillingMethod
, runCounters
, runPlatform
, runArn
, runCreated
, runCompletedJobs
, runStopped
, runResult
, runName
, runType
, runMessage
, runTotalJobs
, runStarted
, Sample
, sample
, sArn
, sUrl
, sType
, ScheduleRunConfiguration
, scheduleRunConfiguration
, srcBillingMethod
, srcRadios
, srcLocation
, srcLocale
, srcNetworkProfileARN
, srcExtraDataPackageARN
, srcAuxiliaryApps
, ScheduleRunTest
, scheduleRunTest
, srtTestPackageARN
, srtParameters
, srtFilter
, srtType
, Suite
, suite
, suiStatus
, suiCounters
, suiArn
, suiCreated
, suiStopped
, suiResult
, suiName
, suiType
, suiMessage
, suiStarted
, Test
, test
, tStatus
, tCounters
, tArn
, tCreated
, tStopped
, tResult
, tName
, tType
, tMessage
, tStarted
, UniqueProblem
, uniqueProblem
, upProblems
, upMessage
, Upload
, upload
, uStatus
, uArn
, uCreated
, uUrl
, uName
, uMetadata
, uType
, uMessage
, uContentType
) where
import Network.AWS.DeviceFarm.Types.Product
import Network.AWS.DeviceFarm.Types.Sum
import Network.AWS.Prelude
import Network.AWS.Sign.V4
data DeviceFarm
instance AWSService DeviceFarm where
type Sg DeviceFarm = V4
service = const svc
where
svc =
Service
{ _svcAbbrev = "DeviceFarm"
, _svcPrefix = "devicefarm"
, _svcVersion = "2015-06-23"
, _svcEndpoint = defaultEndpoint svc
, _svcTimeout = Just 70
, _svcStatus = statusSuccess
, _svcError = parseJSONError
, _svcRetry = retry
}
retry =
Exponential
{ _retryBase = 5.0e-2
, _retryGrowth = 2
, _retryAttempts = 5
, _retryCheck = check
}
check e
| has (hasCode "ThrottlingException" . hasStatus 400) e =
Just "throttling_exception"
| has (hasCode "Throttling" . hasStatus 400) e = Just "throttling"
| has (hasStatus 503) e = Just "service_unavailable"
| has (hasStatus 500) e = Just "general_server_error"
| has (hasStatus 509) e = Just "limit_exceeded"
| otherwise = Nothing
_IdempotencyException :: AsError a => Getting (First ServiceError) a ServiceError
_IdempotencyException = _ServiceError . hasCode "IdempotencyException"
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_NotFoundException = _ServiceError . hasCode "NotFoundException"
_ArgumentException :: AsError a => Getting (First ServiceError) a ServiceError
_ArgumentException = _ServiceError . hasCode "ArgumentException"
_ServiceAccountException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceAccountException = _ServiceError . hasCode "ServiceAccountException"
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException = _ServiceError . hasCode "LimitExceededException"