{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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.Data as Data
import qualified Amazonka.Prelude as Prelude

newtype StreamingSessionStreamStatusCode = StreamingSessionStreamStatusCode'
  { StreamingSessionStreamStatusCode -> Text
fromStreamingSessionStreamStatusCode ::
      Data.Text
  }
  deriving stock
    ( Int -> StreamingSessionStreamStatusCode -> ShowS
[StreamingSessionStreamStatusCode] -> ShowS
StreamingSessionStreamStatusCode -> String
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]
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
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
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
Prelude.Ord,
      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
    ( Eq StreamingSessionStreamStatusCode
Int -> StreamingSessionStreamStatusCode -> Int
StreamingSessionStreamStatusCode -> Int
forall a. Eq 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 -> ()
forall a. (a -> ()) -> NFData a
rnf :: StreamingSessionStreamStatusCode -> ()
$crnf :: StreamingSessionStreamStatusCode -> ()
Prelude.NFData,
      Text -> Either String StreamingSessionStreamStatusCode
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String StreamingSessionStreamStatusCode
$cfromText :: Text -> Either String StreamingSessionStreamStatusCode
Data.FromText,
      StreamingSessionStreamStatusCode -> Text
forall a. (a -> Text) -> ToText a
toText :: StreamingSessionStreamStatusCode -> Text
$ctoText :: StreamingSessionStreamStatusCode -> Text
Data.ToText,
      StreamingSessionStreamStatusCode -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: StreamingSessionStreamStatusCode -> ByteString
$ctoBS :: StreamingSessionStreamStatusCode -> ByteString
Data.ToByteString,
      StreamingSessionStreamStatusCode -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: StreamingSessionStreamStatusCode -> ByteStringBuilder
$cbuild :: StreamingSessionStreamStatusCode -> ByteStringBuilder
Data.ToLog,
      HeaderName -> StreamingSessionStreamStatusCode -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> StreamingSessionStreamStatusCode -> [Header]
$ctoHeader :: HeaderName -> StreamingSessionStreamStatusCode -> [Header]
Data.ToHeader,
      StreamingSessionStreamStatusCode -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: StreamingSessionStreamStatusCode -> QueryString
$ctoQuery :: StreamingSessionStreamStatusCode -> QueryString
Data.ToQuery,
      Value -> Parser [StreamingSessionStreamStatusCode]
Value -> Parser 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
Data.FromJSON,
      FromJSONKeyFunction [StreamingSessionStreamStatusCode]
FromJSONKeyFunction StreamingSessionStreamStatusCode
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [StreamingSessionStreamStatusCode]
$cfromJSONKeyList :: FromJSONKeyFunction [StreamingSessionStreamStatusCode]
fromJSONKey :: FromJSONKeyFunction StreamingSessionStreamStatusCode
$cfromJSONKey :: FromJSONKeyFunction StreamingSessionStreamStatusCode
Data.FromJSONKey,
      [StreamingSessionStreamStatusCode] -> Encoding
[StreamingSessionStreamStatusCode] -> Value
StreamingSessionStreamStatusCode -> Encoding
StreamingSessionStreamStatusCode -> Value
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
Data.ToJSON,
      ToJSONKeyFunction [StreamingSessionStreamStatusCode]
ToJSONKeyFunction StreamingSessionStreamStatusCode
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [StreamingSessionStreamStatusCode]
$ctoJSONKeyList :: ToJSONKeyFunction [StreamingSessionStreamStatusCode]
toJSONKey :: ToJSONKeyFunction StreamingSessionStreamStatusCode
$ctoJSONKey :: ToJSONKeyFunction StreamingSessionStreamStatusCode
Data.ToJSONKey,
      [Node] -> Either String StreamingSessionStreamStatusCode
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String StreamingSessionStreamStatusCode
$cparseXML :: [Node] -> Either String StreamingSessionStreamStatusCode
Data.FromXML,
      StreamingSessionStreamStatusCode -> XML
forall a. (a -> XML) -> ToXML a
toXML :: StreamingSessionStreamStatusCode -> XML
$ctoXML :: StreamingSessionStreamStatusCode -> XML
Data.ToXML
    )

pattern StreamingSessionStreamStatusCode_INTERNAL_ERROR :: StreamingSessionStreamStatusCode
pattern $bStreamingSessionStreamStatusCode_INTERNAL_ERROR :: StreamingSessionStreamStatusCode
$mStreamingSessionStreamStatusCode_INTERNAL_ERROR :: forall {r}.
StreamingSessionStreamStatusCode
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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
-> ((# #) -> r) -> ((# #) -> 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'
  #-}