module Network.AWS.DirectoryService.Types
(
directoryService
, _DirectoryUnavailableException
, _AuthenticationFailedException
, _InvalidParameterException
, _UnsupportedOperationException
, _EntityAlreadyExistsException
, _DirectoryLimitExceededException
, _EntityDoesNotExistException
, _InsufficientPermissionsException
, _InvalidNextTokenException
, _ServiceException
, _SnapshotLimitExceededException
, _ClientException
, DirectorySize (..)
, DirectoryStage (..)
, DirectoryType (..)
, RadiusAuthenticationProtocol (..)
, RadiusStatus (..)
, ReplicationScope (..)
, SnapshotStatus (..)
, SnapshotType (..)
, TopicStatus (..)
, TrustDirection (..)
, TrustState (..)
, TrustType (..)
, Attribute
, attribute
, aValue
, aName
, Computer
, computer
, cComputerId
, cComputerAttributes
, cComputerName
, ConditionalForwarder
, conditionalForwarder
, cfDNSIPAddrs
, cfRemoteDomainName
, cfReplicationScope
, DirectoryConnectSettings
, directoryConnectSettings
, dcsVPCId
, dcsSubnetIds
, dcsCustomerDNSIPs
, dcsCustomerUserName
, DirectoryConnectSettingsDescription
, directoryConnectSettingsDescription
, dcsdCustomerUserName
, dcsdSubnetIds
, dcsdVPCId
, dcsdSecurityGroupId
, dcsdConnectIPs
, dcsdAvailabilityZones
, DirectoryDescription
, directoryDescription
, ddRadiusStatus
, ddStage
, ddDirectoryId
, ddAccessURL
, ddShortName
, ddSize
, ddRadiusSettings
, ddLaunchTime
, ddAlias
, ddName
, ddStageLastUpdatedDateTime
, ddSSOEnabled
, ddDNSIPAddrs
, ddVPCSettings
, ddType
, ddStageReason
, ddConnectSettings
, ddDescription
, DirectoryLimits
, directoryLimits
, dlConnectedDirectoriesCurrentCount
, dlCloudOnlyMicrosoftADLimitReached
, dlConnectedDirectoriesLimit
, dlConnectedDirectoriesLimitReached
, dlCloudOnlyMicrosoftADLimit
, dlCloudOnlyDirectoriesLimit
, dlCloudOnlyDirectoriesCurrentCount
, dlCloudOnlyDirectoriesLimitReached
, dlCloudOnlyMicrosoftADCurrentCount
, DirectoryVPCSettings
, directoryVPCSettings
, dvsVPCId
, dvsSubnetIds
, DirectoryVPCSettingsDescription
, directoryVPCSettingsDescription
, dvsdSubnetIds
, dvsdVPCId
, dvsdSecurityGroupId
, dvsdAvailabilityZones
, EventTopic
, eventTopic
, etStatus
, etDirectoryId
, etTopicName
, etTopicARN
, etCreatedDateTime
, RadiusSettings
, radiusSettings
, rsDisplayLabel
, rsRadiusRetries
, rsAuthenticationProtocol
, rsRadiusServers
, rsUseSameUsername
, rsSharedSecret
, rsRadiusTimeout
, rsRadiusPort
, Snapshot
, snapshot
, sStatus
, sDirectoryId
, sStartTime
, sName
, sType
, sSnapshotId
, SnapshotLimits
, snapshotLimits
, slManualSnapshotsLimitReached
, slManualSnapshotsCurrentCount
, slManualSnapshotsLimit
, Trust
, trust
, tDirectoryId
, tTrustState
, tLastUpdatedDateTime
, tTrustDirection
, tStateLastUpdatedDateTime
, tTrustType
, tTrustStateReason
, tRemoteDomainName
, tTrustId
, tCreatedDateTime
) where
import Network.AWS.DirectoryService.Types.Product
import Network.AWS.DirectoryService.Types.Sum
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Sign.V4
directoryService :: Service
directoryService =
Service
{ _svcAbbrev = "DirectoryService"
, _svcSigner = v4
, _svcPrefix = "ds"
, _svcVersion = "2015-04-16"
, _svcEndpoint = defaultEndpoint directoryService
, _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 (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
_DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
_DirectoryUnavailableException =
_ServiceError . hasCode "DirectoryUnavailableException"
_AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError
_AuthenticationFailedException =
_ServiceError . hasCode "AuthenticationFailedException"
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidParameterException =
_ServiceError . hasCode "InvalidParameterException"
_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError
_UnsupportedOperationException =
_ServiceError . hasCode "UnsupportedOperationException"
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityAlreadyExistsException =
_ServiceError . hasCode "EntityAlreadyExistsException"
_DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_DirectoryLimitExceededException =
_ServiceError . hasCode "DirectoryLimitExceededException"
_EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityDoesNotExistException =
_ServiceError . hasCode "EntityDoesNotExistException"
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError
_InsufficientPermissionsException =
_ServiceError . hasCode "InsufficientPermissionsException"
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidNextTokenException =
_ServiceError . hasCode "InvalidNextTokenException"
_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceException = _ServiceError . hasCode "ServiceException"
_SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_SnapshotLimitExceededException =
_ServiceError . hasCode "SnapshotLimitExceededException"
_ClientException :: AsError a => Getting (First ServiceError) a ServiceError
_ClientException = _ServiceError . hasCode "ClientException"