module Stratosphere.SES.ReceiptRule.ActionProperty ( module Exports, ActionProperty(..), mkActionProperty ) where import qualified Data.Aeson as JSON import qualified Stratosphere.Prelude as Prelude import Stratosphere.Property import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.AddHeaderActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.BounceActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.ConnectActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.LambdaActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.S3ActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.SNSActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.StopActionProperty as Exports import {-# SOURCE #-} Stratosphere.SES.ReceiptRule.WorkmailActionProperty as Exports import Stratosphere.ResourceProperties data ActionProperty = -- | See: ActionProperty {haddock_workaround_ :: (), -- | See: addHeaderAction :: (Prelude.Maybe AddHeaderActionProperty), -- | See: bounceAction :: (Prelude.Maybe BounceActionProperty), -- | See: connectAction :: (Prelude.Maybe ConnectActionProperty), -- | See: lambdaAction :: (Prelude.Maybe LambdaActionProperty), -- | See: s3Action :: (Prelude.Maybe S3ActionProperty), -- | See: sNSAction :: (Prelude.Maybe SNSActionProperty), -- | See: stopAction :: (Prelude.Maybe StopActionProperty), -- | See: workmailAction :: (Prelude.Maybe WorkmailActionProperty)} deriving stock (Prelude.Eq, Prelude.Show) mkActionProperty :: ActionProperty mkActionProperty = ActionProperty {haddock_workaround_ = (), addHeaderAction = Prelude.Nothing, bounceAction = Prelude.Nothing, connectAction = Prelude.Nothing, lambdaAction = Prelude.Nothing, s3Action = Prelude.Nothing, sNSAction = Prelude.Nothing, stopAction = Prelude.Nothing, workmailAction = Prelude.Nothing} instance ToResourceProperties ActionProperty where toResourceProperties ActionProperty {..} = ResourceProperties {awsType = "AWS::SES::ReceiptRule.Action", supportsTags = Prelude.False, properties = Prelude.fromList (Prelude.catMaybes [(JSON..=) "AddHeaderAction" Prelude.<$> addHeaderAction, (JSON..=) "BounceAction" Prelude.<$> bounceAction, (JSON..=) "ConnectAction" Prelude.<$> connectAction, (JSON..=) "LambdaAction" Prelude.<$> lambdaAction, (JSON..=) "S3Action" Prelude.<$> s3Action, (JSON..=) "SNSAction" Prelude.<$> sNSAction, (JSON..=) "StopAction" Prelude.<$> stopAction, (JSON..=) "WorkmailAction" Prelude.<$> workmailAction])} instance JSON.ToJSON ActionProperty where toJSON ActionProperty {..} = JSON.object (Prelude.fromList (Prelude.catMaybes [(JSON..=) "AddHeaderAction" Prelude.<$> addHeaderAction, (JSON..=) "BounceAction" Prelude.<$> bounceAction, (JSON..=) "ConnectAction" Prelude.<$> connectAction, (JSON..=) "LambdaAction" Prelude.<$> lambdaAction, (JSON..=) "S3Action" Prelude.<$> s3Action, (JSON..=) "SNSAction" Prelude.<$> sNSAction, (JSON..=) "StopAction" Prelude.<$> stopAction, (JSON..=) "WorkmailAction" Prelude.<$> workmailAction])) instance Property "AddHeaderAction" ActionProperty where type PropertyType "AddHeaderAction" ActionProperty = AddHeaderActionProperty set newValue ActionProperty {..} = ActionProperty {addHeaderAction = Prelude.pure newValue, ..} instance Property "BounceAction" ActionProperty where type PropertyType "BounceAction" ActionProperty = BounceActionProperty set newValue ActionProperty {..} = ActionProperty {bounceAction = Prelude.pure newValue, ..} instance Property "ConnectAction" ActionProperty where type PropertyType "ConnectAction" ActionProperty = ConnectActionProperty set newValue ActionProperty {..} = ActionProperty {connectAction = Prelude.pure newValue, ..} instance Property "LambdaAction" ActionProperty where type PropertyType "LambdaAction" ActionProperty = LambdaActionProperty set newValue ActionProperty {..} = ActionProperty {lambdaAction = Prelude.pure newValue, ..} instance Property "S3Action" ActionProperty where type PropertyType "S3Action" ActionProperty = S3ActionProperty set newValue ActionProperty {..} = ActionProperty {s3Action = Prelude.pure newValue, ..} instance Property "SNSAction" ActionProperty where type PropertyType "SNSAction" ActionProperty = SNSActionProperty set newValue ActionProperty {..} = ActionProperty {sNSAction = Prelude.pure newValue, ..} instance Property "StopAction" ActionProperty where type PropertyType "StopAction" ActionProperty = StopActionProperty set newValue ActionProperty {..} = ActionProperty {stopAction = Prelude.pure newValue, ..} instance Property "WorkmailAction" ActionProperty where type PropertyType "WorkmailAction" ActionProperty = WorkmailActionProperty set newValue ActionProperty {..} = ActionProperty {workmailAction = Prelude.pure newValue, ..}