{-# 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.MachineLearning.Types.MLModelType
-- 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.MachineLearning.Types.MLModelType
  ( MLModelType
      ( ..,
        MLModelType_BINARY,
        MLModelType_MULTICLASS,
        MLModelType_REGRESSION
      ),
  )
where

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

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

pattern MLModelType_BINARY :: MLModelType
pattern $bMLModelType_BINARY :: MLModelType
$mMLModelType_BINARY :: forall r. MLModelType -> (Void# -> r) -> (Void# -> r) -> r
MLModelType_BINARY = MLModelType' "BINARY"

pattern MLModelType_MULTICLASS :: MLModelType
pattern $bMLModelType_MULTICLASS :: MLModelType
$mMLModelType_MULTICLASS :: forall r. MLModelType -> (Void# -> r) -> (Void# -> r) -> r
MLModelType_MULTICLASS = MLModelType' "MULTICLASS"

pattern MLModelType_REGRESSION :: MLModelType
pattern $bMLModelType_REGRESSION :: MLModelType
$mMLModelType_REGRESSION :: forall r. MLModelType -> (Void# -> r) -> (Void# -> r) -> r
MLModelType_REGRESSION = MLModelType' "REGRESSION"

{-# COMPLETE
  MLModelType_BINARY,
  MLModelType_MULTICLASS,
  MLModelType_REGRESSION,
  MLModelType'
  #-}