module Network.AWS.ECS.DeleteService
(
deleteService
, DeleteService
, dsCluster
, dsService
, deleteServiceResponse
, DeleteServiceResponse
, dsrsService
, dsrsStatus
) where
import Network.AWS.ECS.Types
import Network.AWS.ECS.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data DeleteService = DeleteService'
{ _dsCluster :: !(Maybe Text)
, _dsService :: !Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteService
:: Text
-> DeleteService
deleteService pService_ =
DeleteService'
{ _dsCluster = Nothing
, _dsService = pService_
}
dsCluster :: Lens' DeleteService (Maybe Text)
dsCluster = lens _dsCluster (\ s a -> s{_dsCluster = a});
dsService :: Lens' DeleteService Text
dsService = lens _dsService (\ s a -> s{_dsService = a});
instance AWSRequest DeleteService where
type Sv DeleteService = ECS
type Rs DeleteService = DeleteServiceResponse
request = postJSON
response
= receiveJSON
(\ s h x ->
DeleteServiceResponse' <$>
(x .?> "service") <*> (pure (fromEnum s)))
instance ToHeaders DeleteService where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonEC2ContainerServiceV20141113.DeleteService"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteService where
toJSON DeleteService'{..}
= object
["cluster" .= _dsCluster, "service" .= _dsService]
instance ToPath DeleteService where
toPath = const "/"
instance ToQuery DeleteService where
toQuery = const mempty
data DeleteServiceResponse = DeleteServiceResponse'
{ _dsrsService :: !(Maybe ContainerService)
, _dsrsStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
deleteServiceResponse
:: Int
-> DeleteServiceResponse
deleteServiceResponse pStatus_ =
DeleteServiceResponse'
{ _dsrsService = Nothing
, _dsrsStatus = pStatus_
}
dsrsService :: Lens' DeleteServiceResponse (Maybe ContainerService)
dsrsService = lens _dsrsService (\ s a -> s{_dsrsService = a});
dsrsStatus :: Lens' DeleteServiceResponse Int
dsrsStatus = lens _dsrsStatus (\ s a -> s{_dsrsStatus = a});