stratosphere-0.53.0: library-gen/Stratosphere/ResourceProperties/IoTEventsDetectorModelAssetPropertyValue.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html
module Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyValue where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyTimestamp
import Stratosphere.ResourceProperties.IoTEventsDetectorModelAssetPropertyVariant
-- | Full data type definition for IoTEventsDetectorModelAssetPropertyValue.
-- See 'ioTEventsDetectorModelAssetPropertyValue' for a more convenient
-- constructor.
data IoTEventsDetectorModelAssetPropertyValue =
IoTEventsDetectorModelAssetPropertyValue
{ _ioTEventsDetectorModelAssetPropertyValueQuality :: Maybe (Val Text)
, _ioTEventsDetectorModelAssetPropertyValueTimestamp :: Maybe IoTEventsDetectorModelAssetPropertyTimestamp
, _ioTEventsDetectorModelAssetPropertyValueValue :: Maybe IoTEventsDetectorModelAssetPropertyVariant
} deriving (Show, Eq)
instance ToJSON IoTEventsDetectorModelAssetPropertyValue where
toJSON IoTEventsDetectorModelAssetPropertyValue{..} =
object $
catMaybes
[ fmap (("Quality",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueQuality
, fmap (("Timestamp",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueTimestamp
, fmap (("Value",) . toJSON) _ioTEventsDetectorModelAssetPropertyValueValue
]
-- | Constructor for 'IoTEventsDetectorModelAssetPropertyValue' containing
-- required fields as arguments.
ioTEventsDetectorModelAssetPropertyValue
:: IoTEventsDetectorModelAssetPropertyValue
ioTEventsDetectorModelAssetPropertyValue =
IoTEventsDetectorModelAssetPropertyValue
{ _ioTEventsDetectorModelAssetPropertyValueQuality = Nothing
, _ioTEventsDetectorModelAssetPropertyValueTimestamp = Nothing
, _ioTEventsDetectorModelAssetPropertyValueValue = Nothing
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-quality
itedmapvQuality :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe (Val Text))
itedmapvQuality = lens _ioTEventsDetectorModelAssetPropertyValueQuality (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueQuality = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-timestamp
itedmapvTimestamp :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe IoTEventsDetectorModelAssetPropertyTimestamp)
itedmapvTimestamp = lens _ioTEventsDetectorModelAssetPropertyValueTimestamp (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueTimestamp = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iotevents-detectormodel-assetpropertyvalue.html#cfn-iotevents-detectormodel-assetpropertyvalue-value
itedmapvValue :: Lens' IoTEventsDetectorModelAssetPropertyValue (Maybe IoTEventsDetectorModelAssetPropertyVariant)
itedmapvValue = lens _ioTEventsDetectorModelAssetPropertyValueValue (\s a -> s { _ioTEventsDetectorModelAssetPropertyValueValue = a })