{-# 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.EvaluationFilterVariable
-- 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.EvaluationFilterVariable
  ( EvaluationFilterVariable
      ( ..,
        EvaluationFilterVariable_CreatedAt,
        EvaluationFilterVariable_DataSourceId,
        EvaluationFilterVariable_DataURI,
        EvaluationFilterVariable_IAMUser,
        EvaluationFilterVariable_LastUpdatedAt,
        EvaluationFilterVariable_MLModelId,
        EvaluationFilterVariable_Name,
        EvaluationFilterVariable_Status
      ),
  )
where

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

-- | A list of the variables to use in searching or filtering @Evaluation@.
--
-- -   @CreatedAt@ - Sets the search criteria to @Evaluation@ creation
--     date.
--
-- -   @Status@ - Sets the search criteria to @Evaluation@ status.
--
-- -   @Name@ - Sets the search criteria to the contents of @Evaluation@
--     ____ @Name@.
--
-- -   @IAMUser@ - Sets the search criteria to the user account that
--     invoked an evaluation.
--
-- -   @MLModelId@ - Sets the search criteria to the @Predictor@ that was
--     evaluated.
--
-- -   @DataSourceId@ - Sets the search criteria to the @DataSource@ used
--     in evaluation.
--
-- -   @DataUri@ - Sets the search criteria to the data file(s) used in
--     evaluation. The URL can identify either a file or an Amazon Simple
--     Storage Service (Amazon S3) bucket or directory.
newtype EvaluationFilterVariable = EvaluationFilterVariable'
  { EvaluationFilterVariable -> Text
fromEvaluationFilterVariable ::
      Core.Text
  }
  deriving stock
    ( Int -> EvaluationFilterVariable -> ShowS
[EvaluationFilterVariable] -> ShowS
EvaluationFilterVariable -> String
(Int -> EvaluationFilterVariable -> ShowS)
-> (EvaluationFilterVariable -> String)
-> ([EvaluationFilterVariable] -> ShowS)
-> Show EvaluationFilterVariable
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [EvaluationFilterVariable] -> ShowS
$cshowList :: [EvaluationFilterVariable] -> ShowS
show :: EvaluationFilterVariable -> String
$cshow :: EvaluationFilterVariable -> String
showsPrec :: Int -> EvaluationFilterVariable -> ShowS
$cshowsPrec :: Int -> EvaluationFilterVariable -> ShowS
Prelude.Show,
      ReadPrec [EvaluationFilterVariable]
ReadPrec EvaluationFilterVariable
Int -> ReadS EvaluationFilterVariable
ReadS [EvaluationFilterVariable]
(Int -> ReadS EvaluationFilterVariable)
-> ReadS [EvaluationFilterVariable]
-> ReadPrec EvaluationFilterVariable
-> ReadPrec [EvaluationFilterVariable]
-> Read EvaluationFilterVariable
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [EvaluationFilterVariable]
$creadListPrec :: ReadPrec [EvaluationFilterVariable]
readPrec :: ReadPrec EvaluationFilterVariable
$creadPrec :: ReadPrec EvaluationFilterVariable
readList :: ReadS [EvaluationFilterVariable]
$creadList :: ReadS [EvaluationFilterVariable]
readsPrec :: Int -> ReadS EvaluationFilterVariable
$creadsPrec :: Int -> ReadS EvaluationFilterVariable
Prelude.Read,
      EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
(EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> (EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> Eq EvaluationFilterVariable
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c/= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
== :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c== :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
Prelude.Eq,
      Eq EvaluationFilterVariable
Eq EvaluationFilterVariable
-> (EvaluationFilterVariable
    -> EvaluationFilterVariable -> Ordering)
-> (EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> (EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> (EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> (EvaluationFilterVariable -> EvaluationFilterVariable -> Bool)
-> (EvaluationFilterVariable
    -> EvaluationFilterVariable -> EvaluationFilterVariable)
-> (EvaluationFilterVariable
    -> EvaluationFilterVariable -> EvaluationFilterVariable)
-> Ord EvaluationFilterVariable
EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
EvaluationFilterVariable -> EvaluationFilterVariable -> Ordering
EvaluationFilterVariable
-> EvaluationFilterVariable -> EvaluationFilterVariable
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 :: EvaluationFilterVariable
-> EvaluationFilterVariable -> EvaluationFilterVariable
$cmin :: EvaluationFilterVariable
-> EvaluationFilterVariable -> EvaluationFilterVariable
max :: EvaluationFilterVariable
-> EvaluationFilterVariable -> EvaluationFilterVariable
$cmax :: EvaluationFilterVariable
-> EvaluationFilterVariable -> EvaluationFilterVariable
>= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c>= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
> :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c> :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
<= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c<= :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
< :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
$c< :: EvaluationFilterVariable -> EvaluationFilterVariable -> Bool
compare :: EvaluationFilterVariable -> EvaluationFilterVariable -> Ordering
$ccompare :: EvaluationFilterVariable -> EvaluationFilterVariable -> Ordering
$cp1Ord :: Eq EvaluationFilterVariable
Prelude.Ord,
      (forall x.
 EvaluationFilterVariable -> Rep EvaluationFilterVariable x)
-> (forall x.
    Rep EvaluationFilterVariable x -> EvaluationFilterVariable)
-> Generic EvaluationFilterVariable
forall x.
Rep EvaluationFilterVariable x -> EvaluationFilterVariable
forall x.
EvaluationFilterVariable -> Rep EvaluationFilterVariable x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep EvaluationFilterVariable x -> EvaluationFilterVariable
$cfrom :: forall x.
EvaluationFilterVariable -> Rep EvaluationFilterVariable x
Prelude.Generic
    )
  deriving newtype
    ( Int -> EvaluationFilterVariable -> Int
EvaluationFilterVariable -> Int
(Int -> EvaluationFilterVariable -> Int)
-> (EvaluationFilterVariable -> Int)
-> Hashable EvaluationFilterVariable
forall a. (Int -> a -> Int) -> (a -> Int) -> Hashable a
hash :: EvaluationFilterVariable -> Int
$chash :: EvaluationFilterVariable -> Int
hashWithSalt :: Int -> EvaluationFilterVariable -> Int
$chashWithSalt :: Int -> EvaluationFilterVariable -> Int
Prelude.Hashable,
      EvaluationFilterVariable -> ()
(EvaluationFilterVariable -> ()) -> NFData EvaluationFilterVariable
forall a. (a -> ()) -> NFData a
rnf :: EvaluationFilterVariable -> ()
$crnf :: EvaluationFilterVariable -> ()
Prelude.NFData,
      Text -> Either String EvaluationFilterVariable
(Text -> Either String EvaluationFilterVariable)
-> FromText EvaluationFilterVariable
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String EvaluationFilterVariable
$cfromText :: Text -> Either String EvaluationFilterVariable
Core.FromText,
      EvaluationFilterVariable -> Text
(EvaluationFilterVariable -> Text)
-> ToText EvaluationFilterVariable
forall a. (a -> Text) -> ToText a
toText :: EvaluationFilterVariable -> Text
$ctoText :: EvaluationFilterVariable -> Text
Core.ToText,
      EvaluationFilterVariable -> ByteString
(EvaluationFilterVariable -> ByteString)
-> ToByteString EvaluationFilterVariable
forall a. (a -> ByteString) -> ToByteString a
toBS :: EvaluationFilterVariable -> ByteString
$ctoBS :: EvaluationFilterVariable -> ByteString
Core.ToByteString,
      EvaluationFilterVariable -> ByteStringBuilder
(EvaluationFilterVariable -> ByteStringBuilder)
-> ToLog EvaluationFilterVariable
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: EvaluationFilterVariable -> ByteStringBuilder
$cbuild :: EvaluationFilterVariable -> ByteStringBuilder
Core.ToLog,
      HeaderName -> EvaluationFilterVariable -> [Header]
(HeaderName -> EvaluationFilterVariable -> [Header])
-> ToHeader EvaluationFilterVariable
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> EvaluationFilterVariable -> [Header]
$ctoHeader :: HeaderName -> EvaluationFilterVariable -> [Header]
Core.ToHeader,
      EvaluationFilterVariable -> QueryString
(EvaluationFilterVariable -> QueryString)
-> ToQuery EvaluationFilterVariable
forall a. (a -> QueryString) -> ToQuery a
toQuery :: EvaluationFilterVariable -> QueryString
$ctoQuery :: EvaluationFilterVariable -> QueryString
Core.ToQuery,
      Value -> Parser [EvaluationFilterVariable]
Value -> Parser EvaluationFilterVariable
(Value -> Parser EvaluationFilterVariable)
-> (Value -> Parser [EvaluationFilterVariable])
-> FromJSON EvaluationFilterVariable
forall a.
(Value -> Parser a) -> (Value -> Parser [a]) -> FromJSON a
parseJSONList :: Value -> Parser [EvaluationFilterVariable]
$cparseJSONList :: Value -> Parser [EvaluationFilterVariable]
parseJSON :: Value -> Parser EvaluationFilterVariable
$cparseJSON :: Value -> Parser EvaluationFilterVariable
Core.FromJSON,
      FromJSONKeyFunction [EvaluationFilterVariable]
FromJSONKeyFunction EvaluationFilterVariable
FromJSONKeyFunction EvaluationFilterVariable
-> FromJSONKeyFunction [EvaluationFilterVariable]
-> FromJSONKey EvaluationFilterVariable
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [EvaluationFilterVariable]
$cfromJSONKeyList :: FromJSONKeyFunction [EvaluationFilterVariable]
fromJSONKey :: FromJSONKeyFunction EvaluationFilterVariable
$cfromJSONKey :: FromJSONKeyFunction EvaluationFilterVariable
Core.FromJSONKey,
      [EvaluationFilterVariable] -> Encoding
[EvaluationFilterVariable] -> Value
EvaluationFilterVariable -> Encoding
EvaluationFilterVariable -> Value
(EvaluationFilterVariable -> Value)
-> (EvaluationFilterVariable -> Encoding)
-> ([EvaluationFilterVariable] -> Value)
-> ([EvaluationFilterVariable] -> Encoding)
-> ToJSON EvaluationFilterVariable
forall a.
(a -> Value)
-> (a -> Encoding)
-> ([a] -> Value)
-> ([a] -> Encoding)
-> ToJSON a
toEncodingList :: [EvaluationFilterVariable] -> Encoding
$ctoEncodingList :: [EvaluationFilterVariable] -> Encoding
toJSONList :: [EvaluationFilterVariable] -> Value
$ctoJSONList :: [EvaluationFilterVariable] -> Value
toEncoding :: EvaluationFilterVariable -> Encoding
$ctoEncoding :: EvaluationFilterVariable -> Encoding
toJSON :: EvaluationFilterVariable -> Value
$ctoJSON :: EvaluationFilterVariable -> Value
Core.ToJSON,
      ToJSONKeyFunction [EvaluationFilterVariable]
ToJSONKeyFunction EvaluationFilterVariable
ToJSONKeyFunction EvaluationFilterVariable
-> ToJSONKeyFunction [EvaluationFilterVariable]
-> ToJSONKey EvaluationFilterVariable
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [EvaluationFilterVariable]
$ctoJSONKeyList :: ToJSONKeyFunction [EvaluationFilterVariable]
toJSONKey :: ToJSONKeyFunction EvaluationFilterVariable
$ctoJSONKey :: ToJSONKeyFunction EvaluationFilterVariable
Core.ToJSONKey,
      [Node] -> Either String EvaluationFilterVariable
([Node] -> Either String EvaluationFilterVariable)
-> FromXML EvaluationFilterVariable
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String EvaluationFilterVariable
$cparseXML :: [Node] -> Either String EvaluationFilterVariable
Core.FromXML,
      EvaluationFilterVariable -> XML
(EvaluationFilterVariable -> XML) -> ToXML EvaluationFilterVariable
forall a. (a -> XML) -> ToXML a
toXML :: EvaluationFilterVariable -> XML
$ctoXML :: EvaluationFilterVariable -> XML
Core.ToXML
    )

pattern EvaluationFilterVariable_CreatedAt :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_CreatedAt :: EvaluationFilterVariable
$mEvaluationFilterVariable_CreatedAt :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_CreatedAt = EvaluationFilterVariable' "CreatedAt"

pattern EvaluationFilterVariable_DataSourceId :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_DataSourceId :: EvaluationFilterVariable
$mEvaluationFilterVariable_DataSourceId :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_DataSourceId = EvaluationFilterVariable' "DataSourceId"

pattern EvaluationFilterVariable_DataURI :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_DataURI :: EvaluationFilterVariable
$mEvaluationFilterVariable_DataURI :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_DataURI = EvaluationFilterVariable' "DataURI"

pattern EvaluationFilterVariable_IAMUser :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_IAMUser :: EvaluationFilterVariable
$mEvaluationFilterVariable_IAMUser :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_IAMUser = EvaluationFilterVariable' "IAMUser"

pattern EvaluationFilterVariable_LastUpdatedAt :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_LastUpdatedAt :: EvaluationFilterVariable
$mEvaluationFilterVariable_LastUpdatedAt :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_LastUpdatedAt = EvaluationFilterVariable' "LastUpdatedAt"

pattern EvaluationFilterVariable_MLModelId :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_MLModelId :: EvaluationFilterVariable
$mEvaluationFilterVariable_MLModelId :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_MLModelId = EvaluationFilterVariable' "MLModelId"

pattern EvaluationFilterVariable_Name :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_Name :: EvaluationFilterVariable
$mEvaluationFilterVariable_Name :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_Name = EvaluationFilterVariable' "Name"

pattern EvaluationFilterVariable_Status :: EvaluationFilterVariable
pattern $bEvaluationFilterVariable_Status :: EvaluationFilterVariable
$mEvaluationFilterVariable_Status :: forall r.
EvaluationFilterVariable -> (Void# -> r) -> (Void# -> r) -> r
EvaluationFilterVariable_Status = EvaluationFilterVariable' "Status"

{-# COMPLETE
  EvaluationFilterVariable_CreatedAt,
  EvaluationFilterVariable_DataSourceId,
  EvaluationFilterVariable_DataURI,
  EvaluationFilterVariable_IAMUser,
  EvaluationFilterVariable_LastUpdatedAt,
  EvaluationFilterVariable_MLModelId,
  EvaluationFilterVariable_Name,
  EvaluationFilterVariable_Status,
  EvaluationFilterVariable'
  #-}