{-# 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.QuickSight.Types.GeoSpatialCountryCode
-- 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.QuickSight.Types.GeoSpatialCountryCode
  ( GeoSpatialCountryCode
      ( ..,
        GeoSpatialCountryCode_US
      ),
  )
where

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

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

pattern GeoSpatialCountryCode_US :: GeoSpatialCountryCode
pattern $bGeoSpatialCountryCode_US :: GeoSpatialCountryCode
$mGeoSpatialCountryCode_US :: forall r.
GeoSpatialCountryCode -> (Void# -> r) -> (Void# -> r) -> r
GeoSpatialCountryCode_US = GeoSpatialCountryCode' "US"

{-# COMPLETE
  GeoSpatialCountryCode_US,
  GeoSpatialCountryCode'
  #-}