module Network.AWS.Glue.GetUserDefinedFunctions
(
getUserDefinedFunctions
, GetUserDefinedFunctions
, gudfCatalogId
, gudfNextToken
, gudfMaxResults
, gudfDatabaseName
, gudfPattern
, getUserDefinedFunctionsResponse
, GetUserDefinedFunctionsResponse
, gudfrsNextToken
, gudfrsUserDefinedFunctions
, gudfrsResponseStatus
) 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 GetUserDefinedFunctions = GetUserDefinedFunctions'
{ _gudfCatalogId :: !(Maybe Text)
, _gudfNextToken :: !(Maybe Text)
, _gudfMaxResults :: !(Maybe Nat)
, _gudfDatabaseName :: !Text
, _gudfPattern :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getUserDefinedFunctions
:: Text
-> Text
-> GetUserDefinedFunctions
getUserDefinedFunctions pDatabaseName_ pPattern_ =
GetUserDefinedFunctions'
{ _gudfCatalogId = Nothing
, _gudfNextToken = Nothing
, _gudfMaxResults = Nothing
, _gudfDatabaseName = pDatabaseName_
, _gudfPattern = pPattern_
}
gudfCatalogId :: Lens' GetUserDefinedFunctions (Maybe Text)
gudfCatalogId = lens _gudfCatalogId (\ s a -> s{_gudfCatalogId = a});
gudfNextToken :: Lens' GetUserDefinedFunctions (Maybe Text)
gudfNextToken = lens _gudfNextToken (\ s a -> s{_gudfNextToken = a});
gudfMaxResults :: Lens' GetUserDefinedFunctions (Maybe Natural)
gudfMaxResults = lens _gudfMaxResults (\ s a -> s{_gudfMaxResults = a}) . mapping _Nat;
gudfDatabaseName :: Lens' GetUserDefinedFunctions Text
gudfDatabaseName = lens _gudfDatabaseName (\ s a -> s{_gudfDatabaseName = a});
gudfPattern :: Lens' GetUserDefinedFunctions Text
gudfPattern = lens _gudfPattern (\ s a -> s{_gudfPattern = a});
instance AWSRequest GetUserDefinedFunctions where
type Rs GetUserDefinedFunctions =
GetUserDefinedFunctionsResponse
request = postJSON glue
response
= receiveJSON
(\ s h x ->
GetUserDefinedFunctionsResponse' <$>
(x .?> "NextToken") <*>
(x .?> "UserDefinedFunctions" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable GetUserDefinedFunctions where
instance NFData GetUserDefinedFunctions where
instance ToHeaders GetUserDefinedFunctions where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSGlue.GetUserDefinedFunctions" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetUserDefinedFunctions where
toJSON GetUserDefinedFunctions'{..}
= object
(catMaybes
[("CatalogId" .=) <$> _gudfCatalogId,
("NextToken" .=) <$> _gudfNextToken,
("MaxResults" .=) <$> _gudfMaxResults,
Just ("DatabaseName" .= _gudfDatabaseName),
Just ("Pattern" .= _gudfPattern)])
instance ToPath GetUserDefinedFunctions where
toPath = const "/"
instance ToQuery GetUserDefinedFunctions where
toQuery = const mempty
data GetUserDefinedFunctionsResponse = GetUserDefinedFunctionsResponse'
{ _gudfrsNextToken :: !(Maybe Text)
, _gudfrsUserDefinedFunctions :: !(Maybe [UserDefinedFunction])
, _gudfrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getUserDefinedFunctionsResponse
:: Int
-> GetUserDefinedFunctionsResponse
getUserDefinedFunctionsResponse pResponseStatus_ =
GetUserDefinedFunctionsResponse'
{ _gudfrsNextToken = Nothing
, _gudfrsUserDefinedFunctions = Nothing
, _gudfrsResponseStatus = pResponseStatus_
}
gudfrsNextToken :: Lens' GetUserDefinedFunctionsResponse (Maybe Text)
gudfrsNextToken = lens _gudfrsNextToken (\ s a -> s{_gudfrsNextToken = a});
gudfrsUserDefinedFunctions :: Lens' GetUserDefinedFunctionsResponse [UserDefinedFunction]
gudfrsUserDefinedFunctions = lens _gudfrsUserDefinedFunctions (\ s a -> s{_gudfrsUserDefinedFunctions = a}) . _Default . _Coerce;
gudfrsResponseStatus :: Lens' GetUserDefinedFunctionsResponse Int
gudfrsResponseStatus = lens _gudfrsResponseStatus (\ s a -> s{_gudfrsResponseStatus = a});
instance NFData GetUserDefinedFunctionsResponse where