module Network.AWS.EC2.ModifyReservedInstances
(
modifyReservedInstances
, ModifyReservedInstances
, mriClientToken
, mriReservedInstancesIds
, mriTargetConfigurations
, modifyReservedInstancesResponse
, ModifyReservedInstancesResponse
, mrirsReservedInstancesModificationId
, mrirsResponseStatus
) where
import Network.AWS.EC2.Types
import Network.AWS.EC2.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ModifyReservedInstances = ModifyReservedInstances'
{ _mriClientToken :: !(Maybe Text)
, _mriReservedInstancesIds :: ![Text]
, _mriTargetConfigurations :: ![ReservedInstancesConfiguration]
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyReservedInstances
:: ModifyReservedInstances
modifyReservedInstances =
ModifyReservedInstances'
{ _mriClientToken = Nothing
, _mriReservedInstancesIds = mempty
, _mriTargetConfigurations = mempty
}
mriClientToken :: Lens' ModifyReservedInstances (Maybe Text)
mriClientToken = lens _mriClientToken (\ s a -> s{_mriClientToken = a});
mriReservedInstancesIds :: Lens' ModifyReservedInstances [Text]
mriReservedInstancesIds = lens _mriReservedInstancesIds (\ s a -> s{_mriReservedInstancesIds = a}) . _Coerce;
mriTargetConfigurations :: Lens' ModifyReservedInstances [ReservedInstancesConfiguration]
mriTargetConfigurations = lens _mriTargetConfigurations (\ s a -> s{_mriTargetConfigurations = a}) . _Coerce;
instance AWSRequest ModifyReservedInstances where
type Rs ModifyReservedInstances =
ModifyReservedInstancesResponse
request = postQuery eC2
response
= receiveXML
(\ s h x ->
ModifyReservedInstancesResponse' <$>
(x .@? "reservedInstancesModificationId") <*>
(pure (fromEnum s)))
instance ToHeaders ModifyReservedInstances where
toHeaders = const mempty
instance ToPath ModifyReservedInstances where
toPath = const "/"
instance ToQuery ModifyReservedInstances where
toQuery ModifyReservedInstances'{..}
= mconcat
["Action" =:
("ModifyReservedInstances" :: ByteString),
"Version" =: ("2015-10-01" :: ByteString),
"ClientToken" =: _mriClientToken,
toQueryList "ReservedInstancesId"
_mriReservedInstancesIds,
toQueryList
"ReservedInstancesConfigurationSetItemType"
_mriTargetConfigurations]
data ModifyReservedInstancesResponse = ModifyReservedInstancesResponse'
{ _mrirsReservedInstancesModificationId :: !(Maybe Text)
, _mrirsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyReservedInstancesResponse
:: Int
-> ModifyReservedInstancesResponse
modifyReservedInstancesResponse pResponseStatus_ =
ModifyReservedInstancesResponse'
{ _mrirsReservedInstancesModificationId = Nothing
, _mrirsResponseStatus = pResponseStatus_
}
mrirsReservedInstancesModificationId :: Lens' ModifyReservedInstancesResponse (Maybe Text)
mrirsReservedInstancesModificationId = lens _mrirsReservedInstancesModificationId (\ s a -> s{_mrirsReservedInstancesModificationId = a});
mrirsResponseStatus :: Lens' ModifyReservedInstancesResponse Int
mrirsResponseStatus = lens _mrirsResponseStatus (\ s a -> s{_mrirsResponseStatus = a});