{-# 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.MigrationHub.CreateProgressUpdateStream
(
createProgressUpdateStream
, CreateProgressUpdateStream
, cpusDryRun
, cpusProgressUpdateStreamName
, createProgressUpdateStreamResponse
, CreateProgressUpdateStreamResponse
, cpusrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MigrationHub.Types
import Network.AWS.MigrationHub.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data CreateProgressUpdateStream = CreateProgressUpdateStream'
{ _cpusDryRun :: !(Maybe Bool)
, _cpusProgressUpdateStreamName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createProgressUpdateStream
:: Text
-> CreateProgressUpdateStream
createProgressUpdateStream pProgressUpdateStreamName_ =
CreateProgressUpdateStream'
{ _cpusDryRun = Nothing
, _cpusProgressUpdateStreamName = pProgressUpdateStreamName_
}
cpusDryRun :: Lens' CreateProgressUpdateStream (Maybe Bool)
cpusDryRun = lens _cpusDryRun (\ s a -> s{_cpusDryRun = a})
cpusProgressUpdateStreamName :: Lens' CreateProgressUpdateStream Text
cpusProgressUpdateStreamName = lens _cpusProgressUpdateStreamName (\ s a -> s{_cpusProgressUpdateStreamName = a})
instance AWSRequest CreateProgressUpdateStream where
type Rs CreateProgressUpdateStream =
CreateProgressUpdateStreamResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
CreateProgressUpdateStreamResponse' <$>
(pure (fromEnum s)))
instance Hashable CreateProgressUpdateStream where
instance NFData CreateProgressUpdateStream where
instance ToHeaders CreateProgressUpdateStream where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.CreateProgressUpdateStream" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON CreateProgressUpdateStream where
toJSON CreateProgressUpdateStream'{..}
= object
(catMaybes
[("DryRun" .=) <$> _cpusDryRun,
Just
("ProgressUpdateStreamName" .=
_cpusProgressUpdateStreamName)])
instance ToPath CreateProgressUpdateStream where
toPath = const "/"
instance ToQuery CreateProgressUpdateStream where
toQuery = const mempty
newtype CreateProgressUpdateStreamResponse = CreateProgressUpdateStreamResponse'
{ _cpusrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
createProgressUpdateStreamResponse
:: Int
-> CreateProgressUpdateStreamResponse
createProgressUpdateStreamResponse pResponseStatus_ =
CreateProgressUpdateStreamResponse' {_cpusrsResponseStatus = pResponseStatus_}
cpusrsResponseStatus :: Lens' CreateProgressUpdateStreamResponse Int
cpusrsResponseStatus = lens _cpusrsResponseStatus (\ s a -> s{_cpusrsResponseStatus = a})
instance NFData CreateProgressUpdateStreamResponse
where