stratosphere-0.32.0: library-gen/Stratosphere/ResourceProperties/IoTAnalyticsDatasetContainerAction.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html
module Stratosphere.ResourceProperties.IoTAnalyticsDatasetContainerAction where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.IoTAnalyticsDatasetResourceConfiguration
import Stratosphere.ResourceProperties.IoTAnalyticsDatasetVariable
-- | Full data type definition for IoTAnalyticsDatasetContainerAction. See
-- 'ioTAnalyticsDatasetContainerAction' for a more convenient constructor.
data IoTAnalyticsDatasetContainerAction =
IoTAnalyticsDatasetContainerAction
{ _ioTAnalyticsDatasetContainerActionExecutionRoleArn :: Val Text
, _ioTAnalyticsDatasetContainerActionImage :: Val Text
, _ioTAnalyticsDatasetContainerActionResourceConfiguration :: IoTAnalyticsDatasetResourceConfiguration
, _ioTAnalyticsDatasetContainerActionVariables :: Maybe [IoTAnalyticsDatasetVariable]
} deriving (Show, Eq)
instance ToJSON IoTAnalyticsDatasetContainerAction where
toJSON IoTAnalyticsDatasetContainerAction{..} =
object $
catMaybes
[ (Just . ("ExecutionRoleArn",) . toJSON) _ioTAnalyticsDatasetContainerActionExecutionRoleArn
, (Just . ("Image",) . toJSON) _ioTAnalyticsDatasetContainerActionImage
, (Just . ("ResourceConfiguration",) . toJSON) _ioTAnalyticsDatasetContainerActionResourceConfiguration
, fmap (("Variables",) . toJSON) _ioTAnalyticsDatasetContainerActionVariables
]
-- | Constructor for 'IoTAnalyticsDatasetContainerAction' containing required
-- fields as arguments.
ioTAnalyticsDatasetContainerAction
:: Val Text -- ^ 'itadcaExecutionRoleArn'
-> Val Text -- ^ 'itadcaImage'
-> IoTAnalyticsDatasetResourceConfiguration -- ^ 'itadcaResourceConfiguration'
-> IoTAnalyticsDatasetContainerAction
ioTAnalyticsDatasetContainerAction executionRoleArnarg imagearg resourceConfigurationarg =
IoTAnalyticsDatasetContainerAction
{ _ioTAnalyticsDatasetContainerActionExecutionRoleArn = executionRoleArnarg
, _ioTAnalyticsDatasetContainerActionImage = imagearg
, _ioTAnalyticsDatasetContainerActionResourceConfiguration = resourceConfigurationarg
, _ioTAnalyticsDatasetContainerActionVariables = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-executionrolearn
itadcaExecutionRoleArn :: Lens' IoTAnalyticsDatasetContainerAction (Val Text)
itadcaExecutionRoleArn = lens _ioTAnalyticsDatasetContainerActionExecutionRoleArn (\s a -> s { _ioTAnalyticsDatasetContainerActionExecutionRoleArn = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-image
itadcaImage :: Lens' IoTAnalyticsDatasetContainerAction (Val Text)
itadcaImage = lens _ioTAnalyticsDatasetContainerActionImage (\s a -> s { _ioTAnalyticsDatasetContainerActionImage = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-resourceconfiguration
itadcaResourceConfiguration :: Lens' IoTAnalyticsDatasetContainerAction IoTAnalyticsDatasetResourceConfiguration
itadcaResourceConfiguration = lens _ioTAnalyticsDatasetContainerActionResourceConfiguration (\s a -> s { _ioTAnalyticsDatasetContainerActionResourceConfiguration = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotanalytics-dataset-containeraction.html#cfn-iotanalytics-dataset-containeraction-variables
itadcaVariables :: Lens' IoTAnalyticsDatasetContainerAction (Maybe [IoTAnalyticsDatasetVariable])
itadcaVariables = lens _ioTAnalyticsDatasetContainerActionVariables (\s a -> s { _ioTAnalyticsDatasetContainerActionVariables = a })