{-# 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.RDS.RebootDBInstance
(
rebootDBInstance
, RebootDBInstance
, rdiForceFailover
, rdiDBInstanceIdentifier
, rebootDBInstanceResponse
, RebootDBInstanceResponse
, rdirsDBInstance
, rdirsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.RDS.Types
import Network.AWS.RDS.Types.Product
import Network.AWS.Request
import Network.AWS.Response
data RebootDBInstance = RebootDBInstance'
{ _rdiForceFailover :: !(Maybe Bool)
, _rdiDBInstanceIdentifier :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rebootDBInstance
:: Text
-> RebootDBInstance
rebootDBInstance pDBInstanceIdentifier_ =
RebootDBInstance'
{ _rdiForceFailover = Nothing
, _rdiDBInstanceIdentifier = pDBInstanceIdentifier_
}
rdiForceFailover :: Lens' RebootDBInstance (Maybe Bool)
rdiForceFailover = lens _rdiForceFailover (\ s a -> s{_rdiForceFailover = a})
rdiDBInstanceIdentifier :: Lens' RebootDBInstance Text
rdiDBInstanceIdentifier = lens _rdiDBInstanceIdentifier (\ s a -> s{_rdiDBInstanceIdentifier = a})
instance AWSRequest RebootDBInstance where
type Rs RebootDBInstance = RebootDBInstanceResponse
request = postQuery rds
response
= receiveXMLWrapper "RebootDBInstanceResult"
(\ s h x ->
RebootDBInstanceResponse' <$>
(x .@? "DBInstance") <*> (pure (fromEnum s)))
instance Hashable RebootDBInstance where
instance NFData RebootDBInstance where
instance ToHeaders RebootDBInstance where
toHeaders = const mempty
instance ToPath RebootDBInstance where
toPath = const "/"
instance ToQuery RebootDBInstance where
toQuery RebootDBInstance'{..}
= mconcat
["Action" =: ("RebootDBInstance" :: ByteString),
"Version" =: ("2014-10-31" :: ByteString),
"ForceFailover" =: _rdiForceFailover,
"DBInstanceIdentifier" =: _rdiDBInstanceIdentifier]
data RebootDBInstanceResponse = RebootDBInstanceResponse'
{ _rdirsDBInstance :: !(Maybe DBInstance)
, _rdirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
rebootDBInstanceResponse
:: Int
-> RebootDBInstanceResponse
rebootDBInstanceResponse pResponseStatus_ =
RebootDBInstanceResponse'
{_rdirsDBInstance = Nothing, _rdirsResponseStatus = pResponseStatus_}
rdirsDBInstance :: Lens' RebootDBInstanceResponse (Maybe DBInstance)
rdirsDBInstance = lens _rdirsDBInstance (\ s a -> s{_rdirsDBInstance = a})
rdirsResponseStatus :: Lens' RebootDBInstanceResponse Int
rdirsResponseStatus = lens _rdirsResponseStatus (\ s a -> s{_rdirsResponseStatus = a})
instance NFData RebootDBInstanceResponse where