{-# 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.MarketplaceAnalytics.Types.SupportDataSetType
-- 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.MarketplaceAnalytics.Types.SupportDataSetType
  ( SupportDataSetType
      ( ..,
        SupportDataSetType_Customer_support_contacts_data,
        SupportDataSetType_Test_customer_support_contacts_data
      ),
  )
where

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

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

pattern SupportDataSetType_Customer_support_contacts_data :: SupportDataSetType
pattern $bSupportDataSetType_Customer_support_contacts_data :: SupportDataSetType
$mSupportDataSetType_Customer_support_contacts_data :: forall r. SupportDataSetType -> (Void# -> r) -> (Void# -> r) -> r
SupportDataSetType_Customer_support_contacts_data = SupportDataSetType' "customer_support_contacts_data"

pattern SupportDataSetType_Test_customer_support_contacts_data :: SupportDataSetType
pattern $bSupportDataSetType_Test_customer_support_contacts_data :: SupportDataSetType
$mSupportDataSetType_Test_customer_support_contacts_data :: forall r. SupportDataSetType -> (Void# -> r) -> (Void# -> r) -> r
SupportDataSetType_Test_customer_support_contacts_data = SupportDataSetType' "test_customer_support_contacts_data"

{-# COMPLETE
  SupportDataSetType_Customer_support_contacts_data,
  SupportDataSetType_Test_customer_support_contacts_data,
  SupportDataSetType'
  #-}