stratosphere-0.46.0: library-gen/Stratosphere/ResourceProperties/EventsRuleBatchParameters.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html
module Stratosphere.ResourceProperties.EventsRuleBatchParameters where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.EventsRuleBatchArrayProperties
import Stratosphere.ResourceProperties.EventsRuleBatchRetryStrategy
-- | Full data type definition for EventsRuleBatchParameters. See
-- 'eventsRuleBatchParameters' for a more convenient constructor.
data EventsRuleBatchParameters =
EventsRuleBatchParameters
{ _eventsRuleBatchParametersArrayProperties :: Maybe EventsRuleBatchArrayProperties
, _eventsRuleBatchParametersJobDefinition :: Val Text
, _eventsRuleBatchParametersJobName :: Val Text
, _eventsRuleBatchParametersRetryStrategy :: Maybe EventsRuleBatchRetryStrategy
} deriving (Show, Eq)
instance ToJSON EventsRuleBatchParameters where
toJSON EventsRuleBatchParameters{..} =
object $
catMaybes
[ fmap (("ArrayProperties",) . toJSON) _eventsRuleBatchParametersArrayProperties
, (Just . ("JobDefinition",) . toJSON) _eventsRuleBatchParametersJobDefinition
, (Just . ("JobName",) . toJSON) _eventsRuleBatchParametersJobName
, fmap (("RetryStrategy",) . toJSON) _eventsRuleBatchParametersRetryStrategy
]
-- | Constructor for 'EventsRuleBatchParameters' containing required fields as
-- arguments.
eventsRuleBatchParameters
:: Val Text -- ^ 'erbpJobDefinition'
-> Val Text -- ^ 'erbpJobName'
-> EventsRuleBatchParameters
eventsRuleBatchParameters jobDefinitionarg jobNamearg =
EventsRuleBatchParameters
{ _eventsRuleBatchParametersArrayProperties = Nothing
, _eventsRuleBatchParametersJobDefinition = jobDefinitionarg
, _eventsRuleBatchParametersJobName = jobNamearg
, _eventsRuleBatchParametersRetryStrategy = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-arrayproperties
erbpArrayProperties :: Lens' EventsRuleBatchParameters (Maybe EventsRuleBatchArrayProperties)
erbpArrayProperties = lens _eventsRuleBatchParametersArrayProperties (\s a -> s { _eventsRuleBatchParametersArrayProperties = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobdefinition
erbpJobDefinition :: Lens' EventsRuleBatchParameters (Val Text)
erbpJobDefinition = lens _eventsRuleBatchParametersJobDefinition (\s a -> s { _eventsRuleBatchParametersJobDefinition = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-jobname
erbpJobName :: Lens' EventsRuleBatchParameters (Val Text)
erbpJobName = lens _eventsRuleBatchParametersJobName (\s a -> s { _eventsRuleBatchParametersJobName = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-events-rule-batchparameters.html#cfn-events-rule-batchparameters-retrystrategy
erbpRetryStrategy :: Lens' EventsRuleBatchParameters (Maybe EventsRuleBatchRetryStrategy)
erbpRetryStrategy = lens _eventsRuleBatchParametersRetryStrategy (\s a -> s { _eventsRuleBatchParametersRetryStrategy = a })