{-# 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.EC2.ModifyInstancePlacement
(
modifyInstancePlacement
, ModifyInstancePlacement
, mipAffinity
, mipHostId
, mipTenancy
, mipInstanceId
, modifyInstancePlacementResponse
, ModifyInstancePlacementResponse
, miprsReturn
, miprsResponseStatus
) 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 ModifyInstancePlacement = ModifyInstancePlacement'
{ _mipAffinity :: !(Maybe Affinity)
, _mipHostId :: !(Maybe Text)
, _mipTenancy :: !(Maybe HostTenancy)
, _mipInstanceId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyInstancePlacement
:: Text
-> ModifyInstancePlacement
modifyInstancePlacement pInstanceId_ =
ModifyInstancePlacement'
{ _mipAffinity = Nothing
, _mipHostId = Nothing
, _mipTenancy = Nothing
, _mipInstanceId = pInstanceId_
}
mipAffinity :: Lens' ModifyInstancePlacement (Maybe Affinity)
mipAffinity = lens _mipAffinity (\ s a -> s{_mipAffinity = a});
mipHostId :: Lens' ModifyInstancePlacement (Maybe Text)
mipHostId = lens _mipHostId (\ s a -> s{_mipHostId = a});
mipTenancy :: Lens' ModifyInstancePlacement (Maybe HostTenancy)
mipTenancy = lens _mipTenancy (\ s a -> s{_mipTenancy = a});
mipInstanceId :: Lens' ModifyInstancePlacement Text
mipInstanceId = lens _mipInstanceId (\ s a -> s{_mipInstanceId = a});
instance AWSRequest ModifyInstancePlacement where
type Rs ModifyInstancePlacement =
ModifyInstancePlacementResponse
request = postQuery ec2
response
= receiveXML
(\ s h x ->
ModifyInstancePlacementResponse' <$>
(x .@? "return") <*> (pure (fromEnum s)))
instance Hashable ModifyInstancePlacement
instance NFData ModifyInstancePlacement
instance ToHeaders ModifyInstancePlacement where
toHeaders = const mempty
instance ToPath ModifyInstancePlacement where
toPath = const "/"
instance ToQuery ModifyInstancePlacement where
toQuery ModifyInstancePlacement'{..}
= mconcat
["Action" =:
("ModifyInstancePlacement" :: ByteString),
"Version" =: ("2016-04-01" :: ByteString),
"Affinity" =: _mipAffinity, "HostId" =: _mipHostId,
"Tenancy" =: _mipTenancy,
"InstanceId" =: _mipInstanceId]
data ModifyInstancePlacementResponse = ModifyInstancePlacementResponse'
{ _miprsReturn :: !(Maybe Bool)
, _miprsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
modifyInstancePlacementResponse
:: Int
-> ModifyInstancePlacementResponse
modifyInstancePlacementResponse pResponseStatus_ =
ModifyInstancePlacementResponse'
{ _miprsReturn = Nothing
, _miprsResponseStatus = pResponseStatus_
}
miprsReturn :: Lens' ModifyInstancePlacementResponse (Maybe Bool)
miprsReturn = lens _miprsReturn (\ s a -> s{_miprsReturn = a});
miprsResponseStatus :: Lens' ModifyInstancePlacementResponse Int
miprsResponseStatus = lens _miprsResponseStatus (\ s a -> s{_miprsResponseStatus = a});
instance NFData ModifyInstancePlacementResponse