module Stratosphere.SES.MailManagerRuleSet.RuleNumberExpressionProperty (
        module Exports, RuleNumberExpressionProperty(..),
        mkRuleNumberExpressionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.SES.MailManagerRuleSet.RuleNumberToEvaluateProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data RuleNumberExpressionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumberexpression.html>
    RuleNumberExpressionProperty {RuleNumberExpressionProperty -> ()
haddock_workaround_ :: (),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumberexpression.html#cfn-ses-mailmanagerruleset-rulenumberexpression-evaluate>
                                  RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
evaluate :: RuleNumberToEvaluateProperty,
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumberexpression.html#cfn-ses-mailmanagerruleset-rulenumberexpression-operator>
                                  RuleNumberExpressionProperty -> Value Text
operator :: (Value Prelude.Text),
                                  -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-ses-mailmanagerruleset-rulenumberexpression.html#cfn-ses-mailmanagerruleset-rulenumberexpression-value>
                                  RuleNumberExpressionProperty -> Value Double
value :: (Value Prelude.Double)}
  deriving stock (RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> Bool
(RuleNumberExpressionProperty
 -> RuleNumberExpressionProperty -> Bool)
-> (RuleNumberExpressionProperty
    -> RuleNumberExpressionProperty -> Bool)
-> Eq RuleNumberExpressionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> Bool
== :: RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> Bool
$c/= :: RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> Bool
/= :: RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> Bool
Prelude.Eq, Int -> RuleNumberExpressionProperty -> ShowS
[RuleNumberExpressionProperty] -> ShowS
RuleNumberExpressionProperty -> String
(Int -> RuleNumberExpressionProperty -> ShowS)
-> (RuleNumberExpressionProperty -> String)
-> ([RuleNumberExpressionProperty] -> ShowS)
-> Show RuleNumberExpressionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> RuleNumberExpressionProperty -> ShowS
showsPrec :: Int -> RuleNumberExpressionProperty -> ShowS
$cshow :: RuleNumberExpressionProperty -> String
show :: RuleNumberExpressionProperty -> String
$cshowList :: [RuleNumberExpressionProperty] -> ShowS
showList :: [RuleNumberExpressionProperty] -> ShowS
Prelude.Show)
mkRuleNumberExpressionProperty ::
  RuleNumberToEvaluateProperty
  -> Value Prelude.Text
     -> Value Prelude.Double -> RuleNumberExpressionProperty
mkRuleNumberExpressionProperty :: RuleNumberToEvaluateProperty
-> Value Text -> Value Double -> RuleNumberExpressionProperty
mkRuleNumberExpressionProperty RuleNumberToEvaluateProperty
evaluate Value Text
operator Value Double
value
  = RuleNumberExpressionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), evaluate :: RuleNumberToEvaluateProperty
evaluate = RuleNumberToEvaluateProperty
evaluate,
       operator :: Value Text
operator = Value Text
operator, value :: Value Double
value = Value Double
value}
instance ToResourceProperties RuleNumberExpressionProperty where
  toResourceProperties :: RuleNumberExpressionProperty -> ResourceProperties
toResourceProperties RuleNumberExpressionProperty {()
Value Double
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: RuleNumberExpressionProperty -> ()
evaluate :: RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
operator :: RuleNumberExpressionProperty -> Value Text
value :: RuleNumberExpressionProperty -> Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
value :: Value Double
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::SES::MailManagerRuleSet.RuleNumberExpression",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"Evaluate" Key -> RuleNumberToEvaluateProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RuleNumberToEvaluateProperty
evaluate,
                       Key
"Operator" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
operator, Key
"Value" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
value]}
instance JSON.ToJSON RuleNumberExpressionProperty where
  toJSON :: RuleNumberExpressionProperty -> Value
toJSON RuleNumberExpressionProperty {()
Value Double
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: RuleNumberExpressionProperty -> ()
evaluate :: RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
operator :: RuleNumberExpressionProperty -> Value Text
value :: RuleNumberExpressionProperty -> Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
value :: Value Double
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"Evaluate" Key -> RuleNumberToEvaluateProperty -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= RuleNumberToEvaluateProperty
evaluate, Key
"Operator" Key -> Value Text -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Text
operator,
         Key
"Value" Key -> Value Double -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= Value Double
value]
instance Property "Evaluate" RuleNumberExpressionProperty where
  type PropertyType "Evaluate" RuleNumberExpressionProperty = RuleNumberToEvaluateProperty
  set :: PropertyType "Evaluate" RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> RuleNumberExpressionProperty
set PropertyType "Evaluate" RuleNumberExpressionProperty
newValue RuleNumberExpressionProperty {()
Value Double
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: RuleNumberExpressionProperty -> ()
evaluate :: RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
operator :: RuleNumberExpressionProperty -> Value Text
value :: RuleNumberExpressionProperty -> Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
value :: Value Double
..}
    = RuleNumberExpressionProperty {evaluate :: RuleNumberToEvaluateProperty
evaluate = PropertyType "Evaluate" RuleNumberExpressionProperty
RuleNumberToEvaluateProperty
newValue, ()
Value Double
Value Text
haddock_workaround_ :: ()
operator :: Value Text
value :: Value Double
haddock_workaround_ :: ()
operator :: Value Text
value :: Value Double
..}
instance Property "Operator" RuleNumberExpressionProperty where
  type PropertyType "Operator" RuleNumberExpressionProperty = Value Prelude.Text
  set :: PropertyType "Operator" RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> RuleNumberExpressionProperty
set PropertyType "Operator" RuleNumberExpressionProperty
newValue RuleNumberExpressionProperty {()
Value Double
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: RuleNumberExpressionProperty -> ()
evaluate :: RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
operator :: RuleNumberExpressionProperty -> Value Text
value :: RuleNumberExpressionProperty -> Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
value :: Value Double
..}
    = RuleNumberExpressionProperty {operator :: Value Text
operator = PropertyType "Operator" RuleNumberExpressionProperty
Value Text
newValue, ()
Value Double
RuleNumberToEvaluateProperty
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
value :: Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
value :: Value Double
..}
instance Property "Value" RuleNumberExpressionProperty where
  type PropertyType "Value" RuleNumberExpressionProperty = Value Prelude.Double
  set :: PropertyType "Value" RuleNumberExpressionProperty
-> RuleNumberExpressionProperty -> RuleNumberExpressionProperty
set PropertyType "Value" RuleNumberExpressionProperty
newValue RuleNumberExpressionProperty {()
Value Double
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: RuleNumberExpressionProperty -> ()
evaluate :: RuleNumberExpressionProperty -> RuleNumberToEvaluateProperty
operator :: RuleNumberExpressionProperty -> Value Text
value :: RuleNumberExpressionProperty -> Value Double
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
value :: Value Double
..}
    = RuleNumberExpressionProperty {value :: Value Double
value = PropertyType "Value" RuleNumberExpressionProperty
Value Double
newValue, ()
Value Text
RuleNumberToEvaluateProperty
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
haddock_workaround_ :: ()
evaluate :: RuleNumberToEvaluateProperty
operator :: Value Text
..}