{-# 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.
    ResourceStatistics -> Maybe Integer
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).
    ResourceStatistics -> Maybe Integer
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.
    ResourceStatistics -> Maybe Integer
totalDetectionsSuppressed :: Prelude.Maybe Prelude.Integer,
    -- | The total number of objects that Amazon Macie has analyzed in the
    -- bucket.
    ResourceStatistics -> Maybe Integer
totalItemsClassified :: Prelude.Maybe Prelude.Integer,
    -- | The total number of the bucket\'s objects that Amazon Macie has found
    -- sensitive data in.
    ResourceStatistics -> Maybe Integer
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.
    ResourceStatistics -> Maybe Integer
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.
    ResourceStatistics -> Maybe Integer
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.
    ResourceStatistics -> Maybe Integer
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.
    ResourceStatistics -> Maybe Integer
totalItemsSkippedPermissionDenied :: Prelude.Maybe Prelude.Integer
  }
  deriving (ResourceStatistics -> ResourceStatistics -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: ResourceStatistics -> ResourceStatistics -> Bool
$c/= :: ResourceStatistics -> ResourceStatistics -> Bool
== :: ResourceStatistics -> ResourceStatistics -> Bool
$c== :: ResourceStatistics -> ResourceStatistics -> Bool
Prelude.Eq, ReadPrec [ResourceStatistics]
ReadPrec ResourceStatistics
Int -> ReadS ResourceStatistics
ReadS [ResourceStatistics]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [ResourceStatistics]
$creadListPrec :: ReadPrec [ResourceStatistics]
readPrec :: ReadPrec ResourceStatistics
$creadPrec :: ReadPrec ResourceStatistics
readList :: ReadS [ResourceStatistics]
$creadList :: ReadS [ResourceStatistics]
readsPrec :: Int -> ReadS ResourceStatistics
$creadsPrec :: Int -> ReadS ResourceStatistics
Prelude.Read, Int -> ResourceStatistics -> ShowS
[ResourceStatistics] -> ShowS
ResourceStatistics -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [ResourceStatistics] -> ShowS
$cshowList :: [ResourceStatistics] -> ShowS
show :: ResourceStatistics -> String
$cshow :: ResourceStatistics -> String
showsPrec :: Int -> ResourceStatistics -> ShowS
$cshowsPrec :: Int -> ResourceStatistics -> ShowS
Prelude.Show, forall x. Rep ResourceStatistics x -> ResourceStatistics
forall x. ResourceStatistics -> Rep ResourceStatistics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep ResourceStatistics x -> ResourceStatistics
$cfrom :: forall x. ResourceStatistics -> Rep ResourceStatistics x
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
newResourceStatistics =
  ResourceStatistics'
    { $sel:totalBytesClassified:ResourceStatistics' :: Maybe Integer
totalBytesClassified =
        forall a. Maybe a
Prelude.Nothing,
      $sel:totalDetections:ResourceStatistics' :: Maybe Integer
totalDetections = forall a. Maybe a
Prelude.Nothing,
      $sel:totalDetectionsSuppressed:ResourceStatistics' :: Maybe Integer
totalDetectionsSuppressed = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsClassified:ResourceStatistics' :: Maybe Integer
totalItemsClassified = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsSensitive:ResourceStatistics' :: Maybe Integer
totalItemsSensitive = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsSkipped:ResourceStatistics' :: Maybe Integer
totalItemsSkipped = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsSkippedInvalidEncryption:ResourceStatistics' :: Maybe Integer
totalItemsSkippedInvalidEncryption = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsSkippedInvalidKms:ResourceStatistics' :: Maybe Integer
totalItemsSkippedInvalidKms = forall a. Maybe a
Prelude.Nothing,
      $sel:totalItemsSkippedPermissionDenied:ResourceStatistics' :: Maybe Integer
totalItemsSkippedPermissionDenied = forall a. Maybe a
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalBytesClassified = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalBytesClassified :: Maybe Integer
$sel:totalBytesClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalBytesClassified} -> Maybe Integer
totalBytesClassified) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalBytesClassified:ResourceStatistics' :: Maybe Integer
totalBytesClassified = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalDetections = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalDetections :: Maybe Integer
$sel:totalDetections:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalDetections} -> Maybe Integer
totalDetections) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalDetections:ResourceStatistics' :: Maybe Integer
totalDetections = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalDetectionsSuppressed = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalDetectionsSuppressed :: Maybe Integer
$sel:totalDetectionsSuppressed:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalDetectionsSuppressed} -> Maybe Integer
totalDetectionsSuppressed) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalDetectionsSuppressed:ResourceStatistics' :: Maybe Integer
totalDetectionsSuppressed = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsClassified = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsClassified :: Maybe Integer
$sel:totalItemsClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsClassified} -> Maybe Integer
totalItemsClassified) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsClassified:ResourceStatistics' :: Maybe Integer
totalItemsClassified = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsSensitive = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsSensitive :: Maybe Integer
$sel:totalItemsSensitive:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsSensitive} -> Maybe Integer
totalItemsSensitive) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsSensitive:ResourceStatistics' :: Maybe Integer
totalItemsSensitive = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsSkipped = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsSkipped :: Maybe Integer
$sel:totalItemsSkipped:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsSkipped} -> Maybe Integer
totalItemsSkipped) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsSkipped:ResourceStatistics' :: Maybe Integer
totalItemsSkipped = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsSkippedInvalidEncryption = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsSkippedInvalidEncryption :: Maybe Integer
$sel:totalItemsSkippedInvalidEncryption:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsSkippedInvalidEncryption} -> Maybe Integer
totalItemsSkippedInvalidEncryption) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsSkippedInvalidEncryption:ResourceStatistics' :: Maybe Integer
totalItemsSkippedInvalidEncryption = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsSkippedInvalidKms = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsSkippedInvalidKms :: Maybe Integer
$sel:totalItemsSkippedInvalidKms:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsSkippedInvalidKms} -> Maybe Integer
totalItemsSkippedInvalidKms) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsSkippedInvalidKms:ResourceStatistics' :: Maybe Integer
totalItemsSkippedInvalidKms = Maybe Integer
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' ResourceStatistics (Maybe Integer)
resourceStatistics_totalItemsSkippedPermissionDenied = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\ResourceStatistics' {Maybe Integer
totalItemsSkippedPermissionDenied :: Maybe Integer
$sel:totalItemsSkippedPermissionDenied:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
totalItemsSkippedPermissionDenied} -> Maybe Integer
totalItemsSkippedPermissionDenied) (\s :: ResourceStatistics
s@ResourceStatistics' {} Maybe Integer
a -> ResourceStatistics
s {$sel:totalItemsSkippedPermissionDenied:ResourceStatistics' :: Maybe Integer
totalItemsSkippedPermissionDenied = Maybe Integer
a} :: ResourceStatistics)

instance Data.FromJSON ResourceStatistics where
  parseJSON :: Value -> Parser ResourceStatistics
parseJSON =
    forall a. String -> (Object -> Parser a) -> Value -> Parser a
Data.withObject
      String
"ResourceStatistics"
      ( \Object
x ->
          Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> Maybe Integer
-> ResourceStatistics
ResourceStatistics'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalBytesClassified")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalDetections")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalDetectionsSuppressed")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsClassified")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsSensitive")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsSkipped")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsSkippedInvalidEncryption")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsSkippedInvalidKms")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Parser (Maybe a)
Data..:? Key
"totalItemsSkippedPermissionDenied")
      )

instance Prelude.Hashable ResourceStatistics where
  hashWithSalt :: Int -> ResourceStatistics -> Int
hashWithSalt Int
_salt ResourceStatistics' {Maybe Integer
totalItemsSkippedPermissionDenied :: Maybe Integer
totalItemsSkippedInvalidKms :: Maybe Integer
totalItemsSkippedInvalidEncryption :: Maybe Integer
totalItemsSkipped :: Maybe Integer
totalItemsSensitive :: Maybe Integer
totalItemsClassified :: Maybe Integer
totalDetectionsSuppressed :: Maybe Integer
totalDetections :: Maybe Integer
totalBytesClassified :: Maybe Integer
$sel:totalItemsSkippedPermissionDenied:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkippedInvalidKms:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkippedInvalidEncryption:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkipped:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSensitive:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalDetectionsSuppressed:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalDetections:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalBytesClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
..} =
    Int
_salt
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalBytesClassified
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalDetections
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalDetectionsSuppressed
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsClassified
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsSensitive
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsSkipped
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsSkippedInvalidEncryption
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsSkippedInvalidKms
      forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Integer
totalItemsSkippedPermissionDenied

instance Prelude.NFData ResourceStatistics where
  rnf :: ResourceStatistics -> ()
rnf ResourceStatistics' {Maybe Integer
totalItemsSkippedPermissionDenied :: Maybe Integer
totalItemsSkippedInvalidKms :: Maybe Integer
totalItemsSkippedInvalidEncryption :: Maybe Integer
totalItemsSkipped :: Maybe Integer
totalItemsSensitive :: Maybe Integer
totalItemsClassified :: Maybe Integer
totalDetectionsSuppressed :: Maybe Integer
totalDetections :: Maybe Integer
totalBytesClassified :: Maybe Integer
$sel:totalItemsSkippedPermissionDenied:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkippedInvalidKms:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkippedInvalidEncryption:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSkipped:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsSensitive:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalItemsClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalDetectionsSuppressed:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalDetections:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
$sel:totalBytesClassified:ResourceStatistics' :: ResourceStatistics -> Maybe Integer
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalBytesClassified
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalDetections
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalDetectionsSuppressed
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsClassified
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsSensitive
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsSkipped
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsSkippedInvalidEncryption
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsSkippedInvalidKms
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Integer
totalItemsSkippedPermissionDenied