module Network.AWS.MigrationHub.PutResourceAttributes
(
putResourceAttributes
, PutResourceAttributes
, praDryRun
, praProgressUpdateStream
, praMigrationTaskName
, praResourceAttributeList
, putResourceAttributesResponse
, PutResourceAttributesResponse
, prarsResponseStatus
) 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 PutResourceAttributes = PutResourceAttributes'
{ _praDryRun :: !(Maybe Bool)
, _praProgressUpdateStream :: !Text
, _praMigrationTaskName :: !Text
, _praResourceAttributeList :: !(List1 ResourceAttribute)
} deriving (Eq, Read, Show, Data, Typeable, Generic)
putResourceAttributes
:: Text
-> Text
-> NonEmpty ResourceAttribute
-> PutResourceAttributes
putResourceAttributes pProgressUpdateStream_ pMigrationTaskName_ pResourceAttributeList_ =
PutResourceAttributes'
{ _praDryRun = Nothing
, _praProgressUpdateStream = pProgressUpdateStream_
, _praMigrationTaskName = pMigrationTaskName_
, _praResourceAttributeList = _List1 # pResourceAttributeList_
}
praDryRun :: Lens' PutResourceAttributes (Maybe Bool)
praDryRun = lens _praDryRun (\ s a -> s{_praDryRun = a});
praProgressUpdateStream :: Lens' PutResourceAttributes Text
praProgressUpdateStream = lens _praProgressUpdateStream (\ s a -> s{_praProgressUpdateStream = a});
praMigrationTaskName :: Lens' PutResourceAttributes Text
praMigrationTaskName = lens _praMigrationTaskName (\ s a -> s{_praMigrationTaskName = a});
praResourceAttributeList :: Lens' PutResourceAttributes (NonEmpty ResourceAttribute)
praResourceAttributeList = lens _praResourceAttributeList (\ s a -> s{_praResourceAttributeList = a}) . _List1;
instance AWSRequest PutResourceAttributes where
type Rs PutResourceAttributes =
PutResourceAttributesResponse
request = postJSON migrationHub
response
= receiveEmpty
(\ s h x ->
PutResourceAttributesResponse' <$>
(pure (fromEnum s)))
instance Hashable PutResourceAttributes where
instance NFData PutResourceAttributes where
instance ToHeaders PutResourceAttributes where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSMigrationHub.PutResourceAttributes" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON PutResourceAttributes where
toJSON PutResourceAttributes'{..}
= object
(catMaybes
[("DryRun" .=) <$> _praDryRun,
Just
("ProgressUpdateStream" .= _praProgressUpdateStream),
Just ("MigrationTaskName" .= _praMigrationTaskName),
Just
("ResourceAttributeList" .=
_praResourceAttributeList)])
instance ToPath PutResourceAttributes where
toPath = const "/"
instance ToQuery PutResourceAttributes where
toQuery = const mempty
newtype PutResourceAttributesResponse = PutResourceAttributesResponse'
{ _prarsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
putResourceAttributesResponse
:: Int
-> PutResourceAttributesResponse
putResourceAttributesResponse pResponseStatus_ =
PutResourceAttributesResponse' {_prarsResponseStatus = pResponseStatus_}
prarsResponseStatus :: Lens' PutResourceAttributesResponse Int
prarsResponseStatus = lens _prarsResponseStatus (\ s a -> s{_prarsResponseStatus = a});
instance NFData PutResourceAttributesResponse where