module Stratosphere.IoT.TopicRule.IotSiteWiseActionProperty (
        module Exports, IotSiteWiseActionProperty(..),
        mkIotSiteWiseActionProperty
    ) where
import qualified Data.Aeson as JSON
import qualified Stratosphere.Prelude as Prelude
import Stratosphere.Property
import {-# SOURCE #-} Stratosphere.IoT.TopicRule.PutAssetPropertyValueEntryProperty as Exports
import Stratosphere.ResourceProperties
import Stratosphere.Value
data IotSiteWiseActionProperty
  = -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html>
    IotSiteWiseActionProperty {IotSiteWiseActionProperty -> ()
haddock_workaround_ :: (),
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-putassetpropertyvalueentries>
                               IotSiteWiseActionProperty -> [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty],
                               -- | See: <http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-iotsitewiseaction.html#cfn-iot-topicrule-iotsitewiseaction-rolearn>
                               IotSiteWiseActionProperty -> Value Text
roleArn :: (Value Prelude.Text)}
  deriving stock (IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool
(IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool)
-> (IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool)
-> Eq IotSiteWiseActionProperty
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
$c== :: IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool
== :: IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool
$c/= :: IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool
/= :: IotSiteWiseActionProperty -> IotSiteWiseActionProperty -> Bool
Prelude.Eq, Int -> IotSiteWiseActionProperty -> ShowS
[IotSiteWiseActionProperty] -> ShowS
IotSiteWiseActionProperty -> String
(Int -> IotSiteWiseActionProperty -> ShowS)
-> (IotSiteWiseActionProperty -> String)
-> ([IotSiteWiseActionProperty] -> ShowS)
-> Show IotSiteWiseActionProperty
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
$cshowsPrec :: Int -> IotSiteWiseActionProperty -> ShowS
showsPrec :: Int -> IotSiteWiseActionProperty -> ShowS
$cshow :: IotSiteWiseActionProperty -> String
show :: IotSiteWiseActionProperty -> String
$cshowList :: [IotSiteWiseActionProperty] -> ShowS
showList :: [IotSiteWiseActionProperty] -> ShowS
Prelude.Show)
mkIotSiteWiseActionProperty ::
  [PutAssetPropertyValueEntryProperty]
  -> Value Prelude.Text -> IotSiteWiseActionProperty
mkIotSiteWiseActionProperty :: [PutAssetPropertyValueEntryProperty]
-> Value Text -> IotSiteWiseActionProperty
mkIotSiteWiseActionProperty [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries Value Text
roleArn
  = IotSiteWiseActionProperty
      {haddock_workaround_ :: ()
haddock_workaround_ = (),
       putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries = [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries,
       roleArn :: Value Text
roleArn = Value Text
roleArn}
instance ToResourceProperties IotSiteWiseActionProperty where
  toResourceProperties :: IotSiteWiseActionProperty -> ResourceProperties
toResourceProperties IotSiteWiseActionProperty {[PutAssetPropertyValueEntryProperty]
()
Value Text
haddock_workaround_ :: IotSiteWiseActionProperty -> ()
putAssetPropertyValueEntries :: IotSiteWiseActionProperty -> [PutAssetPropertyValueEntryProperty]
roleArn :: IotSiteWiseActionProperty -> Value Text
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
roleArn :: Value Text
..}
    = ResourceProperties
        {awsType :: Text
awsType = Text
"AWS::IoT::TopicRule.IotSiteWiseAction",
         supportsTags :: Bool
supportsTags = Bool
Prelude.False,
         properties :: Object
properties = [Key
"PutAssetPropertyValueEntries"
                         Key -> [PutAssetPropertyValueEntryProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries,
                       Key
"RoleArn" 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
roleArn]}
instance JSON.ToJSON IotSiteWiseActionProperty where
  toJSON :: IotSiteWiseActionProperty -> Value
toJSON IotSiteWiseActionProperty {[PutAssetPropertyValueEntryProperty]
()
Value Text
haddock_workaround_ :: IotSiteWiseActionProperty -> ()
putAssetPropertyValueEntries :: IotSiteWiseActionProperty -> [PutAssetPropertyValueEntryProperty]
roleArn :: IotSiteWiseActionProperty -> Value Text
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
roleArn :: Value Text
..}
    = [(Key, Value)] -> Value
JSON.object
        [Key
"PutAssetPropertyValueEntries"
           Key -> [PutAssetPropertyValueEntryProperty] -> (Key, Value)
forall v. ToJSON v => Key -> v -> (Key, Value)
forall e kv v. (KeyValue e kv, ToJSON v) => Key -> v -> kv
JSON..= [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries,
         Key
"RoleArn" 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
roleArn]
instance Property "PutAssetPropertyValueEntries" IotSiteWiseActionProperty where
  type PropertyType "PutAssetPropertyValueEntries" IotSiteWiseActionProperty = [PutAssetPropertyValueEntryProperty]
  set :: PropertyType
  "PutAssetPropertyValueEntries" IotSiteWiseActionProperty
-> IotSiteWiseActionProperty -> IotSiteWiseActionProperty
set PropertyType
  "PutAssetPropertyValueEntries" IotSiteWiseActionProperty
newValue IotSiteWiseActionProperty {[PutAssetPropertyValueEntryProperty]
()
Value Text
haddock_workaround_ :: IotSiteWiseActionProperty -> ()
putAssetPropertyValueEntries :: IotSiteWiseActionProperty -> [PutAssetPropertyValueEntryProperty]
roleArn :: IotSiteWiseActionProperty -> Value Text
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
roleArn :: Value Text
..}
    = IotSiteWiseActionProperty
        {putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
putAssetPropertyValueEntries = [PutAssetPropertyValueEntryProperty]
PropertyType
  "PutAssetPropertyValueEntries" IotSiteWiseActionProperty
newValue, ()
Value Text
haddock_workaround_ :: ()
roleArn :: Value Text
haddock_workaround_ :: ()
roleArn :: Value Text
..}
instance Property "RoleArn" IotSiteWiseActionProperty where
  type PropertyType "RoleArn" IotSiteWiseActionProperty = Value Prelude.Text
  set :: PropertyType "RoleArn" IotSiteWiseActionProperty
-> IotSiteWiseActionProperty -> IotSiteWiseActionProperty
set PropertyType "RoleArn" IotSiteWiseActionProperty
newValue IotSiteWiseActionProperty {[PutAssetPropertyValueEntryProperty]
()
Value Text
haddock_workaround_ :: IotSiteWiseActionProperty -> ()
putAssetPropertyValueEntries :: IotSiteWiseActionProperty -> [PutAssetPropertyValueEntryProperty]
roleArn :: IotSiteWiseActionProperty -> Value Text
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
roleArn :: Value Text
..}
    = IotSiteWiseActionProperty {roleArn :: Value Text
roleArn = PropertyType "RoleArn" IotSiteWiseActionProperty
Value Text
newValue, [PutAssetPropertyValueEntryProperty]
()
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
haddock_workaround_ :: ()
putAssetPropertyValueEntries :: [PutAssetPropertyValueEntryProperty]
..}