module Network.AWS.Support.Types
(
support
, _AttachmentSetExpired
, _AttachmentLimitExceeded
, _DescribeAttachmentLimitExceeded
, _CaseIdNotFound
, _AttachmentSetIdNotFound
, _AttachmentSetSizeLimitExceeded
, _AttachmentIdNotFound
, _InternalServerError
, _CaseCreationLimitExceeded
, Attachment
, attachment
, aData
, aFileName
, AttachmentDetails
, attachmentDetails
, adAttachmentId
, adFileName
, CaseDetails
, caseDetails
, cdSubject
, cdStatus
, cdRecentCommunications
, cdSeverityCode
, cdCaseId
, cdCcEmailAddresses
, cdDisplayId
, cdSubmittedBy
, cdLanguage
, cdCategoryCode
, cdTimeCreated
, cdServiceCode
, Category
, category
, cName
, cCode
, Communication
, communication
, cBody
, cCaseId
, cSubmittedBy
, cTimeCreated
, cAttachmentSet
, RecentCaseCommunications
, recentCaseCommunications
, rccNextToken
, rccCommunications
, SeverityLevel
, severityLevel
, slName
, slCode
, SupportService
, supportService
, ssCategories
, ssName
, ssCode
, TrustedAdvisorCategorySpecificSummary
, trustedAdvisorCategorySpecificSummary
, tacssCostOptimizing
, TrustedAdvisorCheckDescription
, trustedAdvisorCheckDescription
, tacdId
, tacdName
, tacdDescription
, tacdCategory
, tacdMetadata
, TrustedAdvisorCheckRefreshStatus
, trustedAdvisorCheckRefreshStatus
, tacrsCheckId
, tacrsStatus
, tacrsMillisUntilNextRefreshable
, TrustedAdvisorCheckResult
, trustedAdvisorCheckResult
, tacrCheckId
, tacrTimestamp
, tacrStatus
, tacrResourcesSummary
, tacrCategorySpecificSummary
, tacrFlaggedResources
, TrustedAdvisorCheckSummary
, trustedAdvisorCheckSummary
, tacsHasFlaggedResources
, tacsCheckId
, tacsTimestamp
, tacsStatus
, tacsResourcesSummary
, tacsCategorySpecificSummary
, TrustedAdvisorCostOptimizingSummary
, trustedAdvisorCostOptimizingSummary
, tacosEstimatedMonthlySavings
, tacosEstimatedPercentMonthlySavings
, TrustedAdvisorResourceDetail
, trustedAdvisorResourceDetail
, tardIsSuppressed
, tardStatus
, tardRegion
, tardResourceId
, tardMetadata
, TrustedAdvisorResourcesSummary
, trustedAdvisorResourcesSummary
, tarsResourcesProcessed
, tarsResourcesFlagged
, tarsResourcesIgnored
, tarsResourcesSuppressed
) where
import Network.AWS.Prelude
import Network.AWS.Sign.V4
import Network.AWS.Support.Types.Product
import Network.AWS.Support.Types.Sum
support :: Service
support =
Service
{ _svcAbbrev = "Support"
, _svcSigner = v4
, _svcPrefix = "support"
, _svcVersion = "2013-04-15"
, _svcEndpoint = defaultEndpoint support
, _svcTimeout = Just 70
, _svcCheck = statusSuccess
, _svcError = parseJSONError
, _svcRetry = retry
}
where
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
_AttachmentSetExpired :: AsError a => Getting (First ServiceError) a ServiceError
_AttachmentSetExpired = _ServiceError . hasCode "AttachmentSetExpired"
_AttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_AttachmentLimitExceeded = _ServiceError . hasCode "AttachmentLimitExceeded"
_DescribeAttachmentLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_DescribeAttachmentLimitExceeded =
_ServiceError . hasCode "DescribeAttachmentLimitExceeded"
_CaseIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_CaseIdNotFound = _ServiceError . hasCode "CaseIdNotFound"
_AttachmentSetIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_AttachmentSetIdNotFound = _ServiceError . hasCode "AttachmentSetIdNotFound"
_AttachmentSetSizeLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_AttachmentSetSizeLimitExceeded =
_ServiceError . hasCode "AttachmentSetSizeLimitExceeded"
_AttachmentIdNotFound :: AsError a => Getting (First ServiceError) a ServiceError
_AttachmentIdNotFound = _ServiceError . hasCode "AttachmentIdNotFound"
_InternalServerError :: AsError a => Getting (First ServiceError) a ServiceError
_InternalServerError = _ServiceError . hasCode "InternalServerError"
_CaseCreationLimitExceeded :: AsError a => Getting (First ServiceError) a ServiceError
_CaseCreationLimitExceeded =
_ServiceError . hasCode "CaseCreationLimitExceeded"