{-# 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.SingularConnectorOperator
-- 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.SingularConnectorOperator
  ( SingularConnectorOperator
      ( ..,
        SingularConnectorOperator_ADDITION,
        SingularConnectorOperator_DIVISION,
        SingularConnectorOperator_EQUAL_TO,
        SingularConnectorOperator_MASK_ALL,
        SingularConnectorOperator_MASK_FIRST_N,
        SingularConnectorOperator_MASK_LAST_N,
        SingularConnectorOperator_MULTIPLICATION,
        SingularConnectorOperator_NO_OP,
        SingularConnectorOperator_PROJECTION,
        SingularConnectorOperator_SUBTRACTION,
        SingularConnectorOperator_VALIDATE_NON_NEGATIVE,
        SingularConnectorOperator_VALIDATE_NON_NULL,
        SingularConnectorOperator_VALIDATE_NON_ZERO,
        SingularConnectorOperator_VALIDATE_NUMERIC
      ),
  )
where

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

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

pattern SingularConnectorOperator_ADDITION :: SingularConnectorOperator
pattern $bSingularConnectorOperator_ADDITION :: SingularConnectorOperator
$mSingularConnectorOperator_ADDITION :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_ADDITION = SingularConnectorOperator' "ADDITION"

pattern SingularConnectorOperator_DIVISION :: SingularConnectorOperator
pattern $bSingularConnectorOperator_DIVISION :: SingularConnectorOperator
$mSingularConnectorOperator_DIVISION :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_DIVISION = SingularConnectorOperator' "DIVISION"

pattern SingularConnectorOperator_EQUAL_TO :: SingularConnectorOperator
pattern $bSingularConnectorOperator_EQUAL_TO :: SingularConnectorOperator
$mSingularConnectorOperator_EQUAL_TO :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_EQUAL_TO = SingularConnectorOperator' "EQUAL_TO"

pattern SingularConnectorOperator_MASK_ALL :: SingularConnectorOperator
pattern $bSingularConnectorOperator_MASK_ALL :: SingularConnectorOperator
$mSingularConnectorOperator_MASK_ALL :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_MASK_ALL = SingularConnectorOperator' "MASK_ALL"

pattern SingularConnectorOperator_MASK_FIRST_N :: SingularConnectorOperator
pattern $bSingularConnectorOperator_MASK_FIRST_N :: SingularConnectorOperator
$mSingularConnectorOperator_MASK_FIRST_N :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_MASK_FIRST_N = SingularConnectorOperator' "MASK_FIRST_N"

pattern SingularConnectorOperator_MASK_LAST_N :: SingularConnectorOperator
pattern $bSingularConnectorOperator_MASK_LAST_N :: SingularConnectorOperator
$mSingularConnectorOperator_MASK_LAST_N :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_MASK_LAST_N = SingularConnectorOperator' "MASK_LAST_N"

pattern SingularConnectorOperator_MULTIPLICATION :: SingularConnectorOperator
pattern $bSingularConnectorOperator_MULTIPLICATION :: SingularConnectorOperator
$mSingularConnectorOperator_MULTIPLICATION :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_MULTIPLICATION = SingularConnectorOperator' "MULTIPLICATION"

pattern SingularConnectorOperator_NO_OP :: SingularConnectorOperator
pattern $bSingularConnectorOperator_NO_OP :: SingularConnectorOperator
$mSingularConnectorOperator_NO_OP :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_NO_OP = SingularConnectorOperator' "NO_OP"

pattern SingularConnectorOperator_PROJECTION :: SingularConnectorOperator
pattern $bSingularConnectorOperator_PROJECTION :: SingularConnectorOperator
$mSingularConnectorOperator_PROJECTION :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_PROJECTION = SingularConnectorOperator' "PROJECTION"

pattern SingularConnectorOperator_SUBTRACTION :: SingularConnectorOperator
pattern $bSingularConnectorOperator_SUBTRACTION :: SingularConnectorOperator
$mSingularConnectorOperator_SUBTRACTION :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_SUBTRACTION = SingularConnectorOperator' "SUBTRACTION"

pattern SingularConnectorOperator_VALIDATE_NON_NEGATIVE :: SingularConnectorOperator
pattern $bSingularConnectorOperator_VALIDATE_NON_NEGATIVE :: SingularConnectorOperator
$mSingularConnectorOperator_VALIDATE_NON_NEGATIVE :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_VALIDATE_NON_NEGATIVE = SingularConnectorOperator' "VALIDATE_NON_NEGATIVE"

pattern SingularConnectorOperator_VALIDATE_NON_NULL :: SingularConnectorOperator
pattern $bSingularConnectorOperator_VALIDATE_NON_NULL :: SingularConnectorOperator
$mSingularConnectorOperator_VALIDATE_NON_NULL :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_VALIDATE_NON_NULL = SingularConnectorOperator' "VALIDATE_NON_NULL"

pattern SingularConnectorOperator_VALIDATE_NON_ZERO :: SingularConnectorOperator
pattern $bSingularConnectorOperator_VALIDATE_NON_ZERO :: SingularConnectorOperator
$mSingularConnectorOperator_VALIDATE_NON_ZERO :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_VALIDATE_NON_ZERO = SingularConnectorOperator' "VALIDATE_NON_ZERO"

pattern SingularConnectorOperator_VALIDATE_NUMERIC :: SingularConnectorOperator
pattern $bSingularConnectorOperator_VALIDATE_NUMERIC :: SingularConnectorOperator
$mSingularConnectorOperator_VALIDATE_NUMERIC :: forall r.
SingularConnectorOperator -> (Void# -> r) -> (Void# -> r) -> r
SingularConnectorOperator_VALIDATE_NUMERIC = SingularConnectorOperator' "VALIDATE_NUMERIC"

{-# COMPLETE
  SingularConnectorOperator_ADDITION,
  SingularConnectorOperator_DIVISION,
  SingularConnectorOperator_EQUAL_TO,
  SingularConnectorOperator_MASK_ALL,
  SingularConnectorOperator_MASK_FIRST_N,
  SingularConnectorOperator_MASK_LAST_N,
  SingularConnectorOperator_MULTIPLICATION,
  SingularConnectorOperator_NO_OP,
  SingularConnectorOperator_PROJECTION,
  SingularConnectorOperator_SUBTRACTION,
  SingularConnectorOperator_VALIDATE_NON_NEGATIVE,
  SingularConnectorOperator_VALIDATE_NON_NULL,
  SingularConnectorOperator_VALIDATE_NON_ZERO,
  SingularConnectorOperator_VALIDATE_NUMERIC,
  SingularConnectorOperator'
  #-}