{-# 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.Discovery.ListServerNeighbors
(
listServerNeighbors
, ListServerNeighbors
, lsnPortInformationNeeded
, lsnNeighborConfigurationIds
, lsnNextToken
, lsnMaxResults
, lsnConfigurationId
, listServerNeighborsResponse
, ListServerNeighborsResponse
, lsnrsNextToken
, lsnrsKnownDependencyCount
, lsnrsResponseStatus
, lsnrsNeighbors
) where
import Network.AWS.Discovery.Types
import Network.AWS.Discovery.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListServerNeighbors = ListServerNeighbors'
{ _lsnPortInformationNeeded :: !(Maybe Bool)
, _lsnNeighborConfigurationIds :: !(Maybe [Text])
, _lsnNextToken :: !(Maybe Text)
, _lsnMaxResults :: !(Maybe Int)
, _lsnConfigurationId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listServerNeighbors
:: Text
-> ListServerNeighbors
listServerNeighbors pConfigurationId_ =
ListServerNeighbors'
{ _lsnPortInformationNeeded = Nothing
, _lsnNeighborConfigurationIds = Nothing
, _lsnNextToken = Nothing
, _lsnMaxResults = Nothing
, _lsnConfigurationId = pConfigurationId_
}
lsnPortInformationNeeded :: Lens' ListServerNeighbors (Maybe Bool)
lsnPortInformationNeeded = lens _lsnPortInformationNeeded (\ s a -> s{_lsnPortInformationNeeded = a})
lsnNeighborConfigurationIds :: Lens' ListServerNeighbors [Text]
lsnNeighborConfigurationIds = lens _lsnNeighborConfigurationIds (\ s a -> s{_lsnNeighborConfigurationIds = a}) . _Default . _Coerce
lsnNextToken :: Lens' ListServerNeighbors (Maybe Text)
lsnNextToken = lens _lsnNextToken (\ s a -> s{_lsnNextToken = a})
lsnMaxResults :: Lens' ListServerNeighbors (Maybe Int)
lsnMaxResults = lens _lsnMaxResults (\ s a -> s{_lsnMaxResults = a})
lsnConfigurationId :: Lens' ListServerNeighbors Text
lsnConfigurationId = lens _lsnConfigurationId (\ s a -> s{_lsnConfigurationId = a})
instance AWSRequest ListServerNeighbors where
type Rs ListServerNeighbors =
ListServerNeighborsResponse
request = postJSON discovery
response
= receiveJSON
(\ s h x ->
ListServerNeighborsResponse' <$>
(x .?> "nextToken") <*>
(x .?> "knownDependencyCount")
<*> (pure (fromEnum s))
<*> (x .?> "neighbors" .!@ mempty))
instance Hashable ListServerNeighbors where
instance NFData ListServerNeighbors where
instance ToHeaders ListServerNeighbors where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSPoseidonService_V2015_11_01.ListServerNeighbors"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListServerNeighbors where
toJSON ListServerNeighbors'{..}
= object
(catMaybes
[("portInformationNeeded" .=) <$>
_lsnPortInformationNeeded,
("neighborConfigurationIds" .=) <$>
_lsnNeighborConfigurationIds,
("nextToken" .=) <$> _lsnNextToken,
("maxResults" .=) <$> _lsnMaxResults,
Just ("configurationId" .= _lsnConfigurationId)])
instance ToPath ListServerNeighbors where
toPath = const "/"
instance ToQuery ListServerNeighbors where
toQuery = const mempty
data ListServerNeighborsResponse = ListServerNeighborsResponse'
{ _lsnrsNextToken :: !(Maybe Text)
, _lsnrsKnownDependencyCount :: !(Maybe Integer)
, _lsnrsResponseStatus :: !Int
, _lsnrsNeighbors :: ![NeighborConnectionDetail]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listServerNeighborsResponse
:: Int
-> ListServerNeighborsResponse
listServerNeighborsResponse pResponseStatus_ =
ListServerNeighborsResponse'
{ _lsnrsNextToken = Nothing
, _lsnrsKnownDependencyCount = Nothing
, _lsnrsResponseStatus = pResponseStatus_
, _lsnrsNeighbors = mempty
}
lsnrsNextToken :: Lens' ListServerNeighborsResponse (Maybe Text)
lsnrsNextToken = lens _lsnrsNextToken (\ s a -> s{_lsnrsNextToken = a})
lsnrsKnownDependencyCount :: Lens' ListServerNeighborsResponse (Maybe Integer)
lsnrsKnownDependencyCount = lens _lsnrsKnownDependencyCount (\ s a -> s{_lsnrsKnownDependencyCount = a})
lsnrsResponseStatus :: Lens' ListServerNeighborsResponse Int
lsnrsResponseStatus = lens _lsnrsResponseStatus (\ s a -> s{_lsnrsResponseStatus = a})
lsnrsNeighbors :: Lens' ListServerNeighborsResponse [NeighborConnectionDetail]
lsnrsNeighbors = lens _lsnrsNeighbors (\ s a -> s{_lsnrsNeighbors = a}) . _Coerce
instance NFData ListServerNeighborsResponse where