{-# 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.StartApplication
(
startApplication
, StartApplication
, saApplicationName
, saInputConfigurations
, startApplicationResponse
, StartApplicationResponse
, sarsResponseStatus
) 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 StartApplication = StartApplication'
{ _saApplicationName :: !Text
, _saInputConfigurations :: ![InputConfiguration]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startApplication
:: Text
-> StartApplication
startApplication pApplicationName_ =
StartApplication'
{_saApplicationName = pApplicationName_, _saInputConfigurations = mempty}
saApplicationName :: Lens' StartApplication Text
saApplicationName = lens _saApplicationName (\ s a -> s{_saApplicationName = a})
saInputConfigurations :: Lens' StartApplication [InputConfiguration]
saInputConfigurations = lens _saInputConfigurations (\ s a -> s{_saInputConfigurations = a}) . _Coerce
instance AWSRequest StartApplication where
type Rs StartApplication = StartApplicationResponse
request = postJSON kinesisAnalytics
response
= receiveEmpty
(\ s h x ->
StartApplicationResponse' <$> (pure (fromEnum s)))
instance Hashable StartApplication where
instance NFData StartApplication where
instance ToHeaders StartApplication where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("KinesisAnalytics_20150814.StartApplication" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON StartApplication where
toJSON StartApplication'{..}
= object
(catMaybes
[Just ("ApplicationName" .= _saApplicationName),
Just
("InputConfigurations" .= _saInputConfigurations)])
instance ToPath StartApplication where
toPath = const "/"
instance ToQuery StartApplication where
toQuery = const mempty
newtype StartApplicationResponse = StartApplicationResponse'
{ _sarsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startApplicationResponse
:: Int
-> StartApplicationResponse
startApplicationResponse pResponseStatus_ =
StartApplicationResponse' {_sarsResponseStatus = pResponseStatus_}
sarsResponseStatus :: Lens' StartApplicationResponse Int
sarsResponseStatus = lens _sarsResponseStatus (\ s a -> s{_sarsResponseStatus = a})
instance NFData StartApplicationResponse where