{-# 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.Connect.Types.VocabularyLanguageCode
-- 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.Connect.Types.VocabularyLanguageCode
  ( VocabularyLanguageCode
      ( ..,
        VocabularyLanguageCode_Ar_AE,
        VocabularyLanguageCode_De_CH,
        VocabularyLanguageCode_De_DE,
        VocabularyLanguageCode_En_AB,
        VocabularyLanguageCode_En_AU,
        VocabularyLanguageCode_En_GB,
        VocabularyLanguageCode_En_IE,
        VocabularyLanguageCode_En_IN,
        VocabularyLanguageCode_En_NZ,
        VocabularyLanguageCode_En_US,
        VocabularyLanguageCode_En_WL,
        VocabularyLanguageCode_En_ZA,
        VocabularyLanguageCode_Es_ES,
        VocabularyLanguageCode_Es_US,
        VocabularyLanguageCode_Fr_CA,
        VocabularyLanguageCode_Fr_FR,
        VocabularyLanguageCode_Hi_IN,
        VocabularyLanguageCode_It_IT,
        VocabularyLanguageCode_Ja_JP,
        VocabularyLanguageCode_Ko_KR,
        VocabularyLanguageCode_Pt_BR,
        VocabularyLanguageCode_Pt_PT,
        VocabularyLanguageCode_Zh_CN
      ),
  )
where

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

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

pattern VocabularyLanguageCode_Ar_AE :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Ar_AE :: VocabularyLanguageCode
$mVocabularyLanguageCode_Ar_AE :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Ar_AE = VocabularyLanguageCode' "ar-AE"

pattern VocabularyLanguageCode_De_CH :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_De_CH :: VocabularyLanguageCode
$mVocabularyLanguageCode_De_CH :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_De_CH = VocabularyLanguageCode' "de-CH"

pattern VocabularyLanguageCode_De_DE :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_De_DE :: VocabularyLanguageCode
$mVocabularyLanguageCode_De_DE :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_De_DE = VocabularyLanguageCode' "de-DE"

pattern VocabularyLanguageCode_En_AB :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_AB :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_AB :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_AB = VocabularyLanguageCode' "en-AB"

pattern VocabularyLanguageCode_En_AU :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_AU :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_AU :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_AU = VocabularyLanguageCode' "en-AU"

pattern VocabularyLanguageCode_En_GB :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_GB :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_GB :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_GB = VocabularyLanguageCode' "en-GB"

pattern VocabularyLanguageCode_En_IE :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_IE :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_IE :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_IE = VocabularyLanguageCode' "en-IE"

pattern VocabularyLanguageCode_En_IN :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_IN :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_IN :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_IN = VocabularyLanguageCode' "en-IN"

pattern VocabularyLanguageCode_En_NZ :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_NZ :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_NZ :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_NZ = VocabularyLanguageCode' "en-NZ"

pattern VocabularyLanguageCode_En_US :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_US :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_US :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_US = VocabularyLanguageCode' "en-US"

pattern VocabularyLanguageCode_En_WL :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_WL :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_WL :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_WL = VocabularyLanguageCode' "en-WL"

pattern VocabularyLanguageCode_En_ZA :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_En_ZA :: VocabularyLanguageCode
$mVocabularyLanguageCode_En_ZA :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_En_ZA = VocabularyLanguageCode' "en-ZA"

pattern VocabularyLanguageCode_Es_ES :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Es_ES :: VocabularyLanguageCode
$mVocabularyLanguageCode_Es_ES :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Es_ES = VocabularyLanguageCode' "es-ES"

pattern VocabularyLanguageCode_Es_US :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Es_US :: VocabularyLanguageCode
$mVocabularyLanguageCode_Es_US :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Es_US = VocabularyLanguageCode' "es-US"

pattern VocabularyLanguageCode_Fr_CA :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Fr_CA :: VocabularyLanguageCode
$mVocabularyLanguageCode_Fr_CA :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Fr_CA = VocabularyLanguageCode' "fr-CA"

pattern VocabularyLanguageCode_Fr_FR :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Fr_FR :: VocabularyLanguageCode
$mVocabularyLanguageCode_Fr_FR :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Fr_FR = VocabularyLanguageCode' "fr-FR"

pattern VocabularyLanguageCode_Hi_IN :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Hi_IN :: VocabularyLanguageCode
$mVocabularyLanguageCode_Hi_IN :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Hi_IN = VocabularyLanguageCode' "hi-IN"

pattern VocabularyLanguageCode_It_IT :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_It_IT :: VocabularyLanguageCode
$mVocabularyLanguageCode_It_IT :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_It_IT = VocabularyLanguageCode' "it-IT"

pattern VocabularyLanguageCode_Ja_JP :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Ja_JP :: VocabularyLanguageCode
$mVocabularyLanguageCode_Ja_JP :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Ja_JP = VocabularyLanguageCode' "ja-JP"

pattern VocabularyLanguageCode_Ko_KR :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Ko_KR :: VocabularyLanguageCode
$mVocabularyLanguageCode_Ko_KR :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Ko_KR = VocabularyLanguageCode' "ko-KR"

pattern VocabularyLanguageCode_Pt_BR :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Pt_BR :: VocabularyLanguageCode
$mVocabularyLanguageCode_Pt_BR :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Pt_BR = VocabularyLanguageCode' "pt-BR"

pattern VocabularyLanguageCode_Pt_PT :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Pt_PT :: VocabularyLanguageCode
$mVocabularyLanguageCode_Pt_PT :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Pt_PT = VocabularyLanguageCode' "pt-PT"

pattern VocabularyLanguageCode_Zh_CN :: VocabularyLanguageCode
pattern $bVocabularyLanguageCode_Zh_CN :: VocabularyLanguageCode
$mVocabularyLanguageCode_Zh_CN :: forall {r}.
VocabularyLanguageCode -> ((# #) -> r) -> ((# #) -> r) -> r
VocabularyLanguageCode_Zh_CN = VocabularyLanguageCode' "zh-CN"

{-# COMPLETE
  VocabularyLanguageCode_Ar_AE,
  VocabularyLanguageCode_De_CH,
  VocabularyLanguageCode_De_DE,
  VocabularyLanguageCode_En_AB,
  VocabularyLanguageCode_En_AU,
  VocabularyLanguageCode_En_GB,
  VocabularyLanguageCode_En_IE,
  VocabularyLanguageCode_En_IN,
  VocabularyLanguageCode_En_NZ,
  VocabularyLanguageCode_En_US,
  VocabularyLanguageCode_En_WL,
  VocabularyLanguageCode_En_ZA,
  VocabularyLanguageCode_Es_ES,
  VocabularyLanguageCode_Es_US,
  VocabularyLanguageCode_Fr_CA,
  VocabularyLanguageCode_Fr_FR,
  VocabularyLanguageCode_Hi_IN,
  VocabularyLanguageCode_It_IT,
  VocabularyLanguageCode_Ja_JP,
  VocabularyLanguageCode_Ko_KR,
  VocabularyLanguageCode_Pt_BR,
  VocabularyLanguageCode_Pt_PT,
  VocabularyLanguageCode_Zh_CN,
  VocabularyLanguageCode'
  #-}