{-# 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.AddApplicationReferenceDataSource
(
addApplicationReferenceDataSource
, AddApplicationReferenceDataSource
, aardsApplicationName
, aardsCurrentApplicationVersionId
, aardsReferenceDataSource
, addApplicationReferenceDataSourceResponse
, AddApplicationReferenceDataSourceResponse
, aardsrsResponseStatus
) 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 AddApplicationReferenceDataSource = AddApplicationReferenceDataSource'
{ _aardsApplicationName :: !Text
, _aardsCurrentApplicationVersionId :: !Nat
, _aardsReferenceDataSource :: !ReferenceDataSource
} deriving (Eq, Read, Show, Data, Typeable, Generic)
addApplicationReferenceDataSource
:: Text
-> Natural
-> ReferenceDataSource
-> AddApplicationReferenceDataSource
addApplicationReferenceDataSource pApplicationName_ pCurrentApplicationVersionId_ pReferenceDataSource_ =
AddApplicationReferenceDataSource'
{ _aardsApplicationName = pApplicationName_
, _aardsCurrentApplicationVersionId = _Nat # pCurrentApplicationVersionId_
, _aardsReferenceDataSource = pReferenceDataSource_
}
aardsApplicationName :: Lens' AddApplicationReferenceDataSource Text
aardsApplicationName = lens _aardsApplicationName (\ s a -> s{_aardsApplicationName = a})
aardsCurrentApplicationVersionId :: Lens' AddApplicationReferenceDataSource Natural
aardsCurrentApplicationVersionId = lens _aardsCurrentApplicationVersionId (\ s a -> s{_aardsCurrentApplicationVersionId = a}) . _Nat
aardsReferenceDataSource :: Lens' AddApplicationReferenceDataSource ReferenceDataSource
aardsReferenceDataSource = lens _aardsReferenceDataSource (\ s a -> s{_aardsReferenceDataSource = a})
instance AWSRequest AddApplicationReferenceDataSource
where
type Rs AddApplicationReferenceDataSource =
AddApplicationReferenceDataSourceResponse
request = postJSON kinesisAnalytics
response
= receiveEmpty
(\ s h x ->
AddApplicationReferenceDataSourceResponse' <$>
(pure (fromEnum s)))
instance Hashable AddApplicationReferenceDataSource
where
instance NFData AddApplicationReferenceDataSource
where
instance ToHeaders AddApplicationReferenceDataSource
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("KinesisAnalytics_20150814.AddApplicationReferenceDataSource"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AddApplicationReferenceDataSource
where
toJSON AddApplicationReferenceDataSource'{..}
= object
(catMaybes
[Just ("ApplicationName" .= _aardsApplicationName),
Just
("CurrentApplicationVersionId" .=
_aardsCurrentApplicationVersionId),
Just
("ReferenceDataSource" .=
_aardsReferenceDataSource)])
instance ToPath AddApplicationReferenceDataSource
where
toPath = const "/"
instance ToQuery AddApplicationReferenceDataSource
where
toQuery = const mempty
newtype AddApplicationReferenceDataSourceResponse = AddApplicationReferenceDataSourceResponse'
{ _aardsrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
addApplicationReferenceDataSourceResponse
:: Int
-> AddApplicationReferenceDataSourceResponse
addApplicationReferenceDataSourceResponse pResponseStatus_ =
AddApplicationReferenceDataSourceResponse'
{_aardsrsResponseStatus = pResponseStatus_}
aardsrsResponseStatus :: Lens' AddApplicationReferenceDataSourceResponse Int
aardsrsResponseStatus = lens _aardsrsResponseStatus (\ s a -> s{_aardsrsResponseStatus = a})
instance NFData
AddApplicationReferenceDataSourceResponse
where