{-# 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.StreamingSessionStatusCode
-- 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.StreamingSessionStatusCode
  ( StreamingSessionStatusCode
      ( ..,
        StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR,
        StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR,
        StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR,
        StreamingSessionStatusCode_INSUFFICIENT_CAPACITY,
        StreamingSessionStatusCode_INTERNAL_ERROR,
        StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR,
        StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR,
        StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS,
        StreamingSessionStatusCode_STREAMING_SESSION_DELETED,
        StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS,
        StreamingSessionStatusCode_STREAMING_SESSION_READY
      ),
  )
where

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

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

pattern StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR = StreamingSessionStatusCode' "ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR"

pattern StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR = StreamingSessionStatusCode' "DECRYPT_STREAMING_IMAGE_ERROR"

pattern StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR = StreamingSessionStatusCode' "INITIALIZATION_SCRIPT_ERROR"

pattern StreamingSessionStatusCode_INSUFFICIENT_CAPACITY :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_INSUFFICIENT_CAPACITY :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_INSUFFICIENT_CAPACITY :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_INSUFFICIENT_CAPACITY = StreamingSessionStatusCode' "INSUFFICIENT_CAPACITY"

pattern StreamingSessionStatusCode_INTERNAL_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_INTERNAL_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_INTERNAL_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_INTERNAL_ERROR = StreamingSessionStatusCode' "INTERNAL_ERROR"

pattern StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_NETWORK_CONNECTION_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_NETWORK_CONNECTION_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR = StreamingSessionStatusCode' "NETWORK_CONNECTION_ERROR"

pattern StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_NETWORK_INTERFACE_ERROR :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_NETWORK_INTERFACE_ERROR :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR = StreamingSessionStatusCode' "NETWORK_INTERFACE_ERROR"

pattern StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_CREATE_IN_PROGRESS"

pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETED :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_STREAMING_SESSION_DELETED :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_STREAMING_SESSION_DELETED :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_STREAMING_SESSION_DELETED = StreamingSessionStatusCode' "STREAMING_SESSION_DELETED"

pattern StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS = StreamingSessionStatusCode' "STREAMING_SESSION_DELETE_IN_PROGRESS"

pattern StreamingSessionStatusCode_STREAMING_SESSION_READY :: StreamingSessionStatusCode
pattern $bStreamingSessionStatusCode_STREAMING_SESSION_READY :: StreamingSessionStatusCode
$mStreamingSessionStatusCode_STREAMING_SESSION_READY :: forall r.
StreamingSessionStatusCode -> (Void# -> r) -> (Void# -> r) -> r
StreamingSessionStatusCode_STREAMING_SESSION_READY = StreamingSessionStatusCode' "STREAMING_SESSION_READY"

{-# COMPLETE
  StreamingSessionStatusCode_ACTIVE_DIRECTORY_DOMAIN_JOIN_ERROR,
  StreamingSessionStatusCode_DECRYPT_STREAMING_IMAGE_ERROR,
  StreamingSessionStatusCode_INITIALIZATION_SCRIPT_ERROR,
  StreamingSessionStatusCode_INSUFFICIENT_CAPACITY,
  StreamingSessionStatusCode_INTERNAL_ERROR,
  StreamingSessionStatusCode_NETWORK_CONNECTION_ERROR,
  StreamingSessionStatusCode_NETWORK_INTERFACE_ERROR,
  StreamingSessionStatusCode_STREAMING_SESSION_CREATE_IN_PROGRESS,
  StreamingSessionStatusCode_STREAMING_SESSION_DELETED,
  StreamingSessionStatusCode_STREAMING_SESSION_DELETE_IN_PROGRESS,
  StreamingSessionStatusCode_STREAMING_SESSION_READY,
  StreamingSessionStatusCode'
  #-}