module Network.AWS.CostAndUsageReport.DeleteReportDefinition
(
deleteReportDefinition
, DeleteReportDefinition
, drdReportName
, deleteReportDefinitionResponse
, DeleteReportDefinitionResponse
, drsResponseMessage
, drsResponseStatus
) where
import Network.AWS.CostAndUsageReport.Types
import Network.AWS.CostAndUsageReport.Types.Product
import Network.AWS.Lens
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
newtype DeleteReportDefinition = DeleteReportDefinition'
{ _drdReportName :: Maybe Text
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteReportDefinition
:: DeleteReportDefinition
deleteReportDefinition = DeleteReportDefinition' {_drdReportName = Nothing}
drdReportName :: Lens' DeleteReportDefinition (Maybe Text)
drdReportName = lens _drdReportName (\ s a -> s{_drdReportName = a});
instance AWSRequest DeleteReportDefinition where
type Rs DeleteReportDefinition =
DeleteReportDefinitionResponse
request = postJSON costAndUsageReport
response
= receiveJSON
(\ s h x ->
DeleteReportDefinitionResponse' <$>
(x .?> "ResponseMessage") <*> (pure (fromEnum s)))
instance Hashable DeleteReportDefinition where
instance NFData DeleteReportDefinition where
instance ToHeaders DeleteReportDefinition where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AWSOrigamiServiceGatewayService.DeleteReportDefinition"
:: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON DeleteReportDefinition where
toJSON DeleteReportDefinition'{..}
= object
(catMaybes [("ReportName" .=) <$> _drdReportName])
instance ToPath DeleteReportDefinition where
toPath = const "/"
instance ToQuery DeleteReportDefinition where
toQuery = const mempty
data DeleteReportDefinitionResponse = DeleteReportDefinitionResponse'
{ _drsResponseMessage :: !(Maybe Text)
, _drsResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
deleteReportDefinitionResponse
:: Int
-> DeleteReportDefinitionResponse
deleteReportDefinitionResponse pResponseStatus_ =
DeleteReportDefinitionResponse'
{_drsResponseMessage = Nothing, _drsResponseStatus = pResponseStatus_}
drsResponseMessage :: Lens' DeleteReportDefinitionResponse (Maybe Text)
drsResponseMessage = lens _drsResponseMessage (\ s a -> s{_drsResponseMessage = a});
drsResponseStatus :: Lens' DeleteReportDefinitionResponse Int
drsResponseStatus = lens _drsResponseStatus (\ s a -> s{_drsResponseStatus = a});
instance NFData DeleteReportDefinitionResponse where