{-# 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.IoTEvents.Types.InputStatus
-- 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.IoTEvents.Types.InputStatus
  ( InputStatus
      ( ..,
        InputStatus_ACTIVE,
        InputStatus_CREATING,
        InputStatus_DELETING,
        InputStatus_UPDATING
      ),
  )
where

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

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

pattern InputStatus_ACTIVE :: InputStatus
pattern $bInputStatus_ACTIVE :: InputStatus
$mInputStatus_ACTIVE :: forall r. InputStatus -> (Void# -> r) -> (Void# -> r) -> r
InputStatus_ACTIVE = InputStatus' "ACTIVE"

pattern InputStatus_CREATING :: InputStatus
pattern $bInputStatus_CREATING :: InputStatus
$mInputStatus_CREATING :: forall r. InputStatus -> (Void# -> r) -> (Void# -> r) -> r
InputStatus_CREATING = InputStatus' "CREATING"

pattern InputStatus_DELETING :: InputStatus
pattern $bInputStatus_DELETING :: InputStatus
$mInputStatus_DELETING :: forall r. InputStatus -> (Void# -> r) -> (Void# -> r) -> r
InputStatus_DELETING = InputStatus' "DELETING"

pattern InputStatus_UPDATING :: InputStatus
pattern $bInputStatus_UPDATING :: InputStatus
$mInputStatus_UPDATING :: forall r. InputStatus -> (Void# -> r) -> (Void# -> r) -> r
InputStatus_UPDATING = InputStatus' "UPDATING"

{-# COMPLETE
  InputStatus_ACTIVE,
  InputStatus_CREATING,
  InputStatus_DELETING,
  InputStatus_UPDATING,
  InputStatus'
  #-}