{-# 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.DescribeElasticIPs
(
describeElasticIPs
, DescribeElasticIPs
, deiInstanceId
, deiIPs
, deiStackId
, describeElasticIPsResponse
, DescribeElasticIPsResponse
, deirsElasticIPs
, deirsResponseStatus
) 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
data DescribeElasticIPs = DescribeElasticIPs'
{ _deiInstanceId :: !(Maybe Text)
, _deiIPs :: !(Maybe [Text])
, _deiStackId :: !(Maybe Text)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeElasticIPs
:: DescribeElasticIPs
describeElasticIPs =
DescribeElasticIPs'
{_deiInstanceId = Nothing, _deiIPs = Nothing, _deiStackId = Nothing}
deiInstanceId :: Lens' DescribeElasticIPs (Maybe Text)
deiInstanceId = lens _deiInstanceId (\ s a -> s{_deiInstanceId = a})
deiIPs :: Lens' DescribeElasticIPs [Text]
deiIPs = lens _deiIPs (\ s a -> s{_deiIPs = a}) . _Default . _Coerce
deiStackId :: Lens' DescribeElasticIPs (Maybe Text)
deiStackId = lens _deiStackId (\ s a -> s{_deiStackId = a})
instance AWSRequest DescribeElasticIPs where
type Rs DescribeElasticIPs =
DescribeElasticIPsResponse
request = postJSON opsWorks
response
= receiveJSON
(\ s h x ->
DescribeElasticIPsResponse' <$>
(x .?> "ElasticIps" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeElasticIPs where
instance NFData DescribeElasticIPs where
instance ToHeaders DescribeElasticIPs where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("OpsWorks_20130218.DescribeElasticIps" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeElasticIPs where
toJSON DescribeElasticIPs'{..}
= object
(catMaybes
[("InstanceId" .=) <$> _deiInstanceId,
("Ips" .=) <$> _deiIPs,
("StackId" .=) <$> _deiStackId])
instance ToPath DescribeElasticIPs where
toPath = const "/"
instance ToQuery DescribeElasticIPs where
toQuery = const mempty
data DescribeElasticIPsResponse = DescribeElasticIPsResponse'
{ _deirsElasticIPs :: !(Maybe [ElasticIP])
, _deirsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeElasticIPsResponse
:: Int
-> DescribeElasticIPsResponse
describeElasticIPsResponse pResponseStatus_ =
DescribeElasticIPsResponse'
{_deirsElasticIPs = Nothing, _deirsResponseStatus = pResponseStatus_}
deirsElasticIPs :: Lens' DescribeElasticIPsResponse [ElasticIP]
deirsElasticIPs = lens _deirsElasticIPs (\ s a -> s{_deirsElasticIPs = a}) . _Default . _Coerce
deirsResponseStatus :: Lens' DescribeElasticIPsResponse Int
deirsResponseStatus = lens _deirsResponseStatus (\ s a -> s{_deirsResponseStatus = a})
instance NFData DescribeElasticIPsResponse where