{-# 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.SageMaker.Types.MonitoringAlertStatus
-- 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.SageMaker.Types.MonitoringAlertStatus
  ( MonitoringAlertStatus
      ( ..,
        MonitoringAlertStatus_InAlert,
        MonitoringAlertStatus_OK
      ),
  )
where

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

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

pattern MonitoringAlertStatus_InAlert :: MonitoringAlertStatus
pattern $bMonitoringAlertStatus_InAlert :: MonitoringAlertStatus
$mMonitoringAlertStatus_InAlert :: forall {r}.
MonitoringAlertStatus -> ((# #) -> r) -> ((# #) -> r) -> r
MonitoringAlertStatus_InAlert = MonitoringAlertStatus' "InAlert"

pattern MonitoringAlertStatus_OK :: MonitoringAlertStatus
pattern $bMonitoringAlertStatus_OK :: MonitoringAlertStatus
$mMonitoringAlertStatus_OK :: forall {r}.
MonitoringAlertStatus -> ((# #) -> r) -> ((# #) -> r) -> r
MonitoringAlertStatus_OK = MonitoringAlertStatus' "OK"

{-# COMPLETE
  MonitoringAlertStatus_InAlert,
  MonitoringAlertStatus_OK,
  MonitoringAlertStatus'
  #-}