amazonka-dms-1.5.0: gen/Network/AWS/DMS/DescribeEventCategories.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.DMS.DescribeEventCategories
-- Copyright : (c) 2013-2017 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Lists categories for all event source types, or, if specified, for a specified source type. You can see a list of the event categories and source types in <http://docs.aws.amazon.com/dms/latest/userguide/CHAP_Events.html Working with Events and Notifications > in the AWS Database Migration Service User Guide.
--
--
module Network.AWS.DMS.DescribeEventCategories
(
-- * Creating a Request
describeEventCategories
, DescribeEventCategories
-- * Request Lenses
, decSourceType
, decFilters
-- * Destructuring the Response
, describeEventCategoriesResponse
, DescribeEventCategoriesResponse
-- * Response Lenses
, 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
-- |
--
--
--
-- /See:/ 'describeEventCategories' smart constructor.
data DescribeEventCategories = DescribeEventCategories'
{ _decSourceType :: !(Maybe Text)
, _decFilters :: !(Maybe [Filter])
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'DescribeEventCategories' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'decSourceType' - The type of AWS DMS resource that generates events. Valid values: replication-instance | migration-task
--
-- * 'decFilters' - Filters applied to the action.
describeEventCategories
:: DescribeEventCategories
describeEventCategories =
DescribeEventCategories' {_decSourceType = Nothing, _decFilters = Nothing}
-- | The type of AWS DMS resource that generates events. Valid values: replication-instance | migration-task
decSourceType :: Lens' DescribeEventCategories (Maybe Text)
decSourceType = lens _decSourceType (\ s a -> s{_decSourceType = a});
-- | Filters applied to the action.
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
-- |
--
--
--
-- /See:/ 'describeEventCategoriesResponse' smart constructor.
data DescribeEventCategoriesResponse = DescribeEventCategoriesResponse'
{ _decrsEventCategoryGroupList :: !(Maybe [EventCategoryGroup])
, _decrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'DescribeEventCategoriesResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'decrsEventCategoryGroupList' - A list of event categories.
--
-- * 'decrsResponseStatus' - -- | The response status code.
describeEventCategoriesResponse
:: Int -- ^ 'decrsResponseStatus'
-> DescribeEventCategoriesResponse
describeEventCategoriesResponse pResponseStatus_ =
DescribeEventCategoriesResponse'
{ _decrsEventCategoryGroupList = Nothing
, _decrsResponseStatus = pResponseStatus_
}
-- | A list of event categories.
decrsEventCategoryGroupList :: Lens' DescribeEventCategoriesResponse [EventCategoryGroup]
decrsEventCategoryGroupList = lens _decrsEventCategoryGroupList (\ s a -> s{_decrsEventCategoryGroupList = a}) . _Default . _Coerce;
-- | -- | The response status code.
decrsResponseStatus :: Lens' DescribeEventCategoriesResponse Int
decrsResponseStatus = lens _decrsResponseStatus (\ s a -> s{_decrsResponseStatus = a});
instance NFData DescribeEventCategoriesResponse where