{-# 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.DataBrew.Types.SampleMode
-- 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.DataBrew.Types.SampleMode
  ( SampleMode
      ( ..,
        SampleMode_CUSTOM_ROWS,
        SampleMode_FULL_DATASET
      ),
  )
where

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

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

pattern SampleMode_CUSTOM_ROWS :: SampleMode
pattern $bSampleMode_CUSTOM_ROWS :: SampleMode
$mSampleMode_CUSTOM_ROWS :: forall r. SampleMode -> (Void# -> r) -> (Void# -> r) -> r
SampleMode_CUSTOM_ROWS = SampleMode' "CUSTOM_ROWS"

pattern SampleMode_FULL_DATASET :: SampleMode
pattern $bSampleMode_FULL_DATASET :: SampleMode
$mSampleMode_FULL_DATASET :: forall r. SampleMode -> (Void# -> r) -> (Void# -> r) -> r
SampleMode_FULL_DATASET = SampleMode' "FULL_DATASET"

{-# COMPLETE
  SampleMode_CUSTOM_ROWS,
  SampleMode_FULL_DATASET,
  SampleMode'
  #-}