{-# 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.DetectorModelVersionStatus
-- 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.DetectorModelVersionStatus
  ( DetectorModelVersionStatus
      ( ..,
        DetectorModelVersionStatus_ACTIVATING,
        DetectorModelVersionStatus_ACTIVE,
        DetectorModelVersionStatus_DEPRECATED,
        DetectorModelVersionStatus_DRAFT,
        DetectorModelVersionStatus_FAILED,
        DetectorModelVersionStatus_INACTIVE,
        DetectorModelVersionStatus_PAUSED
      ),
  )
where

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

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

pattern DetectorModelVersionStatus_ACTIVATING :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_ACTIVATING :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_ACTIVATING :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_ACTIVATING = DetectorModelVersionStatus' "ACTIVATING"

pattern DetectorModelVersionStatus_ACTIVE :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_ACTIVE :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_ACTIVE :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_ACTIVE = DetectorModelVersionStatus' "ACTIVE"

pattern DetectorModelVersionStatus_DEPRECATED :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_DEPRECATED :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_DEPRECATED :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_DEPRECATED = DetectorModelVersionStatus' "DEPRECATED"

pattern DetectorModelVersionStatus_DRAFT :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_DRAFT :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_DRAFT :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_DRAFT = DetectorModelVersionStatus' "DRAFT"

pattern DetectorModelVersionStatus_FAILED :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_FAILED :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_FAILED :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_FAILED = DetectorModelVersionStatus' "FAILED"

pattern DetectorModelVersionStatus_INACTIVE :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_INACTIVE :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_INACTIVE :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_INACTIVE = DetectorModelVersionStatus' "INACTIVE"

pattern DetectorModelVersionStatus_PAUSED :: DetectorModelVersionStatus
pattern $bDetectorModelVersionStatus_PAUSED :: DetectorModelVersionStatus
$mDetectorModelVersionStatus_PAUSED :: forall r.
DetectorModelVersionStatus -> (Void# -> r) -> (Void# -> r) -> r
DetectorModelVersionStatus_PAUSED = DetectorModelVersionStatus' "PAUSED"

{-# COMPLETE
  DetectorModelVersionStatus_ACTIVATING,
  DetectorModelVersionStatus_ACTIVE,
  DetectorModelVersionStatus_DEPRECATED,
  DetectorModelVersionStatus_DRAFT,
  DetectorModelVersionStatus_FAILED,
  DetectorModelVersionStatus_INACTIVE,
  DetectorModelVersionStatus_PAUSED,
  DetectorModelVersionStatus'
  #-}