{-# 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.DisassociateDiscoveredResource -- Copyright : (c) 2013-2018 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Disassociate an Application Discovery Service (ADS) discovered resource from a migration task. -- -- module Network.AWS.MigrationHub.DisassociateDiscoveredResource ( -- * Creating a Request disassociateDiscoveredResource , DisassociateDiscoveredResource -- * Request Lenses , ddrDryRun , ddrProgressUpdateStream , ddrMigrationTaskName , ddrConfigurationId -- * Destructuring the Response , disassociateDiscoveredResourceResponse , DisassociateDiscoveredResourceResponse -- * Response Lenses , ddrrsResponseStatus ) 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:/ 'disassociateDiscoveredResource' smart constructor. data DisassociateDiscoveredResource = DisassociateDiscoveredResource' { _ddrDryRun :: !(Maybe Bool) , _ddrProgressUpdateStream :: !Text , _ddrMigrationTaskName :: !Text , _ddrConfigurationId :: !Text } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DisassociateDiscoveredResource' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ddrDryRun' - Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call. -- -- * 'ddrProgressUpdateStream' - The name of the ProgressUpdateStream. -- -- * 'ddrMigrationTaskName' - The identifier given to the MigrationTask. -- -- * 'ddrConfigurationId' - ConfigurationId of the ADS resource to be disassociated. disassociateDiscoveredResource :: Text -- ^ 'ddrProgressUpdateStream' -> Text -- ^ 'ddrMigrationTaskName' -> Text -- ^ 'ddrConfigurationId' -> DisassociateDiscoveredResource disassociateDiscoveredResource pProgressUpdateStream_ pMigrationTaskName_ pConfigurationId_ = DisassociateDiscoveredResource' { _ddrDryRun = Nothing , _ddrProgressUpdateStream = pProgressUpdateStream_ , _ddrMigrationTaskName = pMigrationTaskName_ , _ddrConfigurationId = pConfigurationId_ } -- | Optional boolean flag to indicate whether any effect should take place. Used to test if the caller has permission to make the call. ddrDryRun :: Lens' DisassociateDiscoveredResource (Maybe Bool) ddrDryRun = lens _ddrDryRun (\ s a -> s{_ddrDryRun = a}) -- | The name of the ProgressUpdateStream. ddrProgressUpdateStream :: Lens' DisassociateDiscoveredResource Text ddrProgressUpdateStream = lens _ddrProgressUpdateStream (\ s a -> s{_ddrProgressUpdateStream = a}) -- | The identifier given to the MigrationTask. ddrMigrationTaskName :: Lens' DisassociateDiscoveredResource Text ddrMigrationTaskName = lens _ddrMigrationTaskName (\ s a -> s{_ddrMigrationTaskName = a}) -- | ConfigurationId of the ADS resource to be disassociated. ddrConfigurationId :: Lens' DisassociateDiscoveredResource Text ddrConfigurationId = lens _ddrConfigurationId (\ s a -> s{_ddrConfigurationId = a}) instance AWSRequest DisassociateDiscoveredResource where type Rs DisassociateDiscoveredResource = DisassociateDiscoveredResourceResponse request = postJSON migrationHub response = receiveEmpty (\ s h x -> DisassociateDiscoveredResourceResponse' <$> (pure (fromEnum s))) instance Hashable DisassociateDiscoveredResource where instance NFData DisassociateDiscoveredResource where instance ToHeaders DisassociateDiscoveredResource where toHeaders = const (mconcat ["X-Amz-Target" =# ("AWSMigrationHub.DisassociateDiscoveredResource" :: ByteString), "Content-Type" =# ("application/x-amz-json-1.1" :: ByteString)]) instance ToJSON DisassociateDiscoveredResource where toJSON DisassociateDiscoveredResource'{..} = object (catMaybes [("DryRun" .=) <$> _ddrDryRun, Just ("ProgressUpdateStream" .= _ddrProgressUpdateStream), Just ("MigrationTaskName" .= _ddrMigrationTaskName), Just ("ConfigurationId" .= _ddrConfigurationId)]) instance ToPath DisassociateDiscoveredResource where toPath = const "/" instance ToQuery DisassociateDiscoveredResource where toQuery = const mempty -- | /See:/ 'disassociateDiscoveredResourceResponse' smart constructor. newtype DisassociateDiscoveredResourceResponse = DisassociateDiscoveredResourceResponse' { _ddrrsResponseStatus :: Int } deriving (Eq, Read, Show, Data, Typeable, Generic) -- | Creates a value of 'DisassociateDiscoveredResourceResponse' with the minimum fields required to make a request. -- -- Use one of the following lenses to modify other fields as desired: -- -- * 'ddrrsResponseStatus' - -- | The response status code. disassociateDiscoveredResourceResponse :: Int -- ^ 'ddrrsResponseStatus' -> DisassociateDiscoveredResourceResponse disassociateDiscoveredResourceResponse pResponseStatus_ = DisassociateDiscoveredResourceResponse' {_ddrrsResponseStatus = pResponseStatus_} -- | -- | The response status code. ddrrsResponseStatus :: Lens' DisassociateDiscoveredResourceResponse Int ddrrsResponseStatus = lens _ddrrsResponseStatus (\ s a -> s{_ddrrsResponseStatus = a}) instance NFData DisassociateDiscoveredResourceResponse where