{-# 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.IoTAnalytics.Types.DatasetActionType
-- 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.IoTAnalytics.Types.DatasetActionType
  ( DatasetActionType
      ( ..,
        DatasetActionType_CONTAINER,
        DatasetActionType_QUERY
      ),
  )
where

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

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

pattern DatasetActionType_CONTAINER :: DatasetActionType
pattern $bDatasetActionType_CONTAINER :: DatasetActionType
$mDatasetActionType_CONTAINER :: forall r. DatasetActionType -> (Void# -> r) -> (Void# -> r) -> r
DatasetActionType_CONTAINER = DatasetActionType' "CONTAINER"

pattern DatasetActionType_QUERY :: DatasetActionType
pattern $bDatasetActionType_QUERY :: DatasetActionType
$mDatasetActionType_QUERY :: forall r. DatasetActionType -> (Void# -> r) -> (Void# -> r) -> r
DatasetActionType_QUERY = DatasetActionType' "QUERY"

{-# COMPLETE
  DatasetActionType_CONTAINER,
  DatasetActionType_QUERY,
  DatasetActionType'
  #-}