{-# 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.SampleChannelData
(
sampleChannelData
, SampleChannelData
, scdStartTime
, scdMaxMessages
, scdEndTime
, scdChannelName
, sampleChannelDataResponse
, SampleChannelDataResponse
, scdrsPayloads
, scdrsResponseStatus
) 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 SampleChannelData = SampleChannelData'
{ _scdStartTime :: !(Maybe POSIX)
, _scdMaxMessages :: !(Maybe Nat)
, _scdEndTime :: !(Maybe POSIX)
, _scdChannelName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sampleChannelData
:: Text
-> SampleChannelData
sampleChannelData pChannelName_ =
SampleChannelData'
{ _scdStartTime = Nothing
, _scdMaxMessages = Nothing
, _scdEndTime = Nothing
, _scdChannelName = pChannelName_
}
scdStartTime :: Lens' SampleChannelData (Maybe UTCTime)
scdStartTime = lens _scdStartTime (\ s a -> s{_scdStartTime = a}) . mapping _Time
scdMaxMessages :: Lens' SampleChannelData (Maybe Natural)
scdMaxMessages = lens _scdMaxMessages (\ s a -> s{_scdMaxMessages = a}) . mapping _Nat
scdEndTime :: Lens' SampleChannelData (Maybe UTCTime)
scdEndTime = lens _scdEndTime (\ s a -> s{_scdEndTime = a}) . mapping _Time
scdChannelName :: Lens' SampleChannelData Text
scdChannelName = lens _scdChannelName (\ s a -> s{_scdChannelName = a})
instance AWSRequest SampleChannelData where
type Rs SampleChannelData = SampleChannelDataResponse
request = get ioTAnalytics
response
= receiveJSON
(\ s h x ->
SampleChannelDataResponse' <$>
(x .?> "payloads") <*> (pure (fromEnum s)))
instance Hashable SampleChannelData where
instance NFData SampleChannelData where
instance ToHeaders SampleChannelData where
toHeaders = const mempty
instance ToPath SampleChannelData where
toPath SampleChannelData'{..}
= mconcat
["/channels/", toBS _scdChannelName, "/sample"]
instance ToQuery SampleChannelData where
toQuery SampleChannelData'{..}
= mconcat
["startTime" =: _scdStartTime,
"maxMessages" =: _scdMaxMessages,
"endTime" =: _scdEndTime]
data SampleChannelDataResponse = SampleChannelDataResponse'
{ _scdrsPayloads :: !(Maybe (List1 Base64))
, _scdrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
sampleChannelDataResponse
:: Int
-> SampleChannelDataResponse
sampleChannelDataResponse pResponseStatus_ =
SampleChannelDataResponse'
{_scdrsPayloads = Nothing, _scdrsResponseStatus = pResponseStatus_}
scdrsPayloads :: Lens' SampleChannelDataResponse (Maybe (NonEmpty ByteString))
scdrsPayloads = lens _scdrsPayloads (\ s a -> s{_scdrsPayloads = a}) . mapping _List1
scdrsResponseStatus :: Lens' SampleChannelDataResponse Int
scdrsResponseStatus = lens _scdrsResponseStatus (\ s a -> s{_scdrsResponseStatus = a})
instance NFData SampleChannelDataResponse where