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

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

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

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

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

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

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