{-# 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.Snowball.UpdateJob
(
updateJob
, UpdateJob
, ujNotification
, ujForwardingAddressId
, ujAddressId
, ujShippingOption
, ujResources
, ujDescription
, ujRoleARN
, ujSnowballCapacityPreference
, ujJobId
, updateJobResponse
, UpdateJobResponse
, ujrsResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
import Network.AWS.Snowball.Types
import Network.AWS.Snowball.Types.Product
data UpdateJob = UpdateJob'
{ _ujNotification :: !(Maybe Notification)
, _ujForwardingAddressId :: !(Maybe Text)
, _ujAddressId :: !(Maybe Text)
, _ujShippingOption :: !(Maybe ShippingOption)
, _ujResources :: !(Maybe JobResource)
, _ujDescription :: !(Maybe Text)
, _ujRoleARN :: !(Maybe Text)
, _ujSnowballCapacityPreference :: !(Maybe SnowballCapacity)
, _ujJobId :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateJob
:: Text
-> UpdateJob
updateJob pJobId_ =
UpdateJob'
{ _ujNotification = Nothing
, _ujForwardingAddressId = Nothing
, _ujAddressId = Nothing
, _ujShippingOption = Nothing
, _ujResources = Nothing
, _ujDescription = Nothing
, _ujRoleARN = Nothing
, _ujSnowballCapacityPreference = Nothing
, _ujJobId = pJobId_
}
ujNotification :: Lens' UpdateJob (Maybe Notification)
ujNotification = lens _ujNotification (\ s a -> s{_ujNotification = a})
ujForwardingAddressId :: Lens' UpdateJob (Maybe Text)
ujForwardingAddressId = lens _ujForwardingAddressId (\ s a -> s{_ujForwardingAddressId = a})
ujAddressId :: Lens' UpdateJob (Maybe Text)
ujAddressId = lens _ujAddressId (\ s a -> s{_ujAddressId = a})
ujShippingOption :: Lens' UpdateJob (Maybe ShippingOption)
ujShippingOption = lens _ujShippingOption (\ s a -> s{_ujShippingOption = a})
ujResources :: Lens' UpdateJob (Maybe JobResource)
ujResources = lens _ujResources (\ s a -> s{_ujResources = a})
ujDescription :: Lens' UpdateJob (Maybe Text)
ujDescription = lens _ujDescription (\ s a -> s{_ujDescription = a})
ujRoleARN :: Lens' UpdateJob (Maybe Text)
ujRoleARN = lens _ujRoleARN (\ s a -> s{_ujRoleARN = a})
ujSnowballCapacityPreference :: Lens' UpdateJob (Maybe SnowballCapacity)
ujSnowballCapacityPreference = lens _ujSnowballCapacityPreference (\ s a -> s{_ujSnowballCapacityPreference = a})
ujJobId :: Lens' UpdateJob Text
ujJobId = lens _ujJobId (\ s a -> s{_ujJobId = a})
instance AWSRequest UpdateJob where
type Rs UpdateJob = UpdateJobResponse
request = postJSON snowball
response
= receiveEmpty
(\ s h x ->
UpdateJobResponse' <$> (pure (fromEnum s)))
instance Hashable UpdateJob where
instance NFData UpdateJob where
instance ToHeaders UpdateJob where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSIESnowballJobManagementService.UpdateJob" ::
ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateJob where
toJSON UpdateJob'{..}
= object
(catMaybes
[("Notification" .=) <$> _ujNotification,
("ForwardingAddressId" .=) <$>
_ujForwardingAddressId,
("AddressId" .=) <$> _ujAddressId,
("ShippingOption" .=) <$> _ujShippingOption,
("Resources" .=) <$> _ujResources,
("Description" .=) <$> _ujDescription,
("RoleARN" .=) <$> _ujRoleARN,
("SnowballCapacityPreference" .=) <$>
_ujSnowballCapacityPreference,
Just ("JobId" .= _ujJobId)])
instance ToPath UpdateJob where
toPath = const "/"
instance ToQuery UpdateJob where
toQuery = const mempty
newtype UpdateJobResponse = UpdateJobResponse'
{ _ujrsResponseStatus :: Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateJobResponse
:: Int
-> UpdateJobResponse
updateJobResponse pResponseStatus_ =
UpdateJobResponse' {_ujrsResponseStatus = pResponseStatus_}
ujrsResponseStatus :: Lens' UpdateJobResponse Int
ujrsResponseStatus = lens _ujrsResponseStatus (\ s a -> s{_ujrsResponseStatus = a})
instance NFData UpdateJobResponse where