{-# 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.Glue.Types.LogicalOperator
-- 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.Glue.Types.LogicalOperator
  ( LogicalOperator
      ( ..,
        LogicalOperator_EQUALS
      ),
  )
where

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

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

pattern LogicalOperator_EQUALS :: LogicalOperator
pattern $bLogicalOperator_EQUALS :: LogicalOperator
$mLogicalOperator_EQUALS :: forall {r}. LogicalOperator -> ((# #) -> r) -> ((# #) -> r) -> r
LogicalOperator_EQUALS = LogicalOperator' "EQUALS"

{-# COMPLETE
  LogicalOperator_EQUALS,
  LogicalOperator'
  #-}