amazonka-frauddetector-2.0: gen/Amazonka/FraudDetector/UpdateModelVersionStatus.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.UpdateModelVersionStatus
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the status of a model version.
--
-- You can perform the following status updates:
--
-- 1. Change the @TRAINING_IN_PROGRESS@ status to @TRAINING_CANCELLED@.
--
-- 2. Change the @TRAINING_COMPLETE@ status to @ACTIVE@.
--
-- 3. Change @ACTIVE@ to @INACTIVE@.
module Amazonka.FraudDetector.UpdateModelVersionStatus
( -- * Creating a Request
UpdateModelVersionStatus (..),
newUpdateModelVersionStatus,
-- * Request Lenses
updateModelVersionStatus_modelId,
updateModelVersionStatus_modelType,
updateModelVersionStatus_modelVersionNumber,
updateModelVersionStatus_status,
-- * Destructuring the Response
UpdateModelVersionStatusResponse (..),
newUpdateModelVersionStatusResponse,
-- * Response Lenses
updateModelVersionStatusResponse_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:/ 'newUpdateModelVersionStatus' smart constructor.
data UpdateModelVersionStatus = UpdateModelVersionStatus'
{ -- | The model ID of the model version to update.
modelId :: Prelude.Text,
-- | The model type.
modelType :: ModelTypeEnum,
-- | The model version number.
modelVersionNumber :: Prelude.Text,
-- | The model version status.
status :: ModelVersionStatus
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateModelVersionStatus' 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', 'updateModelVersionStatus_modelId' - The model ID of the model version to update.
--
-- 'modelType', 'updateModelVersionStatus_modelType' - The model type.
--
-- 'modelVersionNumber', 'updateModelVersionStatus_modelVersionNumber' - The model version number.
--
-- 'status', 'updateModelVersionStatus_status' - The model version status.
newUpdateModelVersionStatus ::
-- | 'modelId'
Prelude.Text ->
-- | 'modelType'
ModelTypeEnum ->
-- | 'modelVersionNumber'
Prelude.Text ->
-- | 'status'
ModelVersionStatus ->
UpdateModelVersionStatus
newUpdateModelVersionStatus
pModelId_
pModelType_
pModelVersionNumber_
pStatus_ =
UpdateModelVersionStatus'
{ modelId = pModelId_,
modelType = pModelType_,
modelVersionNumber = pModelVersionNumber_,
status = pStatus_
}
-- | The model ID of the model version to update.
updateModelVersionStatus_modelId :: Lens.Lens' UpdateModelVersionStatus Prelude.Text
updateModelVersionStatus_modelId = Lens.lens (\UpdateModelVersionStatus' {modelId} -> modelId) (\s@UpdateModelVersionStatus' {} a -> s {modelId = a} :: UpdateModelVersionStatus)
-- | The model type.
updateModelVersionStatus_modelType :: Lens.Lens' UpdateModelVersionStatus ModelTypeEnum
updateModelVersionStatus_modelType = Lens.lens (\UpdateModelVersionStatus' {modelType} -> modelType) (\s@UpdateModelVersionStatus' {} a -> s {modelType = a} :: UpdateModelVersionStatus)
-- | The model version number.
updateModelVersionStatus_modelVersionNumber :: Lens.Lens' UpdateModelVersionStatus Prelude.Text
updateModelVersionStatus_modelVersionNumber = Lens.lens (\UpdateModelVersionStatus' {modelVersionNumber} -> modelVersionNumber) (\s@UpdateModelVersionStatus' {} a -> s {modelVersionNumber = a} :: UpdateModelVersionStatus)
-- | The model version status.
updateModelVersionStatus_status :: Lens.Lens' UpdateModelVersionStatus ModelVersionStatus
updateModelVersionStatus_status = Lens.lens (\UpdateModelVersionStatus' {status} -> status) (\s@UpdateModelVersionStatus' {} a -> s {status = a} :: UpdateModelVersionStatus)
instance Core.AWSRequest UpdateModelVersionStatus where
type
AWSResponse UpdateModelVersionStatus =
UpdateModelVersionStatusResponse
request overrides =
Request.postJSON (overrides defaultService)
response =
Response.receiveEmpty
( \s h x ->
UpdateModelVersionStatusResponse'
Prelude.<$> (Prelude.pure (Prelude.fromEnum s))
)
instance Prelude.Hashable UpdateModelVersionStatus where
hashWithSalt _salt UpdateModelVersionStatus' {..} =
_salt
`Prelude.hashWithSalt` modelId
`Prelude.hashWithSalt` modelType
`Prelude.hashWithSalt` modelVersionNumber
`Prelude.hashWithSalt` status
instance Prelude.NFData UpdateModelVersionStatus where
rnf UpdateModelVersionStatus' {..} =
Prelude.rnf modelId
`Prelude.seq` Prelude.rnf modelType
`Prelude.seq` Prelude.rnf modelVersionNumber
`Prelude.seq` Prelude.rnf status
instance Data.ToHeaders UpdateModelVersionStatus where
toHeaders =
Prelude.const
( Prelude.mconcat
[ "X-Amz-Target"
Data.=# ( "AWSHawksNestServiceFacade.UpdateModelVersionStatus" ::
Prelude.ByteString
),
"Content-Type"
Data.=# ( "application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON UpdateModelVersionStatus where
toJSON UpdateModelVersionStatus' {..} =
Data.object
( Prelude.catMaybes
[ Prelude.Just ("modelId" Data..= modelId),
Prelude.Just ("modelType" Data..= modelType),
Prelude.Just
("modelVersionNumber" Data..= modelVersionNumber),
Prelude.Just ("status" Data..= status)
]
)
instance Data.ToPath UpdateModelVersionStatus where
toPath = Prelude.const "/"
instance Data.ToQuery UpdateModelVersionStatus where
toQuery = Prelude.const Prelude.mempty
-- | /See:/ 'newUpdateModelVersionStatusResponse' smart constructor.
data UpdateModelVersionStatusResponse = UpdateModelVersionStatusResponse'
{ -- | The response's http status code.
httpStatus :: Prelude.Int
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'UpdateModelVersionStatusResponse' 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:
--
-- 'httpStatus', 'updateModelVersionStatusResponse_httpStatus' - The response's http status code.
newUpdateModelVersionStatusResponse ::
-- | 'httpStatus'
Prelude.Int ->
UpdateModelVersionStatusResponse
newUpdateModelVersionStatusResponse pHttpStatus_ =
UpdateModelVersionStatusResponse'
{ httpStatus =
pHttpStatus_
}
-- | The response's http status code.
updateModelVersionStatusResponse_httpStatus :: Lens.Lens' UpdateModelVersionStatusResponse Prelude.Int
updateModelVersionStatusResponse_httpStatus = Lens.lens (\UpdateModelVersionStatusResponse' {httpStatus} -> httpStatus) (\s@UpdateModelVersionStatusResponse' {} a -> s {httpStatus = a} :: UpdateModelVersionStatusResponse)
instance
Prelude.NFData
UpdateModelVersionStatusResponse
where
rnf UpdateModelVersionStatusResponse' {..} =
Prelude.rnf httpStatus