{-# 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.Batch.UpdateComputeEnvironment
(
updateComputeEnvironment
, UpdateComputeEnvironment
, uceState
, uceComputeResources
, uceServiceRole
, uceComputeEnvironment
, updateComputeEnvironmentResponse
, UpdateComputeEnvironmentResponse
, ucersComputeEnvironmentName
, ucersComputeEnvironmentARN
, ucersResponseStatus
) where
import Network.AWS.Batch.Types
import Network.AWS.Batch.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data UpdateComputeEnvironment = UpdateComputeEnvironment'
{ _uceState :: !(Maybe CEState)
, _uceComputeResources :: !(Maybe ComputeResourceUpdate)
, _uceServiceRole :: !(Maybe Text)
, _uceComputeEnvironment :: !Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateComputeEnvironment
:: Text
-> UpdateComputeEnvironment
updateComputeEnvironment pComputeEnvironment_ =
UpdateComputeEnvironment'
{ _uceState = Nothing
, _uceComputeResources = Nothing
, _uceServiceRole = Nothing
, _uceComputeEnvironment = pComputeEnvironment_
}
uceState :: Lens' UpdateComputeEnvironment (Maybe CEState)
uceState = lens _uceState (\ s a -> s{_uceState = a})
uceComputeResources :: Lens' UpdateComputeEnvironment (Maybe ComputeResourceUpdate)
uceComputeResources = lens _uceComputeResources (\ s a -> s{_uceComputeResources = a})
uceServiceRole :: Lens' UpdateComputeEnvironment (Maybe Text)
uceServiceRole = lens _uceServiceRole (\ s a -> s{_uceServiceRole = a})
uceComputeEnvironment :: Lens' UpdateComputeEnvironment Text
uceComputeEnvironment = lens _uceComputeEnvironment (\ s a -> s{_uceComputeEnvironment = a})
instance AWSRequest UpdateComputeEnvironment where
type Rs UpdateComputeEnvironment =
UpdateComputeEnvironmentResponse
request = postJSON batch
response
= receiveJSON
(\ s h x ->
UpdateComputeEnvironmentResponse' <$>
(x .?> "computeEnvironmentName") <*>
(x .?> "computeEnvironmentArn")
<*> (pure (fromEnum s)))
instance Hashable UpdateComputeEnvironment where
instance NFData UpdateComputeEnvironment where
instance ToHeaders UpdateComputeEnvironment where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON UpdateComputeEnvironment where
toJSON UpdateComputeEnvironment'{..}
= object
(catMaybes
[("state" .=) <$> _uceState,
("computeResources" .=) <$> _uceComputeResources,
("serviceRole" .=) <$> _uceServiceRole,
Just
("computeEnvironment" .= _uceComputeEnvironment)])
instance ToPath UpdateComputeEnvironment where
toPath = const "/v1/updatecomputeenvironment"
instance ToQuery UpdateComputeEnvironment where
toQuery = const mempty
data UpdateComputeEnvironmentResponse = UpdateComputeEnvironmentResponse'
{ _ucersComputeEnvironmentName :: !(Maybe Text)
, _ucersComputeEnvironmentARN :: !(Maybe Text)
, _ucersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
updateComputeEnvironmentResponse
:: Int
-> UpdateComputeEnvironmentResponse
updateComputeEnvironmentResponse pResponseStatus_ =
UpdateComputeEnvironmentResponse'
{ _ucersComputeEnvironmentName = Nothing
, _ucersComputeEnvironmentARN = Nothing
, _ucersResponseStatus = pResponseStatus_
}
ucersComputeEnvironmentName :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
ucersComputeEnvironmentName = lens _ucersComputeEnvironmentName (\ s a -> s{_ucersComputeEnvironmentName = a})
ucersComputeEnvironmentARN :: Lens' UpdateComputeEnvironmentResponse (Maybe Text)
ucersComputeEnvironmentARN = lens _ucersComputeEnvironmentARN (\ s a -> s{_ucersComputeEnvironmentARN = a})
ucersResponseStatus :: Lens' UpdateComputeEnvironmentResponse Int
ucersResponseStatus = lens _ucersResponseStatus (\ s a -> s{_ucersResponseStatus = a})
instance NFData UpdateComputeEnvironmentResponse
where