{-# LANGUAGE OverloadedStrings #-}
module Network.AWS.DeviceFarm.Types
(
deviceFarm
, _NotEligibleException
, _IdempotencyException
, _ArgumentException
, _NotFoundException
, _ServiceAccountException
, _InvalidOperationException
, _LimitExceededException
, ArtifactCategory (..)
, ArtifactType (..)
, BillingMethod (..)
, CurrencyCode (..)
, DeviceAttribute (..)
, DeviceFormFactor (..)
, DevicePlatform (..)
, DevicePoolType (..)
, ExecutionResult (..)
, ExecutionResultCode (..)
, ExecutionStatus (..)
, InstanceStatus (..)
, InteractionMode (..)
, NetworkProfileType (..)
, OfferingTransactionType (..)
, OfferingType (..)
, RecurringChargeFrequency (..)
, RuleOperator (..)
, SampleType (..)
, TestType (..)
, UploadStatus (..)
, UploadType (..)
, AccountSettings
, accountSettings
, asSkipAppResign
, asAwsAccountNumber
, asMaxJobTimeoutMinutes
, asMaxSlots
, asTrialMinutes
, asUnmeteredDevices
, asUnmeteredRemoteAccessDevices
, asDefaultJobTimeoutMinutes
, Artifact
, artifact
, aArn
, aUrl
, aExtension
, aName
, aType
, CPU
, cpu
, cpuFrequency
, cpuClock
, cpuArchitecture
, Counters
, counters
, cPassed
, cSkipped
, cWarned
, cStopped
, cTotal
, cFailed
, cErrored
, CreateRemoteAccessSessionConfiguration
, createRemoteAccessSessionConfiguration
, crascBillingMethod
, CustomerArtifactPaths
, customerArtifactPaths
, capAndroidPaths
, capDeviceHostPaths
, capIosPaths
, Device
, device
, devCarrier
, devImage
, devManufacturer
, devPlatform
, devModelId
, devRemoteAccessEnabled
, devArn
, devFormFactor
, devFleetType
, devResolution
, devMemory
, devRadio
, devOs
, devName
, devModel
, devInstances
, devRemoteDebugEnabled
, devCpu
, devHeapSize
, devFleetName
, DeviceInstance
, deviceInstance
, diStatus
, diUdid
, diInstanceProfile
, diArn
, diDeviceARN
, diLabels
, DeviceMinutes
, deviceMinutes
, dmMetered
, dmTotal
, dmUnmetered
, DevicePool
, devicePool
, dArn
, dRules
, dName
, dType
, dDescription
, DevicePoolCompatibilityResult
, devicePoolCompatibilityResult
, dpcrDevice
, dpcrCompatible
, dpcrIncompatibilityMessages
, ExecutionConfiguration
, executionConfiguration
, ecSkipAppResign
, ecAccountsCleanup
, ecAppPackagesCleanup
, ecJobTimeoutMinutes
, IncompatibilityMessage
, incompatibilityMessage
, imType
, imMessage
, InstanceProfile
, instanceProfile
, ipArn
, ipRebootAfterUse
, ipName
, ipPackageCleanup
, ipExcludeAppPackagesFromCleanup
, ipDescription
, Job
, job
, jobInstanceARN
, jobStatus
, jobCounters
, jobArn
, jobCreated
, jobDevice
, jobStopped
, jobResult
, jobName
, jobDeviceMinutes
, jobType
, jobMessage
, jobStarted
, Location
, location
, lLatitude
, lLongitude
, MonetaryAmount
, monetaryAmount
, maAmount
, maCurrencyCode
, NetworkProfile
, networkProfile
, npUplinkJitterMs
, npArn
, npUplinkLossPercent
, npDownlinkJitterMs
, npName
, npDownlinkLossPercent
, npType
, npUplinkDelayMs
, npUplinkBandwidthBits
, npDescription
, npDownlinkDelayMs
, npDownlinkBandwidthBits
, Offering
, offering
, oPlatform
, oId
, oRecurringCharges
, oType
, oDescription
, OfferingPromotion
, offeringPromotion
, opId
, opDescription
, OfferingStatus
, offeringStatus
, osEffectiveOn
, osOffering
, osQuantity
, osType
, OfferingTransaction
, offeringTransaction
, otOfferingStatus
, otCost
, otTransactionId
, otOfferingPromotionId
, otCreatedOn
, Problem
, problem
, pDevice
, pTest
, pResult
, pRun
, pJob
, pMessage
, pSuite
, ProblemDetail
, problemDetail
, pdArn
, pdName
, Project
, project
, pArn
, pCreated
, pName
, pDefaultJobTimeoutMinutes
, Radios
, radios
, rNfc
, rGps
, rBluetooth
, rWifi
, RecurringCharge
, recurringCharge
, rcFrequency
, rcCost
, RemoteAccessSession
, remoteAccessSession
, rasBillingMethod
, rasClientId
, rasDeviceUdid
, rasSkipAppResign
, rasInstanceARN
, rasStatus
, rasRemoteRecordEnabled
, rasArn
, rasRemoteRecordAppARN
, rasCreated
, rasDevice
, rasStopped
, rasResult
, rasName
, rasDeviceMinutes
, rasRemoteDebugEnabled
, rasEndpoint
, rasMessage
, rasHostAddress
, rasInteractionMode
, rasStarted
, Resolution
, resolution
, rHeight
, rWidth
, Rule
, rule
, rAttribute
, rOperator
, rValue
, Run
, run
, runBillingMethod
, runSkipAppResign
, runStatus
, runCustomerArtifactPaths
, runEventCount
, runCounters
, runPlatform
, runSeed
, runRadios
, runArn
, runLocation
, runCreated
, runLocale
, runStopped
, runResult
, runJobTimeoutMinutes
, runCompletedJobs
, runResultCode
, runName
, runAppUpload
, runParsingResultURL
, runNetworkProfile
, runDeviceMinutes
, runType
, runMessage
, runWebURL
, runTotalJobs
, runDevicePoolARN
, runStarted
, Sample
, sample
, samArn
, samUrl
, samType
, ScheduleRunConfiguration
, scheduleRunConfiguration
, srcBillingMethod
, srcCustomerArtifactPaths
, srcRadios
, srcLocation
, srcLocale
, srcNetworkProfileARN
, srcExtraDataPackageARN
, srcAuxiliaryApps
, srcVpceConfigurationARNs
, ScheduleRunTest
, scheduleRunTest
, srtTestPackageARN
, srtParameters
, srtFilter
, srtType
, Suite
, suite
, sStatus
, sCounters
, sArn
, sCreated
, sStopped
, sResult
, sName
, sDeviceMinutes
, sType
, sMessage
, sStarted
, Test
, test
, tStatus
, tCounters
, tArn
, tCreated
, tStopped
, tResult
, tName
, tDeviceMinutes
, tType
, tMessage
, tStarted
, TrialMinutes
, trialMinutes
, tmRemaining
, tmTotal
, UniqueProblem
, uniqueProblem
, upProblems
, upMessage
, Upload
, upload
, uStatus
, uArn
, uCreated
, uUrl
, uName
, uMetadata
, uType
, uMessage
, uContentType
, VPCEConfiguration
, vpcEConfiguration
, vecVpceServiceName
, vecArn
, vecVpceConfigurationName
, vecServiceDNSName
, vecVpceConfigurationDescription
) where
import Network.AWS.DeviceFarm.Types.Product
import Network.AWS.DeviceFarm.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
deviceFarm :: Service
deviceFarm =
Service
{ _svcAbbrev = "DeviceFarm"
, _svcSigner = v4
, _svcPrefix = "devicefarm"
, _svcVersion = "2015-06-23"
, _svcEndpoint = defaultEndpoint deviceFarm
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseJSONError "DeviceFarm"
, _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 (hasCode "RequestThrottledException" . hasStatus 400) e =
Just "request_throttled_exception"
| 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
_NotEligibleException :: AsError a => Getting (First ServiceError) a ServiceError
_NotEligibleException = _MatchServiceError deviceFarm "NotEligibleException"
_IdempotencyException :: AsError a => Getting (First ServiceError) a ServiceError
_IdempotencyException = _MatchServiceError deviceFarm "IdempotencyException"
_ArgumentException :: AsError a => Getting (First ServiceError) a ServiceError
_ArgumentException = _MatchServiceError deviceFarm "ArgumentException"
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_NotFoundException = _MatchServiceError deviceFarm "NotFoundException"
_ServiceAccountException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceAccountException =
_MatchServiceError deviceFarm "ServiceAccountException"
_InvalidOperationException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidOperationException =
_MatchServiceError deviceFarm "InvalidOperationException"
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException = _MatchServiceError deviceFarm "LimitExceededException"