{-# 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.Chime.Types.TranscribeMedicalRegion
-- 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.Chime.Types.TranscribeMedicalRegion
  ( TranscribeMedicalRegion
      ( ..,
        TranscribeMedicalRegion_Ap_southeast_2,
        TranscribeMedicalRegion_Auto,
        TranscribeMedicalRegion_Ca_central_1,
        TranscribeMedicalRegion_Eu_west_1,
        TranscribeMedicalRegion_Us_east_1,
        TranscribeMedicalRegion_Us_east_2,
        TranscribeMedicalRegion_Us_west_2
      ),
  )
where

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

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

pattern TranscribeMedicalRegion_Ap_southeast_2 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Ap_southeast_2 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Ap_southeast_2 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Ap_southeast_2 = TranscribeMedicalRegion' "ap-southeast-2"

pattern TranscribeMedicalRegion_Auto :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Auto :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Auto :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Auto = TranscribeMedicalRegion' "auto"

pattern TranscribeMedicalRegion_Ca_central_1 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Ca_central_1 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Ca_central_1 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Ca_central_1 = TranscribeMedicalRegion' "ca-central-1"

pattern TranscribeMedicalRegion_Eu_west_1 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Eu_west_1 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Eu_west_1 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Eu_west_1 = TranscribeMedicalRegion' "eu-west-1"

pattern TranscribeMedicalRegion_Us_east_1 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Us_east_1 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Us_east_1 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Us_east_1 = TranscribeMedicalRegion' "us-east-1"

pattern TranscribeMedicalRegion_Us_east_2 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Us_east_2 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Us_east_2 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Us_east_2 = TranscribeMedicalRegion' "us-east-2"

pattern TranscribeMedicalRegion_Us_west_2 :: TranscribeMedicalRegion
pattern $bTranscribeMedicalRegion_Us_west_2 :: TranscribeMedicalRegion
$mTranscribeMedicalRegion_Us_west_2 :: forall r.
TranscribeMedicalRegion -> (Void# -> r) -> (Void# -> r) -> r
TranscribeMedicalRegion_Us_west_2 = TranscribeMedicalRegion' "us-west-2"

{-# COMPLETE
  TranscribeMedicalRegion_Ap_southeast_2,
  TranscribeMedicalRegion_Auto,
  TranscribeMedicalRegion_Ca_central_1,
  TranscribeMedicalRegion_Eu_west_1,
  TranscribeMedicalRegion_Us_east_1,
  TranscribeMedicalRegion_Us_east_2,
  TranscribeMedicalRegion_Us_west_2,
  TranscribeMedicalRegion'
  #-}