{-# 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.MigrationHub.ListCreatedArtifacts
(
listCreatedArtifacts
, ListCreatedArtifacts
, lcaNextToken
, lcaMaxResults
, lcaProgressUpdateStream
, lcaMigrationTaskName
, listCreatedArtifactsResponse
, ListCreatedArtifactsResponse
, lcarsNextToken
, lcarsCreatedArtifactList
, lcarsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MigrationHub.Types
import Network.AWS.MigrationHub.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data ListCreatedArtifacts = ListCreatedArtifacts'
{ _lcaNextToken :: !(Maybe Text)
, _lcaMaxResults :: !(Maybe Nat)
, _lcaProgressUpdateStream :: !Text
, _lcaMigrationTaskName :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCreatedArtifacts
:: Text
-> Text
-> ListCreatedArtifacts
listCreatedArtifacts pProgressUpdateStream_ pMigrationTaskName_ =
ListCreatedArtifacts'
{ _lcaNextToken = Nothing
, _lcaMaxResults = Nothing
, _lcaProgressUpdateStream = pProgressUpdateStream_
, _lcaMigrationTaskName = pMigrationTaskName_
}
lcaNextToken :: Lens' ListCreatedArtifacts (Maybe Text)
lcaNextToken = lens _lcaNextToken (\ s a -> s{_lcaNextToken = a})
lcaMaxResults :: Lens' ListCreatedArtifacts (Maybe Natural)
lcaMaxResults = lens _lcaMaxResults (\ s a -> s{_lcaMaxResults = a}) . mapping _Nat
lcaProgressUpdateStream :: Lens' ListCreatedArtifacts Text
lcaProgressUpdateStream = lens _lcaProgressUpdateStream (\ s a -> s{_lcaProgressUpdateStream = a})
lcaMigrationTaskName :: Lens' ListCreatedArtifacts Text
lcaMigrationTaskName = lens _lcaMigrationTaskName (\ s a -> s{_lcaMigrationTaskName = a})
instance AWSRequest ListCreatedArtifacts where
type Rs ListCreatedArtifacts =
ListCreatedArtifactsResponse
request = postJSON migrationHub
response
= receiveJSON
(\ s h x ->
ListCreatedArtifactsResponse' <$>
(x .?> "NextToken") <*>
(x .?> "CreatedArtifactList" .!@ mempty)
<*> (pure (fromEnum s)))
instance Hashable ListCreatedArtifacts where
instance NFData ListCreatedArtifacts where
instance ToHeaders ListCreatedArtifacts where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.ListCreatedArtifacts" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON ListCreatedArtifacts where
toJSON ListCreatedArtifacts'{..}
= object
(catMaybes
[("NextToken" .=) <$> _lcaNextToken,
("MaxResults" .=) <$> _lcaMaxResults,
Just
("ProgressUpdateStream" .= _lcaProgressUpdateStream),
Just ("MigrationTaskName" .= _lcaMigrationTaskName)])
instance ToPath ListCreatedArtifacts where
toPath = const "/"
instance ToQuery ListCreatedArtifacts where
toQuery = const mempty
data ListCreatedArtifactsResponse = ListCreatedArtifactsResponse'
{ _lcarsNextToken :: !(Maybe Text)
, _lcarsCreatedArtifactList :: !(Maybe [CreatedArtifact])
, _lcarsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
listCreatedArtifactsResponse
:: Int
-> ListCreatedArtifactsResponse
listCreatedArtifactsResponse pResponseStatus_ =
ListCreatedArtifactsResponse'
{ _lcarsNextToken = Nothing
, _lcarsCreatedArtifactList = Nothing
, _lcarsResponseStatus = pResponseStatus_
}
lcarsNextToken :: Lens' ListCreatedArtifactsResponse (Maybe Text)
lcarsNextToken = lens _lcarsNextToken (\ s a -> s{_lcarsNextToken = a})
lcarsCreatedArtifactList :: Lens' ListCreatedArtifactsResponse [CreatedArtifact]
lcarsCreatedArtifactList = lens _lcarsCreatedArtifactList (\ s a -> s{_lcarsCreatedArtifactList = a}) . _Default . _Coerce
lcarsResponseStatus :: Lens' ListCreatedArtifactsResponse Int
lcarsResponseStatus = lens _lcarsResponseStatus (\ s a -> s{_lcarsResponseStatus = a})
instance NFData ListCreatedArtifactsResponse where