module Network.AWS.Glue.GetConnections
(
getConnections
, GetConnections
, gcsCatalogId
, gcsNextToken
, gcsFilter
, gcsMaxResults
, getConnectionsResponse
, GetConnectionsResponse
, gccrsNextToken
, gccrsConnectionList
, gccrsResponseStatus
) where
import Network.AWS.Glue.Types
import Network.AWS.Glue.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetConnections = GetConnections'
{ _gcsCatalogId :: !(Maybe Text)
, _gcsNextToken :: !(Maybe Text)
, _gcsFilter :: !(Maybe GetConnectionsFilter)
, _gcsMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getConnections
:: GetConnections
getConnections =
GetConnections'
{ _gcsCatalogId = Nothing
, _gcsNextToken = Nothing
, _gcsFilter = Nothing
, _gcsMaxResults = Nothing
}
gcsCatalogId :: Lens' GetConnections (Maybe Text)
gcsCatalogId = lens _gcsCatalogId (\ s a -> s{_gcsCatalogId = a});
gcsNextToken :: Lens' GetConnections (Maybe Text)
gcsNextToken = lens _gcsNextToken (\ s a -> s{_gcsNextToken = a});
gcsFilter :: Lens' GetConnections (Maybe GetConnectionsFilter)
gcsFilter = lens _gcsFilter (\ s a -> s{_gcsFilter = a});
gcsMaxResults :: Lens' GetConnections (Maybe Natural)
gcsMaxResults = lens _gcsMaxResults (\ s a -> s{_gcsMaxResults = a}) . mapping _Nat;
instance AWSRequest GetConnections where
type Rs GetConnections = GetConnectionsResponse
request = postJSON glue
response
= receiveJSON
(\ s h x ->
GetConnectionsResponse' <$>
(x .?> "NextToken") <*>
(x .?> "ConnectionList" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetConnections where
instance NFData GetConnections where
instance ToHeaders GetConnections where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.GetConnections" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetConnections where
toJSON GetConnections'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _gcsCatalogId,
("NextToken" .=) <$> _gcsNextToken,
("Filter" .=) <$> _gcsFilter,
("MaxResults" .=) <$> _gcsMaxResults])
instance ToPath GetConnections where
toPath = const "/"
instance ToQuery GetConnections where
toQuery = const mempty
data GetConnectionsResponse = GetConnectionsResponse'
{ _gccrsNextToken :: !(Maybe Text)
, _gccrsConnectionList :: !(Maybe [Connection])
, _gccrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getConnectionsResponse
:: Int
-> GetConnectionsResponse
getConnectionsResponse pResponseStatus_ =
GetConnectionsResponse'
{ _gccrsNextToken = Nothing
, _gccrsConnectionList = Nothing
, _gccrsResponseStatus = pResponseStatus_
}
gccrsNextToken :: Lens' GetConnectionsResponse (Maybe Text)
gccrsNextToken = lens _gccrsNextToken (\ s a -> s{_gccrsNextToken = a});
gccrsConnectionList :: Lens' GetConnectionsResponse [Connection]
gccrsConnectionList = lens _gccrsConnectionList (\ s a -> s{_gccrsConnectionList = a}) . _Default . _Coerce;
gccrsResponseStatus :: Lens' GetConnectionsResponse Int
gccrsResponseStatus = lens _gccrsResponseStatus (\ s a -> s{_gccrsResponseStatus = a});
instance NFData GetConnectionsResponse where