{-# LANGUAGE OverloadedStrings #-}
module Network.AWS.AlexaBusiness.Types
(
alexaBusiness
, _InvalidUserStatusException
, _NotFoundException
, _NameInUseException
, _AlreadyExistsException
, _LimitExceededException
, _ResourceInUseException
, ConnectionStatus (..)
, DeviceEventType (..)
, DeviceStatus (..)
, DeviceStatusDetailCode (..)
, DistanceUnit (..)
, EnrollmentStatus (..)
, Feature (..)
, SortValue (..)
, TemperatureUnit (..)
, WakeWord (..)
, AddressBook
, addressBook
, abAddressBookARN
, abName
, abDescription
, AddressBookData
, addressBookData
, abdAddressBookARN
, abdName
, abdDescription
, Contact
, contact
, cLastName
, cContactARN
, cPhoneNumber
, cFirstName
, cDisplayName
, ContactData
, contactData
, cdLastName
, cdContactARN
, cdPhoneNumber
, cdFirstName
, cdDisplayName
, Device
, device
, dDeviceStatus
, dDeviceStatusInfo
, dDeviceARN
, dMACAddress
, dDeviceName
, dRoomARN
, dSoftwareVersion
, dDeviceType
, dDeviceSerialNumber
, DeviceData
, deviceData
, ddDeviceStatus
, ddDeviceStatusInfo
, ddDeviceARN
, ddMACAddress
, ddDeviceName
, ddRoomARN
, ddSoftwareVersion
, ddDeviceType
, ddRoomName
, ddDeviceSerialNumber
, DeviceEvent
, deviceEvent
, deValue
, deType
, deTimestamp
, DeviceStatusDetail
, deviceStatusDetail
, dsdCode
, DeviceStatusInfo
, deviceStatusInfo
, dsiDeviceStatusDetails
, dsiConnectionStatus
, Filter
, filter'
, fKey
, fValues
, Profile
, profile
, pSetupModeDisabled
, pPSTNEnabled
, pDistanceUnit
, pAddress
, pProfileARN
, pWakeWord
, pProfileName
, pTemperatureUnit
, pTimezone
, pMaxVolumeLimit
, ProfileData
, profileData
, pdDistanceUnit
, pdAddress
, pdProfileARN
, pdWakeWord
, pdProfileName
, pdTemperatureUnit
, pdTimezone
, Room
, room
, rProfileARN
, rProviderCalendarId
, rRoomARN
, rRoomName
, rDescription
, RoomData
, roomData
, rdProfileARN
, rdProviderCalendarId
, rdProfileName
, rdRoomARN
, rdRoomName
, rdDescription
, RoomSkillParameter
, roomSkillParameter
, rspParameterKey
, rspParameterValue
, SkillGroup
, skillGroup
, sgSkillGroupARN
, sgDescription
, sgSkillGroupName
, SkillGroupData
, skillGroupData
, sgdSkillGroupARN
, sgdDescription
, sgdSkillGroupName
, SkillSummary
, skillSummary
, ssSkillId
, ssSupportsLinking
, ssSkillName
, Sort
, sort
, sKey
, sValue
, Tag
, tag
, tagValue
, tagKey
, UserData
, userData
, udEmail
, udLastName
, udEnrollmentId
, udUserARN
, udFirstName
, udEnrollmentStatus
) where
import Network.AWS.AlexaBusiness.Types.Product
import Network.AWS.AlexaBusiness.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
alexaBusiness :: Service
alexaBusiness =
Service
{ _svcAbbrev = "AlexaBusiness"
, _svcSigner = v4
, _svcPrefix = "a4b"
, _svcVersion = "2017-11-09"
, _svcEndpoint = defaultEndpoint alexaBusiness
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseJSONError "AlexaBusiness"
, _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
_InvalidUserStatusException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidUserStatusException =
_MatchServiceError alexaBusiness "InvalidUserStatusException"
_NotFoundException :: AsError a => Getting (First ServiceError) a ServiceError
_NotFoundException = _MatchServiceError alexaBusiness "NotFoundException"
_NameInUseException :: AsError a => Getting (First ServiceError) a ServiceError
_NameInUseException = _MatchServiceError alexaBusiness "NameInUseException"
_AlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_AlreadyExistsException =
_MatchServiceError alexaBusiness "AlreadyExistsException"
_LimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_LimitExceededException =
_MatchServiceError alexaBusiness "LimitExceededException"
_ResourceInUseException :: AsError a => Getting (First ServiceError) a ServiceError
_ResourceInUseException =
_MatchServiceError alexaBusiness "ResourceInUseException"