module Stratosphere.IoTEvents.DetectorModel.PayloadProperty (
        PayloadProperty(..), mkPayloadProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import Stratosphere.ResourceProperties
import Stratosphere.Value
data PayloadProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html>
    PayloadProperty {PayloadProperty -> ()
haddock_workaround_ :: (),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-contentexpression>
                     PayloadProperty -> Value Text
contentExpression :: (Value Prelude.Text),
                     -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-payload.html#cfn-iotevents-detectormodel-payload-type>
                     PayloadProperty -> Value Text
type' :: (Value Prelude.Text)}
  deriving stock (PayloadProperty -> PayloadProperty -> Bool
(PayloadProperty -> PayloadProperty -> Bool)
-> (PayloadProperty -> PayloadProperty -> Bool)
-> Eq PayloadProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: PayloadProperty -> PayloadProperty -> Bool
== :: PayloadProperty -> PayloadProperty -> Bool
$c/= :: PayloadProperty -> PayloadProperty -> Bool
/= :: PayloadProperty -> PayloadProperty -> Bool
Prelude.Eq, Int -> PayloadProperty -> ShowS
[PayloadProperty] -> ShowS
PayloadProperty -> String
(Int -> PayloadProperty -> ShowS)
-> (PayloadProperty -> String)
-> ([PayloadProperty] -> ShowS)
-> Show PayloadProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> PayloadProperty -> ShowS
showsPrec :: Int -> PayloadProperty -> ShowS
$cshow :: PayloadProperty -> String
show :: PayloadProperty -> String
$cshowList :: [PayloadProperty] -> ShowS
showList :: [PayloadProperty] -> ShowS
Prelude.Show)
mkPayloadProperty ::
  Value Prelude.Text -> Value Prelude.Text -> PayloadProperty
mkPayloadProperty :: Value Text -> Value Text -> PayloadProperty
mkPayloadProperty Value Text
contentExpression Value Text
type'
  = PayloadProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (), contentExpression :: Value Text
contentExpression = Value Text
contentExpression,
       type' :: Value Text
type' = Value Text
type'}
instance ToResourceProperties PayloadProperty where
  toResourceProperties :: PayloadProperty -> ResourceProperties
toResourceProperties PayloadProperty {()
Value Text
haddock_workaround_ :: PayloadProperty -> ()
contentExpression :: PayloadProperty -> Value Text
type' :: PayloadProperty -> Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
type' :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoTEvents::DetectorModel.Payload",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"ContentExpression" 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
contentExpression,
                       Key
"Type" 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
type']}
instance JSON.ToJSON PayloadProperty where
  toJSON :: PayloadProperty -> Value
toJSON PayloadProperty {()
Value Text
haddock_workaround_ :: PayloadProperty -> ()
contentExpression :: PayloadProperty -> Value Text
type' :: PayloadProperty -> Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
type' :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"ContentExpression" 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
contentExpression,
         Key
"Type" 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
type']
instance Property "ContentExpression" PayloadProperty where
  type PropertyType "ContentExpression" PayloadProperty = Value Prelude.Text
  set :: PropertyType "ContentExpression" PayloadProperty
-> PayloadProperty -> PayloadProperty
set PropertyType "ContentExpression" PayloadProperty
newValue PayloadProperty {()
Value Text
haddock_workaround_ :: PayloadProperty -> ()
contentExpression :: PayloadProperty -> Value Text
type' :: PayloadProperty -> Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
type' :: Value Text
..}
    = PayloadProperty {contentExpression :: Value Text
contentExpression = PropertyType "ContentExpression" PayloadProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
type' :: Value Text
haddock_workaround_ :: ()
type' :: Value Text
..}
instance Property "Type" PayloadProperty where
  type PropertyType "Type" PayloadProperty = Value Prelude.Text
  set :: PropertyType "Type" PayloadProperty
-> PayloadProperty -> PayloadProperty
set PropertyType "Type" PayloadProperty
newValue PayloadProperty {()
Value Text
haddock_workaround_ :: PayloadProperty -> ()
contentExpression :: PayloadProperty -> Value Text
type' :: PayloadProperty -> Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
type' :: Value Text
..}
    = PayloadProperty {type' :: Value Text
type' = PropertyType "Type" PayloadProperty
Value Text
newValue, ()
Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
haddock_workaround_ :: ()
contentExpression :: Value Text
..}