{-# 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.MonitoringProblemType
-- 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.SageMaker.Types.MonitoringProblemType
  ( MonitoringProblemType
      ( ..,
        MonitoringProblemType_BinaryClassification,
        MonitoringProblemType_MulticlassClassification,
        MonitoringProblemType_Regression
      ),
  )
where

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

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

pattern MonitoringProblemType_BinaryClassification :: MonitoringProblemType
pattern $bMonitoringProblemType_BinaryClassification :: MonitoringProblemType
$mMonitoringProblemType_BinaryClassification :: forall r.
MonitoringProblemType -> (Void# -> r) -> (Void# -> r) -> r
MonitoringProblemType_BinaryClassification = MonitoringProblemType' "BinaryClassification"

pattern MonitoringProblemType_MulticlassClassification :: MonitoringProblemType
pattern $bMonitoringProblemType_MulticlassClassification :: MonitoringProblemType
$mMonitoringProblemType_MulticlassClassification :: forall r.
MonitoringProblemType -> (Void# -> r) -> (Void# -> r) -> r
MonitoringProblemType_MulticlassClassification = MonitoringProblemType' "MulticlassClassification"

pattern MonitoringProblemType_Regression :: MonitoringProblemType
pattern $bMonitoringProblemType_Regression :: MonitoringProblemType
$mMonitoringProblemType_Regression :: forall r.
MonitoringProblemType -> (Void# -> r) -> (Void# -> r) -> r
MonitoringProblemType_Regression = MonitoringProblemType' "Regression"

{-# COMPLETE
  MonitoringProblemType_BinaryClassification,
  MonitoringProblemType_MulticlassClassification,
  MonitoringProblemType_Regression,
  MonitoringProblemType'
  #-}