{-# 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.UserProfileSortKey
-- 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.UserProfileSortKey
  ( UserProfileSortKey
      ( ..,
        UserProfileSortKey_CreationTime,
        UserProfileSortKey_LastModifiedTime
      ),
  )
where

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

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

pattern UserProfileSortKey_CreationTime :: UserProfileSortKey
pattern $bUserProfileSortKey_CreationTime :: UserProfileSortKey
$mUserProfileSortKey_CreationTime :: forall r. UserProfileSortKey -> (Void# -> r) -> (Void# -> r) -> r
UserProfileSortKey_CreationTime = UserProfileSortKey' "CreationTime"

pattern UserProfileSortKey_LastModifiedTime :: UserProfileSortKey
pattern $bUserProfileSortKey_LastModifiedTime :: UserProfileSortKey
$mUserProfileSortKey_LastModifiedTime :: forall r. UserProfileSortKey -> (Void# -> r) -> (Void# -> r) -> r
UserProfileSortKey_LastModifiedTime = UserProfileSortKey' "LastModifiedTime"

{-# COMPLETE
  UserProfileSortKey_CreationTime,
  UserProfileSortKey_LastModifiedTime,
  UserProfileSortKey'
  #-}