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
instance NFData DescribeElasticIPs
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