module Network.AWS.DMS.DescribeEventCategories
(
describeEventCategories
, DescribeEventCategories
, decSourceType
, decFilters
, describeEventCategoriesResponse
, DescribeEventCategoriesResponse
, decrsEventCategoryGroupList
, decrsResponseStatus
) where
import Network.AWS.DMS.Types
import Network.AWS.DMS.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeEventCategories = DescribeEventCategories'
{ _decSourceType :: !(Maybe Text)
, _decFilters :: !(Maybe [Filter])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEventCategories
:: DescribeEventCategories
describeEventCategories =
DescribeEventCategories' {_decSourceType = Nothing, _decFilters = Nothing}
decSourceType :: Lens' DescribeEventCategories (Maybe Text)
decSourceType = lens _decSourceType (\ s a -> s{_decSourceType = a});
decFilters :: Lens' DescribeEventCategories [Filter]
decFilters = lens _decFilters (\ s a -> s{_decFilters = a}) . _Default . _Coerce;
instance AWSRequest DescribeEventCategories where
type Rs DescribeEventCategories =
DescribeEventCategoriesResponse
request = postJSON dms
response
= receiveJSON
(\ s h x ->
DescribeEventCategoriesResponse' <$>
(x .?> "EventCategoryGroupList" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeEventCategories where
instance NFData DescribeEventCategories where
instance ToHeaders DescribeEventCategories where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonDMSv20160101.DescribeEventCategories" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeEventCategories where
toJSON DescribeEventCategories'{..}
= object
(catMaybes
[("SourceType" .=) <$> _decSourceType,
("Filters" .=) <$> _decFilters])
instance ToPath DescribeEventCategories where
toPath = const "/"
instance ToQuery DescribeEventCategories where
toQuery = const mempty
data DescribeEventCategoriesResponse = DescribeEventCategoriesResponse'
{ _decrsEventCategoryGroupList :: !(Maybe [EventCategoryGroup])
, _decrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
describeEventCategoriesResponse
:: Int
-> DescribeEventCategoriesResponse
describeEventCategoriesResponse pResponseStatus_ =
DescribeEventCategoriesResponse'
{ _decrsEventCategoryGroupList = Nothing
, _decrsResponseStatus = pResponseStatus_
}
decrsEventCategoryGroupList :: Lens' DescribeEventCategoriesResponse [EventCategoryGroup]
decrsEventCategoryGroupList = lens _decrsEventCategoryGroupList (\ s a -> s{_decrsEventCategoryGroupList = a}) . _Default . _Coerce;
decrsResponseStatus :: Lens' DescribeEventCategoriesResponse Int
decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a});
instance NFData DescribeEventCategoriesResponse where