{-# 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.EndpointConfigSortKey
-- 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.EndpointConfigSortKey
  ( EndpointConfigSortKey
      ( ..,
        EndpointConfigSortKey_CreationTime,
        EndpointConfigSortKey_Name
      ),
  )
where

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

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

pattern EndpointConfigSortKey_CreationTime :: EndpointConfigSortKey
pattern $bEndpointConfigSortKey_CreationTime :: EndpointConfigSortKey
$mEndpointConfigSortKey_CreationTime :: forall r.
EndpointConfigSortKey -> (Void# -> r) -> (Void# -> r) -> r
EndpointConfigSortKey_CreationTime = EndpointConfigSortKey' "CreationTime"

pattern EndpointConfigSortKey_Name :: EndpointConfigSortKey
pattern $bEndpointConfigSortKey_Name :: EndpointConfigSortKey
$mEndpointConfigSortKey_Name :: forall r.
EndpointConfigSortKey -> (Void# -> r) -> (Void# -> r) -> r
EndpointConfigSortKey_Name = EndpointConfigSortKey' "Name"

{-# COMPLETE
  EndpointConfigSortKey_CreationTime,
  EndpointConfigSortKey_Name,
  EndpointConfigSortKey'
  #-}