amazonka-frauddetector-2.0: gen/Amazonka/FraudDetector/GetModelVersion.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE TypeFamilies #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-binds #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.FraudDetector.GetModelVersion
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the details of the specified model version.
module Amazonka.FraudDetector.GetModelVersion
( -- * Creating a Request
GetModelVersion (..),
newGetModelVersion,
-- * Request Lenses
getModelVersion_modelId,
getModelVersion_modelType,
getModelVersion_modelVersionNumber,
-- * Destructuring the Response
GetModelVersionResponse (..),
newGetModelVersionResponse,
-- * Response Lenses
getModelVersionResponse_arn,
getModelVersionResponse_externalEventsDetail,
getModelVersionResponse_ingestedEventsDetail,
getModelVersionResponse_modelId,
getModelVersionResponse_modelType,
getModelVersionResponse_modelVersionNumber,
getModelVersionResponse_status,
getModelVersionResponse_trainingDataSchema,
getModelVersionResponse_trainingDataSource,
getModelVersionResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.FraudDetector.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
-- | /See:/ 'newGetModelVersion' smart constructor.
data GetModelVersion = GetModelVersion'
{ -- | The model ID.
modelId :: Prelude.Text,
-- | The model type.
modelType :: ModelTypeEnum,
-- | The model version number.
modelVersionNumber :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetModelVersion' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'modelId', 'getModelVersion_modelId' - The model ID.
--
-- 'modelType', 'getModelVersion_modelType' - The model type.
--
-- 'modelVersionNumber', 'getModelVersion_modelVersionNumber' - The model version number.
newGetModelVersion ::
-- | 'modelId'
Prelude.Text ->
-- | 'modelType'
ModelTypeEnum ->
-- | 'modelVersionNumber'
Prelude.Text ->
GetModelVersion
newGetModelVersion
pModelId_
pModelType_
pModelVersionNumber_ =
GetModelVersion'
{ modelId = pModelId_,
modelType = pModelType_,
modelVersionNumber = pModelVersionNumber_
}
-- | The model ID.
getModelVersion_modelId :: Lens.Lens' GetModelVersion Prelude.Text
getModelVersion_modelId = Lens.lens (\GetModelVersion' {modelId} -> modelId) (\s@GetModelVersion' {} a -> s {modelId = a} :: GetModelVersion)
-- | The model type.
getModelVersion_modelType :: Lens.Lens' GetModelVersion ModelTypeEnum
getModelVersion_modelType = Lens.lens (\GetModelVersion' {modelType} -> modelType) (\s@GetModelVersion' {} a -> s {modelType = a} :: GetModelVersion)
-- | The model version number.
getModelVersion_modelVersionNumber :: Lens.Lens' GetModelVersion Prelude.Text
getModelVersion_modelVersionNumber = Lens.lens (\GetModelVersion' {modelVersionNumber} -> modelVersionNumber) (\s@GetModelVersion' {} a -> s {modelVersionNumber = a} :: GetModelVersion)
instance Core.AWSRequest GetModelVersion where
type
AWSResponse GetModelVersion =
GetModelVersionResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveJSON
( \s h x ->
GetModelVersionResponse'
Prelude.<$> (x Data..?> "arn")
Prelude.<*> (x Data..?> "externalEventsDetail")
Prelude.<*> (x Data..?> "ingestedEventsDetail")
Prelude.<*> (x Data..?> "modelId")
Prelude.<*> (x Data..?> "modelType")
Prelude.<*> (x Data..?> "modelVersionNumber")
Prelude.<*> (x Data..?> "status")
Prelude.<*> (x Data..?> "trainingDataSchema")
Prelude.<*> (x Data..?> "trainingDataSource")
Prelude.<*> (Prelude.pure (Prelude.fromEnum s))
)
instance Prelude.Hashable GetModelVersion where
hashWithSalt _salt GetModelVersion' {..} =
_salt
`Prelude.hashWithSalt` modelId
`Prelude.hashWithSalt` modelType
`Prelude.hashWithSalt` modelVersionNumber
instance Prelude.NFData GetModelVersion where
rnf GetModelVersion' {..} =
Prelude.rnf modelId
`Prelude.seq` Prelude.rnf modelType
`Prelude.seq` Prelude.rnf modelVersionNumber
instance Data.ToHeaders GetModelVersion where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "AWSHawksNestServiceFacade.GetModelVersion" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON GetModelVersion where
toJSON GetModelVersion' {..} =
Data.object
( Prelude.catMaybes
[ Prelude.Just ("modelId" Data..= modelId),
Prelude.Just ("modelType" Data..= modelType),
Prelude.Just
("modelVersionNumber" Data..= modelVersionNumber)
]
)
instance Data.ToPath GetModelVersion where
toPath = Prelude.const "/"
instance Data.ToQuery GetModelVersion where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newGetModelVersionResponse' smart constructor.
data GetModelVersionResponse = GetModelVersionResponse'
{ -- | The model version ARN.
arn :: Prelude.Maybe Prelude.Text,
-- | The details of the external events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @EXTERNAL_EVENTS@
externalEventsDetail :: Prelude.Maybe ExternalEventsDetail,
-- | The details of the ingested events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @INGESTED_EVENTS@.
ingestedEventsDetail :: Prelude.Maybe IngestedEventsDetail,
-- | The model ID.
modelId :: Prelude.Maybe Prelude.Text,
-- | The model type.
modelType :: Prelude.Maybe ModelTypeEnum,
-- | The model version number.
modelVersionNumber :: Prelude.Maybe Prelude.Text,
-- | The model version status.
--
-- Possible values are:
--
-- - @TRAINING_IN_PROGRESS@
--
-- - @TRAINING_COMPLETE@
--
-- - @ACTIVATE_REQUESTED@
--
-- - @ACTIVATE_IN_PROGRESS@
--
-- - @ACTIVE@
--
-- - @INACTIVATE_REQUESTED@
--
-- - @INACTIVATE_IN_PROGRESS@
--
-- - @INACTIVE@
--
-- - @ERROR@
status :: Prelude.Maybe Prelude.Text,
-- | The training data schema.
trainingDataSchema :: Prelude.Maybe TrainingDataSchema,
-- | The training data source.
trainingDataSource :: Prelude.Maybe TrainingDataSourceEnum,
-- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'GetModelVersionResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'arn', 'getModelVersionResponse_arn' - The model version ARN.
--
-- 'externalEventsDetail', 'getModelVersionResponse_externalEventsDetail' - The details of the external events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @EXTERNAL_EVENTS@
--
-- 'ingestedEventsDetail', 'getModelVersionResponse_ingestedEventsDetail' - The details of the ingested events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @INGESTED_EVENTS@.
--
-- 'modelId', 'getModelVersionResponse_modelId' - The model ID.
--
-- 'modelType', 'getModelVersionResponse_modelType' - The model type.
--
-- 'modelVersionNumber', 'getModelVersionResponse_modelVersionNumber' - The model version number.
--
-- 'status', 'getModelVersionResponse_status' - The model version status.
--
-- Possible values are:
--
-- - @TRAINING_IN_PROGRESS@
--
-- - @TRAINING_COMPLETE@
--
-- - @ACTIVATE_REQUESTED@
--
-- - @ACTIVATE_IN_PROGRESS@
--
-- - @ACTIVE@
--
-- - @INACTIVATE_REQUESTED@
--
-- - @INACTIVATE_IN_PROGRESS@
--
-- - @INACTIVE@
--
-- - @ERROR@
--
-- 'trainingDataSchema', 'getModelVersionResponse_trainingDataSchema' - The training data schema.
--
-- 'trainingDataSource', 'getModelVersionResponse_trainingDataSource' - The training data source.
--
-- 'httpStatus', 'getModelVersionResponse_httpStatus' - The response's http status code.
newGetModelVersionResponse ::
-- | 'httpStatus'
Prelude.Int ->
GetModelVersionResponse
newGetModelVersionResponse pHttpStatus_ =
GetModelVersionResponse'
{ arn = Prelude.Nothing,
externalEventsDetail = Prelude.Nothing,
ingestedEventsDetail = Prelude.Nothing,
modelId = Prelude.Nothing,
modelType = Prelude.Nothing,
modelVersionNumber = Prelude.Nothing,
status = Prelude.Nothing,
trainingDataSchema = Prelude.Nothing,
trainingDataSource = Prelude.Nothing,
httpStatus = pHttpStatus_
}
-- | The model version ARN.
getModelVersionResponse_arn :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_arn = Lens.lens (\GetModelVersionResponse' {arn} -> arn) (\s@GetModelVersionResponse' {} a -> s {arn = a} :: GetModelVersionResponse)
-- | The details of the external events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @EXTERNAL_EVENTS@
getModelVersionResponse_externalEventsDetail :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe ExternalEventsDetail)
getModelVersionResponse_externalEventsDetail = Lens.lens (\GetModelVersionResponse' {externalEventsDetail} -> externalEventsDetail) (\s@GetModelVersionResponse' {} a -> s {externalEventsDetail = a} :: GetModelVersionResponse)
-- | The details of the ingested events data used for training the model
-- version. This will be populated if the @trainingDataSource@ is
-- @INGESTED_EVENTS@.
getModelVersionResponse_ingestedEventsDetail :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe IngestedEventsDetail)
getModelVersionResponse_ingestedEventsDetail = Lens.lens (\GetModelVersionResponse' {ingestedEventsDetail} -> ingestedEventsDetail) (\s@GetModelVersionResponse' {} a -> s {ingestedEventsDetail = a} :: GetModelVersionResponse)
-- | The model ID.
getModelVersionResponse_modelId :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_modelId = Lens.lens (\GetModelVersionResponse' {modelId} -> modelId) (\s@GetModelVersionResponse' {} a -> s {modelId = a} :: GetModelVersionResponse)
-- | The model type.
getModelVersionResponse_modelType :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe ModelTypeEnum)
getModelVersionResponse_modelType = Lens.lens (\GetModelVersionResponse' {modelType} -> modelType) (\s@GetModelVersionResponse' {} a -> s {modelType = a} :: GetModelVersionResponse)
-- | The model version number.
getModelVersionResponse_modelVersionNumber :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_modelVersionNumber = Lens.lens (\GetModelVersionResponse' {modelVersionNumber} -> modelVersionNumber) (\s@GetModelVersionResponse' {} a -> s {modelVersionNumber = a} :: GetModelVersionResponse)
-- | The model version status.
--
-- Possible values are:
--
-- - @TRAINING_IN_PROGRESS@
--
-- - @TRAINING_COMPLETE@
--
-- - @ACTIVATE_REQUESTED@
--
-- - @ACTIVATE_IN_PROGRESS@
--
-- - @ACTIVE@
--
-- - @INACTIVATE_REQUESTED@
--
-- - @INACTIVATE_IN_PROGRESS@
--
-- - @INACTIVE@
--
-- - @ERROR@
getModelVersionResponse_status :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe Prelude.Text)
getModelVersionResponse_status = Lens.lens (\GetModelVersionResponse' {status} -> status) (\s@GetModelVersionResponse' {} a -> s {status = a} :: GetModelVersionResponse)
-- | The training data schema.
getModelVersionResponse_trainingDataSchema :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe TrainingDataSchema)
getModelVersionResponse_trainingDataSchema = Lens.lens (\GetModelVersionResponse' {trainingDataSchema} -> trainingDataSchema) (\s@GetModelVersionResponse' {} a -> s {trainingDataSchema = a} :: GetModelVersionResponse)
-- | The training data source.
getModelVersionResponse_trainingDataSource :: Lens.Lens' GetModelVersionResponse (Prelude.Maybe TrainingDataSourceEnum)
getModelVersionResponse_trainingDataSource = Lens.lens (\GetModelVersionResponse' {trainingDataSource} -> trainingDataSource) (\s@GetModelVersionResponse' {} a -> s {trainingDataSource = a} :: GetModelVersionResponse)
-- | The response's http status code.
getModelVersionResponse_httpStatus :: Lens.Lens' GetModelVersionResponse Prelude.Int
getModelVersionResponse_httpStatus = Lens.lens (\GetModelVersionResponse' {httpStatus} -> httpStatus) (\s@GetModelVersionResponse' {} a -> s {httpStatus = a} :: GetModelVersionResponse)
instance Prelude.NFData GetModelVersionResponse where
rnf GetModelVersionResponse' {..} =
Prelude.rnf arn
`Prelude.seq` Prelude.rnf externalEventsDetail
`Prelude.seq` Prelude.rnf ingestedEventsDetail
`Prelude.seq` Prelude.rnf modelId
`Prelude.seq` Prelude.rnf modelType
`Prelude.seq` Prelude.rnf modelVersionNumber
`Prelude.seq` Prelude.rnf status
`Prelude.seq` Prelude.rnf trainingDataSchema
`Prelude.seq` Prelude.rnf trainingDataSource
`Prelude.seq` Prelude.rnf httpStatus