{-# 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.AutoScaling.DetachLoadBalancerTargetGroups
(
detachLoadBalancerTargetGroups
, DetachLoadBalancerTargetGroups
, dlbtgAutoScalingGroupName
, dlbtgTargetGroupARNs
, detachLoadBalancerTargetGroupsResponse
, DetachLoadBalancerTargetGroupsResponse
, dlbtgrsResponseStatus
) where
import Network.AWS.AutoScaling.Types
import Network.AWS.AutoScaling.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DetachLoadBalancerTargetGroups = DetachLoadBalancerTargetGroups'
{ _dlbtgAutoScalingGroupName :: !Text
, _dlbtgTargetGroupARNs :: ![Text]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
detachLoadBalancerTargetGroups
:: Text
-> DetachLoadBalancerTargetGroups
detachLoadBalancerTargetGroups pAutoScalingGroupName_ =
DetachLoadBalancerTargetGroups'
{ _dlbtgAutoScalingGroupName = pAutoScalingGroupName_
, _dlbtgTargetGroupARNs = mempty
}
dlbtgAutoScalingGroupName :: Lens' DetachLoadBalancerTargetGroups Text
dlbtgAutoScalingGroupName = lens _dlbtgAutoScalingGroupName (\ s a -> s{_dlbtgAutoScalingGroupName = a})
dlbtgTargetGroupARNs :: Lens' DetachLoadBalancerTargetGroups [Text]
dlbtgTargetGroupARNs = lens _dlbtgTargetGroupARNs (\ s a -> s{_dlbtgTargetGroupARNs = a}) . _Coerce
instance AWSRequest DetachLoadBalancerTargetGroups
where
type Rs DetachLoadBalancerTargetGroups =
DetachLoadBalancerTargetGroupsResponse
request = postQuery autoScaling
response
= receiveXMLWrapper
"DetachLoadBalancerTargetGroupsResult"
(\ s h x ->
DetachLoadBalancerTargetGroupsResponse' <$>
(pure (fromEnum s)))
instance Hashable DetachLoadBalancerTargetGroups
where
instance NFData DetachLoadBalancerTargetGroups where
instance ToHeaders DetachLoadBalancerTargetGroups
where
toHeaders = const mempty
instance ToPath DetachLoadBalancerTargetGroups where
toPath = const "/"
instance ToQuery DetachLoadBalancerTargetGroups where
toQuery DetachLoadBalancerTargetGroups'{..}
= mconcat
["Action" =:
("DetachLoadBalancerTargetGroups" :: ByteString),
"Version" =: ("2011-01-01" :: ByteString),
"AutoScalingGroupName" =: _dlbtgAutoScalingGroupName,
"TargetGroupARNs" =:
toQueryList "member" _dlbtgTargetGroupARNs]
newtype DetachLoadBalancerTargetGroupsResponse = DetachLoadBalancerTargetGroupsResponse'
{ _dlbtgrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
detachLoadBalancerTargetGroupsResponse
:: Int
-> DetachLoadBalancerTargetGroupsResponse
detachLoadBalancerTargetGroupsResponse pResponseStatus_ =
DetachLoadBalancerTargetGroupsResponse'
{_dlbtgrsResponseStatus = pResponseStatus_}
dlbtgrsResponseStatus :: Lens' DetachLoadBalancerTargetGroupsResponse Int
dlbtgrsResponseStatus = lens _dlbtgrsResponseStatus (\ s a -> s{_dlbtgrsResponseStatus = a})
instance NFData
DetachLoadBalancerTargetGroupsResponse
where