{-# 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.AssociateCreatedArtifact
(
associateCreatedArtifact
, AssociateCreatedArtifact
, acaDryRun
, acaProgressUpdateStream
, acaMigrationTaskName
, acaCreatedArtifact
, associateCreatedArtifactResponse
, AssociateCreatedArtifactResponse
, acarsResponseStatus
) 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 AssociateCreatedArtifact = AssociateCreatedArtifact'
{ _acaDryRun :: !(Maybe Bool)
, _acaProgressUpdateStream :: !Text
, _acaMigrationTaskName :: !Text
, _acaCreatedArtifact :: !CreatedArtifact
} deriving (Eq, Read, Show, Data, Typeable, Generic)
associateCreatedArtifact
:: Text
-> Text
-> CreatedArtifact
-> AssociateCreatedArtifact
associateCreatedArtifact pProgressUpdateStream_ pMigrationTaskName_ pCreatedArtifact_ =
AssociateCreatedArtifact'
{ _acaDryRun = Nothing
, _acaProgressUpdateStream = pProgressUpdateStream_
, _acaMigrationTaskName = pMigrationTaskName_
, _acaCreatedArtifact = pCreatedArtifact_
}
acaDryRun :: Lens' AssociateCreatedArtifact (Maybe Bool)
acaDryRun = lens _acaDryRun (\ s a -> s{_acaDryRun = a})
acaProgressUpdateStream :: Lens' AssociateCreatedArtifact Text
acaProgressUpdateStream = lens _acaProgressUpdateStream (\ s a -> s{_acaProgressUpdateStream = a})
acaMigrationTaskName :: Lens' AssociateCreatedArtifact Text
acaMigrationTaskName = lens _acaMigrationTaskName (\ s a -> s{_acaMigrationTaskName = a})
acaCreatedArtifact :: Lens' AssociateCreatedArtifact CreatedArtifact
acaCreatedArtifact = lens _acaCreatedArtifact (\ s a -> s{_acaCreatedArtifact = a})
instance AWSRequest AssociateCreatedArtifact where
type Rs AssociateCreatedArtifact =
AssociateCreatedArtifactResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
AssociateCreatedArtifactResponse' <$>
(pure (fromEnum s)))
instance Hashable AssociateCreatedArtifact where
instance NFData AssociateCreatedArtifact where
instance ToHeaders AssociateCreatedArtifact where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.AssociateCreatedArtifact" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AssociateCreatedArtifact where
toJSON AssociateCreatedArtifact'{..}
= object
(catMaybes
[("DryRun" .=) <$> _acaDryRun,
Just
("ProgressUpdateStream" .= _acaProgressUpdateStream),
Just ("MigrationTaskName" .= _acaMigrationTaskName),
Just ("CreatedArtifact" .= _acaCreatedArtifact)])
instance ToPath AssociateCreatedArtifact where
toPath = const "/"
instance ToQuery AssociateCreatedArtifact where
toQuery = const mempty
newtype AssociateCreatedArtifactResponse = AssociateCreatedArtifactResponse'
{ _acarsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
associateCreatedArtifactResponse
:: Int
-> AssociateCreatedArtifactResponse
associateCreatedArtifactResponse pResponseStatus_ =
AssociateCreatedArtifactResponse' {_acarsResponseStatus = pResponseStatus_}
acarsResponseStatus :: Lens' AssociateCreatedArtifactResponse Int
acarsResponseStatus = lens _acarsResponseStatus (\ s a -> s{_acarsResponseStatus = a})
instance NFData AssociateCreatedArtifactResponse
where