{-# 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.SSM.DescribePatchGroupState
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Returns high-level aggregated patch compliance state information for a
-- patch group.
module Amazonka.SSM.DescribePatchGroupState
  ( -- * Creating a Request
    DescribePatchGroupState (..),
    newDescribePatchGroupState,

    -- * Request Lenses
    describePatchGroupState_patchGroup,

    -- * Destructuring the Response
    DescribePatchGroupStateResponse (..),
    newDescribePatchGroupStateResponse,

    -- * Response Lenses
    describePatchGroupStateResponse_instances,
    describePatchGroupStateResponse_instancesWithCriticalNonCompliantPatches,
    describePatchGroupStateResponse_instancesWithFailedPatches,
    describePatchGroupStateResponse_instancesWithInstalledOtherPatches,
    describePatchGroupStateResponse_instancesWithInstalledPatches,
    describePatchGroupStateResponse_instancesWithInstalledPendingRebootPatches,
    describePatchGroupStateResponse_instancesWithInstalledRejectedPatches,
    describePatchGroupStateResponse_instancesWithMissingPatches,
    describePatchGroupStateResponse_instancesWithNotApplicablePatches,
    describePatchGroupStateResponse_instancesWithOtherNonCompliantPatches,
    describePatchGroupStateResponse_instancesWithSecurityNonCompliantPatches,
    describePatchGroupStateResponse_instancesWithUnreportedNotApplicablePatches,
    describePatchGroupStateResponse_httpStatus,
  )
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 qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SSM.Types

-- | /See:/ 'newDescribePatchGroupState' smart constructor.
data DescribePatchGroupState = DescribePatchGroupState'
  { -- | The name of the patch group whose patch snapshot should be retrieved.
    DescribePatchGroupState -> Text
patchGroup :: Prelude.Text
  }
  deriving (DescribePatchGroupState -> DescribePatchGroupState -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePatchGroupState -> DescribePatchGroupState -> Bool
$c/= :: DescribePatchGroupState -> DescribePatchGroupState -> Bool
== :: DescribePatchGroupState -> DescribePatchGroupState -> Bool
$c== :: DescribePatchGroupState -> DescribePatchGroupState -> Bool
Prelude.Eq, ReadPrec [DescribePatchGroupState]
ReadPrec DescribePatchGroupState
Int -> ReadS DescribePatchGroupState
ReadS [DescribePatchGroupState]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePatchGroupState]
$creadListPrec :: ReadPrec [DescribePatchGroupState]
readPrec :: ReadPrec DescribePatchGroupState
$creadPrec :: ReadPrec DescribePatchGroupState
readList :: ReadS [DescribePatchGroupState]
$creadList :: ReadS [DescribePatchGroupState]
readsPrec :: Int -> ReadS DescribePatchGroupState
$creadsPrec :: Int -> ReadS DescribePatchGroupState
Prelude.Read, Int -> DescribePatchGroupState -> ShowS
[DescribePatchGroupState] -> ShowS
DescribePatchGroupState -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePatchGroupState] -> ShowS
$cshowList :: [DescribePatchGroupState] -> ShowS
show :: DescribePatchGroupState -> String
$cshow :: DescribePatchGroupState -> String
showsPrec :: Int -> DescribePatchGroupState -> ShowS
$cshowsPrec :: Int -> DescribePatchGroupState -> ShowS
Prelude.Show, forall x. Rep DescribePatchGroupState x -> DescribePatchGroupState
forall x. DescribePatchGroupState -> Rep DescribePatchGroupState x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep DescribePatchGroupState x -> DescribePatchGroupState
$cfrom :: forall x. DescribePatchGroupState -> Rep DescribePatchGroupState x
Prelude.Generic)

-- |
-- Create a value of 'DescribePatchGroupState' 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:
--
-- 'patchGroup', 'describePatchGroupState_patchGroup' - The name of the patch group whose patch snapshot should be retrieved.
newDescribePatchGroupState ::
  -- | 'patchGroup'
  Prelude.Text ->
  DescribePatchGroupState
newDescribePatchGroupState :: Text -> DescribePatchGroupState
newDescribePatchGroupState Text
pPatchGroup_ =
  DescribePatchGroupState' {$sel:patchGroup:DescribePatchGroupState' :: Text
patchGroup = Text
pPatchGroup_}

-- | The name of the patch group whose patch snapshot should be retrieved.
describePatchGroupState_patchGroup :: Lens.Lens' DescribePatchGroupState Prelude.Text
describePatchGroupState_patchGroup :: Lens' DescribePatchGroupState Text
describePatchGroupState_patchGroup = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupState' {Text
patchGroup :: Text
$sel:patchGroup:DescribePatchGroupState' :: DescribePatchGroupState -> Text
patchGroup} -> Text
patchGroup) (\s :: DescribePatchGroupState
s@DescribePatchGroupState' {} Text
a -> DescribePatchGroupState
s {$sel:patchGroup:DescribePatchGroupState' :: Text
patchGroup = Text
a} :: DescribePatchGroupState)

instance Core.AWSRequest DescribePatchGroupState where
  type
    AWSResponse DescribePatchGroupState =
      DescribePatchGroupStateResponse
  request :: (Service -> Service)
-> DescribePatchGroupState -> Request DescribePatchGroupState
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy DescribePatchGroupState
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse DescribePatchGroupState)))
response =
    forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Maybe Int
-> Int
-> DescribePatchGroupStateResponse
DescribePatchGroupStateResponse'
            forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"Instances")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithCriticalNonCompliantPatches"
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithFailedPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithInstalledOtherPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithInstalledPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithInstalledPendingRebootPatches"
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithInstalledRejectedPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithMissingPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithNotApplicablePatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithOtherNonCompliantPatches")
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithSecurityNonCompliantPatches"
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x
                            forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"InstancesWithUnreportedNotApplicablePatches"
                        )
            forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable DescribePatchGroupState where
  hashWithSalt :: Int -> DescribePatchGroupState -> Int
hashWithSalt Int
_salt DescribePatchGroupState' {Text
patchGroup :: Text
$sel:patchGroup:DescribePatchGroupState' :: DescribePatchGroupState -> Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
patchGroup

instance Prelude.NFData DescribePatchGroupState where
  rnf :: DescribePatchGroupState -> ()
rnf DescribePatchGroupState' {Text
patchGroup :: Text
$sel:patchGroup:DescribePatchGroupState' :: DescribePatchGroupState -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
patchGroup

instance Data.ToHeaders DescribePatchGroupState where
  toHeaders :: DescribePatchGroupState -> ResponseHeaders
toHeaders =
    forall a b. a -> b -> a
Prelude.const
      ( forall a. Monoid a => [a] -> a
Prelude.mconcat
          [ HeaderName
"X-Amz-Target"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"AmazonSSM.DescribePatchGroupState" ::
                          Prelude.ByteString
                      ),
            HeaderName
"Content-Type"
              forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
                          Prelude.ByteString
                      )
          ]
      )

instance Data.ToJSON DescribePatchGroupState where
  toJSON :: DescribePatchGroupState -> Value
toJSON DescribePatchGroupState' {Text
patchGroup :: Text
$sel:patchGroup:DescribePatchGroupState' :: DescribePatchGroupState -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [forall a. a -> Maybe a
Prelude.Just (Key
"PatchGroup" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
patchGroup)]
      )

instance Data.ToPath DescribePatchGroupState where
  toPath :: DescribePatchGroupState -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery DescribePatchGroupState where
  toQuery :: DescribePatchGroupState -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | /See:/ 'newDescribePatchGroupStateResponse' smart constructor.
data DescribePatchGroupStateResponse = DescribePatchGroupStateResponse'
  { -- | The number of managed nodes in the patch group.
    DescribePatchGroupStateResponse -> Maybe Int
instances :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes where patches that are specified as
    -- @Critical@ for compliance reporting in the patch baseline aren\'t
    -- installed. These patches might be missing, have failed installation,
    -- were rejected, or were installed but awaiting a required managed node
    -- reboot. The status of these managed nodes is @NON_COMPLIANT@.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithCriticalNonCompliantPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches from the patch baseline that
    -- failed to install.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithFailedPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches installed that aren\'t defined
    -- in the patch baseline.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledOtherPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with installed patches.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches installed by Patch Manager that
    -- haven\'t been rebooted after the patch installation. The status of these
    -- managed nodes is @NON_COMPLIANT@.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledPendingRebootPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches installed that are specified in
    -- a @RejectedPatches@ list. Patches with a status of @INSTALLED_REJECTED@
    -- were typically installed before they were added to a @RejectedPatches@
    -- list.
    --
    -- If @ALLOW_AS_DEPENDENCY@ is the specified option for
    -- @RejectedPatchesAction@, the value of
    -- @InstancesWithInstalledRejectedPatches@ will always be @0@ (zero).
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledRejectedPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with missing patches from the patch
    -- baseline.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithMissingPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches that aren\'t applicable.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithNotApplicablePatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with patches installed that are specified as
    -- other than @Critical@ or @Security@ but aren\'t compliant with the patch
    -- baseline. The status of these managed nodes is @NON_COMPLIANT@.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithOtherNonCompliantPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes where patches that are specified as
    -- @Security@ in a patch advisory aren\'t installed. These patches might be
    -- missing, have failed installation, were rejected, or were installed but
    -- awaiting a required managed node reboot. The status of these managed
    -- nodes is @NON_COMPLIANT@.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithSecurityNonCompliantPatches :: Prelude.Maybe Prelude.Int,
    -- | The number of managed nodes with @NotApplicable@ patches beyond the
    -- supported limit, which aren\'t reported by name to Inventory. Inventory
    -- is a capability of Amazon Web Services Systems Manager.
    DescribePatchGroupStateResponse -> Maybe Int
instancesWithUnreportedNotApplicablePatches :: Prelude.Maybe Prelude.Int,
    -- | The response's http status code.
    DescribePatchGroupStateResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (DescribePatchGroupStateResponse
-> DescribePatchGroupStateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: DescribePatchGroupStateResponse
-> DescribePatchGroupStateResponse -> Bool
$c/= :: DescribePatchGroupStateResponse
-> DescribePatchGroupStateResponse -> Bool
== :: DescribePatchGroupStateResponse
-> DescribePatchGroupStateResponse -> Bool
$c== :: DescribePatchGroupStateResponse
-> DescribePatchGroupStateResponse -> Bool
Prelude.Eq, ReadPrec [DescribePatchGroupStateResponse]
ReadPrec DescribePatchGroupStateResponse
Int -> ReadS DescribePatchGroupStateResponse
ReadS [DescribePatchGroupStateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [DescribePatchGroupStateResponse]
$creadListPrec :: ReadPrec [DescribePatchGroupStateResponse]
readPrec :: ReadPrec DescribePatchGroupStateResponse
$creadPrec :: ReadPrec DescribePatchGroupStateResponse
readList :: ReadS [DescribePatchGroupStateResponse]
$creadList :: ReadS [DescribePatchGroupStateResponse]
readsPrec :: Int -> ReadS DescribePatchGroupStateResponse
$creadsPrec :: Int -> ReadS DescribePatchGroupStateResponse
Prelude.Read, Int -> DescribePatchGroupStateResponse -> ShowS
[DescribePatchGroupStateResponse] -> ShowS
DescribePatchGroupStateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [DescribePatchGroupStateResponse] -> ShowS
$cshowList :: [DescribePatchGroupStateResponse] -> ShowS
show :: DescribePatchGroupStateResponse -> String
$cshow :: DescribePatchGroupStateResponse -> String
showsPrec :: Int -> DescribePatchGroupStateResponse -> ShowS
$cshowsPrec :: Int -> DescribePatchGroupStateResponse -> ShowS
Prelude.Show, forall x.
Rep DescribePatchGroupStateResponse x
-> DescribePatchGroupStateResponse
forall x.
DescribePatchGroupStateResponse
-> Rep DescribePatchGroupStateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep DescribePatchGroupStateResponse x
-> DescribePatchGroupStateResponse
$cfrom :: forall x.
DescribePatchGroupStateResponse
-> Rep DescribePatchGroupStateResponse x
Prelude.Generic)

-- |
-- Create a value of 'DescribePatchGroupStateResponse' 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:
--
-- 'instances', 'describePatchGroupStateResponse_instances' - The number of managed nodes in the patch group.
--
-- 'instancesWithCriticalNonCompliantPatches', 'describePatchGroupStateResponse_instancesWithCriticalNonCompliantPatches' - The number of managed nodes where patches that are specified as
-- @Critical@ for compliance reporting in the patch baseline aren\'t
-- installed. These patches might be missing, have failed installation,
-- were rejected, or were installed but awaiting a required managed node
-- reboot. The status of these managed nodes is @NON_COMPLIANT@.
--
-- 'instancesWithFailedPatches', 'describePatchGroupStateResponse_instancesWithFailedPatches' - The number of managed nodes with patches from the patch baseline that
-- failed to install.
--
-- 'instancesWithInstalledOtherPatches', 'describePatchGroupStateResponse_instancesWithInstalledOtherPatches' - The number of managed nodes with patches installed that aren\'t defined
-- in the patch baseline.
--
-- 'instancesWithInstalledPatches', 'describePatchGroupStateResponse_instancesWithInstalledPatches' - The number of managed nodes with installed patches.
--
-- 'instancesWithInstalledPendingRebootPatches', 'describePatchGroupStateResponse_instancesWithInstalledPendingRebootPatches' - The number of managed nodes with patches installed by Patch Manager that
-- haven\'t been rebooted after the patch installation. The status of these
-- managed nodes is @NON_COMPLIANT@.
--
-- 'instancesWithInstalledRejectedPatches', 'describePatchGroupStateResponse_instancesWithInstalledRejectedPatches' - The number of managed nodes with patches installed that are specified in
-- a @RejectedPatches@ list. Patches with a status of @INSTALLED_REJECTED@
-- were typically installed before they were added to a @RejectedPatches@
-- list.
--
-- If @ALLOW_AS_DEPENDENCY@ is the specified option for
-- @RejectedPatchesAction@, the value of
-- @InstancesWithInstalledRejectedPatches@ will always be @0@ (zero).
--
-- 'instancesWithMissingPatches', 'describePatchGroupStateResponse_instancesWithMissingPatches' - The number of managed nodes with missing patches from the patch
-- baseline.
--
-- 'instancesWithNotApplicablePatches', 'describePatchGroupStateResponse_instancesWithNotApplicablePatches' - The number of managed nodes with patches that aren\'t applicable.
--
-- 'instancesWithOtherNonCompliantPatches', 'describePatchGroupStateResponse_instancesWithOtherNonCompliantPatches' - The number of managed nodes with patches installed that are specified as
-- other than @Critical@ or @Security@ but aren\'t compliant with the patch
-- baseline. The status of these managed nodes is @NON_COMPLIANT@.
--
-- 'instancesWithSecurityNonCompliantPatches', 'describePatchGroupStateResponse_instancesWithSecurityNonCompliantPatches' - The number of managed nodes where patches that are specified as
-- @Security@ in a patch advisory aren\'t installed. These patches might be
-- missing, have failed installation, were rejected, or were installed but
-- awaiting a required managed node reboot. The status of these managed
-- nodes is @NON_COMPLIANT@.
--
-- 'instancesWithUnreportedNotApplicablePatches', 'describePatchGroupStateResponse_instancesWithUnreportedNotApplicablePatches' - The number of managed nodes with @NotApplicable@ patches beyond the
-- supported limit, which aren\'t reported by name to Inventory. Inventory
-- is a capability of Amazon Web Services Systems Manager.
--
-- 'httpStatus', 'describePatchGroupStateResponse_httpStatus' - The response's http status code.
newDescribePatchGroupStateResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  DescribePatchGroupStateResponse
newDescribePatchGroupStateResponse :: Int -> DescribePatchGroupStateResponse
newDescribePatchGroupStateResponse Int
pHttpStatus_ =
  DescribePatchGroupStateResponse'
    { $sel:instances:DescribePatchGroupStateResponse' :: Maybe Int
instances =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithCriticalNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithCriticalNonCompliantPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithFailedPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithFailedPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithInstalledOtherPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledOtherPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithInstalledPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithInstalledPendingRebootPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledPendingRebootPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithInstalledRejectedPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledRejectedPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithMissingPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithMissingPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithNotApplicablePatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithNotApplicablePatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithOtherNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithOtherNonCompliantPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithSecurityNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithSecurityNonCompliantPatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:instancesWithUnreportedNotApplicablePatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithUnreportedNotApplicablePatches =
        forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:DescribePatchGroupStateResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | The number of managed nodes in the patch group.
describePatchGroupStateResponse_instances :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instances :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instances = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instances :: Maybe Int
$sel:instances:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instances} -> Maybe Int
instances) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instances:DescribePatchGroupStateResponse' :: Maybe Int
instances = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes where patches that are specified as
-- @Critical@ for compliance reporting in the patch baseline aren\'t
-- installed. These patches might be missing, have failed installation,
-- were rejected, or were installed but awaiting a required managed node
-- reboot. The status of these managed nodes is @NON_COMPLIANT@.
describePatchGroupStateResponse_instancesWithCriticalNonCompliantPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithCriticalNonCompliantPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithCriticalNonCompliantPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithCriticalNonCompliantPatches :: Maybe Int
$sel:instancesWithCriticalNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithCriticalNonCompliantPatches} -> Maybe Int
instancesWithCriticalNonCompliantPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithCriticalNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithCriticalNonCompliantPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches from the patch baseline that
-- failed to install.
describePatchGroupStateResponse_instancesWithFailedPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithFailedPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithFailedPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithFailedPatches :: Maybe Int
$sel:instancesWithFailedPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithFailedPatches} -> Maybe Int
instancesWithFailedPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithFailedPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithFailedPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches installed that aren\'t defined
-- in the patch baseline.
describePatchGroupStateResponse_instancesWithInstalledOtherPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithInstalledOtherPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithInstalledOtherPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithInstalledOtherPatches :: Maybe Int
$sel:instancesWithInstalledOtherPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledOtherPatches} -> Maybe Int
instancesWithInstalledOtherPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithInstalledOtherPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledOtherPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with installed patches.
describePatchGroupStateResponse_instancesWithInstalledPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithInstalledPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithInstalledPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithInstalledPatches :: Maybe Int
$sel:instancesWithInstalledPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledPatches} -> Maybe Int
instancesWithInstalledPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithInstalledPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches installed by Patch Manager that
-- haven\'t been rebooted after the patch installation. The status of these
-- managed nodes is @NON_COMPLIANT@.
describePatchGroupStateResponse_instancesWithInstalledPendingRebootPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithInstalledPendingRebootPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithInstalledPendingRebootPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithInstalledPendingRebootPatches :: Maybe Int
$sel:instancesWithInstalledPendingRebootPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledPendingRebootPatches} -> Maybe Int
instancesWithInstalledPendingRebootPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithInstalledPendingRebootPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledPendingRebootPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches installed that are specified in
-- a @RejectedPatches@ list. Patches with a status of @INSTALLED_REJECTED@
-- were typically installed before they were added to a @RejectedPatches@
-- list.
--
-- If @ALLOW_AS_DEPENDENCY@ is the specified option for
-- @RejectedPatchesAction@, the value of
-- @InstancesWithInstalledRejectedPatches@ will always be @0@ (zero).
describePatchGroupStateResponse_instancesWithInstalledRejectedPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithInstalledRejectedPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithInstalledRejectedPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithInstalledRejectedPatches :: Maybe Int
$sel:instancesWithInstalledRejectedPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithInstalledRejectedPatches} -> Maybe Int
instancesWithInstalledRejectedPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithInstalledRejectedPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithInstalledRejectedPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with missing patches from the patch
-- baseline.
describePatchGroupStateResponse_instancesWithMissingPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithMissingPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithMissingPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithMissingPatches :: Maybe Int
$sel:instancesWithMissingPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithMissingPatches} -> Maybe Int
instancesWithMissingPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithMissingPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithMissingPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches that aren\'t applicable.
describePatchGroupStateResponse_instancesWithNotApplicablePatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithNotApplicablePatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithNotApplicablePatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithNotApplicablePatches :: Maybe Int
$sel:instancesWithNotApplicablePatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithNotApplicablePatches} -> Maybe Int
instancesWithNotApplicablePatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithNotApplicablePatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithNotApplicablePatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with patches installed that are specified as
-- other than @Critical@ or @Security@ but aren\'t compliant with the patch
-- baseline. The status of these managed nodes is @NON_COMPLIANT@.
describePatchGroupStateResponse_instancesWithOtherNonCompliantPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithOtherNonCompliantPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithOtherNonCompliantPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithOtherNonCompliantPatches :: Maybe Int
$sel:instancesWithOtherNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithOtherNonCompliantPatches} -> Maybe Int
instancesWithOtherNonCompliantPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithOtherNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithOtherNonCompliantPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes where patches that are specified as
-- @Security@ in a patch advisory aren\'t installed. These patches might be
-- missing, have failed installation, were rejected, or were installed but
-- awaiting a required managed node reboot. The status of these managed
-- nodes is @NON_COMPLIANT@.
describePatchGroupStateResponse_instancesWithSecurityNonCompliantPatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithSecurityNonCompliantPatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithSecurityNonCompliantPatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithSecurityNonCompliantPatches :: Maybe Int
$sel:instancesWithSecurityNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithSecurityNonCompliantPatches} -> Maybe Int
instancesWithSecurityNonCompliantPatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithSecurityNonCompliantPatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithSecurityNonCompliantPatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The number of managed nodes with @NotApplicable@ patches beyond the
-- supported limit, which aren\'t reported by name to Inventory. Inventory
-- is a capability of Amazon Web Services Systems Manager.
describePatchGroupStateResponse_instancesWithUnreportedNotApplicablePatches :: Lens.Lens' DescribePatchGroupStateResponse (Prelude.Maybe Prelude.Int)
describePatchGroupStateResponse_instancesWithUnreportedNotApplicablePatches :: Lens' DescribePatchGroupStateResponse (Maybe Int)
describePatchGroupStateResponse_instancesWithUnreportedNotApplicablePatches = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Maybe Int
instancesWithUnreportedNotApplicablePatches :: Maybe Int
$sel:instancesWithUnreportedNotApplicablePatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
instancesWithUnreportedNotApplicablePatches} -> Maybe Int
instancesWithUnreportedNotApplicablePatches) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Maybe Int
a -> DescribePatchGroupStateResponse
s {$sel:instancesWithUnreportedNotApplicablePatches:DescribePatchGroupStateResponse' :: Maybe Int
instancesWithUnreportedNotApplicablePatches = Maybe Int
a} :: DescribePatchGroupStateResponse)

-- | The response's http status code.
describePatchGroupStateResponse_httpStatus :: Lens.Lens' DescribePatchGroupStateResponse Prelude.Int
describePatchGroupStateResponse_httpStatus :: Lens' DescribePatchGroupStateResponse Int
describePatchGroupStateResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\DescribePatchGroupStateResponse' {Int
httpStatus :: Int
$sel:httpStatus:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: DescribePatchGroupStateResponse
s@DescribePatchGroupStateResponse' {} Int
a -> DescribePatchGroupStateResponse
s {$sel:httpStatus:DescribePatchGroupStateResponse' :: Int
httpStatus = Int
a} :: DescribePatchGroupStateResponse)

instance
  Prelude.NFData
    DescribePatchGroupStateResponse
  where
  rnf :: DescribePatchGroupStateResponse -> ()
rnf DescribePatchGroupStateResponse' {Int
Maybe Int
httpStatus :: Int
instancesWithUnreportedNotApplicablePatches :: Maybe Int
instancesWithSecurityNonCompliantPatches :: Maybe Int
instancesWithOtherNonCompliantPatches :: Maybe Int
instancesWithNotApplicablePatches :: Maybe Int
instancesWithMissingPatches :: Maybe Int
instancesWithInstalledRejectedPatches :: Maybe Int
instancesWithInstalledPendingRebootPatches :: Maybe Int
instancesWithInstalledPatches :: Maybe Int
instancesWithInstalledOtherPatches :: Maybe Int
instancesWithFailedPatches :: Maybe Int
instancesWithCriticalNonCompliantPatches :: Maybe Int
instances :: Maybe Int
$sel:httpStatus:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Int
$sel:instancesWithUnreportedNotApplicablePatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithSecurityNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithOtherNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithNotApplicablePatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithMissingPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithInstalledRejectedPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithInstalledPendingRebootPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithInstalledPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithInstalledOtherPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithFailedPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instancesWithCriticalNonCompliantPatches:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
$sel:instances:DescribePatchGroupStateResponse' :: DescribePatchGroupStateResponse -> Maybe Int
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instances
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithCriticalNonCompliantPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithFailedPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithInstalledOtherPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithInstalledPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
instancesWithInstalledPendingRebootPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithInstalledRejectedPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithMissingPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithNotApplicablePatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Int
instancesWithOtherNonCompliantPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
instancesWithSecurityNonCompliantPatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf
        Maybe Int
instancesWithUnreportedNotApplicablePatches
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus