{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DerivingStrategies #-}
{-# LANGUAGE GeneralizedNewtypeDeriving #-}
{-# LANGUAGE LambdaCase #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE PatternSynonyms #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}

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

-- |
-- Module      : Amazonka.FinSpaceData.Types.ErrorCategory
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.FinSpaceData.Types.ErrorCategory
  ( ErrorCategory
      ( ..,
        ErrorCategory_A_user_recoverable_error_has_occurred,
        ErrorCategory_An_internal_error_has_occurred,
        ErrorCategory_Cancelled,
        ErrorCategory_Missing_required_permission_to_perform_this_request,
        ErrorCategory_One_or_more_inputs_to_this_request_were_not_found,
        ErrorCategory_Service_limits_have_been_exceeded,
        ErrorCategory_The_inputs_to_this_request_are_invalid,
        ErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request
      ),
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Prelude as Prelude

newtype ErrorCategory = ErrorCategory'
  { ErrorCategory -> Text
fromErrorCategory ::
      Core.Text
  }
  deriving stock
    ( Int -> ErrorCategory -> ShowS
[ErrorCategory] -> ShowS
ErrorCategory -> String
(Int -> ErrorCategory -> ShowS)
-> (ErrorCategory -> String)
-> ([ErrorCategory] -> ShowS)
-> Show ErrorCategory
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ErrorCategory] -> ShowS
$cshowList :: [ErrorCategory] -> ShowS
show :: ErrorCategory -> String
$cshow :: ErrorCategory -> String
showsPrec :: Int -> ErrorCategory -> ShowS
$cshowsPrec :: Int -> ErrorCategory -> ShowS
Prelude.Show,
      ReadPrec [ErrorCategory]
ReadPrec ErrorCategory
Int -> ReadS ErrorCategory
ReadS [ErrorCategory]
(Int -> ReadS ErrorCategory)
-> ReadS [ErrorCategory]
-> ReadPrec ErrorCategory
-> ReadPrec [ErrorCategory]
-> Read ErrorCategory
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ErrorCategory]
$creadListPrec :: ReadPrec [ErrorCategory]
readPrec :: ReadPrec ErrorCategory
$creadPrec :: ReadPrec ErrorCategory
readList :: ReadS [ErrorCategory]
$creadList :: ReadS [ErrorCategory]
readsPrec :: Int -> ReadS ErrorCategory
$creadsPrec :: Int -> ReadS ErrorCategory
Prelude.Read,
      ErrorCategory -> ErrorCategory -> Bool
(ErrorCategory -> ErrorCategory -> Bool)
-> (ErrorCategory -> ErrorCategory -> Bool) -> Eq ErrorCategory
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ErrorCategory -> ErrorCategory -> Bool
$c/= :: ErrorCategory -> ErrorCategory -> Bool
== :: ErrorCategory -> ErrorCategory -> Bool
$c== :: ErrorCategory -> ErrorCategory -> Bool
Prelude.Eq,
      Eq ErrorCategory
Eq ErrorCategory
-> (ErrorCategory -> ErrorCategory -> Ordering)
-> (ErrorCategory -> ErrorCategory -> Bool)
-> (ErrorCategory -> ErrorCategory -> Bool)
-> (ErrorCategory -> ErrorCategory -> Bool)
-> (ErrorCategory -> ErrorCategory -> Bool)
-> (ErrorCategory -> ErrorCategory -> ErrorCategory)
-> (ErrorCategory -> ErrorCategory -> ErrorCategory)
-> Ord ErrorCategory
ErrorCategory -> ErrorCategory -> Bool
ErrorCategory -> ErrorCategory -> Ordering
ErrorCategory -> ErrorCategory -> ErrorCategory
forall a.
Eq a
-> (a -> a -> Ordering)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> Bool)
-> (a -> a -> a)
-> (a -> a -> a)
-> Ord a
min :: ErrorCategory -> ErrorCategory -> ErrorCategory
$cmin :: ErrorCategory -> ErrorCategory -> ErrorCategory
max :: ErrorCategory -> ErrorCategory -> ErrorCategory
$cmax :: ErrorCategory -> ErrorCategory -> ErrorCategory
>= :: ErrorCategory -> ErrorCategory -> Bool
$c>= :: ErrorCategory -> ErrorCategory -> Bool
> :: ErrorCategory -> ErrorCategory -> Bool
$c> :: ErrorCategory -> ErrorCategory -> Bool
<= :: ErrorCategory -> ErrorCategory -> Bool
$c<= :: ErrorCategory -> ErrorCategory -> Bool
< :: ErrorCategory -> ErrorCategory -> Bool
$c< :: ErrorCategory -> ErrorCategory -> Bool
compare :: ErrorCategory -> ErrorCategory -> Ordering
$ccompare :: ErrorCategory -> ErrorCategory -> Ordering
$cp1Ord :: Eq ErrorCategory
Prelude.Ord,
      (forall x. ErrorCategory -> Rep ErrorCategory x)
-> (forall x. Rep ErrorCategory x -> ErrorCategory)
-> Generic ErrorCategory
forall x. Rep ErrorCategory x -> ErrorCategory
forall x. ErrorCategory -> Rep ErrorCategory x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ErrorCategory x -> ErrorCategory
$cfrom :: forall x. ErrorCategory -> Rep ErrorCategory x
Prelude.Generic
    )
  deriving newtype
    ( Int -> ErrorCategory -> Int
ErrorCategory -> Int
(Int -> ErrorCategory -> Int)
-> (ErrorCategory -> Int) -> Hashable ErrorCategory
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: ErrorCategory -> Int
$chash :: ErrorCategory -> Int
hashWithSalt :: Int -> ErrorCategory -> Int
$chashWithSalt :: Int -> ErrorCategory -> Int
Prelude.Hashable,
      ErrorCategory -> ()
(ErrorCategory -> ()) -> NFData ErrorCategory
forall a. (a -> ()) -> NFData a
rnf :: ErrorCategory -> ()
$crnf :: ErrorCategory -> ()
Prelude.NFData,
      Text -> Either String ErrorCategory
(Text -> Either String ErrorCategory) -> FromText ErrorCategory
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String ErrorCategory
$cfromText :: Text -> Either String ErrorCategory
Core.FromText,
      ErrorCategory -> Text
(ErrorCategory -> Text) -> ToText ErrorCategory
forall a. (a -> Text) -> ToText a
toText :: ErrorCategory -> Text
$ctoText :: ErrorCategory -> Text
Core.ToText,
      ErrorCategory -> ByteString
(ErrorCategory -> ByteString) -> ToByteString ErrorCategory
forall a. (a -> ByteString) -> ToByteString a
toBS :: ErrorCategory -> ByteString
$ctoBS :: ErrorCategory -> ByteString
Core.ToByteString,
      ErrorCategory -> ByteStringBuilder
(ErrorCategory -> ByteStringBuilder) -> ToLog ErrorCategory
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: ErrorCategory -> ByteStringBuilder
$cbuild :: ErrorCategory -> ByteStringBuilder
Core.ToLog,
      HeaderName -> ErrorCategory -> [Header]
(HeaderName -> ErrorCategory -> [Header]) -> ToHeader ErrorCategory
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> ErrorCategory -> [Header]
$ctoHeader :: HeaderName -> ErrorCategory -> [Header]
Core.ToHeader,
      ErrorCategory -> QueryString
(ErrorCategory -> QueryString) -> ToQuery ErrorCategory
forall a. (a -> QueryString) -> ToQuery a
toQuery :: ErrorCategory -> QueryString
$ctoQuery :: ErrorCategory -> QueryString
Core.ToQuery,
      Value -> Parser [ErrorCategory]
Value -> Parser ErrorCategory
(Value -> Parser ErrorCategory)
-> (Value -> Parser [ErrorCategory]) -> FromJSON ErrorCategory
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [ErrorCategory]
$cparseJSONList :: Value -> Parser [ErrorCategory]
parseJSON :: Value -> Parser ErrorCategory
$cparseJSON :: Value -> Parser ErrorCategory
Core.FromJSON,
      FromJSONKeyFunction [ErrorCategory]
FromJSONKeyFunction ErrorCategory
FromJSONKeyFunction ErrorCategory
-> FromJSONKeyFunction [ErrorCategory] -> FromJSONKey ErrorCategory
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [ErrorCategory]
$cfromJSONKeyList :: FromJSONKeyFunction [ErrorCategory]
fromJSONKey :: FromJSONKeyFunction ErrorCategory
$cfromJSONKey :: FromJSONKeyFunction ErrorCategory
Core.FromJSONKey,
      [ErrorCategory] -> Encoding
[ErrorCategory] -> Value
ErrorCategory -> Encoding
ErrorCategory -> Value
(ErrorCategory -> Value)
-> (ErrorCategory -> Encoding)
-> ([ErrorCategory] -> Value)
-> ([ErrorCategory] -> Encoding)
-> ToJSON ErrorCategory
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [ErrorCategory] -> Encoding
$ctoEncodingList :: [ErrorCategory] -> Encoding
toJSONList :: [ErrorCategory] -> Value
$ctoJSONList :: [ErrorCategory] -> Value
toEncoding :: ErrorCategory -> Encoding
$ctoEncoding :: ErrorCategory -> Encoding
toJSON :: ErrorCategory -> Value
$ctoJSON :: ErrorCategory -> Value
Core.ToJSON,
      ToJSONKeyFunction [ErrorCategory]
ToJSONKeyFunction ErrorCategory
ToJSONKeyFunction ErrorCategory
-> ToJSONKeyFunction [ErrorCategory] -> ToJSONKey ErrorCategory
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [ErrorCategory]
$ctoJSONKeyList :: ToJSONKeyFunction [ErrorCategory]
toJSONKey :: ToJSONKeyFunction ErrorCategory
$ctoJSONKey :: ToJSONKeyFunction ErrorCategory
Core.ToJSONKey,
      [Node] -> Either String ErrorCategory
([Node] -> Either String ErrorCategory) -> FromXML ErrorCategory
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String ErrorCategory
$cparseXML :: [Node] -> Either String ErrorCategory
Core.FromXML,
      ErrorCategory -> XML
(ErrorCategory -> XML) -> ToXML ErrorCategory
forall a. (a -> XML) -> ToXML a
toXML :: ErrorCategory -> XML
$ctoXML :: ErrorCategory -> XML
Core.ToXML
    )

pattern ErrorCategory_A_user_recoverable_error_has_occurred :: ErrorCategory
pattern $bErrorCategory_A_user_recoverable_error_has_occurred :: ErrorCategory
$mErrorCategory_A_user_recoverable_error_has_occurred :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_A_user_recoverable_error_has_occurred = ErrorCategory' "A_user_recoverable_error_has_occurred"

pattern ErrorCategory_An_internal_error_has_occurred :: ErrorCategory
pattern $bErrorCategory_An_internal_error_has_occurred :: ErrorCategory
$mErrorCategory_An_internal_error_has_occurred :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_An_internal_error_has_occurred = ErrorCategory' "An_internal_error_has_occurred"

pattern ErrorCategory_Cancelled :: ErrorCategory
pattern $bErrorCategory_Cancelled :: ErrorCategory
$mErrorCategory_Cancelled :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_Cancelled = ErrorCategory' "Cancelled"

pattern ErrorCategory_Missing_required_permission_to_perform_this_request :: ErrorCategory
pattern $bErrorCategory_Missing_required_permission_to_perform_this_request :: ErrorCategory
$mErrorCategory_Missing_required_permission_to_perform_this_request :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_Missing_required_permission_to_perform_this_request = ErrorCategory' "Missing_required_permission_to_perform_this_request"

pattern ErrorCategory_One_or_more_inputs_to_this_request_were_not_found :: ErrorCategory
pattern $bErrorCategory_One_or_more_inputs_to_this_request_were_not_found :: ErrorCategory
$mErrorCategory_One_or_more_inputs_to_this_request_were_not_found :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_One_or_more_inputs_to_this_request_were_not_found = ErrorCategory' "One_or_more_inputs_to_this_request_were_not_found"

pattern ErrorCategory_Service_limits_have_been_exceeded :: ErrorCategory
pattern $bErrorCategory_Service_limits_have_been_exceeded :: ErrorCategory
$mErrorCategory_Service_limits_have_been_exceeded :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_Service_limits_have_been_exceeded = ErrorCategory' "Service_limits_have_been_exceeded"

pattern ErrorCategory_The_inputs_to_this_request_are_invalid :: ErrorCategory
pattern $bErrorCategory_The_inputs_to_this_request_are_invalid :: ErrorCategory
$mErrorCategory_The_inputs_to_this_request_are_invalid :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_The_inputs_to_this_request_are_invalid = ErrorCategory' "The_inputs_to_this_request_are_invalid"

pattern ErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request :: ErrorCategory
pattern $bErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request :: ErrorCategory
$mErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request :: forall r. ErrorCategory -> (Void# -> r) -> (Void# -> r) -> r
ErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request = ErrorCategory' "The_system_temporarily_lacks_sufficient_resources_to_process_the_request"

{-# COMPLETE
  ErrorCategory_A_user_recoverable_error_has_occurred,
  ErrorCategory_An_internal_error_has_occurred,
  ErrorCategory_Cancelled,
  ErrorCategory_Missing_required_permission_to_perform_this_request,
  ErrorCategory_One_or_more_inputs_to_this_request_were_not_found,
  ErrorCategory_Service_limits_have_been_exceeded,
  ErrorCategory_The_inputs_to_this_request_are_invalid,
  ErrorCategory_The_system_temporarily_lacks_sufficient_resources_to_process_the_request,
  ErrorCategory'
  #-}