{-# 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.CognitoSync.Types.StreamingStatus
-- 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.CognitoSync.Types.StreamingStatus
  ( StreamingStatus
      ( ..,
        StreamingStatus_DISABLED,
        StreamingStatus_ENABLED
      ),
  )
where

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

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

pattern StreamingStatus_DISABLED :: StreamingStatus
pattern $bStreamingStatus_DISABLED :: StreamingStatus
$mStreamingStatus_DISABLED :: forall r. StreamingStatus -> (Void# -> r) -> (Void# -> r) -> r
StreamingStatus_DISABLED = StreamingStatus' "DISABLED"

pattern StreamingStatus_ENABLED :: StreamingStatus
pattern $bStreamingStatus_ENABLED :: StreamingStatus
$mStreamingStatus_ENABLED :: forall r. StreamingStatus -> (Void# -> r) -> (Void# -> r) -> r
StreamingStatus_ENABLED = StreamingStatus' "ENABLED"

{-# COMPLETE
  StreamingStatus_DISABLED,
  StreamingStatus_ENABLED,
  StreamingStatus'
  #-}