{-# 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.Translate.Types.ParallelDataFormat
-- 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.Translate.Types.ParallelDataFormat
  ( ParallelDataFormat
      ( ..,
        ParallelDataFormat_CSV,
        ParallelDataFormat_TMX,
        ParallelDataFormat_TSV
      ),
  )
where

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

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

pattern ParallelDataFormat_CSV :: ParallelDataFormat
pattern $bParallelDataFormat_CSV :: ParallelDataFormat
$mParallelDataFormat_CSV :: forall r. ParallelDataFormat -> (Void# -> r) -> (Void# -> r) -> r
ParallelDataFormat_CSV = ParallelDataFormat' "CSV"

pattern ParallelDataFormat_TMX :: ParallelDataFormat
pattern $bParallelDataFormat_TMX :: ParallelDataFormat
$mParallelDataFormat_TMX :: forall r. ParallelDataFormat -> (Void# -> r) -> (Void# -> r) -> r
ParallelDataFormat_TMX = ParallelDataFormat' "TMX"

pattern ParallelDataFormat_TSV :: ParallelDataFormat
pattern $bParallelDataFormat_TSV :: ParallelDataFormat
$mParallelDataFormat_TSV :: forall r. ParallelDataFormat -> (Void# -> r) -> (Void# -> r) -> r
ParallelDataFormat_TSV = ParallelDataFormat' "TSV"

{-# COMPLETE
  ParallelDataFormat_CSV,
  ParallelDataFormat_TMX,
  ParallelDataFormat_TSV,
  ParallelDataFormat'
  #-}