{-# 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.SageMaker.ListEndpoints
(
listEndpoints
, ListEndpoints
, leNameContains
, leLastModifiedTimeBefore
, leCreationTimeAfter
, leNextToken
, leSortOrder
, leLastModifiedTimeAfter
, leCreationTimeBefore
, leStatusEquals
, leMaxResults
, leSortBy
, listEndpointsResponse
, ListEndpointsResponse
, lersNextToken
, lersResponseStatus
, lersEndpoints
) where
import Network.AWS.Lens
import Network.AWS.Pager
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.SageMaker.Types
import Network.AWS.SageMaker.Types.Product
data ListEndpoints = ListEndpoints'
{ _leNameContains :: !(Maybe Text)
, _leLastModifiedTimeBefore :: !(Maybe POSIX)
, _leCreationTimeAfter :: !(Maybe POSIX)
, _leNextToken :: !(Maybe Text)
, _leSortOrder :: !(Maybe OrderKey)
, _leLastModifiedTimeAfter :: !(Maybe POSIX)
, _leCreationTimeBefore :: !(Maybe POSIX)
, _leStatusEquals :: !(Maybe EndpointStatus)
, _leMaxResults :: !(Maybe Nat)
, _leSortBy :: !(Maybe EndpointSortKey)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listEndpoints
:: ListEndpoints
listEndpoints =
ListEndpoints'
{ _leNameContains = Nothing
, _leLastModifiedTimeBefore = Nothing
, _leCreationTimeAfter = Nothing
, _leNextToken = Nothing
, _leSortOrder = Nothing
, _leLastModifiedTimeAfter = Nothing
, _leCreationTimeBefore = Nothing
, _leStatusEquals = Nothing
, _leMaxResults = Nothing
, _leSortBy = Nothing
}
leNameContains :: Lens' ListEndpoints (Maybe Text)
leNameContains = lens _leNameContains (\ s a -> s{_leNameContains = a})
leLastModifiedTimeBefore :: Lens' ListEndpoints (Maybe UTCTime)
leLastModifiedTimeBefore = lens _leLastModifiedTimeBefore (\ s a -> s{_leLastModifiedTimeBefore = a}) . mapping _Time
leCreationTimeAfter :: Lens' ListEndpoints (Maybe UTCTime)
leCreationTimeAfter = lens _leCreationTimeAfter (\ s a -> s{_leCreationTimeAfter = a}) . mapping _Time
leNextToken :: Lens' ListEndpoints (Maybe Text)
leNextToken = lens _leNextToken (\ s a -> s{_leNextToken = a})
leSortOrder :: Lens' ListEndpoints (Maybe OrderKey)
leSortOrder = lens _leSortOrder (\ s a -> s{_leSortOrder = a})
leLastModifiedTimeAfter :: Lens' ListEndpoints (Maybe UTCTime)
leLastModifiedTimeAfter = lens _leLastModifiedTimeAfter (\ s a -> s{_leLastModifiedTimeAfter = a}) . mapping _Time
leCreationTimeBefore :: Lens' ListEndpoints (Maybe UTCTime)
leCreationTimeBefore = lens _leCreationTimeBefore (\ s a -> s{_leCreationTimeBefore = a}) . mapping _Time
leStatusEquals :: Lens' ListEndpoints (Maybe EndpointStatus)
leStatusEquals = lens _leStatusEquals (\ s a -> s{_leStatusEquals = a})
leMaxResults :: Lens' ListEndpoints (Maybe Natural)
leMaxResults = lens _leMaxResults (\ s a -> s{_leMaxResults = a}) . mapping _Nat
leSortBy :: Lens' ListEndpoints (Maybe EndpointSortKey)
leSortBy = lens _leSortBy (\ s a -> s{_leSortBy = a})
instance AWSPager ListEndpoints where
page rq rs
| stop (rs ^. lersNextToken) = Nothing
| stop (rs ^. lersEndpoints) = Nothing
| otherwise =
Just $ rq & leNextToken .~ rs ^. lersNextToken
instance AWSRequest ListEndpoints where
type Rs ListEndpoints = ListEndpointsResponse
request = postJSON sageMaker
response
= receiveJSON
(\ s h x ->
ListEndpointsResponse' <$>
(x .?> "NextToken") <*> (pure (fromEnum s)) <*>
(x .?> "Endpoints" .!@ mempty))
instance Hashable ListEndpoints where
instance NFData ListEndpoints where
instance ToHeaders ListEndpoints where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SageMaker.ListEndpoints" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListEndpoints where
toJSON ListEndpoints'{..}
= object
(catMaybes
[("NameContains" .=) <$> _leNameContains,
("LastModifiedTimeBefore" .=) <$>
_leLastModifiedTimeBefore,
("CreationTimeAfter" .=) <$> _leCreationTimeAfter,
("NextToken" .=) <$> _leNextToken,
("SortOrder" .=) <$> _leSortOrder,
("LastModifiedTimeAfter" .=) <$>
_leLastModifiedTimeAfter,
("CreationTimeBefore" .=) <$> _leCreationTimeBefore,
("StatusEquals" .=) <$> _leStatusEquals,
("MaxResults" .=) <$> _leMaxResults,
("SortBy" .=) <$> _leSortBy])
instance ToPath ListEndpoints where
toPath = const "/"
instance ToQuery ListEndpoints where
toQuery = const mempty
data ListEndpointsResponse = ListEndpointsResponse'
{ _lersNextToken :: !(Maybe Text)
, _lersResponseStatus :: !Int
, _lersEndpoints :: ![EndpointSummary]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listEndpointsResponse
:: Int
-> ListEndpointsResponse
listEndpointsResponse pResponseStatus_ =
ListEndpointsResponse'
{ _lersNextToken = Nothing
, _lersResponseStatus = pResponseStatus_
, _lersEndpoints = mempty
}
lersNextToken :: Lens' ListEndpointsResponse (Maybe Text)
lersNextToken = lens _lersNextToken (\ s a -> s{_lersNextToken = a})
lersResponseStatus :: Lens' ListEndpointsResponse Int
lersResponseStatus = lens _lersResponseStatus (\ s a -> s{_lersResponseStatus = a})
lersEndpoints :: Lens' ListEndpointsResponse [EndpointSummary]
lersEndpoints = lens _lersEndpoints (\ s a -> s{_lersEndpoints = a}) . _Coerce
instance NFData ListEndpointsResponse where