module Network.AWS.CloudDirectory.ListFacetNames
(
listFacetNames
, ListFacetNames
, lfnNextToken
, lfnMaxResults
, lfnSchemaARN
, listFacetNamesResponse
, ListFacetNamesResponse
, lfnrsNextToken
, lfnrsFacetNames
, lfnrsResponseStatus
) 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 ListFacetNames = ListFacetNames'
{ _lfnNextToken :: !(Maybe Text)
, _lfnMaxResults :: !(Maybe Nat)
, _lfnSchemaARN :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listFacetNames
:: Text
-> ListFacetNames
listFacetNames pSchemaARN_ =
ListFacetNames'
{ _lfnNextToken = Nothing
, _lfnMaxResults = Nothing
, _lfnSchemaARN = pSchemaARN_
}
lfnNextToken :: Lens' ListFacetNames (Maybe Text)
lfnNextToken = lens _lfnNextToken (\ s a -> s{_lfnNextToken = a});
lfnMaxResults :: Lens' ListFacetNames (Maybe Natural)
lfnMaxResults = lens _lfnMaxResults (\ s a -> s{_lfnMaxResults = a}) . mapping _Nat;
lfnSchemaARN :: Lens' ListFacetNames Text
lfnSchemaARN = lens _lfnSchemaARN (\ s a -> s{_lfnSchemaARN = a});
instance AWSRequest ListFacetNames where
type Rs ListFacetNames = ListFacetNamesResponse
request = postJSON cloudDirectory
response
= receiveJSON
(\ s h x ->
ListFacetNamesResponse' <$>
(x .?> "NextToken") <*>
(x .?> "FacetNames" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListFacetNames where
instance NFData ListFacetNames where
instance ToHeaders ListFacetNames where
toHeaders ListFacetNames'{..}
= mconcat ["x-amz-data-partition" =# _lfnSchemaARN]
instance ToJSON ListFacetNames where
toJSON ListFacetNames'{..}
= object
(catMaybes
[("NextToken" .=) <$> _lfnNextToken,
("MaxResults" .=) <$> _lfnMaxResults])
instance ToPath ListFacetNames where
toPath
= const "/amazonclouddirectory/2017-01-11/facet/list"
instance ToQuery ListFacetNames where
toQuery = const mempty
data ListFacetNamesResponse = ListFacetNamesResponse'
{ _lfnrsNextToken :: !(Maybe Text)
, _lfnrsFacetNames :: !(Maybe [Text])
, _lfnrsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listFacetNamesResponse
:: Int
-> ListFacetNamesResponse
listFacetNamesResponse pResponseStatus_ =
ListFacetNamesResponse'
{ _lfnrsNextToken = Nothing
, _lfnrsFacetNames = Nothing
, _lfnrsResponseStatus = pResponseStatus_
}
lfnrsNextToken :: Lens' ListFacetNamesResponse (Maybe Text)
lfnrsNextToken = lens _lfnrsNextToken (\ s a -> s{_lfnrsNextToken = a});
lfnrsFacetNames :: Lens' ListFacetNamesResponse [Text]
lfnrsFacetNames = lens _lfnrsFacetNames (\ s a -> s{_lfnrsFacetNames = a}) . _Default . _Coerce;
lfnrsResponseStatus :: Lens' ListFacetNamesResponse Int
lfnrsResponseStatus = lens _lfnrsResponseStatus (\ s a -> s{_lfnrsResponseStatus = a});
instance NFData ListFacetNamesResponse where