{-# 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 #-} -- Derived from AWS service descriptions, licensed under Apache 2.0. -- | -- Module : Network.AWS.SMS.GetReplicationJobs -- Copyright : (c) 2013-2016 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs. module Network.AWS.SMS.GetReplicationJobs ( -- * Creating a Request getReplicationJobs , GetReplicationJobs -- * Request Lenses , grjReplicationJobId , grjNextToken , grjMaxResults -- * Destructuring the Response , getReplicationJobsResponse , GetReplicationJobsResponse -- * Response Lenses , grjrsReplicationJobList , grjrsNextToken , grjrsResponseStatus ) where import Network.AWS.Lens import Network.AWS.Prelude import Network.AWS.Request import Network.AWS.Response import Network.AWS.SMS.Types import Network.AWS.SMS.Types.Product -- | /See:/ 'getReplicationJobs' smart constructor. data GetReplicationJobs = GetReplicationJobs' { _grjReplicationJobId :: !(Maybe Text) , _grjNextToken :: !(Maybe Text) , _grjMaxResults :: !(Maybe Int) } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetReplicationJobs' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grjReplicationJobId' - Undocumented member. -- -- * 'grjNextToken' - Undocumented member. -- -- * 'grjMaxResults' - Undocumented member. getReplicationJobs :: GetReplicationJobs getReplicationJobs = GetReplicationJobs' { _grjReplicationJobId = Nothing , _grjNextToken = Nothing , _grjMaxResults = Nothing } -- | Undocumented member. grjReplicationJobId :: Lens' GetReplicationJobs (Maybe Text) grjReplicationJobId = lens _grjReplicationJobId (\ s a -> s{_grjReplicationJobId = a}); -- | Undocumented member. grjNextToken :: Lens' GetReplicationJobs (Maybe Text) grjNextToken = lens _grjNextToken (\ s a -> s{_grjNextToken = a}); -- | Undocumented member. grjMaxResults :: Lens' GetReplicationJobs (Maybe Int) grjMaxResults = lens _grjMaxResults (\ s a -> s{_grjMaxResults = a}); instance AWSRequest GetReplicationJobs where type Rs GetReplicationJobs = GetReplicationJobsResponse request = postJSON sms response = receiveJSON (\ s h x -> GetReplicationJobsResponse' <$> (x .?> "replicationJobList" .!@ mempty) <*> (x .?> "nextToken") <*> (pure (fromEnum s))) instance Hashable GetReplicationJobs instance NFData GetReplicationJobs instance ToHeaders GetReplicationJobs where toHeaders = const (mconcat ["X-Amz-Target" =# ("AWSServerMigrationService_V2016_10_24.GetReplicationJobs" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON GetReplicationJobs where toJSON GetReplicationJobs'{..} = object (catMaybes [("replicationJobId" .=) <$> _grjReplicationJobId, ("nextToken" .=) <$> _grjNextToken, ("maxResults" .=) <$> _grjMaxResults]) instance ToPath GetReplicationJobs where toPath = const "/" instance ToQuery GetReplicationJobs where toQuery = const mempty -- | /See:/ 'getReplicationJobsResponse' smart constructor. data GetReplicationJobsResponse = GetReplicationJobsResponse' { _grjrsReplicationJobList :: !(Maybe [ReplicationJob]) , _grjrsNextToken :: !(Maybe Text) , _grjrsResponseStatus :: !Int } deriving (Eq,Read,Show,Data,Typeable,Generic) -- | Creates a value of 'GetReplicationJobsResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'grjrsReplicationJobList' - Undocumented member. -- -- * 'grjrsNextToken' - Undocumented member. -- -- * 'grjrsResponseStatus' - -- | The response status code. getReplicationJobsResponse :: Int -- ^ 'grjrsResponseStatus' -> GetReplicationJobsResponse getReplicationJobsResponse pResponseStatus_ = GetReplicationJobsResponse' { _grjrsReplicationJobList = Nothing , _grjrsNextToken = Nothing , _grjrsResponseStatus = pResponseStatus_ } -- | Undocumented member. grjrsReplicationJobList :: Lens' GetReplicationJobsResponse [ReplicationJob] grjrsReplicationJobList = lens _grjrsReplicationJobList (\ s a -> s{_grjrsReplicationJobList = a}) . _Default . _Coerce; -- | Undocumented member. grjrsNextToken :: Lens' GetReplicationJobsResponse (Maybe Text) grjrsNextToken = lens _grjrsNextToken (\ s a -> s{_grjrsNextToken = a}); -- | -- | The response status code. grjrsResponseStatus :: Lens' GetReplicationJobsResponse Int grjrsResponseStatus = lens _grjrsResponseStatus (\ s a -> s{_grjrsResponseStatus = a}); instance NFData GetReplicationJobsResponse