module Network.AWS.WorkSpaces.Types
(
workSpaces
, _ResourceUnavailableException
, _InvalidParameterValuesException
, _ResourceLimitExceededException
, Compute (..)
, WorkspaceDirectoryState (..)
, WorkspaceDirectoryType (..)
, WorkspaceState (..)
, ComputeType
, computeType
, ctName
, DefaultWorkspaceCreationProperties
, defaultWorkspaceCreationProperties
, dwcpCustomSecurityGroupId
, dwcpUserEnabledAsLocalAdministrator
, dwcpEnableWorkDocs
, dwcpEnableInternetAccess
, dwcpDefaultOu
, FailedCreateWorkspaceRequest
, failedCreateWorkspaceRequest
, fcwrWorkspaceRequest
, fcwrErrorCode
, fcwrErrorMessage
, FailedWorkspaceChangeRequest
, failedWorkspaceChangeRequest
, fwcrErrorCode
, fwcrWorkspaceId
, fwcrErrorMessage
, RebootRequest
, rebootRequest
, rWorkspaceId
, RebuildRequest
, rebuildRequest
, rrWorkspaceId
, TerminateRequest
, terminateRequest
, trWorkspaceId
, UserStorage
, userStorage
, usCapacity
, Workspace
, workspace
, wDirectoryId
, wState
, wIPAddress
, wUserName
, wSubnetId
, wBundleId
, wRootVolumeEncryptionEnabled
, wErrorCode
, wVolumeEncryptionKey
, wComputerName
, wWorkspaceId
, wUserVolumeEncryptionEnabled
, wErrorMessage
, WorkspaceBundle
, workspaceBundle
, wbBundleId
, wbOwner
, wbName
, wbComputeType
, wbUserStorage
, wbDescription
, WorkspaceDirectory
, workspaceDirectory
, wdRegistrationCode
, wdIAMRoleId
, wdDirectoryId
, wdState
, wdCustomerUserName
, wdSubnetIds
, wdAlias
, wdWorkspaceSecurityGroupId
, wdDirectoryType
, wdWorkspaceCreationProperties
, wdDNSIPAddresses
, wdDirectoryName
, WorkspaceRequest
, workspaceRequest
, wrRootVolumeEncryptionEnabled
, wrVolumeEncryptionKey
, wrUserVolumeEncryptionEnabled
, wrDirectoryId
, wrUserName
, wrBundleId
) where
import Network.AWS.Prelude
import Network.AWS.Sign.V4
import Network.AWS.WorkSpaces.Types.Product
import Network.AWS.WorkSpaces.Types.Sum
workSpaces :: Service
workSpaces =
Service
{ _svcAbbrev = "WorkSpaces"
, _svcSigner = v4
, _svcPrefix = "workspaces"
, _svcVersion = "2015-04-08"
, _svcEndpoint = defaultEndpoint workSpaces
, _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
_ResourceUnavailableException :: AsError a => Getting (First ServiceError) a ServiceError
_ResourceUnavailableException =
_ServiceError . hasCode "ResourceUnavailableException"
_InvalidParameterValuesException :: AsError a => Getting (First ServiceError) a ServiceError
_InvalidParameterValuesException =
_ServiceError . hasCode "InvalidParameterValuesException"
_ResourceLimitExceededException :: AsError a => Getting (First ServiceError) a ServiceError
_ResourceLimitExceededException =
_ServiceError . hasCode "ResourceLimitExceededException"