{-# LANGUAGE DeriveDataTypeable #-}
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE TypeFamilies #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
module Network.AWS.IoTAnalytics.UpdateDataset
(
updateDataset
, UpdateDataset
, udTriggers
, udDatasetName
, udActions
, updateDatasetResponse
, UpdateDatasetResponse
) where
import Network.AWS.IoTAnalytics.Types
import Network.AWS.IoTAnalytics.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateDataset = UpdateDataset'
{ _udTriggers :: !(Maybe [DatasetTrigger])
, _udDatasetName :: !Text
, _udActions :: !(List1 DatasetAction)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDataset
:: Text
-> NonEmpty DatasetAction
-> UpdateDataset
updateDataset pDatasetName_ pActions_ =
UpdateDataset'
{ _udTriggers = Nothing
, _udDatasetName = pDatasetName_
, _udActions = _List1 # pActions_
}
udTriggers :: Lens' UpdateDataset [DatasetTrigger]
udTriggers = lens _udTriggers (\ s a -> s{_udTriggers = a}) . _Default . _Coerce
udDatasetName :: Lens' UpdateDataset Text
udDatasetName = lens _udDatasetName (\ s a -> s{_udDatasetName = a})
udActions :: Lens' UpdateDataset (NonEmpty DatasetAction)
udActions = lens _udActions (\ s a -> s{_udActions = a}) . _List1
instance AWSRequest UpdateDataset where
type Rs UpdateDataset = UpdateDatasetResponse
request = putJSON ioTAnalytics
response = receiveNull UpdateDatasetResponse'
instance Hashable UpdateDataset where
instance NFData UpdateDataset where
instance ToHeaders UpdateDataset where
toHeaders = const mempty
instance ToJSON UpdateDataset where
toJSON UpdateDataset'{..}
= object
(catMaybes
[("triggers" .=) <$> _udTriggers,
Just ("actions" .= _udActions)])
instance ToPath UpdateDataset where
toPath UpdateDataset'{..}
= mconcat ["/datasets/", toBS _udDatasetName]
instance ToQuery UpdateDataset where
toQuery = const mempty
data UpdateDatasetResponse =
UpdateDatasetResponse'
deriving (Eq, Read, Show, Data, Typeable, Generic)
updateDatasetResponse
:: UpdateDatasetResponse
updateDatasetResponse = UpdateDatasetResponse'
instance NFData UpdateDatasetResponse where