{-# 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.DirectoryService.DescribeConditionalForwarders
(
describeConditionalForwarders
, DescribeConditionalForwarders
, dcfRemoteDomainNames
, dcfDirectoryId
, describeConditionalForwardersResponse
, DescribeConditionalForwardersResponse
, dcfrsConditionalForwarders
, dcfrsResponseStatus
) where
import Network.AWS.DirectoryService.Types
import Network.AWS.DirectoryService.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DescribeConditionalForwarders = DescribeConditionalForwarders'
{ _dcfRemoteDomainNames :: !(Maybe [Text])
, _dcfDirectoryId :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeConditionalForwarders
:: Text
-> DescribeConditionalForwarders
describeConditionalForwarders pDirectoryId_ =
DescribeConditionalForwarders'
{ _dcfRemoteDomainNames = Nothing
, _dcfDirectoryId = pDirectoryId_
}
dcfRemoteDomainNames :: Lens' DescribeConditionalForwarders [Text]
dcfRemoteDomainNames = lens _dcfRemoteDomainNames (\ s a -> s{_dcfRemoteDomainNames = a}) . _Default . _Coerce;
dcfDirectoryId :: Lens' DescribeConditionalForwarders Text
dcfDirectoryId = lens _dcfDirectoryId (\ s a -> s{_dcfDirectoryId = a});
instance AWSRequest DescribeConditionalForwarders
where
type Rs DescribeConditionalForwarders =
DescribeConditionalForwardersResponse
request = postJSON directoryService
response
= receiveJSON
(\ s h x ->
DescribeConditionalForwardersResponse' <$>
(x .?> "ConditionalForwarders" .!@ mempty) <*>
(pure (fromEnum s)))
instance Hashable DescribeConditionalForwarders
instance NFData DescribeConditionalForwarders
instance ToHeaders DescribeConditionalForwarders
where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("DirectoryService_20150416.DescribeConditionalForwarders"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DescribeConditionalForwarders where
toJSON DescribeConditionalForwarders'{..}
= object
(catMaybes
[("RemoteDomainNames" .=) <$> _dcfRemoteDomainNames,
Just ("DirectoryId" .= _dcfDirectoryId)])
instance ToPath DescribeConditionalForwarders where
toPath = const "/"
instance ToQuery DescribeConditionalForwarders where
toQuery = const mempty
data DescribeConditionalForwardersResponse = DescribeConditionalForwardersResponse'
{ _dcfrsConditionalForwarders :: !(Maybe [ConditionalForwarder])
, _dcfrsResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
describeConditionalForwardersResponse
:: Int
-> DescribeConditionalForwardersResponse
describeConditionalForwardersResponse pResponseStatus_ =
DescribeConditionalForwardersResponse'
{ _dcfrsConditionalForwarders = Nothing
, _dcfrsResponseStatus = pResponseStatus_
}
dcfrsConditionalForwarders :: Lens' DescribeConditionalForwardersResponse [ConditionalForwarder]
dcfrsConditionalForwarders = lens _dcfrsConditionalForwarders (\ s a -> s{_dcfrsConditionalForwarders = a}) . _Default . _Coerce;
dcfrsResponseStatus :: Lens' DescribeConditionalForwardersResponse Int
dcfrsResponseStatus = lens _dcfrsResponseStatus (\ s a -> s{_dcfrsResponseStatus = a});
instance NFData DescribeConditionalForwardersResponse