{-# 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.ModelSortKey
-- 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.ModelSortKey
  ( ModelSortKey
      ( ..,
        ModelSortKey_CreationTime,
        ModelSortKey_Name
      ),
  )
where

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

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

pattern ModelSortKey_CreationTime :: ModelSortKey
pattern $bModelSortKey_CreationTime :: ModelSortKey
$mModelSortKey_CreationTime :: forall r. ModelSortKey -> (Void# -> r) -> (Void# -> r) -> r
ModelSortKey_CreationTime = ModelSortKey' "CreationTime"

pattern ModelSortKey_Name :: ModelSortKey
pattern $bModelSortKey_Name :: ModelSortKey
$mModelSortKey_Name :: forall r. ModelSortKey -> (Void# -> r) -> (Void# -> r) -> r
ModelSortKey_Name = ModelSortKey' "Name"

{-# COMPLETE
  ModelSortKey_CreationTime,
  ModelSortKey_Name,
  ModelSortKey'
  #-}