{-# 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.ListDevelopmentSchemaARNs
(
listDevelopmentSchemaARNs
, ListDevelopmentSchemaARNs
, ldsaNextToken
, ldsaMaxResults
, listDevelopmentSchemaARNsResponse
, ListDevelopmentSchemaARNsResponse
, ldsarsSchemaARNs
, ldsarsNextToken
, ldsarsResponseStatus
) where
import Network.AWS.CloudDirectory.Types
import Network.AWS.CloudDirectory.Types.Product
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListDevelopmentSchemaARNs = ListDevelopmentSchemaARNs'
{ _ldsaNextToken :: !(Maybe Text)
, _ldsaMaxResults :: !(Maybe Nat)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listDevelopmentSchemaARNs
:: ListDevelopmentSchemaARNs
listDevelopmentSchemaARNs =
ListDevelopmentSchemaARNs'
{_ldsaNextToken = Nothing, _ldsaMaxResults = Nothing}
ldsaNextToken :: Lens' ListDevelopmentSchemaARNs (Maybe Text)
ldsaNextToken = lens _ldsaNextToken (\ s a -> s{_ldsaNextToken = a})
ldsaMaxResults :: Lens' ListDevelopmentSchemaARNs (Maybe Natural)
ldsaMaxResults = lens _ldsaMaxResults (\ s a -> s{_ldsaMaxResults = a}) . mapping _Nat
instance AWSPager ListDevelopmentSchemaARNs where
page rq rs
| stop (rs ^. ldsarsNextToken) = Nothing
| stop (rs ^. ldsarsSchemaARNs) = Nothing
| otherwise =
Just $ rq & ldsaNextToken .~ rs ^. ldsarsNextToken
instance AWSRequest ListDevelopmentSchemaARNs where
type Rs ListDevelopmentSchemaARNs =
ListDevelopmentSchemaARNsResponse
request = postJSON cloudDirectory
response
= receiveJSON
(\ s h x ->
ListDevelopmentSchemaARNsResponse' <$>
(x .?> "SchemaArns" .!@ mempty) <*>
(x .?> "NextToken")
<*> (pure (fromEnum s)))
instance Hashable ListDevelopmentSchemaARNs where
instance NFData ListDevelopmentSchemaARNs where
instance ToHeaders ListDevelopmentSchemaARNs where
toHeaders = const mempty
instance ToJSON ListDevelopmentSchemaARNs where
toJSON ListDevelopmentSchemaARNs'{..}
= object
(catMaybes
[("NextToken" .=) <$> _ldsaNextToken,
("MaxResults" .=) <$> _ldsaMaxResults])
instance ToPath ListDevelopmentSchemaARNs where
toPath
= const
"/amazonclouddirectory/2017-01-11/schema/development"
instance ToQuery ListDevelopmentSchemaARNs where
toQuery = const mempty
data ListDevelopmentSchemaARNsResponse = ListDevelopmentSchemaARNsResponse'
{ _ldsarsSchemaARNs :: !(Maybe [Text])
, _ldsarsNextToken :: !(Maybe Text)
, _ldsarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listDevelopmentSchemaARNsResponse
:: Int
-> ListDevelopmentSchemaARNsResponse
listDevelopmentSchemaARNsResponse pResponseStatus_ =
ListDevelopmentSchemaARNsResponse'
{ _ldsarsSchemaARNs = Nothing
, _ldsarsNextToken = Nothing
, _ldsarsResponseStatus = pResponseStatus_
}
ldsarsSchemaARNs :: Lens' ListDevelopmentSchemaARNsResponse [Text]
ldsarsSchemaARNs = lens _ldsarsSchemaARNs (\ s a -> s{_ldsarsSchemaARNs = a}) . _Default . _Coerce
ldsarsNextToken :: Lens' ListDevelopmentSchemaARNsResponse (Maybe Text)
ldsarsNextToken = lens _ldsarsNextToken (\ s a -> s{_ldsarsNextToken = a})
ldsarsResponseStatus :: Lens' ListDevelopmentSchemaARNsResponse Int
ldsarsResponseStatus = lens _ldsarsResponseStatus (\ s a -> s{_ldsarsResponseStatus = a})
instance NFData ListDevelopmentSchemaARNsResponse
where