module Network.AWS.DirectConnect.DescribeLocations
(
describeLocations
, DescribeLocations
, describeLocationsResponse
, DescribeLocationsResponse
, dlrsLocations
, dlrsResponseStatus
) where
import Network.AWS.DirectConnect.Types
import Network.AWS.DirectConnect.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeLocations =
DescribeLocations'
deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLocations
:: DescribeLocations
describeLocations = DescribeLocations'
instance AWSRequest DescribeLocations where
type Rs DescribeLocations = DescribeLocationsResponse
request = postJSON directConnect
response
= receiveJSON
(\ s h x ->
DescribeLocationsResponse' <$>
(x .?> "locations" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeLocations
instance NFData DescribeLocations
instance ToHeaders DescribeLocations where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OvertureService.DescribeLocations" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeLocations where
toJSON = const (Object mempty)
instance ToPath DescribeLocations where
toPath = const "/"
instance ToQuery DescribeLocations where
toQuery = const mempty
data DescribeLocationsResponse = DescribeLocationsResponse'
{ _dlrsLocations :: !(Maybe [Location])
, _dlrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeLocationsResponse
:: Int
-> DescribeLocationsResponse
describeLocationsResponse pResponseStatus_ =
DescribeLocationsResponse'
{ _dlrsLocations = Nothing
, _dlrsResponseStatus = pResponseStatus_
}
dlrsLocations :: Lens' DescribeLocationsResponse [Location]
dlrsLocations = lens _dlrsLocations (\ s a -> s{_dlrsLocations = a}) . _Default . _Coerce;
dlrsResponseStatus :: Lens' DescribeLocationsResponse Int
dlrsResponseStatus = lens _dlrsResponseStatus (\ s a -> s{_dlrsResponseStatus = a});
instance NFData DescribeLocationsResponse