{-# 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.SortTrialsBy
-- 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.SortTrialsBy
  ( SortTrialsBy
      ( ..,
        SortTrialsBy_CreationTime,
        SortTrialsBy_Name
      ),
  )
where

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

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

pattern SortTrialsBy_CreationTime :: SortTrialsBy
pattern $bSortTrialsBy_CreationTime :: SortTrialsBy
$mSortTrialsBy_CreationTime :: forall r. SortTrialsBy -> (Void# -> r) -> (Void# -> r) -> r
SortTrialsBy_CreationTime = SortTrialsBy' "CreationTime"

pattern SortTrialsBy_Name :: SortTrialsBy
pattern $bSortTrialsBy_Name :: SortTrialsBy
$mSortTrialsBy_Name :: forall r. SortTrialsBy -> (Void# -> r) -> (Void# -> r) -> r
SortTrialsBy_Name = SortTrialsBy' "Name"

{-# COMPLETE
  SortTrialsBy_CreationTime,
  SortTrialsBy_Name,
  SortTrialsBy'
  #-}