{-# 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.AppFlow.Types.DatadogConnectorOperator
-- 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.AppFlow.Types.DatadogConnectorOperator
  ( DatadogConnectorOperator
      ( ..,
        DatadogConnectorOperator_ADDITION,
        DatadogConnectorOperator_BETWEEN,
        DatadogConnectorOperator_DIVISION,
        DatadogConnectorOperator_EQUAL_TO,
        DatadogConnectorOperator_MASK_ALL,
        DatadogConnectorOperator_MASK_FIRST_N,
        DatadogConnectorOperator_MASK_LAST_N,
        DatadogConnectorOperator_MULTIPLICATION,
        DatadogConnectorOperator_NO_OP,
        DatadogConnectorOperator_PROJECTION,
        DatadogConnectorOperator_SUBTRACTION,
        DatadogConnectorOperator_VALIDATE_NON_NEGATIVE,
        DatadogConnectorOperator_VALIDATE_NON_NULL,
        DatadogConnectorOperator_VALIDATE_NON_ZERO,
        DatadogConnectorOperator_VALIDATE_NUMERIC
      ),
  )
where

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

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

pattern DatadogConnectorOperator_ADDITION :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_ADDITION :: DatadogConnectorOperator
$mDatadogConnectorOperator_ADDITION :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_ADDITION = DatadogConnectorOperator' "ADDITION"

pattern DatadogConnectorOperator_BETWEEN :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_BETWEEN :: DatadogConnectorOperator
$mDatadogConnectorOperator_BETWEEN :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_BETWEEN = DatadogConnectorOperator' "BETWEEN"

pattern DatadogConnectorOperator_DIVISION :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_DIVISION :: DatadogConnectorOperator
$mDatadogConnectorOperator_DIVISION :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_DIVISION = DatadogConnectorOperator' "DIVISION"

pattern DatadogConnectorOperator_EQUAL_TO :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_EQUAL_TO :: DatadogConnectorOperator
$mDatadogConnectorOperator_EQUAL_TO :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_EQUAL_TO = DatadogConnectorOperator' "EQUAL_TO"

pattern DatadogConnectorOperator_MASK_ALL :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_MASK_ALL :: DatadogConnectorOperator
$mDatadogConnectorOperator_MASK_ALL :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_MASK_ALL = DatadogConnectorOperator' "MASK_ALL"

pattern DatadogConnectorOperator_MASK_FIRST_N :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_MASK_FIRST_N :: DatadogConnectorOperator
$mDatadogConnectorOperator_MASK_FIRST_N :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_MASK_FIRST_N = DatadogConnectorOperator' "MASK_FIRST_N"

pattern DatadogConnectorOperator_MASK_LAST_N :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_MASK_LAST_N :: DatadogConnectorOperator
$mDatadogConnectorOperator_MASK_LAST_N :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_MASK_LAST_N = DatadogConnectorOperator' "MASK_LAST_N"

pattern DatadogConnectorOperator_MULTIPLICATION :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_MULTIPLICATION :: DatadogConnectorOperator
$mDatadogConnectorOperator_MULTIPLICATION :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_MULTIPLICATION = DatadogConnectorOperator' "MULTIPLICATION"

pattern DatadogConnectorOperator_NO_OP :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_NO_OP :: DatadogConnectorOperator
$mDatadogConnectorOperator_NO_OP :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_NO_OP = DatadogConnectorOperator' "NO_OP"

pattern DatadogConnectorOperator_PROJECTION :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_PROJECTION :: DatadogConnectorOperator
$mDatadogConnectorOperator_PROJECTION :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_PROJECTION = DatadogConnectorOperator' "PROJECTION"

pattern DatadogConnectorOperator_SUBTRACTION :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_SUBTRACTION :: DatadogConnectorOperator
$mDatadogConnectorOperator_SUBTRACTION :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_SUBTRACTION = DatadogConnectorOperator' "SUBTRACTION"

pattern DatadogConnectorOperator_VALIDATE_NON_NEGATIVE :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_VALIDATE_NON_NEGATIVE :: DatadogConnectorOperator
$mDatadogConnectorOperator_VALIDATE_NON_NEGATIVE :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_VALIDATE_NON_NEGATIVE = DatadogConnectorOperator' "VALIDATE_NON_NEGATIVE"

pattern DatadogConnectorOperator_VALIDATE_NON_NULL :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_VALIDATE_NON_NULL :: DatadogConnectorOperator
$mDatadogConnectorOperator_VALIDATE_NON_NULL :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_VALIDATE_NON_NULL = DatadogConnectorOperator' "VALIDATE_NON_NULL"

pattern DatadogConnectorOperator_VALIDATE_NON_ZERO :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_VALIDATE_NON_ZERO :: DatadogConnectorOperator
$mDatadogConnectorOperator_VALIDATE_NON_ZERO :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_VALIDATE_NON_ZERO = DatadogConnectorOperator' "VALIDATE_NON_ZERO"

pattern DatadogConnectorOperator_VALIDATE_NUMERIC :: DatadogConnectorOperator
pattern $bDatadogConnectorOperator_VALIDATE_NUMERIC :: DatadogConnectorOperator
$mDatadogConnectorOperator_VALIDATE_NUMERIC :: forall r.
DatadogConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
DatadogConnectorOperator_VALIDATE_NUMERIC = DatadogConnectorOperator' "VALIDATE_NUMERIC"

{-# COMPLETE
  DatadogConnectorOperator_ADDITION,
  DatadogConnectorOperator_BETWEEN,
  DatadogConnectorOperator_DIVISION,
  DatadogConnectorOperator_EQUAL_TO,
  DatadogConnectorOperator_MASK_ALL,
  DatadogConnectorOperator_MASK_FIRST_N,
  DatadogConnectorOperator_MASK_LAST_N,
  DatadogConnectorOperator_MULTIPLICATION,
  DatadogConnectorOperator_NO_OP,
  DatadogConnectorOperator_PROJECTION,
  DatadogConnectorOperator_SUBTRACTION,
  DatadogConnectorOperator_VALIDATE_NON_NEGATIVE,
  DatadogConnectorOperator_VALIDATE_NON_NULL,
  DatadogConnectorOperator_VALIDATE_NON_ZERO,
  DatadogConnectorOperator_VALIDATE_NUMERIC,
  DatadogConnectorOperator'
  #-}