module Stratosphere.IoTEvents.DetectorModel.ActionProperty ( module Exports, ActionProperty(..), mkActionProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.ClearTimerProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.DynamoDBProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.DynamoDBv2Property as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.FirehoseProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.IotEventsProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.IotSiteWiseProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.IotTopicPublishProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.LambdaProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.ResetTimerProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.SetTimerProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.SetVariableProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.SnsProperty as Exports import {-# SOURCE #-} Stratosphere.IoTEvents.DetectorModel.SqsProperty as Exports import Stratosphere.ResourceProperties data ActionProperty = -- | See: ActionProperty {haddock_workaround_ :: (), -- | See: clearTimer :: (Prelude.Maybe ClearTimerProperty), -- | See: dynamoDB :: (Prelude.Maybe DynamoDBProperty), -- | See: dynamoDBv2 :: (Prelude.Maybe DynamoDBv2Property), -- | See: firehose :: (Prelude.Maybe FirehoseProperty), -- | See: iotEvents :: (Prelude.Maybe IotEventsProperty), -- | See: iotSiteWise :: (Prelude.Maybe IotSiteWiseProperty), -- | See: iotTopicPublish :: (Prelude.Maybe IotTopicPublishProperty), -- | See: lambda :: (Prelude.Maybe LambdaProperty), -- | See: resetTimer :: (Prelude.Maybe ResetTimerProperty), -- | See: setTimer :: (Prelude.Maybe SetTimerProperty), -- | See: setVariable :: (Prelude.Maybe SetVariableProperty), -- | See: sns :: (Prelude.Maybe SnsProperty), -- | See: sqs :: (Prelude.Maybe SqsProperty)} deriving stock (Prelude.Eq, Prelude.Show) mkActionProperty :: ActionProperty mkActionProperty = ActionProperty {haddock_workaround_ = (), clearTimer = Prelude.Nothing, dynamoDB = Prelude.Nothing, dynamoDBv2 = Prelude.Nothing, firehose = Prelude.Nothing, iotEvents = Prelude.Nothing, iotSiteWise = Prelude.Nothing, iotTopicPublish = Prelude.Nothing, lambda = Prelude.Nothing, resetTimer = Prelude.Nothing, setTimer = Prelude.Nothing, setVariable = Prelude.Nothing, sns = Prelude.Nothing, sqs = Prelude.Nothing} instance ToResourceProperties ActionProperty where toResourceProperties ActionProperty {..} = ResourceProperties {awsType = "AWS::IoTEvents::DetectorModel.Action", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "ClearTimer" Prelude.<$> clearTimer, (JSON..=) "DynamoDB" Prelude.<$> dynamoDB, (JSON..=) "DynamoDBv2" Prelude.<$> dynamoDBv2, (JSON..=) "Firehose" Prelude.<$> firehose, (JSON..=) "IotEvents" Prelude.<$> iotEvents, (JSON..=) "IotSiteWise" Prelude.<$> iotSiteWise, (JSON..=) "IotTopicPublish" Prelude.<$> iotTopicPublish, (JSON..=) "Lambda" Prelude.<$> lambda, (JSON..=) "ResetTimer" Prelude.<$> resetTimer, (JSON..=) "SetTimer" Prelude.<$> setTimer, (JSON..=) "SetVariable" Prelude.<$> setVariable, (JSON..=) "Sns" Prelude.<$> sns, (JSON..=) "Sqs" Prelude.<$> sqs])} instance JSON.ToJSON ActionProperty where toJSON ActionProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "ClearTimer" Prelude.<$> clearTimer, (JSON..=) "DynamoDB" Prelude.<$> dynamoDB, (JSON..=) "DynamoDBv2" Prelude.<$> dynamoDBv2, (JSON..=) "Firehose" Prelude.<$> firehose, (JSON..=) "IotEvents" Prelude.<$> iotEvents, (JSON..=) "IotSiteWise" Prelude.<$> iotSiteWise, (JSON..=) "IotTopicPublish" Prelude.<$> iotTopicPublish, (JSON..=) "Lambda" Prelude.<$> lambda, (JSON..=) "ResetTimer" Prelude.<$> resetTimer, (JSON..=) "SetTimer" Prelude.<$> setTimer, (JSON..=) "SetVariable" Prelude.<$> setVariable, (JSON..=) "Sns" Prelude.<$> sns, (JSON..=) "Sqs" Prelude.<$> sqs])) instance Property "ClearTimer" ActionProperty where type PropertyType "ClearTimer" ActionProperty = ClearTimerProperty set newValue ActionProperty {..} = ActionProperty {clearTimer = Prelude.pure newValue, ..} instance Property "DynamoDB" ActionProperty where type PropertyType "DynamoDB" ActionProperty = DynamoDBProperty set newValue ActionProperty {..} = ActionProperty {dynamoDB = Prelude.pure newValue, ..} instance Property "DynamoDBv2" ActionProperty where type PropertyType "DynamoDBv2" ActionProperty = DynamoDBv2Property set newValue ActionProperty {..} = ActionProperty {dynamoDBv2 = Prelude.pure newValue, ..} instance Property "Firehose" ActionProperty where type PropertyType "Firehose" ActionProperty = FirehoseProperty set newValue ActionProperty {..} = ActionProperty {firehose = Prelude.pure newValue, ..} instance Property "IotEvents" ActionProperty where type PropertyType "IotEvents" ActionProperty = IotEventsProperty set newValue ActionProperty {..} = ActionProperty {iotEvents = Prelude.pure newValue, ..} instance Property "IotSiteWise" ActionProperty where type PropertyType "IotSiteWise" ActionProperty = IotSiteWiseProperty set newValue ActionProperty {..} = ActionProperty {iotSiteWise = Prelude.pure newValue, ..} instance Property "IotTopicPublish" ActionProperty where type PropertyType "IotTopicPublish" ActionProperty = IotTopicPublishProperty set newValue ActionProperty {..} = ActionProperty {iotTopicPublish = Prelude.pure newValue, ..} instance Property "Lambda" ActionProperty where type PropertyType "Lambda" ActionProperty = LambdaProperty set newValue ActionProperty {..} = ActionProperty {lambda = Prelude.pure newValue, ..} instance Property "ResetTimer" ActionProperty where type PropertyType "ResetTimer" ActionProperty = ResetTimerProperty set newValue ActionProperty {..} = ActionProperty {resetTimer = Prelude.pure newValue, ..} instance Property "SetTimer" ActionProperty where type PropertyType "SetTimer" ActionProperty = SetTimerProperty set newValue ActionProperty {..} = ActionProperty {setTimer = Prelude.pure newValue, ..} instance Property "SetVariable" ActionProperty where type PropertyType "SetVariable" ActionProperty = SetVariableProperty set newValue ActionProperty {..} = ActionProperty {setVariable = Prelude.pure newValue, ..} instance Property "Sns" ActionProperty where type PropertyType "Sns" ActionProperty = SnsProperty set newValue ActionProperty {..} = ActionProperty {sns = Prelude.pure newValue, ..} instance Property "Sqs" ActionProperty where type PropertyType "Sqs" ActionProperty = SqsProperty set newValue ActionProperty {..} = ActionProperty {sqs = Prelude.pure newValue, ..}