{-# 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.CustomerProfiles.Types.MarketoConnectorOperator
-- 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.CustomerProfiles.Types.MarketoConnectorOperator
  ( MarketoConnectorOperator
      ( ..,
        MarketoConnectorOperator_ADDITION,
        MarketoConnectorOperator_BETWEEN,
        MarketoConnectorOperator_DIVISION,
        MarketoConnectorOperator_GREATER_THAN,
        MarketoConnectorOperator_LESS_THAN,
        MarketoConnectorOperator_MASK_ALL,
        MarketoConnectorOperator_MASK_FIRST_N,
        MarketoConnectorOperator_MASK_LAST_N,
        MarketoConnectorOperator_MULTIPLICATION,
        MarketoConnectorOperator_NO_OP,
        MarketoConnectorOperator_PROJECTION,
        MarketoConnectorOperator_SUBTRACTION,
        MarketoConnectorOperator_VALIDATE_NON_NEGATIVE,
        MarketoConnectorOperator_VALIDATE_NON_NULL,
        MarketoConnectorOperator_VALIDATE_NON_ZERO,
        MarketoConnectorOperator_VALIDATE_NUMERIC
      ),
  )
where

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

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

pattern MarketoConnectorOperator_ADDITION :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_ADDITION :: MarketoConnectorOperator
$mMarketoConnectorOperator_ADDITION :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_ADDITION = MarketoConnectorOperator' "ADDITION"

pattern MarketoConnectorOperator_BETWEEN :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_BETWEEN :: MarketoConnectorOperator
$mMarketoConnectorOperator_BETWEEN :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_BETWEEN = MarketoConnectorOperator' "BETWEEN"

pattern MarketoConnectorOperator_DIVISION :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_DIVISION :: MarketoConnectorOperator
$mMarketoConnectorOperator_DIVISION :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_DIVISION = MarketoConnectorOperator' "DIVISION"

pattern MarketoConnectorOperator_GREATER_THAN :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_GREATER_THAN :: MarketoConnectorOperator
$mMarketoConnectorOperator_GREATER_THAN :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_GREATER_THAN = MarketoConnectorOperator' "GREATER_THAN"

pattern MarketoConnectorOperator_LESS_THAN :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_LESS_THAN :: MarketoConnectorOperator
$mMarketoConnectorOperator_LESS_THAN :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_LESS_THAN = MarketoConnectorOperator' "LESS_THAN"

pattern MarketoConnectorOperator_MASK_ALL :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_MASK_ALL :: MarketoConnectorOperator
$mMarketoConnectorOperator_MASK_ALL :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_MASK_ALL = MarketoConnectorOperator' "MASK_ALL"

pattern MarketoConnectorOperator_MASK_FIRST_N :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_MASK_FIRST_N :: MarketoConnectorOperator
$mMarketoConnectorOperator_MASK_FIRST_N :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_MASK_FIRST_N = MarketoConnectorOperator' "MASK_FIRST_N"

pattern MarketoConnectorOperator_MASK_LAST_N :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_MASK_LAST_N :: MarketoConnectorOperator
$mMarketoConnectorOperator_MASK_LAST_N :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_MASK_LAST_N = MarketoConnectorOperator' "MASK_LAST_N"

pattern MarketoConnectorOperator_MULTIPLICATION :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_MULTIPLICATION :: MarketoConnectorOperator
$mMarketoConnectorOperator_MULTIPLICATION :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_MULTIPLICATION = MarketoConnectorOperator' "MULTIPLICATION"

pattern MarketoConnectorOperator_NO_OP :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_NO_OP :: MarketoConnectorOperator
$mMarketoConnectorOperator_NO_OP :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_NO_OP = MarketoConnectorOperator' "NO_OP"

pattern MarketoConnectorOperator_PROJECTION :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_PROJECTION :: MarketoConnectorOperator
$mMarketoConnectorOperator_PROJECTION :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_PROJECTION = MarketoConnectorOperator' "PROJECTION"

pattern MarketoConnectorOperator_SUBTRACTION :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_SUBTRACTION :: MarketoConnectorOperator
$mMarketoConnectorOperator_SUBTRACTION :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_SUBTRACTION = MarketoConnectorOperator' "SUBTRACTION"

pattern MarketoConnectorOperator_VALIDATE_NON_NEGATIVE :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_VALIDATE_NON_NEGATIVE :: MarketoConnectorOperator
$mMarketoConnectorOperator_VALIDATE_NON_NEGATIVE :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_VALIDATE_NON_NEGATIVE = MarketoConnectorOperator' "VALIDATE_NON_NEGATIVE"

pattern MarketoConnectorOperator_VALIDATE_NON_NULL :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_VALIDATE_NON_NULL :: MarketoConnectorOperator
$mMarketoConnectorOperator_VALIDATE_NON_NULL :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_VALIDATE_NON_NULL = MarketoConnectorOperator' "VALIDATE_NON_NULL"

pattern MarketoConnectorOperator_VALIDATE_NON_ZERO :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_VALIDATE_NON_ZERO :: MarketoConnectorOperator
$mMarketoConnectorOperator_VALIDATE_NON_ZERO :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_VALIDATE_NON_ZERO = MarketoConnectorOperator' "VALIDATE_NON_ZERO"

pattern MarketoConnectorOperator_VALIDATE_NUMERIC :: MarketoConnectorOperator
pattern $bMarketoConnectorOperator_VALIDATE_NUMERIC :: MarketoConnectorOperator
$mMarketoConnectorOperator_VALIDATE_NUMERIC :: forall r.
MarketoConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
MarketoConnectorOperator_VALIDATE_NUMERIC = MarketoConnectorOperator' "VALIDATE_NUMERIC"

{-# COMPLETE
  MarketoConnectorOperator_ADDITION,
  MarketoConnectorOperator_BETWEEN,
  MarketoConnectorOperator_DIVISION,
  MarketoConnectorOperator_GREATER_THAN,
  MarketoConnectorOperator_LESS_THAN,
  MarketoConnectorOperator_MASK_ALL,
  MarketoConnectorOperator_MASK_FIRST_N,
  MarketoConnectorOperator_MASK_LAST_N,
  MarketoConnectorOperator_MULTIPLICATION,
  MarketoConnectorOperator_NO_OP,
  MarketoConnectorOperator_PROJECTION,
  MarketoConnectorOperator_SUBTRACTION,
  MarketoConnectorOperator_VALIDATE_NON_NEGATIVE,
  MarketoConnectorOperator_VALIDATE_NON_NULL,
  MarketoConnectorOperator_VALIDATE_NON_ZERO,
  MarketoConnectorOperator_VALIDATE_NUMERIC,
  MarketoConnectorOperator'
  #-}