{-# 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.SMS.StartOnDemandReplicationRun
(
startOnDemandReplicationRun
, StartOnDemandReplicationRun
, sodrrDescription
, sodrrReplicationJobId
, startOnDemandReplicationRunResponse
, StartOnDemandReplicationRunResponse
, sodrrrsReplicationRunId
, sodrrrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SMS.Types
import Network.AWS.SMS.Types.Product
data StartOnDemandReplicationRun = StartOnDemandReplicationRun'
{ _sodrrDescription :: !(Maybe Text)
, _sodrrReplicationJobId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startOnDemandReplicationRun
:: Text
-> StartOnDemandReplicationRun
startOnDemandReplicationRun pReplicationJobId_ =
StartOnDemandReplicationRun'
{_sodrrDescription = Nothing, _sodrrReplicationJobId = pReplicationJobId_}
sodrrDescription :: Lens' StartOnDemandReplicationRun (Maybe Text)
sodrrDescription = lens _sodrrDescription (\ s a -> s{_sodrrDescription = a})
sodrrReplicationJobId :: Lens' StartOnDemandReplicationRun Text
sodrrReplicationJobId = lens _sodrrReplicationJobId (\ s a -> s{_sodrrReplicationJobId = a})
instance AWSRequest StartOnDemandReplicationRun where
type Rs StartOnDemandReplicationRun =
StartOnDemandReplicationRunResponse
request = postJSON sms
response
= receiveJSON
(\ s h x ->
StartOnDemandReplicationRunResponse' <$>
(x .?> "replicationRunId") <*> (pure (fromEnum s)))
instance Hashable StartOnDemandReplicationRun where
instance NFData StartOnDemandReplicationRun where
instance ToHeaders StartOnDemandReplicationRun where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSServerMigrationService_V2016_10_24.StartOnDemandReplicationRun"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON StartOnDemandReplicationRun where
toJSON StartOnDemandReplicationRun'{..}
= object
(catMaybes
[("description" .=) <$> _sodrrDescription,
Just ("replicationJobId" .= _sodrrReplicationJobId)])
instance ToPath StartOnDemandReplicationRun where
toPath = const "/"
instance ToQuery StartOnDemandReplicationRun where
toQuery = const mempty
data StartOnDemandReplicationRunResponse = StartOnDemandReplicationRunResponse'
{ _sodrrrsReplicationRunId :: !(Maybe Text)
, _sodrrrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
startOnDemandReplicationRunResponse
:: Int
-> StartOnDemandReplicationRunResponse
startOnDemandReplicationRunResponse pResponseStatus_ =
StartOnDemandReplicationRunResponse'
{ _sodrrrsReplicationRunId = Nothing
, _sodrrrsResponseStatus = pResponseStatus_
}
sodrrrsReplicationRunId :: Lens' StartOnDemandReplicationRunResponse (Maybe Text)
sodrrrsReplicationRunId = lens _sodrrrsReplicationRunId (\ s a -> s{_sodrrrsReplicationRunId = a})
sodrrrsResponseStatus :: Lens' StartOnDemandReplicationRunResponse Int
sodrrrsResponseStatus = lens _sodrrrsResponseStatus (\ s a -> s{_sodrrrsResponseStatus = a})
instance NFData StartOnDemandReplicationRunResponse
where