{-# 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.ListTrainingJobs
(
listTrainingJobs
, ListTrainingJobs
, ltjNameContains
, ltjLastModifiedTimeBefore
, ltjCreationTimeAfter
, ltjNextToken
, ltjSortOrder
, ltjLastModifiedTimeAfter
, ltjCreationTimeBefore
, ltjStatusEquals
, ltjMaxResults
, ltjSortBy
, listTrainingJobsResponse
, ListTrainingJobsResponse
, ltjrsNextToken
, ltjrsResponseStatus
, ltjrsTrainingJobSummaries
) 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 ListTrainingJobs = ListTrainingJobs'
{ _ltjNameContains :: !(Maybe Text)
, _ltjLastModifiedTimeBefore :: !(Maybe POSIX)
, _ltjCreationTimeAfter :: !(Maybe POSIX)
, _ltjNextToken :: !(Maybe Text)
, _ltjSortOrder :: !(Maybe SortOrder)
, _ltjLastModifiedTimeAfter :: !(Maybe POSIX)
, _ltjCreationTimeBefore :: !(Maybe POSIX)
, _ltjStatusEquals :: !(Maybe TrainingJobStatus)
, _ltjMaxResults :: !(Maybe Nat)
, _ltjSortBy :: !(Maybe SortBy)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTrainingJobs
:: ListTrainingJobs
listTrainingJobs =
ListTrainingJobs'
{ _ltjNameContains = Nothing
, _ltjLastModifiedTimeBefore = Nothing
, _ltjCreationTimeAfter = Nothing
, _ltjNextToken = Nothing
, _ltjSortOrder = Nothing
, _ltjLastModifiedTimeAfter = Nothing
, _ltjCreationTimeBefore = Nothing
, _ltjStatusEquals = Nothing
, _ltjMaxResults = Nothing
, _ltjSortBy = Nothing
}
ltjNameContains :: Lens' ListTrainingJobs (Maybe Text)
ltjNameContains = lens _ltjNameContains (\ s a -> s{_ltjNameContains = a})
ltjLastModifiedTimeBefore :: Lens' ListTrainingJobs (Maybe UTCTime)
ltjLastModifiedTimeBefore = lens _ltjLastModifiedTimeBefore (\ s a -> s{_ltjLastModifiedTimeBefore = a}) . mapping _Time
ltjCreationTimeAfter :: Lens' ListTrainingJobs (Maybe UTCTime)
ltjCreationTimeAfter = lens _ltjCreationTimeAfter (\ s a -> s{_ltjCreationTimeAfter = a}) . mapping _Time
ltjNextToken :: Lens' ListTrainingJobs (Maybe Text)
ltjNextToken = lens _ltjNextToken (\ s a -> s{_ltjNextToken = a})
ltjSortOrder :: Lens' ListTrainingJobs (Maybe SortOrder)
ltjSortOrder = lens _ltjSortOrder (\ s a -> s{_ltjSortOrder = a})
ltjLastModifiedTimeAfter :: Lens' ListTrainingJobs (Maybe UTCTime)
ltjLastModifiedTimeAfter = lens _ltjLastModifiedTimeAfter (\ s a -> s{_ltjLastModifiedTimeAfter = a}) . mapping _Time
ltjCreationTimeBefore :: Lens' ListTrainingJobs (Maybe UTCTime)
ltjCreationTimeBefore = lens _ltjCreationTimeBefore (\ s a -> s{_ltjCreationTimeBefore = a}) . mapping _Time
ltjStatusEquals :: Lens' ListTrainingJobs (Maybe TrainingJobStatus)
ltjStatusEquals = lens _ltjStatusEquals (\ s a -> s{_ltjStatusEquals = a})
ltjMaxResults :: Lens' ListTrainingJobs (Maybe Natural)
ltjMaxResults = lens _ltjMaxResults (\ s a -> s{_ltjMaxResults = a}) . mapping _Nat
ltjSortBy :: Lens' ListTrainingJobs (Maybe SortBy)
ltjSortBy = lens _ltjSortBy (\ s a -> s{_ltjSortBy = a})
instance AWSPager ListTrainingJobs where
page rq rs
| stop (rs ^. ltjrsNextToken) = Nothing
| stop (rs ^. ltjrsTrainingJobSummaries) = Nothing
| otherwise =
Just $ rq & ltjNextToken .~ rs ^. ltjrsNextToken
instance AWSRequest ListTrainingJobs where
type Rs ListTrainingJobs = ListTrainingJobsResponse
request = postJSON sageMaker
response
= receiveJSON
(\ s h x ->
ListTrainingJobsResponse' <$>
(x .?> "NextToken") <*> (pure (fromEnum s)) <*>
(x .?> "TrainingJobSummaries" .!@ mempty))
instance Hashable ListTrainingJobs where
instance NFData ListTrainingJobs where
instance ToHeaders ListTrainingJobs where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("SageMaker.ListTrainingJobs" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListTrainingJobs where
toJSON ListTrainingJobs'{..}
= object
(catMaybes
[("NameContains" .=) <$> _ltjNameContains,
("LastModifiedTimeBefore" .=) <$>
_ltjLastModifiedTimeBefore,
("CreationTimeAfter" .=) <$> _ltjCreationTimeAfter,
("NextToken" .=) <$> _ltjNextToken,
("SortOrder" .=) <$> _ltjSortOrder,
("LastModifiedTimeAfter" .=) <$>
_ltjLastModifiedTimeAfter,
("CreationTimeBefore" .=) <$> _ltjCreationTimeBefore,
("StatusEquals" .=) <$> _ltjStatusEquals,
("MaxResults" .=) <$> _ltjMaxResults,
("SortBy" .=) <$> _ltjSortBy])
instance ToPath ListTrainingJobs where
toPath = const "/"
instance ToQuery ListTrainingJobs where
toQuery = const mempty
data ListTrainingJobsResponse = ListTrainingJobsResponse'
{ _ltjrsNextToken :: !(Maybe Text)
, _ltjrsResponseStatus :: !Int
, _ltjrsTrainingJobSummaries :: ![TrainingJobSummary]
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listTrainingJobsResponse
:: Int
-> ListTrainingJobsResponse
listTrainingJobsResponse pResponseStatus_ =
ListTrainingJobsResponse'
{ _ltjrsNextToken = Nothing
, _ltjrsResponseStatus = pResponseStatus_
, _ltjrsTrainingJobSummaries = mempty
}
ltjrsNextToken :: Lens' ListTrainingJobsResponse (Maybe Text)
ltjrsNextToken = lens _ltjrsNextToken (\ s a -> s{_ltjrsNextToken = a})
ltjrsResponseStatus :: Lens' ListTrainingJobsResponse Int
ltjrsResponseStatus = lens _ltjrsResponseStatus (\ s a -> s{_ltjrsResponseStatus = a})
ltjrsTrainingJobSummaries :: Lens' ListTrainingJobsResponse [TrainingJobSummary]
ltjrsTrainingJobSummaries = lens _ltjrsTrainingJobSummaries (\ s a -> s{_ltjrsTrainingJobSummaries = a}) . _Coerce
instance NFData ListTrainingJobsResponse where