{-# 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.OpsWorks.DeregisterElasticIP
(
deregisterElasticIP
, DeregisterElasticIP
, deipElasticIP
, deregisterElasticIPResponse
, DeregisterElasticIPResponse
) where
import Network.AWS.Lens
import Network.AWS.OpsWorks.Types
import Network.AWS.OpsWorks.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeregisterElasticIP = DeregisterElasticIP'
{ _deipElasticIP :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deregisterElasticIP
:: Text
-> DeregisterElasticIP
deregisterElasticIP pElasticIP_ =
DeregisterElasticIP'
{ _deipElasticIP = pElasticIP_
}
deipElasticIP :: Lens' DeregisterElasticIP Text
deipElasticIP = lens _deipElasticIP (\ s a -> s{_deipElasticIP = a});
instance AWSRequest DeregisterElasticIP where
type Rs DeregisterElasticIP =
DeregisterElasticIPResponse
request = postJSON opsWorks
response = receiveNull DeregisterElasticIPResponse'
instance Hashable DeregisterElasticIP
instance NFData DeregisterElasticIP
instance ToHeaders DeregisterElasticIP where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.DeregisterElasticIp" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeregisterElasticIP where
toJSON DeregisterElasticIP'{..}
= object
(catMaybes [Just ("ElasticIp" .= _deipElasticIP)])
instance ToPath DeregisterElasticIP where
toPath = const "/"
instance ToQuery DeregisterElasticIP where
toQuery = const mempty
data DeregisterElasticIPResponse =
DeregisterElasticIPResponse'
deriving (Eq,Read,Show,Data,Typeable,Generic)
deregisterElasticIPResponse
:: DeregisterElasticIPResponse
deregisterElasticIPResponse = DeregisterElasticIPResponse'
instance NFData DeregisterElasticIPResponse