{-# 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.CloudDirectory.ListIncomingTypedLinks
(
listIncomingTypedLinks
, ListIncomingTypedLinks
, litlFilterAttributeRanges
, litlConsistencyLevel
, litlNextToken
, litlFilterTypedLink
, litlMaxResults
, litlDirectoryARN
, litlObjectReference
, listIncomingTypedLinksResponse
, ListIncomingTypedLinksResponse
, litlrsLinkSpecifiers
, litlrsNextToken
, litlrsResponseStatus
) where
import Network.AWS.CloudDirectory.Types
import Network.AWS.CloudDirectory.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListIncomingTypedLinks = ListIncomingTypedLinks'
{ _litlFilterAttributeRanges :: !(Maybe [TypedLinkAttributeRange])
, _litlConsistencyLevel :: !(Maybe ConsistencyLevel)
, _litlNextToken :: !(Maybe Text)
, _litlFilterTypedLink :: !(Maybe TypedLinkSchemaAndFacetName)
, _litlMaxResults :: !(Maybe Nat)
, _litlDirectoryARN :: !Text
, _litlObjectReference :: !ObjectReference
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listIncomingTypedLinks
:: Text
-> ObjectReference
-> ListIncomingTypedLinks
listIncomingTypedLinks pDirectoryARN_ pObjectReference_ =
ListIncomingTypedLinks'
{ _litlFilterAttributeRanges = Nothing
, _litlConsistencyLevel = Nothing
, _litlNextToken = Nothing
, _litlFilterTypedLink = Nothing
, _litlMaxResults = Nothing
, _litlDirectoryARN = pDirectoryARN_
, _litlObjectReference = pObjectReference_
}
litlFilterAttributeRanges :: Lens' ListIncomingTypedLinks [TypedLinkAttributeRange]
litlFilterAttributeRanges = lens _litlFilterAttributeRanges (\ s a -> s{_litlFilterAttributeRanges = a}) . _Default . _Coerce
litlConsistencyLevel :: Lens' ListIncomingTypedLinks (Maybe ConsistencyLevel)
litlConsistencyLevel = lens _litlConsistencyLevel (\ s a -> s{_litlConsistencyLevel = a})
litlNextToken :: Lens' ListIncomingTypedLinks (Maybe Text)
litlNextToken = lens _litlNextToken (\ s a -> s{_litlNextToken = a})
litlFilterTypedLink :: Lens' ListIncomingTypedLinks (Maybe TypedLinkSchemaAndFacetName)
litlFilterTypedLink = lens _litlFilterTypedLink (\ s a -> s{_litlFilterTypedLink = a})
litlMaxResults :: Lens' ListIncomingTypedLinks (Maybe Natural)
litlMaxResults = lens _litlMaxResults (\ s a -> s{_litlMaxResults = a}) . mapping _Nat
litlDirectoryARN :: Lens' ListIncomingTypedLinks Text
litlDirectoryARN = lens _litlDirectoryARN (\ s a -> s{_litlDirectoryARN = a})
litlObjectReference :: Lens' ListIncomingTypedLinks ObjectReference
litlObjectReference = lens _litlObjectReference (\ s a -> s{_litlObjectReference = a})
instance AWSRequest ListIncomingTypedLinks where
type Rs ListIncomingTypedLinks =
ListIncomingTypedLinksResponse
request = postJSON cloudDirectory
response
= receiveJSON
(\ s h x ->
ListIncomingTypedLinksResponse' <$>
(x .?> "LinkSpecifiers" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListIncomingTypedLinks where
instance NFData ListIncomingTypedLinks where
instance ToHeaders ListIncomingTypedLinks where
toHeaders ListIncomingTypedLinks'{..}
= mconcat
["x-amz-data-partition" =# _litlDirectoryARN]
instance ToJSON ListIncomingTypedLinks where
toJSON ListIncomingTypedLinks'{..}
= object
(catMaybes
[("FilterAttributeRanges" .=) <$>
_litlFilterAttributeRanges,
("ConsistencyLevel" .=) <$> _litlConsistencyLevel,
("NextToken" .=) <$> _litlNextToken,
("FilterTypedLink" .=) <$> _litlFilterTypedLink,
("MaxResults" .=) <$> _litlMaxResults,
Just ("ObjectReference" .= _litlObjectReference)])
instance ToPath ListIncomingTypedLinks where
toPath
= const
"/amazonclouddirectory/2017-01-11/typedlink/incoming"
instance ToQuery ListIncomingTypedLinks where
toQuery = const mempty
data ListIncomingTypedLinksResponse = ListIncomingTypedLinksResponse'
{ _litlrsLinkSpecifiers :: !(Maybe [TypedLinkSpecifier])
, _litlrsNextToken :: !(Maybe Text)
, _litlrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listIncomingTypedLinksResponse
:: Int
-> ListIncomingTypedLinksResponse
listIncomingTypedLinksResponse pResponseStatus_ =
ListIncomingTypedLinksResponse'
{ _litlrsLinkSpecifiers = Nothing
, _litlrsNextToken = Nothing
, _litlrsResponseStatus = pResponseStatus_
}
litlrsLinkSpecifiers :: Lens' ListIncomingTypedLinksResponse [TypedLinkSpecifier]
litlrsLinkSpecifiers = lens _litlrsLinkSpecifiers (\ s a -> s{_litlrsLinkSpecifiers = a}) . _Default . _Coerce
litlrsNextToken :: Lens' ListIncomingTypedLinksResponse (Maybe Text)
litlrsNextToken = lens _litlrsNextToken (\ s a -> s{_litlrsNextToken = a})
litlrsResponseStatus :: Lens' ListIncomingTypedLinksResponse Int
litlrsResponseStatus = lens _litlrsResponseStatus (\ s a -> s{_litlrsResponseStatus = a})
instance NFData ListIncomingTypedLinksResponse where