{-# 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.GameLift.Types.ComparisonOperatorType
-- 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.GameLift.Types.ComparisonOperatorType
  ( ComparisonOperatorType
      ( ..,
        ComparisonOperatorType_GreaterThanOrEqualToThreshold,
        ComparisonOperatorType_GreaterThanThreshold,
        ComparisonOperatorType_LessThanOrEqualToThreshold,
        ComparisonOperatorType_LessThanThreshold
      ),
  )
where

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

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

pattern ComparisonOperatorType_GreaterThanOrEqualToThreshold :: ComparisonOperatorType
pattern $bComparisonOperatorType_GreaterThanOrEqualToThreshold :: ComparisonOperatorType
$mComparisonOperatorType_GreaterThanOrEqualToThreshold :: forall {r}.
ComparisonOperatorType -> ((# #) -> r) -> ((# #) -> r) -> r
ComparisonOperatorType_GreaterThanOrEqualToThreshold = ComparisonOperatorType' "GreaterThanOrEqualToThreshold"

pattern ComparisonOperatorType_GreaterThanThreshold :: ComparisonOperatorType
pattern $bComparisonOperatorType_GreaterThanThreshold :: ComparisonOperatorType
$mComparisonOperatorType_GreaterThanThreshold :: forall {r}.
ComparisonOperatorType -> ((# #) -> r) -> ((# #) -> r) -> r
ComparisonOperatorType_GreaterThanThreshold = ComparisonOperatorType' "GreaterThanThreshold"

pattern ComparisonOperatorType_LessThanOrEqualToThreshold :: ComparisonOperatorType
pattern $bComparisonOperatorType_LessThanOrEqualToThreshold :: ComparisonOperatorType
$mComparisonOperatorType_LessThanOrEqualToThreshold :: forall {r}.
ComparisonOperatorType -> ((# #) -> r) -> ((# #) -> r) -> r
ComparisonOperatorType_LessThanOrEqualToThreshold = ComparisonOperatorType' "LessThanOrEqualToThreshold"

pattern ComparisonOperatorType_LessThanThreshold :: ComparisonOperatorType
pattern $bComparisonOperatorType_LessThanThreshold :: ComparisonOperatorType
$mComparisonOperatorType_LessThanThreshold :: forall {r}.
ComparisonOperatorType -> ((# #) -> r) -> ((# #) -> r) -> r
ComparisonOperatorType_LessThanThreshold = ComparisonOperatorType' "LessThanThreshold"

{-# COMPLETE
  ComparisonOperatorType_GreaterThanOrEqualToThreshold,
  ComparisonOperatorType_GreaterThanThreshold,
  ComparisonOperatorType_LessThanOrEqualToThreshold,
  ComparisonOperatorType_LessThanThreshold,
  ComparisonOperatorType'
  #-}