{-# 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.KinesisAnalytics.DiscoverInputSchema
(
discoverInputSchema
, DiscoverInputSchema
, disResourceARN
, disRoleARN
, disInputStartingPositionConfiguration
, discoverInputSchemaResponse
, DiscoverInputSchemaResponse
, disrsRawInputRecords
, disrsInputSchema
, disrsParsedInputRecords
, disrsResponseStatus
) where
import Network.AWS.KinesisAnalytics.Types
import Network.AWS.KinesisAnalytics.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DiscoverInputSchema = DiscoverInputSchema'
{ _disResourceARN :: !Text
, _disRoleARN :: !Text
, _disInputStartingPositionConfiguration :: !InputStartingPositionConfiguration
} deriving (Eq,Read,Show,Data,Typeable,Generic)
discoverInputSchema
:: Text
-> Text
-> InputStartingPositionConfiguration
-> DiscoverInputSchema
discoverInputSchema pResourceARN_ pRoleARN_ pInputStartingPositionConfiguration_ =
DiscoverInputSchema'
{ _disResourceARN = pResourceARN_
, _disRoleARN = pRoleARN_
, _disInputStartingPositionConfiguration = pInputStartingPositionConfiguration_
}
disResourceARN :: Lens' DiscoverInputSchema Text
disResourceARN = lens _disResourceARN (\ s a -> s{_disResourceARN = a});
disRoleARN :: Lens' DiscoverInputSchema Text
disRoleARN = lens _disRoleARN (\ s a -> s{_disRoleARN = a});
disInputStartingPositionConfiguration :: Lens' DiscoverInputSchema InputStartingPositionConfiguration
disInputStartingPositionConfiguration = lens _disInputStartingPositionConfiguration (\ s a -> s{_disInputStartingPositionConfiguration = a});
instance AWSRequest DiscoverInputSchema where
type Rs DiscoverInputSchema =
DiscoverInputSchemaResponse
request = postJSON kinesisAnalytics
response
= receiveJSON
(\ s h x ->
DiscoverInputSchemaResponse' <$>
(x .?> "RawInputRecords" .!@ mempty) <*>
(x .?> "InputSchema")
<*> (x .?> "ParsedInputRecords" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable DiscoverInputSchema
instance NFData DiscoverInputSchema
instance ToHeaders DiscoverInputSchema where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("KinesisAnalytics_20150814.DiscoverInputSchema" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DiscoverInputSchema where
toJSON DiscoverInputSchema'{..}
= object
(catMaybes
[Just ("ResourceARN" .= _disResourceARN),
Just ("RoleARN" .= _disRoleARN),
Just
("InputStartingPositionConfiguration" .=
_disInputStartingPositionConfiguration)])
instance ToPath DiscoverInputSchema where
toPath = const "/"
instance ToQuery DiscoverInputSchema where
toQuery = const mempty
data DiscoverInputSchemaResponse = DiscoverInputSchemaResponse'
{ _disrsRawInputRecords :: !(Maybe [Text])
, _disrsInputSchema :: !(Maybe SourceSchema)
, _disrsParsedInputRecords :: !(Maybe [[Text]])
, _disrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
discoverInputSchemaResponse
:: Int
-> DiscoverInputSchemaResponse
discoverInputSchemaResponse pResponseStatus_ =
DiscoverInputSchemaResponse'
{ _disrsRawInputRecords = Nothing
, _disrsInputSchema = Nothing
, _disrsParsedInputRecords = Nothing
, _disrsResponseStatus = pResponseStatus_
}
disrsRawInputRecords :: Lens' DiscoverInputSchemaResponse [Text]
disrsRawInputRecords = lens _disrsRawInputRecords (\ s a -> s{_disrsRawInputRecords = a}) . _Default . _Coerce;
disrsInputSchema :: Lens' DiscoverInputSchemaResponse (Maybe SourceSchema)
disrsInputSchema = lens _disrsInputSchema (\ s a -> s{_disrsInputSchema = a});
disrsParsedInputRecords :: Lens' DiscoverInputSchemaResponse [[Text]]
disrsParsedInputRecords = lens _disrsParsedInputRecords (\ s a -> s{_disrsParsedInputRecords = a}) . _Default . _Coerce;
disrsResponseStatus :: Lens' DiscoverInputSchemaResponse Int
disrsResponseStatus = lens _disrsResponseStatus (\ s a -> s{_disrsResponseStatus = a});
instance NFData DiscoverInputSchemaResponse