{-# LANGUAGE OverloadedStrings #-}
module Network.AWS.DirectoryService.Types
(
directoryService
, _DirectoryUnavailableException
, _AuthenticationFailedException
, _InvalidParameterException
, _UnsupportedOperationException
, _EntityAlreadyExistsException
, _DirectoryLimitExceededException
, _IPRouteLimitExceededException
, _EntityDoesNotExistException
, _InsufficientPermissionsException
, _InvalidNextTokenException
, _ServiceException
, _SnapshotLimitExceededException
, _DomainControllerLimitExceededException
, _TagLimitExceededException
, _ClientException
, DirectoryEdition (..)
, DirectorySize (..)
, DirectoryStage (..)
, DirectoryType (..)
, DomainControllerStatus (..)
, IPRouteStatusMsg (..)
, RadiusAuthenticationProtocol (..)
, RadiusStatus (..)
, ReplicationScope (..)
, SchemaExtensionStatus (..)
, 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
, ddEdition
, ddRadiusStatus
, ddStage
, ddDirectoryId
, ddAccessURL
, ddShortName
, ddSize
, ddDesiredNumberOfDomainControllers
, 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
, DomainController
, domainController
, dcStatus
, dcDirectoryId
, dcVPCId
, dcLaunchTime
, dcSubnetId
, dcAvailabilityZone
, dcStatusLastUpdatedDateTime
, dcStatusReason
, dcDNSIPAddr
, dcDomainControllerId
, EventTopic
, eventTopic
, etStatus
, etDirectoryId
, etTopicName
, etTopicARN
, etCreatedDateTime
, IPRoute
, ipRoute
, irCidrIP
, irDescription
, IPRouteInfo
, ipRouteInfo
, iriDirectoryId
, iriIPRouteStatusReason
, iriAddedDateTime
, iriCidrIP
, iriIPRouteStatusMsg
, iriDescription
, RadiusSettings
, radiusSettings
, rsDisplayLabel
, rsRadiusRetries
, rsAuthenticationProtocol
, rsRadiusServers
, rsUseSameUsername
, rsSharedSecret
, rsRadiusTimeout
, rsRadiusPort
, SchemaExtensionInfo
, schemaExtensionInfo
, seiDirectoryId
, seiSchemaExtensionId
, seiSchemaExtensionStatusReason
, seiSchemaExtensionStatus
, seiDescription
, seiEndDateTime
, seiStartDateTime
, Snapshot
, snapshot
, sStatus
, sDirectoryId
, sStartTime
, sName
, sType
, sSnapshotId
, SnapshotLimits
, snapshotLimits
, slManualSnapshotsLimitReached
, slManualSnapshotsCurrentCount
, slManualSnapshotsLimit
, Tag
, tag
, tagKey
, tagValue
, 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 "DirectoryService"
, _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
_DirectoryUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
_DirectoryUnavailableException =
_MatchServiceError directoryService "DirectoryUnavailableException"
_AuthenticationFailedException :: AsError a => Getting (First ServiceError) a ServiceError
_AuthenticationFailedException =
_MatchServiceError directoryService "AuthenticationFailedException"
_InvalidParameterException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidParameterException =
_MatchServiceError directoryService "InvalidParameterException"
_UnsupportedOperationException :: AsError a => Getting (First ServiceError) a ServiceError
_UnsupportedOperationException =
_MatchServiceError directoryService "UnsupportedOperationException"
_EntityAlreadyExistsException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityAlreadyExistsException =
_MatchServiceError directoryService "EntityAlreadyExistsException"
_DirectoryLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_DirectoryLimitExceededException =
_MatchServiceError directoryService "DirectoryLimitExceededException"
_IPRouteLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_IPRouteLimitExceededException =
_MatchServiceError directoryService "IpRouteLimitExceededException"
_EntityDoesNotExistException :: AsError a => Getting (First ServiceError) a ServiceError
_EntityDoesNotExistException =
_MatchServiceError directoryService "EntityDoesNotExistException"
_InsufficientPermissionsException :: AsError a => Getting (First ServiceError) a ServiceError
_InsufficientPermissionsException =
_MatchServiceError directoryService "InsufficientPermissionsException"
_InvalidNextTokenException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidNextTokenException =
_MatchServiceError directoryService "InvalidNextTokenException"
_ServiceException :: AsError a => Getting (First ServiceError) a ServiceError
_ServiceException = _MatchServiceError directoryService "ServiceException"
_SnapshotLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_SnapshotLimitExceededException =
_MatchServiceError directoryService "SnapshotLimitExceededException"
_DomainControllerLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_DomainControllerLimitExceededException =
_MatchServiceError directoryService "DomainControllerLimitExceededException"
_TagLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_TagLimitExceededException =
_MatchServiceError directoryService "TagLimitExceededException"
_ClientException :: AsError a => Getting (First ServiceError) a ServiceError
_ClientException = _MatchServiceError directoryService "ClientException"