amazonka-sagemaker-2.0: gen/Amazonka/SageMaker/Types/DataCaptureConfigSummary.hs
{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# OPTIONS_GHC -fno-warn-unused-imports #-}
{-# OPTIONS_GHC -fno-warn-unused-matches #-}
-- Derived from AWS service descriptions, licensed under Apache 2.0.
-- |
-- Module : Amazonka.SageMaker.Types.DataCaptureConfigSummary
-- Copyright : (c) 2013-2023 Brendan Hay
-- License : Mozilla Public License, v. 2.0.
-- Maintainer : Brendan Hay
-- Stability : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.SageMaker.Types.DataCaptureConfigSummary where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import qualified Amazonka.Prelude as Prelude
import Amazonka.SageMaker.Types.CaptureStatus
-- | The currently active data capture configuration used by your Endpoint.
--
-- /See:/ 'newDataCaptureConfigSummary' smart constructor.
data DataCaptureConfigSummary = DataCaptureConfigSummary'
{ -- | Whether data capture is enabled or disabled.
enableCapture :: Prelude.Bool,
-- | Whether data capture is currently functional.
captureStatus :: CaptureStatus,
-- | The percentage of requests being captured by your Endpoint.
currentSamplingPercentage :: Prelude.Natural,
-- | The Amazon S3 location being used to capture the data.
destinationS3Uri :: Prelude.Text,
-- | The KMS key being used to encrypt the data in Amazon S3.
kmsKeyId :: Prelude.Text
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'DataCaptureConfigSummary' 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:
--
-- 'enableCapture', 'dataCaptureConfigSummary_enableCapture' - Whether data capture is enabled or disabled.
--
-- 'captureStatus', 'dataCaptureConfigSummary_captureStatus' - Whether data capture is currently functional.
--
-- 'currentSamplingPercentage', 'dataCaptureConfigSummary_currentSamplingPercentage' - The percentage of requests being captured by your Endpoint.
--
-- 'destinationS3Uri', 'dataCaptureConfigSummary_destinationS3Uri' - The Amazon S3 location being used to capture the data.
--
-- 'kmsKeyId', 'dataCaptureConfigSummary_kmsKeyId' - The KMS key being used to encrypt the data in Amazon S3.
newDataCaptureConfigSummary ::
-- | 'enableCapture'
Prelude.Bool ->
-- | 'captureStatus'
CaptureStatus ->
-- | 'currentSamplingPercentage'
Prelude.Natural ->
-- | 'destinationS3Uri'
Prelude.Text ->
-- | 'kmsKeyId'
Prelude.Text ->
DataCaptureConfigSummary
newDataCaptureConfigSummary
pEnableCapture_
pCaptureStatus_
pCurrentSamplingPercentage_
pDestinationS3Uri_
pKmsKeyId_ =
DataCaptureConfigSummary'
{ enableCapture =
pEnableCapture_,
captureStatus = pCaptureStatus_,
currentSamplingPercentage =
pCurrentSamplingPercentage_,
destinationS3Uri = pDestinationS3Uri_,
kmsKeyId = pKmsKeyId_
}
-- | Whether data capture is enabled or disabled.
dataCaptureConfigSummary_enableCapture :: Lens.Lens' DataCaptureConfigSummary Prelude.Bool
dataCaptureConfigSummary_enableCapture = Lens.lens (\DataCaptureConfigSummary' {enableCapture} -> enableCapture) (\s@DataCaptureConfigSummary' {} a -> s {enableCapture = a} :: DataCaptureConfigSummary)
-- | Whether data capture is currently functional.
dataCaptureConfigSummary_captureStatus :: Lens.Lens' DataCaptureConfigSummary CaptureStatus
dataCaptureConfigSummary_captureStatus = Lens.lens (\DataCaptureConfigSummary' {captureStatus} -> captureStatus) (\s@DataCaptureConfigSummary' {} a -> s {captureStatus = a} :: DataCaptureConfigSummary)
-- | The percentage of requests being captured by your Endpoint.
dataCaptureConfigSummary_currentSamplingPercentage :: Lens.Lens' DataCaptureConfigSummary Prelude.Natural
dataCaptureConfigSummary_currentSamplingPercentage = Lens.lens (\DataCaptureConfigSummary' {currentSamplingPercentage} -> currentSamplingPercentage) (\s@DataCaptureConfigSummary' {} a -> s {currentSamplingPercentage = a} :: DataCaptureConfigSummary)
-- | The Amazon S3 location being used to capture the data.
dataCaptureConfigSummary_destinationS3Uri :: Lens.Lens' DataCaptureConfigSummary Prelude.Text
dataCaptureConfigSummary_destinationS3Uri = Lens.lens (\DataCaptureConfigSummary' {destinationS3Uri} -> destinationS3Uri) (\s@DataCaptureConfigSummary' {} a -> s {destinationS3Uri = a} :: DataCaptureConfigSummary)
-- | The KMS key being used to encrypt the data in Amazon S3.
dataCaptureConfigSummary_kmsKeyId :: Lens.Lens' DataCaptureConfigSummary Prelude.Text
dataCaptureConfigSummary_kmsKeyId = Lens.lens (\DataCaptureConfigSummary' {kmsKeyId} -> kmsKeyId) (\s@DataCaptureConfigSummary' {} a -> s {kmsKeyId = a} :: DataCaptureConfigSummary)
instance Data.FromJSON DataCaptureConfigSummary where
parseJSON =
Data.withObject
"DataCaptureConfigSummary"
( \x ->
DataCaptureConfigSummary'
Prelude.<$> (x Data..: "EnableCapture")
Prelude.<*> (x Data..: "CaptureStatus")
Prelude.<*> (x Data..: "CurrentSamplingPercentage")
Prelude.<*> (x Data..: "DestinationS3Uri")
Prelude.<*> (x Data..: "KmsKeyId")
)
instance Prelude.Hashable DataCaptureConfigSummary where
hashWithSalt _salt DataCaptureConfigSummary' {..} =
_salt
`Prelude.hashWithSalt` enableCapture
`Prelude.hashWithSalt` captureStatus
`Prelude.hashWithSalt` currentSamplingPercentage
`Prelude.hashWithSalt` destinationS3Uri
`Prelude.hashWithSalt` kmsKeyId
instance Prelude.NFData DataCaptureConfigSummary where
rnf DataCaptureConfigSummary' {..} =
Prelude.rnf enableCapture
`Prelude.seq` Prelude.rnf captureStatus
`Prelude.seq` Prelude.rnf currentSamplingPercentage
`Prelude.seq` Prelude.rnf destinationS3Uri
`Prelude.seq` Prelude.rnf kmsKeyId