{-# 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.ELBv2.RegisterTargets
(
registerTargets
, RegisterTargets
, rtTargetGroupARN
, rtTargets
, registerTargetsResponse
, RegisterTargetsResponse
, rrsResponseStatus
) where
import Network.AWS.ELBv2.Types
import Network.AWS.ELBv2.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data RegisterTargets = RegisterTargets'
{ _rtTargetGroupARN :: !Text
, _rtTargets :: ![TargetDescription]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
registerTargets
:: Text
-> RegisterTargets
registerTargets pTargetGroupARN_ =
RegisterTargets' {_rtTargetGroupARN = pTargetGroupARN_, _rtTargets = mempty}
rtTargetGroupARN :: Lens' RegisterTargets Text
rtTargetGroupARN = lens _rtTargetGroupARN (\ s a -> s{_rtTargetGroupARN = a})
rtTargets :: Lens' RegisterTargets [TargetDescription]
rtTargets = lens _rtTargets (\ s a -> s{_rtTargets = a}) . _Coerce
instance AWSRequest RegisterTargets where
type Rs RegisterTargets = RegisterTargetsResponse
request = postQuery eLBv2
response
= receiveXMLWrapper "RegisterTargetsResult"
(\ s h x ->
RegisterTargetsResponse' <$> (pure (fromEnum s)))
instance Hashable RegisterTargets where
instance NFData RegisterTargets where
instance ToHeaders RegisterTargets where
toHeaders = const mempty
instance ToPath RegisterTargets where
toPath = const "/"
instance ToQuery RegisterTargets where
toQuery RegisterTargets'{..}
= mconcat
["Action" =: ("RegisterTargets" :: ByteString),
"Version" =: ("2015-12-01" :: ByteString),
"TargetGroupArn" =: _rtTargetGroupARN,
"Targets" =: toQueryList "member" _rtTargets]
newtype RegisterTargetsResponse = RegisterTargetsResponse'
{ _rrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
registerTargetsResponse
:: Int
-> RegisterTargetsResponse
registerTargetsResponse pResponseStatus_ =
RegisterTargetsResponse' {_rrsResponseStatus = pResponseStatus_}
rrsResponseStatus :: Lens' RegisterTargetsResponse Int
rrsResponseStatus = lens _rrsResponseStatus (\ s a -> s{_rrsResponseStatus = a})
instance NFData RegisterTargetsResponse where