amazonka-maciev2-2.0: gen/Amazonka/MacieV2/Types/ResourceStatistics.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.MacieV2.Types.ResourceStatistics
-- 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.MacieV2.Types.ResourceStatistics 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
-- | Provides statistical data for sensitive data discovery metrics that
-- apply to an S3 bucket that Amazon Macie monitors and analyzes for your
-- account. The statistics capture the results of automated sensitive data
-- discovery activities that Macie has performed for the bucket. The data
-- is available only if automated sensitive data discovery is currently
-- enabled for your account.
--
-- /See:/ 'newResourceStatistics' smart constructor.
data ResourceStatistics = ResourceStatistics'
{ -- | The total amount of data, in bytes, that Amazon Macie has analyzed in
-- the bucket.
totalBytesClassified :: Prelude.Maybe Prelude.Integer,
-- | The total number of occurrences of sensitive data that Amazon Macie has
-- found in the bucket\'s objects. This includes occurrences that are
-- currently suppressed by the sensitivity scoring settings for the bucket
-- (totalDetectionsSuppressed).
totalDetections :: Prelude.Maybe Prelude.Integer,
-- | The total number of occurrences of sensitive data that are currently
-- suppressed by the sensitivity scoring settings for the bucket. These
-- represent occurrences of sensitive data that Amazon Macie found in the
-- bucket\'s objects, but the occurrences were manually suppressed. By
-- default, suppressed occurrences are excluded from the bucket\'s
-- sensitivity score.
totalDetectionsSuppressed :: Prelude.Maybe Prelude.Integer,
-- | The total number of objects that Amazon Macie has analyzed in the
-- bucket.
totalItemsClassified :: Prelude.Maybe Prelude.Integer,
-- | The total number of the bucket\'s objects that Amazon Macie has found
-- sensitive data in.
totalItemsSensitive :: Prelude.Maybe Prelude.Integer,
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket due to an error or issue. For example, the object is a malformed
-- file. This value includes objects that Macie hasn\'t analyzed for
-- reasons reported by other statistics in the ResourceStatistics object.
totalItemsSkipped :: Prelude.Maybe Prelude.Integer,
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with a key that Macie isn\'t
-- allowed to use.
totalItemsSkippedInvalidEncryption :: Prelude.Maybe Prelude.Integer,
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with an KMS key that was
-- disabled or deleted.
totalItemsSkippedInvalidKms :: Prelude.Maybe Prelude.Integer,
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because Macie isn\'t allowed to access the objects.
totalItemsSkippedPermissionDenied :: Prelude.Maybe Prelude.Integer
}
deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic)
-- |
-- Create a value of 'ResourceStatistics' 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:
--
-- 'totalBytesClassified', 'resourceStatistics_totalBytesClassified' - The total amount of data, in bytes, that Amazon Macie has analyzed in
-- the bucket.
--
-- 'totalDetections', 'resourceStatistics_totalDetections' - The total number of occurrences of sensitive data that Amazon Macie has
-- found in the bucket\'s objects. This includes occurrences that are
-- currently suppressed by the sensitivity scoring settings for the bucket
-- (totalDetectionsSuppressed).
--
-- 'totalDetectionsSuppressed', 'resourceStatistics_totalDetectionsSuppressed' - The total number of occurrences of sensitive data that are currently
-- suppressed by the sensitivity scoring settings for the bucket. These
-- represent occurrences of sensitive data that Amazon Macie found in the
-- bucket\'s objects, but the occurrences were manually suppressed. By
-- default, suppressed occurrences are excluded from the bucket\'s
-- sensitivity score.
--
-- 'totalItemsClassified', 'resourceStatistics_totalItemsClassified' - The total number of objects that Amazon Macie has analyzed in the
-- bucket.
--
-- 'totalItemsSensitive', 'resourceStatistics_totalItemsSensitive' - The total number of the bucket\'s objects that Amazon Macie has found
-- sensitive data in.
--
-- 'totalItemsSkipped', 'resourceStatistics_totalItemsSkipped' - The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket due to an error or issue. For example, the object is a malformed
-- file. This value includes objects that Macie hasn\'t analyzed for
-- reasons reported by other statistics in the ResourceStatistics object.
--
-- 'totalItemsSkippedInvalidEncryption', 'resourceStatistics_totalItemsSkippedInvalidEncryption' - The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with a key that Macie isn\'t
-- allowed to use.
--
-- 'totalItemsSkippedInvalidKms', 'resourceStatistics_totalItemsSkippedInvalidKms' - The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with an KMS key that was
-- disabled or deleted.
--
-- 'totalItemsSkippedPermissionDenied', 'resourceStatistics_totalItemsSkippedPermissionDenied' - The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because Macie isn\'t allowed to access the objects.
newResourceStatistics ::
ResourceStatistics
newResourceStatistics =
ResourceStatistics'
{ totalBytesClassified =
Prelude.Nothing,
totalDetections = Prelude.Nothing,
totalDetectionsSuppressed = Prelude.Nothing,
totalItemsClassified = Prelude.Nothing,
totalItemsSensitive = Prelude.Nothing,
totalItemsSkipped = Prelude.Nothing,
totalItemsSkippedInvalidEncryption = Prelude.Nothing,
totalItemsSkippedInvalidKms = Prelude.Nothing,
totalItemsSkippedPermissionDenied = Prelude.Nothing
}
-- | The total amount of data, in bytes, that Amazon Macie has analyzed in
-- the bucket.
resourceStatistics_totalBytesClassified :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalBytesClassified = Lens.lens (\ResourceStatistics' {totalBytesClassified} -> totalBytesClassified) (\s@ResourceStatistics' {} a -> s {totalBytesClassified = a} :: ResourceStatistics)
-- | The total number of occurrences of sensitive data that Amazon Macie has
-- found in the bucket\'s objects. This includes occurrences that are
-- currently suppressed by the sensitivity scoring settings for the bucket
-- (totalDetectionsSuppressed).
resourceStatistics_totalDetections :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalDetections = Lens.lens (\ResourceStatistics' {totalDetections} -> totalDetections) (\s@ResourceStatistics' {} a -> s {totalDetections = a} :: ResourceStatistics)
-- | The total number of occurrences of sensitive data that are currently
-- suppressed by the sensitivity scoring settings for the bucket. These
-- represent occurrences of sensitive data that Amazon Macie found in the
-- bucket\'s objects, but the occurrences were manually suppressed. By
-- default, suppressed occurrences are excluded from the bucket\'s
-- sensitivity score.
resourceStatistics_totalDetectionsSuppressed :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalDetectionsSuppressed = Lens.lens (\ResourceStatistics' {totalDetectionsSuppressed} -> totalDetectionsSuppressed) (\s@ResourceStatistics' {} a -> s {totalDetectionsSuppressed = a} :: ResourceStatistics)
-- | The total number of objects that Amazon Macie has analyzed in the
-- bucket.
resourceStatistics_totalItemsClassified :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsClassified = Lens.lens (\ResourceStatistics' {totalItemsClassified} -> totalItemsClassified) (\s@ResourceStatistics' {} a -> s {totalItemsClassified = a} :: ResourceStatistics)
-- | The total number of the bucket\'s objects that Amazon Macie has found
-- sensitive data in.
resourceStatistics_totalItemsSensitive :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsSensitive = Lens.lens (\ResourceStatistics' {totalItemsSensitive} -> totalItemsSensitive) (\s@ResourceStatistics' {} a -> s {totalItemsSensitive = a} :: ResourceStatistics)
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket due to an error or issue. For example, the object is a malformed
-- file. This value includes objects that Macie hasn\'t analyzed for
-- reasons reported by other statistics in the ResourceStatistics object.
resourceStatistics_totalItemsSkipped :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsSkipped = Lens.lens (\ResourceStatistics' {totalItemsSkipped} -> totalItemsSkipped) (\s@ResourceStatistics' {} a -> s {totalItemsSkipped = a} :: ResourceStatistics)
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with a key that Macie isn\'t
-- allowed to use.
resourceStatistics_totalItemsSkippedInvalidEncryption :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsSkippedInvalidEncryption = Lens.lens (\ResourceStatistics' {totalItemsSkippedInvalidEncryption} -> totalItemsSkippedInvalidEncryption) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedInvalidEncryption = a} :: ResourceStatistics)
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because the objects are encrypted with an KMS key that was
-- disabled or deleted.
resourceStatistics_totalItemsSkippedInvalidKms :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsSkippedInvalidKms = Lens.lens (\ResourceStatistics' {totalItemsSkippedInvalidKms} -> totalItemsSkippedInvalidKms) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedInvalidKms = a} :: ResourceStatistics)
-- | The total number of objects that Amazon Macie hasn\'t analyzed in the
-- bucket because Macie isn\'t allowed to access the objects.
resourceStatistics_totalItemsSkippedPermissionDenied :: Lens.Lens' ResourceStatistics (Prelude.Maybe Prelude.Integer)
resourceStatistics_totalItemsSkippedPermissionDenied = Lens.lens (\ResourceStatistics' {totalItemsSkippedPermissionDenied} -> totalItemsSkippedPermissionDenied) (\s@ResourceStatistics' {} a -> s {totalItemsSkippedPermissionDenied = a} :: ResourceStatistics)
instance Data.FromJSON ResourceStatistics where
parseJSON =
Data.withObject
"ResourceStatistics"
( \x ->
ResourceStatistics'
Prelude.<$> (x Data..:? "totalBytesClassified")
Prelude.<*> (x Data..:? "totalDetections")
Prelude.<*> (x Data..:? "totalDetectionsSuppressed")
Prelude.<*> (x Data..:? "totalItemsClassified")
Prelude.<*> (x Data..:? "totalItemsSensitive")
Prelude.<*> (x Data..:? "totalItemsSkipped")
Prelude.<*> (x Data..:? "totalItemsSkippedInvalidEncryption")
Prelude.<*> (x Data..:? "totalItemsSkippedInvalidKms")
Prelude.<*> (x Data..:? "totalItemsSkippedPermissionDenied")
)
instance Prelude.Hashable ResourceStatistics where
hashWithSalt _salt ResourceStatistics' {..} =
_salt
`Prelude.hashWithSalt` totalBytesClassified
`Prelude.hashWithSalt` totalDetections
`Prelude.hashWithSalt` totalDetectionsSuppressed
`Prelude.hashWithSalt` totalItemsClassified
`Prelude.hashWithSalt` totalItemsSensitive
`Prelude.hashWithSalt` totalItemsSkipped
`Prelude.hashWithSalt` totalItemsSkippedInvalidEncryption
`Prelude.hashWithSalt` totalItemsSkippedInvalidKms
`Prelude.hashWithSalt` totalItemsSkippedPermissionDenied
instance Prelude.NFData ResourceStatistics where
rnf ResourceStatistics' {..} =
Prelude.rnf totalBytesClassified
`Prelude.seq` Prelude.rnf totalDetections
`Prelude.seq` Prelude.rnf totalDetectionsSuppressed
`Prelude.seq` Prelude.rnf totalItemsClassified
`Prelude.seq` Prelude.rnf totalItemsSensitive
`Prelude.seq` Prelude.rnf totalItemsSkipped
`Prelude.seq` Prelude.rnf totalItemsSkippedInvalidEncryption
`Prelude.seq` Prelude.rnf totalItemsSkippedInvalidKms
`Prelude.seq` Prelude.rnf totalItemsSkippedPermissionDenied