{-# 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.DataExchange.Types.JobErrorLimitName
-- 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.DataExchange.Types.JobErrorLimitName
  ( JobErrorLimitName
      ( ..,
        JobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision,
        JobErrorLimitName_Asset_size_in_GB,
        JobErrorLimitName_Assets_per_revision
      ),
  )
where

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

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

pattern JobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision :: JobErrorLimitName
pattern $bJobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision :: JobErrorLimitName
$mJobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision :: forall r. JobErrorLimitName -> (Void# -> r) -> (Void# -> r) -> r
JobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision = JobErrorLimitName' "Amazon Redshift datashare assets per revision"

pattern JobErrorLimitName_Asset_size_in_GB :: JobErrorLimitName
pattern $bJobErrorLimitName_Asset_size_in_GB :: JobErrorLimitName
$mJobErrorLimitName_Asset_size_in_GB :: forall r. JobErrorLimitName -> (Void# -> r) -> (Void# -> r) -> r
JobErrorLimitName_Asset_size_in_GB = JobErrorLimitName' "Asset size in GB"

pattern JobErrorLimitName_Assets_per_revision :: JobErrorLimitName
pattern $bJobErrorLimitName_Assets_per_revision :: JobErrorLimitName
$mJobErrorLimitName_Assets_per_revision :: forall r. JobErrorLimitName -> (Void# -> r) -> (Void# -> r) -> r
JobErrorLimitName_Assets_per_revision = JobErrorLimitName' "Assets per revision"

{-# COMPLETE
  JobErrorLimitName_Amazon_Redshift_datashare_assets_per_revision,
  JobErrorLimitName_Asset_size_in_GB,
  JobErrorLimitName_Assets_per_revision,
  JobErrorLimitName'
  #-}