{-# 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.DescribeTargetHealth
(
describeTargetHealth
, DescribeTargetHealth
, dthTargets
, dthTargetGroupARN
, describeTargetHealthResponse
, DescribeTargetHealthResponse
, dthrsTargetHealthDescriptions
, dthrsResponseStatus
) 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 DescribeTargetHealth = DescribeTargetHealth'
{ _dthTargets :: !(Maybe [TargetDescription])
, _dthTargetGroupARN :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTargetHealth
:: Text
-> DescribeTargetHealth
describeTargetHealth pTargetGroupARN_ =
DescribeTargetHealth'
{ _dthTargets = Nothing
, _dthTargetGroupARN = pTargetGroupARN_
}
dthTargets :: Lens' DescribeTargetHealth [TargetDescription]
dthTargets = lens _dthTargets (\ s a -> s{_dthTargets = a}) . _Default . _Coerce;
dthTargetGroupARN :: Lens' DescribeTargetHealth Text
dthTargetGroupARN = lens _dthTargetGroupARN (\ s a -> s{_dthTargetGroupARN = a});
instance AWSRequest DescribeTargetHealth where
type Rs DescribeTargetHealth =
DescribeTargetHealthResponse
request = postQuery eLBv2
response
= receiveXMLWrapper "DescribeTargetHealthResult"
(\ s h x ->
DescribeTargetHealthResponse' <$>
(x .@? "TargetHealthDescriptions" .!@ mempty >>=
may (parseXMLList "member"))
<*> (pure (fromEnum s)))
instance Hashable DescribeTargetHealth
instance NFData DescribeTargetHealth
instance ToHeaders DescribeTargetHealth where
toHeaders = const mempty
instance ToPath DescribeTargetHealth where
toPath = const "/"
instance ToQuery DescribeTargetHealth where
toQuery DescribeTargetHealth'{..}
= mconcat
["Action" =: ("DescribeTargetHealth" :: ByteString),
"Version" =: ("2015-12-01" :: ByteString),
"Targets" =:
toQuery (toQueryList "member" <$> _dthTargets),
"TargetGroupArn" =: _dthTargetGroupARN]
data DescribeTargetHealthResponse = DescribeTargetHealthResponse'
{ _dthrsTargetHealthDescriptions :: !(Maybe [TargetHealthDescription])
, _dthrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeTargetHealthResponse
:: Int
-> DescribeTargetHealthResponse
describeTargetHealthResponse pResponseStatus_ =
DescribeTargetHealthResponse'
{ _dthrsTargetHealthDescriptions = Nothing
, _dthrsResponseStatus = pResponseStatus_
}
dthrsTargetHealthDescriptions :: Lens' DescribeTargetHealthResponse [TargetHealthDescription]
dthrsTargetHealthDescriptions = lens _dthrsTargetHealthDescriptions (\ s a -> s{_dthrsTargetHealthDescriptions = a}) . _Default . _Coerce;
dthrsResponseStatus :: Lens' DescribeTargetHealthResponse Int
dthrsResponseStatus = lens _dthrsResponseStatus (\ s a -> s{_dthrsResponseStatus = a});
instance NFData DescribeTargetHealthResponse