amazonka-migrationhub-1.5.0: gen/Network/AWS/MigrationHub/AssociateDiscoveredResource.hs
{-# 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.MigrationHub.AssociateDiscoveredResource
-- Copyright : (c) 2013-2017 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Associates a discovered resource ID from Application Discovery Service (ADS) with a migration task.
--
--
module Network.AWS.MigrationHub.AssociateDiscoveredResource
(
-- * Creating a Request
associateDiscoveredResource
, AssociateDiscoveredResource
-- * Request Lenses
, adrDryRun
, adrProgressUpdateStream
, adrMigrationTaskName
, adrDiscoveredResource
-- * Destructuring the Response
, associateDiscoveredResourceResponse
, AssociateDiscoveredResourceResponse
-- * Response Lenses
, adrrsResponseStatus
) 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
-- | /See:/ 'associateDiscoveredResource' smart constructor.
data AssociateDiscoveredResource = AssociateDiscoveredResource'
{ _adrDryRun :: !(Maybe Bool)
, _adrProgressUpdateStream :: !Text
, _adrMigrationTaskName :: !Text
, _adrDiscoveredResource :: !DiscoveredResource
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'AssociateDiscoveredResource' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'adrDryRun' - Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.
--
-- * 'adrProgressUpdateStream' - The name of the ProgressUpdateStream.
--
-- * 'adrMigrationTaskName' - The identifier given to the MigrationTask.
--
-- * 'adrDiscoveredResource' - Object representing a Resource.
associateDiscoveredResource
:: Text -- ^ 'adrProgressUpdateStream'
-> Text -- ^ 'adrMigrationTaskName'
-> DiscoveredResource -- ^ 'adrDiscoveredResource'
-> AssociateDiscoveredResource
associateDiscoveredResource pProgressUpdateStream_ pMigrationTaskName_ pDiscoveredResource_ =
AssociateDiscoveredResource'
{ _adrDryRun = Nothing
, _adrProgressUpdateStream = pProgressUpdateStream_
, _adrMigrationTaskName = pMigrationTaskName_
, _adrDiscoveredResource = pDiscoveredResource_
}
-- | Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call.
adrDryRun :: Lens' AssociateDiscoveredResource (Maybe Bool)
adrDryRun = lens _adrDryRun (\ s a -> s{_adrDryRun = a});
-- | The name of the ProgressUpdateStream.
adrProgressUpdateStream :: Lens' AssociateDiscoveredResource Text
adrProgressUpdateStream = lens _adrProgressUpdateStream (\ s a -> s{_adrProgressUpdateStream = a});
-- | The identifier given to the MigrationTask.
adrMigrationTaskName :: Lens' AssociateDiscoveredResource Text
adrMigrationTaskName = lens _adrMigrationTaskName (\ s a -> s{_adrMigrationTaskName = a});
-- | Object representing a Resource.
adrDiscoveredResource :: Lens' AssociateDiscoveredResource DiscoveredResource
adrDiscoveredResource = lens _adrDiscoveredResource (\ s a -> s{_adrDiscoveredResource = a});
instance AWSRequest AssociateDiscoveredResource where
type Rs AssociateDiscoveredResource =
AssociateDiscoveredResourceResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
AssociateDiscoveredResourceResponse' <$>
(pure (fromEnum s)))
instance Hashable AssociateDiscoveredResource where
instance NFData AssociateDiscoveredResource where
instance ToHeaders AssociateDiscoveredResource where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.AssociateDiscoveredResource" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON AssociateDiscoveredResource where
toJSON AssociateDiscoveredResource'{..}
= object
(catMaybes
[("DryRun" .=) <$> _adrDryRun,
Just
("ProgressUpdateStream" .= _adrProgressUpdateStream),
Just ("MigrationTaskName" .= _adrMigrationTaskName),
Just
("DiscoveredResource" .= _adrDiscoveredResource)])
instance ToPath AssociateDiscoveredResource where
toPath = const "/"
instance ToQuery AssociateDiscoveredResource where
toQuery = const mempty
-- | /See:/ 'associateDiscoveredResourceResponse' smart constructor.
newtype AssociateDiscoveredResourceResponse = AssociateDiscoveredResourceResponse'
{ _adrrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
-- | Creates a value of 'AssociateDiscoveredResourceResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'adrrsResponseStatus' - -- | The response status code.
associateDiscoveredResourceResponse
:: Int -- ^ 'adrrsResponseStatus'
-> AssociateDiscoveredResourceResponse
associateDiscoveredResourceResponse pResponseStatus_ =
AssociateDiscoveredResourceResponse' {_adrrsResponseStatus = pResponseStatus_}
-- | -- | The response status code.
adrrsResponseStatus :: Lens' AssociateDiscoveredResourceResponse Int
adrrsResponseStatus = lens _adrrsResponseStatus (\ s a -> s{_adrrsResponseStatus = a});
instance NFData AssociateDiscoveredResourceResponse
where