{-# 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.FraudDetector.Types.ModelSource
-- 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.FraudDetector.Types.ModelSource
  ( ModelSource
      ( ..,
        ModelSource_SAGEMAKER
      ),
  )
where

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

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

pattern ModelSource_SAGEMAKER :: ModelSource
pattern $bModelSource_SAGEMAKER :: ModelSource
$mModelSource_SAGEMAKER :: forall r. ModelSource -> (Void# -> r) -> (Void# -> r) -> r
ModelSource_SAGEMAKER = ModelSource' "SAGEMAKER"

{-# COMPLETE
  ModelSource_SAGEMAKER,
  ModelSource'
  #-}