module Network.AWS.EC2.ConfirmProductInstance
(
confirmProductInstance
, ConfirmProductInstance
, cpiDryRun
, cpiProductCode
, cpiInstanceId
, confirmProductInstanceResponse
, ConfirmProductInstanceResponse
, cpirsReturn
, cpirsOwnerId
, cpirsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ConfirmProductInstance = ConfirmProductInstance'
{ _cpiDryRun :: !(Maybe Bool)
, _cpiProductCode :: !Text
, _cpiInstanceId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
confirmProductInstance
:: Text
-> Text
-> ConfirmProductInstance
confirmProductInstance pProductCode_ pInstanceId_ =
ConfirmProductInstance'
{ _cpiDryRun = Nothing
, _cpiProductCode = pProductCode_
, _cpiInstanceId = pInstanceId_
}
cpiDryRun :: Lens' ConfirmProductInstance (Maybe Bool)
cpiDryRun = lens _cpiDryRun (\ s a -> s{_cpiDryRun = a});
cpiProductCode :: Lens' ConfirmProductInstance Text
cpiProductCode = lens _cpiProductCode (\ s a -> s{_cpiProductCode = a});
cpiInstanceId :: Lens' ConfirmProductInstance Text
cpiInstanceId = lens _cpiInstanceId (\ s a -> s{_cpiInstanceId = a});
instance AWSRequest ConfirmProductInstance where
type Rs ConfirmProductInstance =
ConfirmProductInstanceResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
ConfirmProductInstanceResponse' <$>
(x .@? "return") <*> (x .@? "ownerId") <*>
(pure (fromEnum s)))
instance ToHeaders ConfirmProductInstance where
toHeaders = const mempty
instance ToPath ConfirmProductInstance where
toPath = const "/"
instance ToQuery ConfirmProductInstance where
toQuery ConfirmProductInstance'{..}
= mconcat
["Action" =:
("ConfirmProductInstance" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"DryRun" =: _cpiDryRun,
"ProductCode" =: _cpiProductCode,
"InstanceId" =: _cpiInstanceId]
data ConfirmProductInstanceResponse = ConfirmProductInstanceResponse'
{ _cpirsReturn :: !(Maybe Bool)
, _cpirsOwnerId :: !(Maybe Text)
, _cpirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
confirmProductInstanceResponse
:: Int
-> ConfirmProductInstanceResponse
confirmProductInstanceResponse pResponseStatus_ =
ConfirmProductInstanceResponse'
{ _cpirsReturn = Nothing
, _cpirsOwnerId = Nothing
, _cpirsResponseStatus = pResponseStatus_
}
cpirsReturn :: Lens' ConfirmProductInstanceResponse (Maybe Bool)
cpirsReturn = lens _cpirsReturn (\ s a -> s{_cpirsReturn = a});
cpirsOwnerId :: Lens' ConfirmProductInstanceResponse (Maybe Text)
cpirsOwnerId = lens _cpirsOwnerId (\ s a -> s{_cpirsOwnerId = a});
cpirsResponseStatus :: Lens' ConfirmProductInstanceResponse Int
cpirsResponseStatus = lens _cpirsResponseStatus (\ s a -> s{_cpirsResponseStatus = a});