{-# LANGUAGE DisambiguateRecordFields #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.AppStream.Types
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.AppStream.Types
  ( -- * Service Configuration
    defaultService,

    -- * Errors
    _ConcurrentModificationException,
    _EntitlementAlreadyExistsException,
    _EntitlementNotFoundException,
    _IncompatibleImageException,
    _InvalidAccountStatusException,
    _InvalidParameterCombinationException,
    _InvalidRoleException,
    _LimitExceededException,
    _OperationNotPermittedException,
    _RequestLimitExceededException,
    _ResourceAlreadyExistsException,
    _ResourceInUseException,
    _ResourceNotAvailableException,
    _ResourceNotFoundException,

    -- * AccessEndpointType
    AccessEndpointType (..),

    -- * Action
    Action (..),

    -- * AppVisibility
    AppVisibility (..),

    -- * ApplicationAttribute
    ApplicationAttribute (..),

    -- * AuthenticationType
    AuthenticationType (..),

    -- * CertificateBasedAuthStatus
    CertificateBasedAuthStatus (..),

    -- * FleetAttribute
    FleetAttribute (..),

    -- * FleetErrorCode
    FleetErrorCode (..),

    -- * FleetState
    FleetState (..),

    -- * FleetType
    FleetType (..),

    -- * ImageBuilderState
    ImageBuilderState (..),

    -- * ImageBuilderStateChangeReasonCode
    ImageBuilderStateChangeReasonCode (..),

    -- * ImageState
    ImageState (..),

    -- * ImageStateChangeReasonCode
    ImageStateChangeReasonCode (..),

    -- * MessageAction
    MessageAction (..),

    -- * Permission
    Permission (..),

    -- * PlatformType
    PlatformType (..),

    -- * PreferredProtocol
    PreferredProtocol (..),

    -- * SessionConnectionState
    SessionConnectionState (..),

    -- * SessionState
    SessionState (..),

    -- * StackAttribute
    StackAttribute (..),

    -- * StackErrorCode
    StackErrorCode (..),

    -- * StorageConnectorType
    StorageConnectorType (..),

    -- * StreamView
    StreamView (..),

    -- * UsageReportExecutionErrorCode
    UsageReportExecutionErrorCode (..),

    -- * UsageReportSchedule
    UsageReportSchedule (..),

    -- * UserStackAssociationErrorCode
    UserStackAssociationErrorCode (..),

    -- * VisibilityType
    VisibilityType (..),

    -- * AccessEndpoint
    AccessEndpoint (..),
    newAccessEndpoint,
    accessEndpoint_vpceId,
    accessEndpoint_endpointType,

    -- * AppBlock
    AppBlock (..),
    newAppBlock,
    appBlock_createdTime,
    appBlock_description,
    appBlock_displayName,
    appBlock_sourceS3Location,
    appBlock_name,
    appBlock_arn,
    appBlock_setupScriptDetails,

    -- * Application
    Application (..),
    newApplication,
    application_appBlockArn,
    application_arn,
    application_createdTime,
    application_description,
    application_displayName,
    application_enabled,
    application_iconS3Location,
    application_iconURL,
    application_instanceFamilies,
    application_launchParameters,
    application_launchPath,
    application_metadata,
    application_name,
    application_platforms,
    application_workingDirectory,

    -- * ApplicationFleetAssociation
    ApplicationFleetAssociation (..),
    newApplicationFleetAssociation,
    applicationFleetAssociation_fleetName,
    applicationFleetAssociation_applicationArn,

    -- * ApplicationSettings
    ApplicationSettings (..),
    newApplicationSettings,
    applicationSettings_settingsGroup,
    applicationSettings_enabled,

    -- * ApplicationSettingsResponse
    ApplicationSettingsResponse (..),
    newApplicationSettingsResponse,
    applicationSettingsResponse_enabled,
    applicationSettingsResponse_s3BucketName,
    applicationSettingsResponse_settingsGroup,

    -- * CertificateBasedAuthProperties
    CertificateBasedAuthProperties (..),
    newCertificateBasedAuthProperties,
    certificateBasedAuthProperties_certificateAuthorityArn,
    certificateBasedAuthProperties_status,

    -- * ComputeCapacity
    ComputeCapacity (..),
    newComputeCapacity,
    computeCapacity_desiredInstances,

    -- * ComputeCapacityStatus
    ComputeCapacityStatus (..),
    newComputeCapacityStatus,
    computeCapacityStatus_available,
    computeCapacityStatus_inUse,
    computeCapacityStatus_running,
    computeCapacityStatus_desired,

    -- * DirectoryConfig
    DirectoryConfig (..),
    newDirectoryConfig,
    directoryConfig_certificateBasedAuthProperties,
    directoryConfig_createdTime,
    directoryConfig_organizationalUnitDistinguishedNames,
    directoryConfig_serviceAccountCredentials,
    directoryConfig_directoryName,

    -- * DomainJoinInfo
    DomainJoinInfo (..),
    newDomainJoinInfo,
    domainJoinInfo_directoryName,
    domainJoinInfo_organizationalUnitDistinguishedName,

    -- * EntitledApplication
    EntitledApplication (..),
    newEntitledApplication,
    entitledApplication_applicationIdentifier,

    -- * Entitlement
    Entitlement (..),
    newEntitlement,
    entitlement_createdTime,
    entitlement_description,
    entitlement_lastModifiedTime,
    entitlement_name,
    entitlement_stackName,
    entitlement_appVisibility,
    entitlement_attributes,

    -- * EntitlementAttribute
    EntitlementAttribute (..),
    newEntitlementAttribute,
    entitlementAttribute_name,
    entitlementAttribute_value,

    -- * Fleet
    Fleet (..),
    newFleet,
    fleet_createdTime,
    fleet_description,
    fleet_disconnectTimeoutInSeconds,
    fleet_displayName,
    fleet_domainJoinInfo,
    fleet_enableDefaultInternetAccess,
    fleet_fleetErrors,
    fleet_fleetType,
    fleet_iamRoleArn,
    fleet_idleDisconnectTimeoutInSeconds,
    fleet_imageArn,
    fleet_imageName,
    fleet_maxConcurrentSessions,
    fleet_maxUserDurationInSeconds,
    fleet_platform,
    fleet_sessionScriptS3Location,
    fleet_streamView,
    fleet_usbDeviceFilterStrings,
    fleet_vpcConfig,
    fleet_arn,
    fleet_name,
    fleet_instanceType,
    fleet_computeCapacityStatus,
    fleet_state,

    -- * FleetError
    FleetError (..),
    newFleetError,
    fleetError_errorCode,
    fleetError_errorMessage,

    -- * Image
    Image (..),
    newImage,
    image_applications,
    image_appstreamAgentVersion,
    image_arn,
    image_baseImageArn,
    image_createdTime,
    image_description,
    image_displayName,
    image_imageBuilderName,
    image_imageBuilderSupported,
    image_imageErrors,
    image_imagePermissions,
    image_platform,
    image_publicBaseImageReleasedDate,
    image_state,
    image_stateChangeReason,
    image_visibility,
    image_name,

    -- * ImageBuilder
    ImageBuilder (..),
    newImageBuilder,
    imageBuilder_accessEndpoints,
    imageBuilder_appstreamAgentVersion,
    imageBuilder_arn,
    imageBuilder_createdTime,
    imageBuilder_description,
    imageBuilder_displayName,
    imageBuilder_domainJoinInfo,
    imageBuilder_enableDefaultInternetAccess,
    imageBuilder_iamRoleArn,
    imageBuilder_imageArn,
    imageBuilder_imageBuilderErrors,
    imageBuilder_instanceType,
    imageBuilder_networkAccessConfiguration,
    imageBuilder_platform,
    imageBuilder_state,
    imageBuilder_stateChangeReason,
    imageBuilder_vpcConfig,
    imageBuilder_name,

    -- * ImageBuilderStateChangeReason
    ImageBuilderStateChangeReason (..),
    newImageBuilderStateChangeReason,
    imageBuilderStateChangeReason_code,
    imageBuilderStateChangeReason_message,

    -- * ImagePermissions
    ImagePermissions (..),
    newImagePermissions,
    imagePermissions_allowFleet,
    imagePermissions_allowImageBuilder,

    -- * ImageStateChangeReason
    ImageStateChangeReason (..),
    newImageStateChangeReason,
    imageStateChangeReason_code,
    imageStateChangeReason_message,

    -- * LastReportGenerationExecutionError
    LastReportGenerationExecutionError (..),
    newLastReportGenerationExecutionError,
    lastReportGenerationExecutionError_errorCode,
    lastReportGenerationExecutionError_errorMessage,

    -- * NetworkAccessConfiguration
    NetworkAccessConfiguration (..),
    newNetworkAccessConfiguration,
    networkAccessConfiguration_eniId,
    networkAccessConfiguration_eniPrivateIpAddress,

    -- * ResourceError
    ResourceError (..),
    newResourceError,
    resourceError_errorCode,
    resourceError_errorMessage,
    resourceError_errorTimestamp,

    -- * S3Location
    S3Location (..),
    newS3Location,
    s3Location_s3Bucket,
    s3Location_s3Key,

    -- * ScriptDetails
    ScriptDetails (..),
    newScriptDetails,
    scriptDetails_executableParameters,
    scriptDetails_scriptS3Location,
    scriptDetails_executablePath,
    scriptDetails_timeoutInSeconds,

    -- * ServiceAccountCredentials
    ServiceAccountCredentials (..),
    newServiceAccountCredentials,
    serviceAccountCredentials_accountName,
    serviceAccountCredentials_accountPassword,

    -- * Session
    Session (..),
    newSession,
    session_authenticationType,
    session_connectionState,
    session_maxExpirationTime,
    session_networkAccessConfiguration,
    session_startTime,
    session_id,
    session_userId,
    session_stackName,
    session_fleetName,
    session_state,

    -- * SharedImagePermissions
    SharedImagePermissions (..),
    newSharedImagePermissions,
    sharedImagePermissions_sharedAccountId,
    sharedImagePermissions_imagePermissions,

    -- * Stack
    Stack (..),
    newStack,
    stack_accessEndpoints,
    stack_applicationSettings,
    stack_arn,
    stack_createdTime,
    stack_description,
    stack_displayName,
    stack_embedHostDomains,
    stack_feedbackURL,
    stack_redirectURL,
    stack_stackErrors,
    stack_storageConnectors,
    stack_streamingExperienceSettings,
    stack_userSettings,
    stack_name,

    -- * StackError
    StackError (..),
    newStackError,
    stackError_errorCode,
    stackError_errorMessage,

    -- * StorageConnector
    StorageConnector (..),
    newStorageConnector,
    storageConnector_domains,
    storageConnector_resourceIdentifier,
    storageConnector_connectorType,

    -- * StreamingExperienceSettings
    StreamingExperienceSettings (..),
    newStreamingExperienceSettings,
    streamingExperienceSettings_preferredProtocol,

    -- * UsageReportSubscription
    UsageReportSubscription (..),
    newUsageReportSubscription,
    usageReportSubscription_lastGeneratedReportDate,
    usageReportSubscription_s3BucketName,
    usageReportSubscription_schedule,
    usageReportSubscription_subscriptionErrors,

    -- * User
    User (..),
    newUser,
    user_arn,
    user_createdTime,
    user_enabled,
    user_firstName,
    user_lastName,
    user_status,
    user_userName,
    user_authenticationType,

    -- * UserSetting
    UserSetting (..),
    newUserSetting,
    userSetting_action,
    userSetting_permission,

    -- * UserStackAssociation
    UserStackAssociation (..),
    newUserStackAssociation,
    userStackAssociation_sendEmailNotification,
    userStackAssociation_stackName,
    userStackAssociation_userName,
    userStackAssociation_authenticationType,

    -- * UserStackAssociationError
    UserStackAssociationError (..),
    newUserStackAssociationError,
    userStackAssociationError_errorCode,
    userStackAssociationError_errorMessage,
    userStackAssociationError_userStackAssociation,

    -- * VpcConfig
    VpcConfig (..),
    newVpcConfig,
    vpcConfig_securityGroupIds,
    vpcConfig_subnetIds,
  )
where

import Amazonka.AppStream.Types.AccessEndpoint
import Amazonka.AppStream.Types.AccessEndpointType
import Amazonka.AppStream.Types.Action
import Amazonka.AppStream.Types.AppBlock
import Amazonka.AppStream.Types.AppVisibility
import Amazonka.AppStream.Types.Application
import Amazonka.AppStream.Types.ApplicationAttribute
import Amazonka.AppStream.Types.ApplicationFleetAssociation
import Amazonka.AppStream.Types.ApplicationSettings
import Amazonka.AppStream.Types.ApplicationSettingsResponse
import Amazonka.AppStream.Types.AuthenticationType
import Amazonka.AppStream.Types.CertificateBasedAuthProperties
import Amazonka.AppStream.Types.CertificateBasedAuthStatus
import Amazonka.AppStream.Types.ComputeCapacity
import Amazonka.AppStream.Types.ComputeCapacityStatus
import Amazonka.AppStream.Types.DirectoryConfig
import Amazonka.AppStream.Types.DomainJoinInfo
import Amazonka.AppStream.Types.EntitledApplication
import Amazonka.AppStream.Types.Entitlement
import Amazonka.AppStream.Types.EntitlementAttribute
import Amazonka.AppStream.Types.Fleet
import Amazonka.AppStream.Types.FleetAttribute
import Amazonka.AppStream.Types.FleetError
import Amazonka.AppStream.Types.FleetErrorCode
import Amazonka.AppStream.Types.FleetState
import Amazonka.AppStream.Types.FleetType
import Amazonka.AppStream.Types.Image
import Amazonka.AppStream.Types.ImageBuilder
import Amazonka.AppStream.Types.ImageBuilderState
import Amazonka.AppStream.Types.ImageBuilderStateChangeReason
import Amazonka.AppStream.Types.ImageBuilderStateChangeReasonCode
import Amazonka.AppStream.Types.ImagePermissions
import Amazonka.AppStream.Types.ImageState
import Amazonka.AppStream.Types.ImageStateChangeReason
import Amazonka.AppStream.Types.ImageStateChangeReasonCode
import Amazonka.AppStream.Types.LastReportGenerationExecutionError
import Amazonka.AppStream.Types.MessageAction
import Amazonka.AppStream.Types.NetworkAccessConfiguration
import Amazonka.AppStream.Types.Permission
import Amazonka.AppStream.Types.PlatformType
import Amazonka.AppStream.Types.PreferredProtocol
import Amazonka.AppStream.Types.ResourceError
import Amazonka.AppStream.Types.S3Location
import Amazonka.AppStream.Types.ScriptDetails
import Amazonka.AppStream.Types.ServiceAccountCredentials
import Amazonka.AppStream.Types.Session
import Amazonka.AppStream.Types.SessionConnectionState
import Amazonka.AppStream.Types.SessionState
import Amazonka.AppStream.Types.SharedImagePermissions
import Amazonka.AppStream.Types.Stack
import Amazonka.AppStream.Types.StackAttribute
import Amazonka.AppStream.Types.StackError
import Amazonka.AppStream.Types.StackErrorCode
import Amazonka.AppStream.Types.StorageConnector
import Amazonka.AppStream.Types.StorageConnectorType
import Amazonka.AppStream.Types.StreamView
import Amazonka.AppStream.Types.StreamingExperienceSettings
import Amazonka.AppStream.Types.UsageReportExecutionErrorCode
import Amazonka.AppStream.Types.UsageReportSchedule
import Amazonka.AppStream.Types.UsageReportSubscription
import Amazonka.AppStream.Types.User
import Amazonka.AppStream.Types.UserSetting
import Amazonka.AppStream.Types.UserStackAssociation
import Amazonka.AppStream.Types.UserStackAssociationError
import Amazonka.AppStream.Types.UserStackAssociationErrorCode
import Amazonka.AppStream.Types.VisibilityType
import Amazonka.AppStream.Types.VpcConfig
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Sign.V4 as Sign

-- | API version @2016-12-01@ of the Amazon AppStream SDK configuration.
defaultService :: Core.Service
defaultService :: Service
defaultService =
  Core.Service
    { $sel:abbrev:Service :: Abbrev
Core.abbrev = Abbrev
"AppStream",
      $sel:signer:Service :: Signer
Core.signer = Signer
Sign.v4,
      $sel:endpointPrefix:Service :: ByteString
Core.endpointPrefix = ByteString
"appstream2",
      $sel:signingName:Service :: ByteString
Core.signingName = ByteString
"appstream",
      $sel:version:Service :: ByteString
Core.version = ByteString
"2016-12-01",
      $sel:s3AddressingStyle:Service :: S3AddressingStyle
Core.s3AddressingStyle = S3AddressingStyle
Core.S3AddressingStyleAuto,
      $sel:endpoint:Service :: Region -> Endpoint
Core.endpoint = Service -> Region -> Endpoint
Core.defaultEndpoint Service
defaultService,
      $sel:timeout:Service :: Maybe Seconds
Core.timeout = forall a. a -> Maybe a
Prelude.Just Seconds
70,
      $sel:check:Service :: Status -> Bool
Core.check = Status -> Bool
Core.statusSuccess,
      $sel:error:Service :: Status -> [Header] -> ByteStringLazy -> Error
Core.error = Abbrev -> Status -> [Header] -> ByteStringLazy -> Error
Core.parseJSONError Abbrev
"AppStream",
      $sel:retry:Service :: Retry
Core.retry = Retry
retry
    }
  where
    retry :: Retry
retry =
      Core.Exponential
        { $sel:base:Exponential :: Double
Core.base = Double
5.0e-2,
          $sel:growth:Exponential :: Int
Core.growth = Int
2,
          $sel:attempts:Exponential :: Int
Core.attempts = Int
5,
          $sel:check:Exponential :: ServiceError -> Maybe Text
Core.check = forall {a}. IsString a => ServiceError -> Maybe a
check
        }
    check :: ServiceError -> Maybe a
check ServiceError
e
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
502) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"bad_gateway"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
504) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"gateway_timeout"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
500) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"general_server_error"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
509) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"limit_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"RequestThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"request_throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
503) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"service_unavailable"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottledException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttled_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"Throttling"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode ErrorCode
"ThrottlingException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throttling_exception"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has
          ( forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
ErrorCode -> Optic' p f ServiceError ServiceError
Core.hasCode
              ErrorCode
"ProvisionedThroughputExceededException"
              forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
400
          )
          ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"throughput_exceeded"
      | forall s a. Getting Any s a -> s -> Bool
Lens.has (forall (f :: * -> *) (p :: * -> * -> *).
(Applicative f, Choice p) =>
Int -> Optic' p f ServiceError ServiceError
Core.hasStatus Int
429) ServiceError
e =
          forall a. a -> Maybe a
Prelude.Just a
"too_many_requests"
      | Bool
Prelude.otherwise = forall a. Maybe a
Prelude.Nothing

-- | An API error occurred. Wait a few minutes and try again.
_ConcurrentModificationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ConcurrentModificationException :: forall a. AsError a => Fold a ServiceError
_ConcurrentModificationException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ConcurrentModificationException"

-- | The entitlement already exists.
_EntitlementAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EntitlementAlreadyExistsException :: forall a. AsError a => Fold a ServiceError
_EntitlementAlreadyExistsException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EntitlementAlreadyExistsException"

-- | The entitlement can\'t be found.
_EntitlementNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_EntitlementNotFoundException :: forall a. AsError a => Fold a ServiceError
_EntitlementNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"EntitlementNotFoundException"

-- | The image can\'t be updated because it\'s not compatible for updates.
_IncompatibleImageException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_IncompatibleImageException :: forall a. AsError a => Fold a ServiceError
_IncompatibleImageException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"IncompatibleImageException"

-- | The resource cannot be created because your AWS account is suspended.
-- For assistance, contact AWS Support.
_InvalidAccountStatusException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidAccountStatusException :: forall a. AsError a => Fold a ServiceError
_InvalidAccountStatusException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidAccountStatusException"

-- | Indicates an incorrect combination of parameters, or a missing
-- parameter.
_InvalidParameterCombinationException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidParameterCombinationException :: forall a. AsError a => Fold a ServiceError
_InvalidParameterCombinationException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidParameterCombinationException"

-- | The specified role is invalid.
_InvalidRoleException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_InvalidRoleException :: forall a. AsError a => Fold a ServiceError
_InvalidRoleException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"InvalidRoleException"

-- | The requested limit exceeds the permitted limit for an account.
_LimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_LimitExceededException :: forall a. AsError a => Fold a ServiceError
_LimitExceededException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"LimitExceededException"

-- | The attempted operation is not permitted.
_OperationNotPermittedException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_OperationNotPermittedException :: forall a. AsError a => Fold a ServiceError
_OperationNotPermittedException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"OperationNotPermittedException"

-- | AppStream 2.0 can’t process the request right now because the Describe
-- calls from your AWS account are being throttled by Amazon EC2. Try again
-- later.
_RequestLimitExceededException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_RequestLimitExceededException :: forall a. AsError a => Fold a ServiceError
_RequestLimitExceededException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"RequestLimitExceededException"

-- | The specified resource already exists.
_ResourceAlreadyExistsException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceAlreadyExistsException :: forall a. AsError a => Fold a ServiceError
_ResourceAlreadyExistsException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceAlreadyExistsException"

-- | The specified resource is in use.
_ResourceInUseException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceInUseException :: forall a. AsError a => Fold a ServiceError
_ResourceInUseException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceInUseException"

-- | The specified resource exists and is not in use, but isn\'t available.
_ResourceNotAvailableException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotAvailableException :: forall a. AsError a => Fold a ServiceError
_ResourceNotAvailableException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNotAvailableException"

-- | The specified resource was not found.
_ResourceNotFoundException :: (Core.AsError a) => Lens.Fold a Core.ServiceError
_ResourceNotFoundException :: forall a. AsError a => Fold a ServiceError
_ResourceNotFoundException =
  forall a. AsError a => Service -> ErrorCode -> Fold a ServiceError
Core._MatchServiceError
    Service
defaultService
    ErrorCode
"ResourceNotFoundException"