module Network.AWS.LexModels.GetExport
(
getExport
, GetExport
, geName
, geVersion
, geResourceType
, geExportType
, getExportResponse
, GetExportResponse
, gersFailureReason
, gersResourceType
, gersExportStatus
, gersUrl
, gersExportType
, gersName
, gersVersion
, gersResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.LexModels.Types
import Network.AWS.LexModels.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
data GetExport = GetExport'
{ _geName :: !Text
, _geVersion :: !Text
, _geResourceType :: !ResourceType
, _geExportType :: !ExportType
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getExport
:: Text
-> Text
-> ResourceType
-> ExportType
-> GetExport
getExport pName_ pVersion_ pResourceType_ pExportType_ =
GetExport'
{ _geName = pName_
, _geVersion = pVersion_
, _geResourceType = pResourceType_
, _geExportType = pExportType_
}
geName :: Lens' GetExport Text
geName = lens _geName (\ s a -> s{_geName = a});
geVersion :: Lens' GetExport Text
geVersion = lens _geVersion (\ s a -> s{_geVersion = a});
geResourceType :: Lens' GetExport ResourceType
geResourceType = lens _geResourceType (\ s a -> s{_geResourceType = a});
geExportType :: Lens' GetExport ExportType
geExportType = lens _geExportType (\ s a -> s{_geExportType = a});
instance AWSRequest GetExport where
type Rs GetExport = GetExportResponse
request = get lexModels
response
= receiveJSON
(\ s h x ->
GetExportResponse' <$>
(x .?> "failureReason") <*> (x .?> "resourceType")
<*> (x .?> "exportStatus")
<*> (x .?> "url")
<*> (x .?> "exportType")
<*> (x .?> "name")
<*> (x .?> "version")
<*> (pure (fromEnum s)))
instance Hashable GetExport where
instance NFData GetExport where
instance ToHeaders GetExport where
toHeaders
= const
(mconcat
["Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToPath GetExport where
toPath = const "/exports/"
instance ToQuery GetExport where
toQuery GetExport'{..}
= mconcat
["name" =: _geName, "version" =: _geVersion,
"resourceType" =: _geResourceType,
"exportType" =: _geExportType]
data GetExportResponse = GetExportResponse'
{ _gersFailureReason :: !(Maybe Text)
, _gersResourceType :: !(Maybe ResourceType)
, _gersExportStatus :: !(Maybe ExportStatus)
, _gersUrl :: !(Maybe Text)
, _gersExportType :: !(Maybe ExportType)
, _gersName :: !(Maybe Text)
, _gersVersion :: !(Maybe Text)
, _gersResponseStatus :: !Int
} deriving (Eq, Read, Show, Data, Typeable, Generic)
getExportResponse
:: Int
-> GetExportResponse
getExportResponse pResponseStatus_ =
GetExportResponse'
{ _gersFailureReason = Nothing
, _gersResourceType = Nothing
, _gersExportStatus = Nothing
, _gersUrl = Nothing
, _gersExportType = Nothing
, _gersName = Nothing
, _gersVersion = Nothing
, _gersResponseStatus = pResponseStatus_
}
gersFailureReason :: Lens' GetExportResponse (Maybe Text)
gersFailureReason = lens _gersFailureReason (\ s a -> s{_gersFailureReason = a});
gersResourceType :: Lens' GetExportResponse (Maybe ResourceType)
gersResourceType = lens _gersResourceType (\ s a -> s{_gersResourceType = a});
gersExportStatus :: Lens' GetExportResponse (Maybe ExportStatus)
gersExportStatus = lens _gersExportStatus (\ s a -> s{_gersExportStatus = a});
gersUrl :: Lens' GetExportResponse (Maybe Text)
gersUrl = lens _gersUrl (\ s a -> s{_gersUrl = a});
gersExportType :: Lens' GetExportResponse (Maybe ExportType)
gersExportType = lens _gersExportType (\ s a -> s{_gersExportType = a});
gersName :: Lens' GetExportResponse (Maybe Text)
gersName = lens _gersName (\ s a -> s{_gersName = a});
gersVersion :: Lens' GetExportResponse (Maybe Text)
gersVersion = lens _gersVersion (\ s a -> s{_gersVersion = a});
gersResponseStatus :: Lens' GetExportResponse Int
gersResponseStatus = lens _gersResponseStatus (\ s a -> s{_gersResponseStatus = a});
instance NFData GetExportResponse where