{-# 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.Nimble.Types.StreamingSessionStreamStatusCode
-- 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.Nimble.Types.StreamingSessionStreamStatusCode
  ( StreamingSessionStreamStatusCode
      ( ..,
        StreamingSessionStreamStatusCode_INTERNAL_ERROR,
        StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR,
        StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS,
        StreamingSessionStreamStatusCode_STREAM_DELETED,
        StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS,
        StreamingSessionStreamStatusCode_STREAM_READY
      ),
  )
where

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

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

pattern StreamingSessionStreamStatusCode_INTERNAL_ERROR :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_INTERNAL_ERROR :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_INTERNAL_ERROR :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_INTERNAL_ERROR = StreamingSessionStreamStatusCode' "INTERNAL_ERROR"

pattern StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR = StreamingSessionStreamStatusCode' "NETWORK_CONNECTION_ERROR"

pattern StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS = StreamingSessionStreamStatusCode' "STREAM_CREATE_IN_PROGRESS"

pattern StreamingSessionStreamStatusCode_STREAM_DELETED :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_STREAM_DELETED :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_STREAM_DELETED :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_STREAM_DELETED = StreamingSessionStreamStatusCode' "STREAM_DELETED"

pattern StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS = StreamingSessionStreamStatusCode' "STREAM_DELETE_IN_PROGRESS"

pattern StreamingSessionStreamStatusCode_STREAM_READY :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_STREAM_READY :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_STREAM_READY :: forall r.
StreamingSessionStreamStatusCode
-> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStreamStatusCode_STREAM_READY = StreamingSessionStreamStatusCode' "STREAM_READY"

{-# COMPLETE
  StreamingSessionStreamStatusCode_INTERNAL_ERROR,
  StreamingSessionStreamStatusCode_NETWORK_CONNECTION_ERROR,
  StreamingSessionStreamStatusCode_STREAM_CREATE_IN_PROGRESS,
  StreamingSessionStreamStatusCode_STREAM_DELETED,
  StreamingSessionStreamStatusCode_STREAM_DELETE_IN_PROGRESS,
  StreamingSessionStreamStatusCode_STREAM_READY,
  StreamingSessionStreamStatusCode'
  #-}