stratosphere-0.52.0: library-gen/Stratosphere/ResourceProperties/IoTTopicRulePutAssetPropertyValueEntry.hs
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TupleSections #-}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html
module Stratosphere.ResourceProperties.IoTTopicRulePutAssetPropertyValueEntry where
import Stratosphere.ResourceImports
import Stratosphere.ResourceProperties.IoTTopicRuleAssetPropertyValue
-- | Full data type definition for IoTTopicRulePutAssetPropertyValueEntry. See
-- 'ioTTopicRulePutAssetPropertyValueEntry' for a more convenient
-- constructor.
data IoTTopicRulePutAssetPropertyValueEntry =
IoTTopicRulePutAssetPropertyValueEntry
{ _ioTTopicRulePutAssetPropertyValueEntryAssetId :: Maybe (Val Text)
, _ioTTopicRulePutAssetPropertyValueEntryEntryId :: Maybe (Val Text)
, _ioTTopicRulePutAssetPropertyValueEntryPropertyAlias :: Maybe (Val Text)
, _ioTTopicRulePutAssetPropertyValueEntryPropertyId :: Maybe (Val Text)
, _ioTTopicRulePutAssetPropertyValueEntryPropertyValues :: [IoTTopicRuleAssetPropertyValue]
} deriving (Show, Eq)
instance ToJSON IoTTopicRulePutAssetPropertyValueEntry where
toJSON IoTTopicRulePutAssetPropertyValueEntry{..} =
object $
catMaybes
[ fmap (("AssetId",) . toJSON) _ioTTopicRulePutAssetPropertyValueEntryAssetId
, fmap (("EntryId",) . toJSON) _ioTTopicRulePutAssetPropertyValueEntryEntryId
, fmap (("PropertyAlias",) . toJSON) _ioTTopicRulePutAssetPropertyValueEntryPropertyAlias
, fmap (("PropertyId",) . toJSON) _ioTTopicRulePutAssetPropertyValueEntryPropertyId
, (Just . ("PropertyValues",) . toJSON) _ioTTopicRulePutAssetPropertyValueEntryPropertyValues
]
-- | Constructor for 'IoTTopicRulePutAssetPropertyValueEntry' containing
-- required fields as arguments.
ioTTopicRulePutAssetPropertyValueEntry
:: [IoTTopicRuleAssetPropertyValue] -- ^ 'ittrpapvePropertyValues'
-> IoTTopicRulePutAssetPropertyValueEntry
ioTTopicRulePutAssetPropertyValueEntry propertyValuesarg =
IoTTopicRulePutAssetPropertyValueEntry
{ _ioTTopicRulePutAssetPropertyValueEntryAssetId = Nothing
, _ioTTopicRulePutAssetPropertyValueEntryEntryId = Nothing
, _ioTTopicRulePutAssetPropertyValueEntryPropertyAlias = Nothing
, _ioTTopicRulePutAssetPropertyValueEntryPropertyId = Nothing
, _ioTTopicRulePutAssetPropertyValueEntryPropertyValues = propertyValuesarg
}
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-assetid
ittrpapveAssetId :: Lens' IoTTopicRulePutAssetPropertyValueEntry (Maybe (Val Text))
ittrpapveAssetId = lens _ioTTopicRulePutAssetPropertyValueEntryAssetId (\s a -> s { _ioTTopicRulePutAssetPropertyValueEntryAssetId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-entryid
ittrpapveEntryId :: Lens' IoTTopicRulePutAssetPropertyValueEntry (Maybe (Val Text))
ittrpapveEntryId = lens _ioTTopicRulePutAssetPropertyValueEntryEntryId (\s a -> s { _ioTTopicRulePutAssetPropertyValueEntryEntryId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyalias
ittrpapvePropertyAlias :: Lens' IoTTopicRulePutAssetPropertyValueEntry (Maybe (Val Text))
ittrpapvePropertyAlias = lens _ioTTopicRulePutAssetPropertyValueEntryPropertyAlias (\s a -> s { _ioTTopicRulePutAssetPropertyValueEntryPropertyAlias = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyid
ittrpapvePropertyId :: Lens' IoTTopicRulePutAssetPropertyValueEntry (Maybe (Val Text))
ittrpapvePropertyId = lens _ioTTopicRulePutAssetPropertyValueEntryPropertyId (\s a -> s { _ioTTopicRulePutAssetPropertyValueEntryPropertyId = a })
-- | http://docs.aws.amazon.com/AWSCloudFormation/latest/UserGuide/aws-properties-iot-topicrule-putassetpropertyvalueentry.html#cfn-iot-topicrule-putassetpropertyvalueentry-propertyvalues
ittrpapvePropertyValues :: Lens' IoTTopicRulePutAssetPropertyValueEntry [IoTTopicRuleAssetPropertyValue]
ittrpapvePropertyValues = lens _ioTTopicRulePutAssetPropertyValueEntryPropertyValues (\s a -> s { _ioTTopicRulePutAssetPropertyValueEntryPropertyValues = a })