amazonka-ml-1.4.4: gen/Network/AWS/MachineLearning/GetEvaluation.hs
{-# 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 #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Network.AWS.MachineLearning.GetEvaluation
-- Copyright : (c) 2013-2016 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay <brendan.g.hay@gmail.com>
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns an 'Evaluation' that includes metadata as well as the current status of the 'Evaluation'.
module Network.AWS.MachineLearning.GetEvaluation
(
-- * Creating a Request
getEvaluation
, GetEvaluation
-- * Request Lenses
, geEvaluationId
-- * Destructuring the Response
, getEvaluationResponse
, GetEvaluationResponse
-- * Response Lenses
, gersStatus
, gersPerformanceMetrics
, gersLastUpdatedAt
, gersCreatedAt
, gersComputeTime
, gersInputDataLocationS3
, gersMLModelId
, gersStartedAt
, gersFinishedAt
, gersCreatedByIAMUser
, gersName
, gersLogURI
, gersEvaluationId
, gersMessage
, gersEvaluationDataSourceId
, gersResponseStatus
) where
import Network.AWS.Lens
import Network.AWS.MachineLearning.Types
import Network.AWS.MachineLearning.Types.Product
import Network.AWS.Prelude
import Network.AWS.Request
import Network.AWS.Response
-- | /See:/ 'getEvaluation' smart constructor.
newtype GetEvaluation = GetEvaluation'
{ _geEvaluationId :: Text
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'GetEvaluation' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'geEvaluationId'
getEvaluation
:: Text -- ^ 'geEvaluationId'
-> GetEvaluation
getEvaluation pEvaluationId_ =
GetEvaluation'
{ _geEvaluationId = pEvaluationId_
}
-- | The ID of the 'Evaluation' to retrieve. The evaluation of each 'MLModel' is recorded and cataloged. The ID provides the means to access the information.
geEvaluationId :: Lens' GetEvaluation Text
geEvaluationId = lens _geEvaluationId (\ s a -> s{_geEvaluationId = a});
instance AWSRequest GetEvaluation where
type Rs GetEvaluation = GetEvaluationResponse
request = postJSON machineLearning
response
= receiveJSON
(\ s h x ->
GetEvaluationResponse' <$>
(x .?> "Status") <*> (x .?> "PerformanceMetrics") <*>
(x .?> "LastUpdatedAt")
<*> (x .?> "CreatedAt")
<*> (x .?> "ComputeTime")
<*> (x .?> "InputDataLocationS3")
<*> (x .?> "MLModelId")
<*> (x .?> "StartedAt")
<*> (x .?> "FinishedAt")
<*> (x .?> "CreatedByIamUser")
<*> (x .?> "Name")
<*> (x .?> "LogUri")
<*> (x .?> "EvaluationId")
<*> (x .?> "Message")
<*> (x .?> "EvaluationDataSourceId")
<*> (pure (fromEnum s)))
instance Hashable GetEvaluation
instance NFData GetEvaluation
instance ToHeaders GetEvaluation where
toHeaders
= const
(mconcat
["X-Amz-Target" =#
("AmazonML_20141212.GetEvaluation" :: ByteString),
"Content-Type" =#
("application/x-amz-json-1.1" :: ByteString)])
instance ToJSON GetEvaluation where
toJSON GetEvaluation'{..}
= object
(catMaybes
[Just ("EvaluationId" .= _geEvaluationId)])
instance ToPath GetEvaluation where
toPath = const "/"
instance ToQuery GetEvaluation where
toQuery = const mempty
-- | Represents the output of a 'GetEvaluation' operation and describes an 'Evaluation'.
--
-- /See:/ 'getEvaluationResponse' smart constructor.
data GetEvaluationResponse = GetEvaluationResponse'
{ _gersStatus :: !(Maybe EntityStatus)
, _gersPerformanceMetrics :: !(Maybe PerformanceMetrics)
, _gersLastUpdatedAt :: !(Maybe POSIX)
, _gersCreatedAt :: !(Maybe POSIX)
, _gersComputeTime :: !(Maybe Integer)
, _gersInputDataLocationS3 :: !(Maybe Text)
, _gersMLModelId :: !(Maybe Text)
, _gersStartedAt :: !(Maybe POSIX)
, _gersFinishedAt :: !(Maybe POSIX)
, _gersCreatedByIAMUser :: !(Maybe Text)
, _gersName :: !(Maybe Text)
, _gersLogURI :: !(Maybe Text)
, _gersEvaluationId :: !(Maybe Text)
, _gersMessage :: !(Maybe Text)
, _gersEvaluationDataSourceId :: !(Maybe Text)
, _gersResponseStatus :: !Int
} deriving (Eq,Read,Show,Data,Typeable,Generic)
-- | Creates a value of 'GetEvaluationResponse' with the minimum fields required to make a request.
--
-- Use one of the following lenses to modify other fields as desired:
--
-- * 'gersStatus'
--
-- * 'gersPerformanceMetrics'
--
-- * 'gersLastUpdatedAt'
--
-- * 'gersCreatedAt'
--
-- * 'gersComputeTime'
--
-- * 'gersInputDataLocationS3'
--
-- * 'gersMLModelId'
--
-- * 'gersStartedAt'
--
-- * 'gersFinishedAt'
--
-- * 'gersCreatedByIAMUser'
--
-- * 'gersName'
--
-- * 'gersLogURI'
--
-- * 'gersEvaluationId'
--
-- * 'gersMessage'
--
-- * 'gersEvaluationDataSourceId'
--
-- * 'gersResponseStatus'
getEvaluationResponse
:: Int -- ^ 'gersResponseStatus'
-> GetEvaluationResponse
getEvaluationResponse pResponseStatus_ =
GetEvaluationResponse'
{ _gersStatus = Nothing
, _gersPerformanceMetrics = Nothing
, _gersLastUpdatedAt = Nothing
, _gersCreatedAt = Nothing
, _gersComputeTime = Nothing
, _gersInputDataLocationS3 = Nothing
, _gersMLModelId = Nothing
, _gersStartedAt = Nothing
, _gersFinishedAt = Nothing
, _gersCreatedByIAMUser = Nothing
, _gersName = Nothing
, _gersLogURI = Nothing
, _gersEvaluationId = Nothing
, _gersMessage = Nothing
, _gersEvaluationDataSourceId = Nothing
, _gersResponseStatus = pResponseStatus_
}
-- | The status of the evaluation. This element can have one of the following values:
--
-- - 'PENDING' - Amazon Machine Language (Amazon ML) submitted a request to evaluate an 'MLModel'.
-- - 'INPROGRESS' - The evaluation is underway.
-- - 'FAILED' - The request to evaluate an 'MLModel' did not run to completion. It is not usable.
-- - 'COMPLETED' - The evaluation process completed successfully.
-- - 'DELETED' - The 'Evaluation' is marked as deleted. It is not usable.
gersStatus :: Lens' GetEvaluationResponse (Maybe EntityStatus)
gersStatus = lens _gersStatus (\ s a -> s{_gersStatus = a});
-- | Measurements of how well the 'MLModel' performed using observations referenced by the 'DataSource'. One of the following metric is returned based on the type of the 'MLModel':
--
-- - BinaryAUC: A binary 'MLModel' uses the Area Under the Curve (AUC) technique to measure performance.
--
-- - RegressionRMSE: A regression 'MLModel' uses the Root Mean Square Error (RMSE) technique to measure performance. RMSE measures the difference between predicted and actual values for a single variable.
--
-- - MulticlassAvgFScore: A multiclass 'MLModel' uses the F1 score technique to measure performance.
--
-- For more information about performance metrics, please see the <http://docs.aws.amazon.com/machine-learning/latest/dg Amazon Machine Learning Developer Guide>.
gersPerformanceMetrics :: Lens' GetEvaluationResponse (Maybe PerformanceMetrics)
gersPerformanceMetrics = lens _gersPerformanceMetrics (\ s a -> s{_gersPerformanceMetrics = a});
-- | The time of the most recent edit to the 'Evaluation'. The time is expressed in epoch time.
gersLastUpdatedAt :: Lens' GetEvaluationResponse (Maybe UTCTime)
gersLastUpdatedAt = lens _gersLastUpdatedAt (\ s a -> s{_gersLastUpdatedAt = a}) . mapping _Time;
-- | The time that the 'Evaluation' was created. The time is expressed in epoch time.
gersCreatedAt :: Lens' GetEvaluationResponse (Maybe UTCTime)
gersCreatedAt = lens _gersCreatedAt (\ s a -> s{_gersCreatedAt = a}) . mapping _Time;
-- | The approximate CPU time in milliseconds that Amazon Machine Learning spent processing the 'Evaluation', normalized and scaled on computation resources. 'ComputeTime' is only available if the 'Evaluation' is in the 'COMPLETED' state.
gersComputeTime :: Lens' GetEvaluationResponse (Maybe Integer)
gersComputeTime = lens _gersComputeTime (\ s a -> s{_gersComputeTime = a});
-- | The location of the data file or directory in Amazon Simple Storage Service (Amazon S3).
gersInputDataLocationS3 :: Lens' GetEvaluationResponse (Maybe Text)
gersInputDataLocationS3 = lens _gersInputDataLocationS3 (\ s a -> s{_gersInputDataLocationS3 = a});
-- | The ID of the 'MLModel' that was the focus of the evaluation.
gersMLModelId :: Lens' GetEvaluationResponse (Maybe Text)
gersMLModelId = lens _gersMLModelId (\ s a -> s{_gersMLModelId = a});
-- | The epoch time when Amazon Machine Learning marked the 'Evaluation' as 'INPROGRESS'. 'StartedAt' isn\'t available if the 'Evaluation' is in the 'PENDING' state.
gersStartedAt :: Lens' GetEvaluationResponse (Maybe UTCTime)
gersStartedAt = lens _gersStartedAt (\ s a -> s{_gersStartedAt = a}) . mapping _Time;
-- | The epoch time when Amazon Machine Learning marked the 'Evaluation' as 'COMPLETED' or 'FAILED'. 'FinishedAt' is only available when the 'Evaluation' is in the 'COMPLETED' or 'FAILED' state.
gersFinishedAt :: Lens' GetEvaluationResponse (Maybe UTCTime)
gersFinishedAt = lens _gersFinishedAt (\ s a -> s{_gersFinishedAt = a}) . mapping _Time;
-- | The AWS user account that invoked the evaluation. The account type can be either an AWS root account or an AWS Identity and Access Management (IAM) user account.
gersCreatedByIAMUser :: Lens' GetEvaluationResponse (Maybe Text)
gersCreatedByIAMUser = lens _gersCreatedByIAMUser (\ s a -> s{_gersCreatedByIAMUser = a});
-- | A user-supplied name or description of the 'Evaluation'.
gersName :: Lens' GetEvaluationResponse (Maybe Text)
gersName = lens _gersName (\ s a -> s{_gersName = a});
-- | A link to the file that contains logs of the 'CreateEvaluation' operation.
gersLogURI :: Lens' GetEvaluationResponse (Maybe Text)
gersLogURI = lens _gersLogURI (\ s a -> s{_gersLogURI = a});
-- | The evaluation ID which is same as the 'EvaluationId' in the request.
gersEvaluationId :: Lens' GetEvaluationResponse (Maybe Text)
gersEvaluationId = lens _gersEvaluationId (\ s a -> s{_gersEvaluationId = a});
-- | A description of the most recent details about evaluating the 'MLModel'.
gersMessage :: Lens' GetEvaluationResponse (Maybe Text)
gersMessage = lens _gersMessage (\ s a -> s{_gersMessage = a});
-- | The 'DataSource' used for this evaluation.
gersEvaluationDataSourceId :: Lens' GetEvaluationResponse (Maybe Text)
gersEvaluationDataSourceId = lens _gersEvaluationDataSourceId (\ s a -> s{_gersEvaluationDataSourceId = a});
-- | The response status code.
gersResponseStatus :: Lens' GetEvaluationResponse Int
gersResponseStatus = lens _gersResponseStatus (\ s a -> s{_gersResponseStatus = a});
instance NFData GetEvaluationResponse