{-# 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-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- 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.Data as Data
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 ::
      Data.Text
  }
  deriving stock
    ( Int -> EvaluationFilterVariable -> ShowS
[EvaluationFilterVariable] -> ShowS
EvaluationFilterVariable -> String
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]
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
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
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
Prelude.Ord,
      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
    ( Eq EvaluationFilterVariable
Int -> EvaluationFilterVariable -> Int
EvaluationFilterVariable -> Int
forall a. Eq 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 -> ()
forall a. (a -> ()) -> NFData a
rnf :: EvaluationFilterVariable -> ()
$crnf :: EvaluationFilterVariable -> ()
Prelude.NFData,
      Text -> Either String EvaluationFilterVariable
forall a. (Text -> Either String a) -> FromText a
fromText :: Text -> Either String EvaluationFilterVariable
$cfromText :: Text -> Either String EvaluationFilterVariable
Data.FromText,
      EvaluationFilterVariable -> Text
forall a. (a -> Text) -> ToText a
toText :: EvaluationFilterVariable -> Text
$ctoText :: EvaluationFilterVariable -> Text
Data.ToText,
      EvaluationFilterVariable -> ByteString
forall a. (a -> ByteString) -> ToByteString a
toBS :: EvaluationFilterVariable -> ByteString
$ctoBS :: EvaluationFilterVariable -> ByteString
Data.ToByteString,
      EvaluationFilterVariable -> ByteStringBuilder
forall a. (a -> ByteStringBuilder) -> ToLog a
build :: EvaluationFilterVariable -> ByteStringBuilder
$cbuild :: EvaluationFilterVariable -> ByteStringBuilder
Data.ToLog,
      HeaderName -> EvaluationFilterVariable -> [Header]
forall a. (HeaderName -> a -> [Header]) -> ToHeader a
toHeader :: HeaderName -> EvaluationFilterVariable -> [Header]
$ctoHeader :: HeaderName -> EvaluationFilterVariable -> [Header]
Data.ToHeader,
      EvaluationFilterVariable -> QueryString
forall a. (a -> QueryString) -> ToQuery a
toQuery :: EvaluationFilterVariable -> QueryString
$ctoQuery :: EvaluationFilterVariable -> QueryString
Data.ToQuery,
      Value -> Parser [EvaluationFilterVariable]
Value -> Parser 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
Data.FromJSON,
      FromJSONKeyFunction [EvaluationFilterVariable]
FromJSONKeyFunction EvaluationFilterVariable
forall a.
FromJSONKeyFunction a -> FromJSONKeyFunction [a] -> FromJSONKey a
fromJSONKeyList :: FromJSONKeyFunction [EvaluationFilterVariable]
$cfromJSONKeyList :: FromJSONKeyFunction [EvaluationFilterVariable]
fromJSONKey :: FromJSONKeyFunction EvaluationFilterVariable
$cfromJSONKey :: FromJSONKeyFunction EvaluationFilterVariable
Data.FromJSONKey,
      [EvaluationFilterVariable] -> Encoding
[EvaluationFilterVariable] -> Value
EvaluationFilterVariable -> Encoding
EvaluationFilterVariable -> Value
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
Data.ToJSON,
      ToJSONKeyFunction [EvaluationFilterVariable]
ToJSONKeyFunction EvaluationFilterVariable
forall a.
ToJSONKeyFunction a -> ToJSONKeyFunction [a] -> ToJSONKey a
toJSONKeyList :: ToJSONKeyFunction [EvaluationFilterVariable]
$ctoJSONKeyList :: ToJSONKeyFunction [EvaluationFilterVariable]
toJSONKey :: ToJSONKeyFunction EvaluationFilterVariable
$ctoJSONKey :: ToJSONKeyFunction EvaluationFilterVariable
Data.ToJSONKey,
      [Node] -> Either String EvaluationFilterVariable
forall a. ([Node] -> Either String a) -> FromXML a
parseXML :: [Node] -> Either String EvaluationFilterVariable
$cparseXML :: [Node] -> Either String EvaluationFilterVariable
Data.FromXML,
      EvaluationFilterVariable -> XML
forall a. (a -> XML) -> ToXML a
toXML :: EvaluationFilterVariable -> XML
$ctoXML :: EvaluationFilterVariable -> XML
Data.ToXML
    )

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

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

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

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

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

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

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

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

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