{-# 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.UpdatePatchBaseline
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Modifies an existing patch baseline. Fields not specified in the request
-- are left unchanged.
--
-- For information about valid key-value pairs in @PatchFilters@ for each
-- supported operating system type, see PatchFilter.
module Amazonka.SSM.UpdatePatchBaseline
  ( -- * Creating a Request
    UpdatePatchBaseline (..),
    newUpdatePatchBaseline,

    -- * Request Lenses
    updatePatchBaseline_replace,
    updatePatchBaseline_approvalRules,
    updatePatchBaseline_globalFilters,
    updatePatchBaseline_approvedPatchesComplianceLevel,
    updatePatchBaseline_rejectedPatchesAction,
    updatePatchBaseline_approvedPatches,
    updatePatchBaseline_approvedPatchesEnableNonSecurity,
    updatePatchBaseline_rejectedPatches,
    updatePatchBaseline_sources,
    updatePatchBaseline_name,
    updatePatchBaseline_description,
    updatePatchBaseline_baselineId,

    -- * Destructuring the Response
    UpdatePatchBaselineResponse (..),
    newUpdatePatchBaselineResponse,

    -- * Response Lenses
    updatePatchBaselineResponse_approvalRules,
    updatePatchBaselineResponse_operatingSystem,
    updatePatchBaselineResponse_globalFilters,
    updatePatchBaselineResponse_approvedPatchesComplianceLevel,
    updatePatchBaselineResponse_rejectedPatchesAction,
    updatePatchBaselineResponse_approvedPatches,
    updatePatchBaselineResponse_approvedPatchesEnableNonSecurity,
    updatePatchBaselineResponse_rejectedPatches,
    updatePatchBaselineResponse_sources,
    updatePatchBaselineResponse_createdDate,
    updatePatchBaselineResponse_name,
    updatePatchBaselineResponse_modifiedDate,
    updatePatchBaselineResponse_description,
    updatePatchBaselineResponse_baselineId,
    updatePatchBaselineResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
import Amazonka.SSM.Types

-- | /See:/ 'newUpdatePatchBaseline' smart constructor.
data UpdatePatchBaseline = UpdatePatchBaseline'
  { -- | If True, then all fields that are required by the CreatePatchBaseline
    -- operation are also required for this API request. Optional fields that
    -- aren\'t specified are set to null.
    UpdatePatchBaseline -> Maybe Bool
replace :: Prelude.Maybe Prelude.Bool,
    -- | A set of rules used to include patches in the baseline.
    UpdatePatchBaseline -> Maybe PatchRuleGroup
approvalRules :: Prelude.Maybe PatchRuleGroup,
    -- | A set of global filters used to include patches in the baseline.
    UpdatePatchBaseline -> Maybe PatchFilterGroup
globalFilters :: Prelude.Maybe PatchFilterGroup,
    -- | Assigns a new compliance severity level to an existing patch baseline.
    UpdatePatchBaseline -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel :: Prelude.Maybe PatchComplianceLevel,
    -- | The action for Patch Manager to take on patches included in the
    -- @RejectedPackages@ list.
    --
    -- -   __@ALLOW_AS_DEPENDENCY@__ : A package in the @Rejected@ patches list
    --     is installed only if it is a dependency of another package. It is
    --     considered compliant with the patch baseline, and its status is
    --     reported as @InstalledOther@. This is the default action if no
    --     option is specified.
    --
    -- -   __@BLOCK@__ : Packages in the @RejectedPatches@ list, and packages
    --     that include them as dependencies, aren\'t installed under any
    --     circumstances. If a package was installed before it was added to the
    --     @Rejected@ patches list, it is considered non-compliant with the
    --     patch baseline, and its status is reported as @InstalledRejected@.
    UpdatePatchBaseline -> Maybe PatchAction
rejectedPatchesAction :: Prelude.Maybe PatchAction,
    -- | A list of explicitly approved patches for the baseline.
    --
    -- For information about accepted formats for lists of approved patches and
    -- rejected patches, see
    -- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
    -- in the /Amazon Web Services Systems Manager User Guide/.
    UpdatePatchBaseline -> Maybe [Text]
approvedPatches :: Prelude.Maybe [Prelude.Text],
    -- | Indicates whether the list of approved patches includes non-security
    -- updates that should be applied to the instances. The default value is
    -- @false@. Applies to Linux instances only.
    UpdatePatchBaseline -> Maybe Bool
approvedPatchesEnableNonSecurity :: Prelude.Maybe Prelude.Bool,
    -- | A list of explicitly rejected patches for the baseline.
    --
    -- For information about accepted formats for lists of approved patches and
    -- rejected patches, see
    -- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
    -- in the /Amazon Web Services Systems Manager User Guide/.
    UpdatePatchBaseline -> Maybe [Text]
rejectedPatches :: Prelude.Maybe [Prelude.Text],
    -- | Information about the patches to use to update the instances, including
    -- target operating systems and source repositories. Applies to Linux
    -- instances only.
    UpdatePatchBaseline -> Maybe [PatchSource]
sources :: Prelude.Maybe [PatchSource],
    -- | The name of the patch baseline.
    UpdatePatchBaseline -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | A description of the patch baseline.
    UpdatePatchBaseline -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The ID of the patch baseline to update.
    UpdatePatchBaseline -> Text
baselineId :: Prelude.Text
  }
  deriving (UpdatePatchBaseline -> UpdatePatchBaseline -> Bool
(UpdatePatchBaseline -> UpdatePatchBaseline -> Bool)
-> (UpdatePatchBaseline -> UpdatePatchBaseline -> Bool)
-> Eq UpdatePatchBaseline
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdatePatchBaseline -> UpdatePatchBaseline -> Bool
$c/= :: UpdatePatchBaseline -> UpdatePatchBaseline -> Bool
== :: UpdatePatchBaseline -> UpdatePatchBaseline -> Bool
$c== :: UpdatePatchBaseline -> UpdatePatchBaseline -> Bool
Prelude.Eq, Int -> UpdatePatchBaseline -> ShowS
[UpdatePatchBaseline] -> ShowS
UpdatePatchBaseline -> String
(Int -> UpdatePatchBaseline -> ShowS)
-> (UpdatePatchBaseline -> String)
-> ([UpdatePatchBaseline] -> ShowS)
-> Show UpdatePatchBaseline
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdatePatchBaseline] -> ShowS
$cshowList :: [UpdatePatchBaseline] -> ShowS
show :: UpdatePatchBaseline -> String
$cshow :: UpdatePatchBaseline -> String
showsPrec :: Int -> UpdatePatchBaseline -> ShowS
$cshowsPrec :: Int -> UpdatePatchBaseline -> ShowS
Prelude.Show, (forall x. UpdatePatchBaseline -> Rep UpdatePatchBaseline x)
-> (forall x. Rep UpdatePatchBaseline x -> UpdatePatchBaseline)
-> Generic UpdatePatchBaseline
forall x. Rep UpdatePatchBaseline x -> UpdatePatchBaseline
forall x. UpdatePatchBaseline -> Rep UpdatePatchBaseline x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep UpdatePatchBaseline x -> UpdatePatchBaseline
$cfrom :: forall x. UpdatePatchBaseline -> Rep UpdatePatchBaseline x
Prelude.Generic)

-- |
-- Create a value of 'UpdatePatchBaseline' 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:
--
-- 'replace', 'updatePatchBaseline_replace' - If True, then all fields that are required by the CreatePatchBaseline
-- operation are also required for this API request. Optional fields that
-- aren\'t specified are set to null.
--
-- 'approvalRules', 'updatePatchBaseline_approvalRules' - A set of rules used to include patches in the baseline.
--
-- 'globalFilters', 'updatePatchBaseline_globalFilters' - A set of global filters used to include patches in the baseline.
--
-- 'approvedPatchesComplianceLevel', 'updatePatchBaseline_approvedPatchesComplianceLevel' - Assigns a new compliance severity level to an existing patch baseline.
--
-- 'rejectedPatchesAction', 'updatePatchBaseline_rejectedPatchesAction' - The action for Patch Manager to take on patches included in the
-- @RejectedPackages@ list.
--
-- -   __@ALLOW_AS_DEPENDENCY@__ : A package in the @Rejected@ patches list
--     is installed only if it is a dependency of another package. It is
--     considered compliant with the patch baseline, and its status is
--     reported as @InstalledOther@. This is the default action if no
--     option is specified.
--
-- -   __@BLOCK@__ : Packages in the @RejectedPatches@ list, and packages
--     that include them as dependencies, aren\'t installed under any
--     circumstances. If a package was installed before it was added to the
--     @Rejected@ patches list, it is considered non-compliant with the
--     patch baseline, and its status is reported as @InstalledRejected@.
--
-- 'approvedPatches', 'updatePatchBaseline_approvedPatches' - A list of explicitly approved patches for the baseline.
--
-- For information about accepted formats for lists of approved patches and
-- rejected patches, see
-- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
-- in the /Amazon Web Services Systems Manager User Guide/.
--
-- 'approvedPatchesEnableNonSecurity', 'updatePatchBaseline_approvedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security
-- updates that should be applied to the instances. The default value is
-- @false@. Applies to Linux instances only.
--
-- 'rejectedPatches', 'updatePatchBaseline_rejectedPatches' - A list of explicitly rejected patches for the baseline.
--
-- For information about accepted formats for lists of approved patches and
-- rejected patches, see
-- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
-- in the /Amazon Web Services Systems Manager User Guide/.
--
-- 'sources', 'updatePatchBaseline_sources' - Information about the patches to use to update the instances, including
-- target operating systems and source repositories. Applies to Linux
-- instances only.
--
-- 'name', 'updatePatchBaseline_name' - The name of the patch baseline.
--
-- 'description', 'updatePatchBaseline_description' - A description of the patch baseline.
--
-- 'baselineId', 'updatePatchBaseline_baselineId' - The ID of the patch baseline to update.
newUpdatePatchBaseline ::
  -- | 'baselineId'
  Prelude.Text ->
  UpdatePatchBaseline
newUpdatePatchBaseline :: Text -> UpdatePatchBaseline
newUpdatePatchBaseline Text
pBaselineId_ =
  UpdatePatchBaseline' :: Maybe Bool
-> Maybe PatchRuleGroup
-> Maybe PatchFilterGroup
-> Maybe PatchComplianceLevel
-> Maybe PatchAction
-> Maybe [Text]
-> Maybe Bool
-> Maybe [Text]
-> Maybe [PatchSource]
-> Maybe Text
-> Maybe Text
-> Text
-> UpdatePatchBaseline
UpdatePatchBaseline'
    { $sel:replace:UpdatePatchBaseline' :: Maybe Bool
replace = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:approvalRules:UpdatePatchBaseline' :: Maybe PatchRuleGroup
approvalRules = Maybe PatchRuleGroup
forall a. Maybe a
Prelude.Nothing,
      $sel:globalFilters:UpdatePatchBaseline' :: Maybe PatchFilterGroup
globalFilters = Maybe PatchFilterGroup
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatchesComplianceLevel:UpdatePatchBaseline' :: Maybe PatchComplianceLevel
approvedPatchesComplianceLevel = Maybe PatchComplianceLevel
forall a. Maybe a
Prelude.Nothing,
      $sel:rejectedPatchesAction:UpdatePatchBaseline' :: Maybe PatchAction
rejectedPatchesAction = Maybe PatchAction
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatches:UpdatePatchBaseline' :: Maybe [Text]
approvedPatches = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatchesEnableNonSecurity:UpdatePatchBaseline' :: Maybe Bool
approvedPatchesEnableNonSecurity = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:rejectedPatches:UpdatePatchBaseline' :: Maybe [Text]
rejectedPatches = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:sources:UpdatePatchBaseline' :: Maybe [PatchSource]
sources = Maybe [PatchSource]
forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdatePatchBaseline' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdatePatchBaseline' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:baselineId:UpdatePatchBaseline' :: Text
baselineId = Text
pBaselineId_
    }

-- | If True, then all fields that are required by the CreatePatchBaseline
-- operation are also required for this API request. Optional fields that
-- aren\'t specified are set to null.
updatePatchBaseline_replace :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe Prelude.Bool)
updatePatchBaseline_replace :: (Maybe Bool -> f (Maybe Bool))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_replace = (UpdatePatchBaseline -> Maybe Bool)
-> (UpdatePatchBaseline -> Maybe Bool -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline UpdatePatchBaseline (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe Bool
replace :: Maybe Bool
$sel:replace:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Bool
replace} -> Maybe Bool
replace) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe Bool
a -> UpdatePatchBaseline
s {$sel:replace:UpdatePatchBaseline' :: Maybe Bool
replace = Maybe Bool
a} :: UpdatePatchBaseline)

-- | A set of rules used to include patches in the baseline.
updatePatchBaseline_approvalRules :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe PatchRuleGroup)
updatePatchBaseline_approvalRules :: (Maybe PatchRuleGroup -> f (Maybe PatchRuleGroup))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_approvalRules = (UpdatePatchBaseline -> Maybe PatchRuleGroup)
-> (UpdatePatchBaseline
    -> Maybe PatchRuleGroup -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe PatchRuleGroup)
     (Maybe PatchRuleGroup)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe PatchRuleGroup
approvalRules :: Maybe PatchRuleGroup
$sel:approvalRules:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchRuleGroup
approvalRules} -> Maybe PatchRuleGroup
approvalRules) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe PatchRuleGroup
a -> UpdatePatchBaseline
s {$sel:approvalRules:UpdatePatchBaseline' :: Maybe PatchRuleGroup
approvalRules = Maybe PatchRuleGroup
a} :: UpdatePatchBaseline)

-- | A set of global filters used to include patches in the baseline.
updatePatchBaseline_globalFilters :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe PatchFilterGroup)
updatePatchBaseline_globalFilters :: (Maybe PatchFilterGroup -> f (Maybe PatchFilterGroup))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_globalFilters = (UpdatePatchBaseline -> Maybe PatchFilterGroup)
-> (UpdatePatchBaseline
    -> Maybe PatchFilterGroup -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe PatchFilterGroup)
     (Maybe PatchFilterGroup)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe PatchFilterGroup
globalFilters :: Maybe PatchFilterGroup
$sel:globalFilters:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchFilterGroup
globalFilters} -> Maybe PatchFilterGroup
globalFilters) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe PatchFilterGroup
a -> UpdatePatchBaseline
s {$sel:globalFilters:UpdatePatchBaseline' :: Maybe PatchFilterGroup
globalFilters = Maybe PatchFilterGroup
a} :: UpdatePatchBaseline)

-- | Assigns a new compliance severity level to an existing patch baseline.
updatePatchBaseline_approvedPatchesComplianceLevel :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe PatchComplianceLevel)
updatePatchBaseline_approvedPatchesComplianceLevel :: (Maybe PatchComplianceLevel -> f (Maybe PatchComplianceLevel))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_approvedPatchesComplianceLevel = (UpdatePatchBaseline -> Maybe PatchComplianceLevel)
-> (UpdatePatchBaseline
    -> Maybe PatchComplianceLevel -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe PatchComplianceLevel)
     (Maybe PatchComplianceLevel)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe PatchComplianceLevel
approvedPatchesComplianceLevel :: Maybe PatchComplianceLevel
$sel:approvedPatchesComplianceLevel:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel} -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe PatchComplianceLevel
a -> UpdatePatchBaseline
s {$sel:approvedPatchesComplianceLevel:UpdatePatchBaseline' :: Maybe PatchComplianceLevel
approvedPatchesComplianceLevel = Maybe PatchComplianceLevel
a} :: UpdatePatchBaseline)

-- | The action for Patch Manager to take on patches included in the
-- @RejectedPackages@ list.
--
-- -   __@ALLOW_AS_DEPENDENCY@__ : A package in the @Rejected@ patches list
--     is installed only if it is a dependency of another package. It is
--     considered compliant with the patch baseline, and its status is
--     reported as @InstalledOther@. This is the default action if no
--     option is specified.
--
-- -   __@BLOCK@__ : Packages in the @RejectedPatches@ list, and packages
--     that include them as dependencies, aren\'t installed under any
--     circumstances. If a package was installed before it was added to the
--     @Rejected@ patches list, it is considered non-compliant with the
--     patch baseline, and its status is reported as @InstalledRejected@.
updatePatchBaseline_rejectedPatchesAction :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe PatchAction)
updatePatchBaseline_rejectedPatchesAction :: (Maybe PatchAction -> f (Maybe PatchAction))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_rejectedPatchesAction = (UpdatePatchBaseline -> Maybe PatchAction)
-> (UpdatePatchBaseline
    -> Maybe PatchAction -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe PatchAction)
     (Maybe PatchAction)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe PatchAction
rejectedPatchesAction :: Maybe PatchAction
$sel:rejectedPatchesAction:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchAction
rejectedPatchesAction} -> Maybe PatchAction
rejectedPatchesAction) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe PatchAction
a -> UpdatePatchBaseline
s {$sel:rejectedPatchesAction:UpdatePatchBaseline' :: Maybe PatchAction
rejectedPatchesAction = Maybe PatchAction
a} :: UpdatePatchBaseline)

-- | A list of explicitly approved patches for the baseline.
--
-- For information about accepted formats for lists of approved patches and
-- rejected patches, see
-- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
-- in the /Amazon Web Services Systems Manager User Guide/.
updatePatchBaseline_approvedPatches :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe [Prelude.Text])
updatePatchBaseline_approvedPatches :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_approvedPatches = (UpdatePatchBaseline -> Maybe [Text])
-> (UpdatePatchBaseline -> Maybe [Text] -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe [Text]
approvedPatches :: Maybe [Text]
$sel:approvedPatches:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [Text]
approvedPatches} -> Maybe [Text]
approvedPatches) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe [Text]
a -> UpdatePatchBaseline
s {$sel:approvedPatches:UpdatePatchBaseline' :: Maybe [Text]
approvedPatches = Maybe [Text]
a} :: UpdatePatchBaseline) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdatePatchBaseline -> f UpdatePatchBaseline)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaseline
-> f UpdatePatchBaseline
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates whether the list of approved patches includes non-security
-- updates that should be applied to the instances. The default value is
-- @false@. Applies to Linux instances only.
updatePatchBaseline_approvedPatchesEnableNonSecurity :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe Prelude.Bool)
updatePatchBaseline_approvedPatchesEnableNonSecurity :: (Maybe Bool -> f (Maybe Bool))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_approvedPatchesEnableNonSecurity = (UpdatePatchBaseline -> Maybe Bool)
-> (UpdatePatchBaseline -> Maybe Bool -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline UpdatePatchBaseline (Maybe Bool) (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe Bool
approvedPatchesEnableNonSecurity :: Maybe Bool
$sel:approvedPatchesEnableNonSecurity:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Bool
approvedPatchesEnableNonSecurity} -> Maybe Bool
approvedPatchesEnableNonSecurity) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe Bool
a -> UpdatePatchBaseline
s {$sel:approvedPatchesEnableNonSecurity:UpdatePatchBaseline' :: Maybe Bool
approvedPatchesEnableNonSecurity = Maybe Bool
a} :: UpdatePatchBaseline)

-- | A list of explicitly rejected patches for the baseline.
--
-- For information about accepted formats for lists of approved patches and
-- rejected patches, see
-- <https://docs.aws.amazon.com/systems-manager/latest/userguide/patch-manager-approved-rejected-package-name-formats.html About package name formats for approved and rejected patch lists>
-- in the /Amazon Web Services Systems Manager User Guide/.
updatePatchBaseline_rejectedPatches :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe [Prelude.Text])
updatePatchBaseline_rejectedPatches :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_rejectedPatches = (UpdatePatchBaseline -> Maybe [Text])
-> (UpdatePatchBaseline -> Maybe [Text] -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe [Text]
rejectedPatches :: Maybe [Text]
$sel:rejectedPatches:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [Text]
rejectedPatches} -> Maybe [Text]
rejectedPatches) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe [Text]
a -> UpdatePatchBaseline
s {$sel:rejectedPatches:UpdatePatchBaseline' :: Maybe [Text]
rejectedPatches = Maybe [Text]
a} :: UpdatePatchBaseline) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdatePatchBaseline -> f UpdatePatchBaseline)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaseline
-> f UpdatePatchBaseline
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Information about the patches to use to update the instances, including
-- target operating systems and source repositories. Applies to Linux
-- instances only.
updatePatchBaseline_sources :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe [PatchSource])
updatePatchBaseline_sources :: (Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_sources = (UpdatePatchBaseline -> Maybe [PatchSource])
-> (UpdatePatchBaseline
    -> Maybe [PatchSource] -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline
     UpdatePatchBaseline
     (Maybe [PatchSource])
     (Maybe [PatchSource])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe [PatchSource]
sources :: Maybe [PatchSource]
$sel:sources:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [PatchSource]
sources} -> Maybe [PatchSource]
sources) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe [PatchSource]
a -> UpdatePatchBaseline
s {$sel:sources:UpdatePatchBaseline' :: Maybe [PatchSource]
sources = Maybe [PatchSource]
a} :: UpdatePatchBaseline) ((Maybe [PatchSource] -> f (Maybe [PatchSource]))
 -> UpdatePatchBaseline -> f UpdatePatchBaseline)
-> ((Maybe [PatchSource] -> f (Maybe [PatchSource]))
    -> Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> (Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> UpdatePatchBaseline
-> f UpdatePatchBaseline
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [PatchSource] [PatchSource] [PatchSource] [PatchSource]
-> Iso
     (Maybe [PatchSource])
     (Maybe [PatchSource])
     (Maybe [PatchSource])
     (Maybe [PatchSource])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [PatchSource] [PatchSource] [PatchSource] [PatchSource]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The name of the patch baseline.
updatePatchBaseline_name :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe Prelude.Text)
updatePatchBaseline_name :: (Maybe Text -> f (Maybe Text))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_name = (UpdatePatchBaseline -> Maybe Text)
-> (UpdatePatchBaseline -> Maybe Text -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline UpdatePatchBaseline (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe Text
name :: Maybe Text
$sel:name:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe Text
a -> UpdatePatchBaseline
s {$sel:name:UpdatePatchBaseline' :: Maybe Text
name = Maybe Text
a} :: UpdatePatchBaseline)

-- | A description of the patch baseline.
updatePatchBaseline_description :: Lens.Lens' UpdatePatchBaseline (Prelude.Maybe Prelude.Text)
updatePatchBaseline_description :: (Maybe Text -> f (Maybe Text))
-> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_description = (UpdatePatchBaseline -> Maybe Text)
-> (UpdatePatchBaseline -> Maybe Text -> UpdatePatchBaseline)
-> Lens
     UpdatePatchBaseline UpdatePatchBaseline (Maybe Text) (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Maybe Text
description :: Maybe Text
$sel:description:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Maybe Text
a -> UpdatePatchBaseline
s {$sel:description:UpdatePatchBaseline' :: Maybe Text
description = Maybe Text
a} :: UpdatePatchBaseline)

-- | The ID of the patch baseline to update.
updatePatchBaseline_baselineId :: Lens.Lens' UpdatePatchBaseline Prelude.Text
updatePatchBaseline_baselineId :: (Text -> f Text) -> UpdatePatchBaseline -> f UpdatePatchBaseline
updatePatchBaseline_baselineId = (UpdatePatchBaseline -> Text)
-> (UpdatePatchBaseline -> Text -> UpdatePatchBaseline)
-> Lens UpdatePatchBaseline UpdatePatchBaseline Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaseline' {Text
baselineId :: Text
$sel:baselineId:UpdatePatchBaseline' :: UpdatePatchBaseline -> Text
baselineId} -> Text
baselineId) (\s :: UpdatePatchBaseline
s@UpdatePatchBaseline' {} Text
a -> UpdatePatchBaseline
s {$sel:baselineId:UpdatePatchBaseline' :: Text
baselineId = Text
a} :: UpdatePatchBaseline)

instance Core.AWSRequest UpdatePatchBaseline where
  type
    AWSResponse UpdatePatchBaseline =
      UpdatePatchBaselineResponse
  request :: UpdatePatchBaseline -> Request UpdatePatchBaseline
request = Service -> UpdatePatchBaseline -> Request UpdatePatchBaseline
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON Service
defaultService
  response :: Logger
-> Service
-> Proxy UpdatePatchBaseline
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdatePatchBaseline)))
response =
    (Int
 -> ResponseHeaders
 -> Object
 -> Either String (AWSResponse UpdatePatchBaseline))
-> Logger
-> Service
-> Proxy UpdatePatchBaseline
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse UpdatePatchBaseline)))
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> Object -> Either String (AWSResponse a))
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveJSON
      ( \Int
s ResponseHeaders
h Object
x ->
          Maybe PatchRuleGroup
-> Maybe OperatingSystem
-> Maybe PatchFilterGroup
-> Maybe PatchComplianceLevel
-> Maybe PatchAction
-> Maybe [Text]
-> Maybe Bool
-> Maybe [Text]
-> Maybe [PatchSource]
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Int
-> UpdatePatchBaselineResponse
UpdatePatchBaselineResponse'
            (Maybe PatchRuleGroup
 -> Maybe OperatingSystem
 -> Maybe PatchFilterGroup
 -> Maybe PatchComplianceLevel
 -> Maybe PatchAction
 -> Maybe [Text]
 -> Maybe Bool
 -> Maybe [Text]
 -> Maybe [PatchSource]
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe POSIX
 -> Maybe Text
 -> Maybe Text
 -> Int
 -> UpdatePatchBaselineResponse)
-> Either String (Maybe PatchRuleGroup)
-> Either
     String
     (Maybe OperatingSystem
      -> Maybe PatchFilterGroup
      -> Maybe PatchComplianceLevel
      -> Maybe PatchAction
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Either String (Maybe PatchRuleGroup)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ApprovalRules")
            Either
  String
  (Maybe OperatingSystem
   -> Maybe PatchFilterGroup
   -> Maybe PatchComplianceLevel
   -> Maybe PatchAction
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe OperatingSystem)
-> Either
     String
     (Maybe PatchFilterGroup
      -> Maybe PatchComplianceLevel
      -> Maybe PatchAction
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe OperatingSystem)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"OperatingSystem")
            Either
  String
  (Maybe PatchFilterGroup
   -> Maybe PatchComplianceLevel
   -> Maybe PatchAction
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe PatchFilterGroup)
-> Either
     String
     (Maybe PatchComplianceLevel
      -> Maybe PatchAction
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe PatchFilterGroup)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"GlobalFilters")
            Either
  String
  (Maybe PatchComplianceLevel
   -> Maybe PatchAction
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe PatchComplianceLevel)
-> Either
     String
     (Maybe PatchAction
      -> Maybe [Text]
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe PatchComplianceLevel)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ApprovedPatchesComplianceLevel")
            Either
  String
  (Maybe PatchAction
   -> Maybe [Text]
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe PatchAction)
-> Either
     String
     (Maybe [Text]
      -> Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe PatchAction)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"RejectedPatchesAction")
            Either
  String
  (Maybe [Text]
   -> Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe [Text])
-> Either
     String
     (Maybe Bool
      -> Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Either String (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ApprovedPatches"
                            Either String (Maybe (Maybe [Text]))
-> Maybe [Text] -> Either String (Maybe [Text])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe Bool
   -> Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe Bool)
-> Either
     String
     (Maybe [Text]
      -> Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ApprovedPatchesEnableNonSecurity")
            Either
  String
  (Maybe [Text]
   -> Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe [Text])
-> Either
     String
     (Maybe [PatchSource]
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> ( Object
x Object -> Text -> Either String (Maybe (Maybe [Text]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"RejectedPatches"
                            Either String (Maybe (Maybe [Text]))
-> Maybe [Text] -> Either String (Maybe [Text])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [Text]
forall a. Monoid a => a
Prelude.mempty
                        )
            Either
  String
  (Maybe [PatchSource]
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe [PatchSource])
-> Either
     String
     (Maybe POSIX
      -> Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe (Maybe [PatchSource]))
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Sources" Either String (Maybe (Maybe [PatchSource]))
-> Maybe [PatchSource] -> Either String (Maybe [PatchSource])
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ Maybe [PatchSource]
forall a. Monoid a => a
Prelude.mempty)
            Either
  String
  (Maybe POSIX
   -> Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text
      -> Maybe POSIX
      -> Maybe Text
      -> Maybe Text
      -> Int
      -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"CreatedDate")
            Either
  String
  (Maybe Text
   -> Maybe POSIX
   -> Maybe Text
   -> Maybe Text
   -> Int
   -> UpdatePatchBaselineResponse)
-> Either String (Maybe Text)
-> Either
     String
     (Maybe POSIX
      -> Maybe Text -> Maybe Text -> Int -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Name")
            Either
  String
  (Maybe POSIX
   -> Maybe Text -> Maybe Text -> Int -> UpdatePatchBaselineResponse)
-> Either String (Maybe POSIX)
-> Either
     String
     (Maybe Text -> Maybe Text -> Int -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"ModifiedDate")
            Either
  String
  (Maybe Text -> Maybe Text -> Int -> UpdatePatchBaselineResponse)
-> Either String (Maybe Text)
-> Either String (Maybe Text -> Int -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"Description")
            Either String (Maybe Text -> Int -> UpdatePatchBaselineResponse)
-> Either String (Maybe Text)
-> Either String (Int -> UpdatePatchBaselineResponse)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Either String (Maybe Text)
forall a. FromJSON a => Object -> Text -> Either String (Maybe a)
Core..?> Text
"BaselineId")
            Either String (Int -> UpdatePatchBaselineResponse)
-> Either String Int -> Either String UpdatePatchBaselineResponse
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Int -> Either String Int
forall (f :: * -> *) a. Applicative f => a -> f a
Prelude.pure (Int -> Int
forall a. Enum a => a -> Int
Prelude.fromEnum Int
s))
      )

instance Prelude.Hashable UpdatePatchBaseline

instance Prelude.NFData UpdatePatchBaseline

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

instance Core.ToJSON UpdatePatchBaseline where
  toJSON :: UpdatePatchBaseline -> Value
toJSON UpdatePatchBaseline' {Maybe Bool
Maybe [Text]
Maybe [PatchSource]
Maybe Text
Maybe PatchAction
Maybe PatchComplianceLevel
Maybe PatchFilterGroup
Maybe PatchRuleGroup
Text
baselineId :: Text
description :: Maybe Text
name :: Maybe Text
sources :: Maybe [PatchSource]
rejectedPatches :: Maybe [Text]
approvedPatchesEnableNonSecurity :: Maybe Bool
approvedPatches :: Maybe [Text]
rejectedPatchesAction :: Maybe PatchAction
approvedPatchesComplianceLevel :: Maybe PatchComplianceLevel
globalFilters :: Maybe PatchFilterGroup
approvalRules :: Maybe PatchRuleGroup
replace :: Maybe Bool
$sel:baselineId:UpdatePatchBaseline' :: UpdatePatchBaseline -> Text
$sel:description:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Text
$sel:name:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Text
$sel:sources:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [PatchSource]
$sel:rejectedPatches:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [Text]
$sel:approvedPatchesEnableNonSecurity:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Bool
$sel:approvedPatches:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe [Text]
$sel:rejectedPatchesAction:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchAction
$sel:approvedPatchesComplianceLevel:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchComplianceLevel
$sel:globalFilters:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchFilterGroup
$sel:approvalRules:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe PatchRuleGroup
$sel:replace:UpdatePatchBaseline' :: UpdatePatchBaseline -> Maybe Bool
..} =
    [Pair] -> Value
Core.object
      ( [Maybe Pair] -> [Pair]
forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ (Text
"Replace" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
replace,
            (Text
"ApprovalRules" Text -> PatchRuleGroup -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (PatchRuleGroup -> Pair) -> Maybe PatchRuleGroup -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PatchRuleGroup
approvalRules,
            (Text
"GlobalFilters" Text -> PatchFilterGroup -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (PatchFilterGroup -> Pair) -> Maybe PatchFilterGroup -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PatchFilterGroup
globalFilters,
            (Text
"ApprovedPatchesComplianceLevel" Text -> PatchComplianceLevel -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (PatchComplianceLevel -> Pair)
-> Maybe PatchComplianceLevel -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel,
            (Text
"RejectedPatchesAction" Text -> PatchAction -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (PatchAction -> Pair) -> Maybe PatchAction -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe PatchAction
rejectedPatchesAction,
            (Text
"ApprovedPatches" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
approvedPatches,
            (Text
"ApprovedPatchesEnableNonSecurity" Text -> Bool -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              (Bool -> Pair) -> Maybe Bool -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Bool
approvedPatchesEnableNonSecurity,
            (Text
"RejectedPatches" Text -> [Text] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=)
              ([Text] -> Pair) -> Maybe [Text] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [Text]
rejectedPatches,
            (Text
"Sources" Text -> [PatchSource] -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) ([PatchSource] -> Pair) -> Maybe [PatchSource] -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe [PatchSource]
sources,
            (Text
"Name" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
name,
            (Text
"Description" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..=) (Text -> Pair) -> Maybe Text -> Maybe Pair
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe Text
description,
            Pair -> Maybe Pair
forall a. a -> Maybe a
Prelude.Just (Text
"BaselineId" Text -> Text -> Pair
forall kv v. (KeyValue kv, ToJSON v) => Text -> v -> kv
Core..= Text
baselineId)
          ]
      )

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

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

-- | /See:/ 'newUpdatePatchBaselineResponse' smart constructor.
data UpdatePatchBaselineResponse = UpdatePatchBaselineResponse'
  { -- | A set of rules used to include patches in the baseline.
    UpdatePatchBaselineResponse -> Maybe PatchRuleGroup
approvalRules :: Prelude.Maybe PatchRuleGroup,
    -- | The operating system rule used by the updated patch baseline.
    UpdatePatchBaselineResponse -> Maybe OperatingSystem
operatingSystem :: Prelude.Maybe OperatingSystem,
    -- | A set of global filters used to exclude patches from the baseline.
    UpdatePatchBaselineResponse -> Maybe PatchFilterGroup
globalFilters :: Prelude.Maybe PatchFilterGroup,
    -- | The compliance severity level assigned to the patch baseline after the
    -- update completed.
    UpdatePatchBaselineResponse -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel :: Prelude.Maybe PatchComplianceLevel,
    -- | The action specified to take on patches included in the
    -- @RejectedPatches@ list. A patch can be allowed only if it is a
    -- dependency of another package, or blocked entirely along with packages
    -- that include it as a dependency.
    UpdatePatchBaselineResponse -> Maybe PatchAction
rejectedPatchesAction :: Prelude.Maybe PatchAction,
    -- | A list of explicitly approved patches for the baseline.
    UpdatePatchBaselineResponse -> Maybe [Text]
approvedPatches :: Prelude.Maybe [Prelude.Text],
    -- | Indicates whether the list of approved patches includes non-security
    -- updates that should be applied to the instances. The default value is
    -- @false@. Applies to Linux instances only.
    UpdatePatchBaselineResponse -> Maybe Bool
approvedPatchesEnableNonSecurity :: Prelude.Maybe Prelude.Bool,
    -- | A list of explicitly rejected patches for the baseline.
    UpdatePatchBaselineResponse -> Maybe [Text]
rejectedPatches :: Prelude.Maybe [Prelude.Text],
    -- | Information about the patches to use to update the instances, including
    -- target operating systems and source repositories. Applies to Linux
    -- instances only.
    UpdatePatchBaselineResponse -> Maybe [PatchSource]
sources :: Prelude.Maybe [PatchSource],
    -- | The date when the patch baseline was created.
    UpdatePatchBaselineResponse -> Maybe POSIX
createdDate :: Prelude.Maybe Core.POSIX,
    -- | The name of the patch baseline.
    UpdatePatchBaselineResponse -> Maybe Text
name :: Prelude.Maybe Prelude.Text,
    -- | The date when the patch baseline was last modified.
    UpdatePatchBaselineResponse -> Maybe POSIX
modifiedDate :: Prelude.Maybe Core.POSIX,
    -- | A description of the patch baseline.
    UpdatePatchBaselineResponse -> Maybe Text
description :: Prelude.Maybe Prelude.Text,
    -- | The ID of the deleted patch baseline.
    UpdatePatchBaselineResponse -> Maybe Text
baselineId :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    UpdatePatchBaselineResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdatePatchBaselineResponse -> UpdatePatchBaselineResponse -> Bool
(UpdatePatchBaselineResponse
 -> UpdatePatchBaselineResponse -> Bool)
-> (UpdatePatchBaselineResponse
    -> UpdatePatchBaselineResponse -> Bool)
-> Eq UpdatePatchBaselineResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdatePatchBaselineResponse -> UpdatePatchBaselineResponse -> Bool
$c/= :: UpdatePatchBaselineResponse -> UpdatePatchBaselineResponse -> Bool
== :: UpdatePatchBaselineResponse -> UpdatePatchBaselineResponse -> Bool
$c== :: UpdatePatchBaselineResponse -> UpdatePatchBaselineResponse -> Bool
Prelude.Eq, Int -> UpdatePatchBaselineResponse -> ShowS
[UpdatePatchBaselineResponse] -> ShowS
UpdatePatchBaselineResponse -> String
(Int -> UpdatePatchBaselineResponse -> ShowS)
-> (UpdatePatchBaselineResponse -> String)
-> ([UpdatePatchBaselineResponse] -> ShowS)
-> Show UpdatePatchBaselineResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdatePatchBaselineResponse] -> ShowS
$cshowList :: [UpdatePatchBaselineResponse] -> ShowS
show :: UpdatePatchBaselineResponse -> String
$cshow :: UpdatePatchBaselineResponse -> String
showsPrec :: Int -> UpdatePatchBaselineResponse -> ShowS
$cshowsPrec :: Int -> UpdatePatchBaselineResponse -> ShowS
Prelude.Show, (forall x.
 UpdatePatchBaselineResponse -> Rep UpdatePatchBaselineResponse x)
-> (forall x.
    Rep UpdatePatchBaselineResponse x -> UpdatePatchBaselineResponse)
-> Generic UpdatePatchBaselineResponse
forall x.
Rep UpdatePatchBaselineResponse x -> UpdatePatchBaselineResponse
forall x.
UpdatePatchBaselineResponse -> Rep UpdatePatchBaselineResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdatePatchBaselineResponse x -> UpdatePatchBaselineResponse
$cfrom :: forall x.
UpdatePatchBaselineResponse -> Rep UpdatePatchBaselineResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdatePatchBaselineResponse' 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:
--
-- 'approvalRules', 'updatePatchBaselineResponse_approvalRules' - A set of rules used to include patches in the baseline.
--
-- 'operatingSystem', 'updatePatchBaselineResponse_operatingSystem' - The operating system rule used by the updated patch baseline.
--
-- 'globalFilters', 'updatePatchBaselineResponse_globalFilters' - A set of global filters used to exclude patches from the baseline.
--
-- 'approvedPatchesComplianceLevel', 'updatePatchBaselineResponse_approvedPatchesComplianceLevel' - The compliance severity level assigned to the patch baseline after the
-- update completed.
--
-- 'rejectedPatchesAction', 'updatePatchBaselineResponse_rejectedPatchesAction' - The action specified to take on patches included in the
-- @RejectedPatches@ list. A patch can be allowed only if it is a
-- dependency of another package, or blocked entirely along with packages
-- that include it as a dependency.
--
-- 'approvedPatches', 'updatePatchBaselineResponse_approvedPatches' - A list of explicitly approved patches for the baseline.
--
-- 'approvedPatchesEnableNonSecurity', 'updatePatchBaselineResponse_approvedPatchesEnableNonSecurity' - Indicates whether the list of approved patches includes non-security
-- updates that should be applied to the instances. The default value is
-- @false@. Applies to Linux instances only.
--
-- 'rejectedPatches', 'updatePatchBaselineResponse_rejectedPatches' - A list of explicitly rejected patches for the baseline.
--
-- 'sources', 'updatePatchBaselineResponse_sources' - Information about the patches to use to update the instances, including
-- target operating systems and source repositories. Applies to Linux
-- instances only.
--
-- 'createdDate', 'updatePatchBaselineResponse_createdDate' - The date when the patch baseline was created.
--
-- 'name', 'updatePatchBaselineResponse_name' - The name of the patch baseline.
--
-- 'modifiedDate', 'updatePatchBaselineResponse_modifiedDate' - The date when the patch baseline was last modified.
--
-- 'description', 'updatePatchBaselineResponse_description' - A description of the patch baseline.
--
-- 'baselineId', 'updatePatchBaselineResponse_baselineId' - The ID of the deleted patch baseline.
--
-- 'httpStatus', 'updatePatchBaselineResponse_httpStatus' - The response's http status code.
newUpdatePatchBaselineResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdatePatchBaselineResponse
newUpdatePatchBaselineResponse :: Int -> UpdatePatchBaselineResponse
newUpdatePatchBaselineResponse Int
pHttpStatus_ =
  UpdatePatchBaselineResponse' :: Maybe PatchRuleGroup
-> Maybe OperatingSystem
-> Maybe PatchFilterGroup
-> Maybe PatchComplianceLevel
-> Maybe PatchAction
-> Maybe [Text]
-> Maybe Bool
-> Maybe [Text]
-> Maybe [PatchSource]
-> Maybe POSIX
-> Maybe Text
-> Maybe POSIX
-> Maybe Text
-> Maybe Text
-> Int
-> UpdatePatchBaselineResponse
UpdatePatchBaselineResponse'
    { $sel:approvalRules:UpdatePatchBaselineResponse' :: Maybe PatchRuleGroup
approvalRules =
        Maybe PatchRuleGroup
forall a. Maybe a
Prelude.Nothing,
      $sel:operatingSystem:UpdatePatchBaselineResponse' :: Maybe OperatingSystem
operatingSystem = Maybe OperatingSystem
forall a. Maybe a
Prelude.Nothing,
      $sel:globalFilters:UpdatePatchBaselineResponse' :: Maybe PatchFilterGroup
globalFilters = Maybe PatchFilterGroup
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatchesComplianceLevel:UpdatePatchBaselineResponse' :: Maybe PatchComplianceLevel
approvedPatchesComplianceLevel =
        Maybe PatchComplianceLevel
forall a. Maybe a
Prelude.Nothing,
      $sel:rejectedPatchesAction:UpdatePatchBaselineResponse' :: Maybe PatchAction
rejectedPatchesAction = Maybe PatchAction
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatches:UpdatePatchBaselineResponse' :: Maybe [Text]
approvedPatches = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:approvedPatchesEnableNonSecurity:UpdatePatchBaselineResponse' :: Maybe Bool
approvedPatchesEnableNonSecurity =
        Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:rejectedPatches:UpdatePatchBaselineResponse' :: Maybe [Text]
rejectedPatches = Maybe [Text]
forall a. Maybe a
Prelude.Nothing,
      $sel:sources:UpdatePatchBaselineResponse' :: Maybe [PatchSource]
sources = Maybe [PatchSource]
forall a. Maybe a
Prelude.Nothing,
      $sel:createdDate:UpdatePatchBaselineResponse' :: Maybe POSIX
createdDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:name:UpdatePatchBaselineResponse' :: Maybe Text
name = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:modifiedDate:UpdatePatchBaselineResponse' :: Maybe POSIX
modifiedDate = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:description:UpdatePatchBaselineResponse' :: Maybe Text
description = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:baselineId:UpdatePatchBaselineResponse' :: Maybe Text
baselineId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:UpdatePatchBaselineResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | A set of rules used to include patches in the baseline.
updatePatchBaselineResponse_approvalRules :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe PatchRuleGroup)
updatePatchBaselineResponse_approvalRules :: (Maybe PatchRuleGroup -> f (Maybe PatchRuleGroup))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_approvalRules = (UpdatePatchBaselineResponse -> Maybe PatchRuleGroup)
-> (UpdatePatchBaselineResponse
    -> Maybe PatchRuleGroup -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe PatchRuleGroup)
     (Maybe PatchRuleGroup)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe PatchRuleGroup
approvalRules :: Maybe PatchRuleGroup
$sel:approvalRules:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe PatchRuleGroup
approvalRules} -> Maybe PatchRuleGroup
approvalRules) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe PatchRuleGroup
a -> UpdatePatchBaselineResponse
s {$sel:approvalRules:UpdatePatchBaselineResponse' :: Maybe PatchRuleGroup
approvalRules = Maybe PatchRuleGroup
a} :: UpdatePatchBaselineResponse)

-- | The operating system rule used by the updated patch baseline.
updatePatchBaselineResponse_operatingSystem :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe OperatingSystem)
updatePatchBaselineResponse_operatingSystem :: (Maybe OperatingSystem -> f (Maybe OperatingSystem))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_operatingSystem = (UpdatePatchBaselineResponse -> Maybe OperatingSystem)
-> (UpdatePatchBaselineResponse
    -> Maybe OperatingSystem -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe OperatingSystem)
     (Maybe OperatingSystem)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe OperatingSystem
operatingSystem :: Maybe OperatingSystem
$sel:operatingSystem:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe OperatingSystem
operatingSystem} -> Maybe OperatingSystem
operatingSystem) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe OperatingSystem
a -> UpdatePatchBaselineResponse
s {$sel:operatingSystem:UpdatePatchBaselineResponse' :: Maybe OperatingSystem
operatingSystem = Maybe OperatingSystem
a} :: UpdatePatchBaselineResponse)

-- | A set of global filters used to exclude patches from the baseline.
updatePatchBaselineResponse_globalFilters :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe PatchFilterGroup)
updatePatchBaselineResponse_globalFilters :: (Maybe PatchFilterGroup -> f (Maybe PatchFilterGroup))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_globalFilters = (UpdatePatchBaselineResponse -> Maybe PatchFilterGroup)
-> (UpdatePatchBaselineResponse
    -> Maybe PatchFilterGroup -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe PatchFilterGroup)
     (Maybe PatchFilterGroup)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe PatchFilterGroup
globalFilters :: Maybe PatchFilterGroup
$sel:globalFilters:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe PatchFilterGroup
globalFilters} -> Maybe PatchFilterGroup
globalFilters) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe PatchFilterGroup
a -> UpdatePatchBaselineResponse
s {$sel:globalFilters:UpdatePatchBaselineResponse' :: Maybe PatchFilterGroup
globalFilters = Maybe PatchFilterGroup
a} :: UpdatePatchBaselineResponse)

-- | The compliance severity level assigned to the patch baseline after the
-- update completed.
updatePatchBaselineResponse_approvedPatchesComplianceLevel :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe PatchComplianceLevel)
updatePatchBaselineResponse_approvedPatchesComplianceLevel :: (Maybe PatchComplianceLevel -> f (Maybe PatchComplianceLevel))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_approvedPatchesComplianceLevel = (UpdatePatchBaselineResponse -> Maybe PatchComplianceLevel)
-> (UpdatePatchBaselineResponse
    -> Maybe PatchComplianceLevel -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe PatchComplianceLevel)
     (Maybe PatchComplianceLevel)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe PatchComplianceLevel
approvedPatchesComplianceLevel :: Maybe PatchComplianceLevel
$sel:approvedPatchesComplianceLevel:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel} -> Maybe PatchComplianceLevel
approvedPatchesComplianceLevel) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe PatchComplianceLevel
a -> UpdatePatchBaselineResponse
s {$sel:approvedPatchesComplianceLevel:UpdatePatchBaselineResponse' :: Maybe PatchComplianceLevel
approvedPatchesComplianceLevel = Maybe PatchComplianceLevel
a} :: UpdatePatchBaselineResponse)

-- | The action specified to take on patches included in the
-- @RejectedPatches@ list. A patch can be allowed only if it is a
-- dependency of another package, or blocked entirely along with packages
-- that include it as a dependency.
updatePatchBaselineResponse_rejectedPatchesAction :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe PatchAction)
updatePatchBaselineResponse_rejectedPatchesAction :: (Maybe PatchAction -> f (Maybe PatchAction))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_rejectedPatchesAction = (UpdatePatchBaselineResponse -> Maybe PatchAction)
-> (UpdatePatchBaselineResponse
    -> Maybe PatchAction -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe PatchAction)
     (Maybe PatchAction)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe PatchAction
rejectedPatchesAction :: Maybe PatchAction
$sel:rejectedPatchesAction:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe PatchAction
rejectedPatchesAction} -> Maybe PatchAction
rejectedPatchesAction) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe PatchAction
a -> UpdatePatchBaselineResponse
s {$sel:rejectedPatchesAction:UpdatePatchBaselineResponse' :: Maybe PatchAction
rejectedPatchesAction = Maybe PatchAction
a} :: UpdatePatchBaselineResponse)

-- | A list of explicitly approved patches for the baseline.
updatePatchBaselineResponse_approvedPatches :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe [Prelude.Text])
updatePatchBaselineResponse_approvedPatches :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_approvedPatches = (UpdatePatchBaselineResponse -> Maybe [Text])
-> (UpdatePatchBaselineResponse
    -> Maybe [Text] -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe [Text]
approvedPatches :: Maybe [Text]
$sel:approvedPatches:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe [Text]
approvedPatches} -> Maybe [Text]
approvedPatches) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe [Text]
a -> UpdatePatchBaselineResponse
s {$sel:approvedPatches:UpdatePatchBaselineResponse' :: Maybe [Text]
approvedPatches = Maybe [Text]
a} :: UpdatePatchBaselineResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaselineResponse
-> f UpdatePatchBaselineResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Indicates whether the list of approved patches includes non-security
-- updates that should be applied to the instances. The default value is
-- @false@. Applies to Linux instances only.
updatePatchBaselineResponse_approvedPatchesEnableNonSecurity :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.Bool)
updatePatchBaselineResponse_approvedPatchesEnableNonSecurity :: (Maybe Bool -> f (Maybe Bool))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_approvedPatchesEnableNonSecurity = (UpdatePatchBaselineResponse -> Maybe Bool)
-> (UpdatePatchBaselineResponse
    -> Maybe Bool -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe Bool
approvedPatchesEnableNonSecurity :: Maybe Bool
$sel:approvedPatchesEnableNonSecurity:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe Bool
approvedPatchesEnableNonSecurity} -> Maybe Bool
approvedPatchesEnableNonSecurity) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe Bool
a -> UpdatePatchBaselineResponse
s {$sel:approvedPatchesEnableNonSecurity:UpdatePatchBaselineResponse' :: Maybe Bool
approvedPatchesEnableNonSecurity = Maybe Bool
a} :: UpdatePatchBaselineResponse)

-- | A list of explicitly rejected patches for the baseline.
updatePatchBaselineResponse_rejectedPatches :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe [Prelude.Text])
updatePatchBaselineResponse_rejectedPatches :: (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_rejectedPatches = (UpdatePatchBaselineResponse -> Maybe [Text])
-> (UpdatePatchBaselineResponse
    -> Maybe [Text] -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe [Text])
     (Maybe [Text])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe [Text]
rejectedPatches :: Maybe [Text]
$sel:rejectedPatches:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe [Text]
rejectedPatches} -> Maybe [Text]
rejectedPatches) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe [Text]
a -> UpdatePatchBaselineResponse
s {$sel:rejectedPatches:UpdatePatchBaselineResponse' :: Maybe [Text]
rejectedPatches = Maybe [Text]
a} :: UpdatePatchBaselineResponse) ((Maybe [Text] -> f (Maybe [Text]))
 -> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse)
-> ((Maybe [Text] -> f (Maybe [Text]))
    -> Maybe [Text] -> f (Maybe [Text]))
-> (Maybe [Text] -> f (Maybe [Text]))
-> UpdatePatchBaselineResponse
-> f UpdatePatchBaselineResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [Text] [Text] [Text] [Text]
-> Iso (Maybe [Text]) (Maybe [Text]) (Maybe [Text]) (Maybe [Text])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [Text] [Text] [Text] [Text]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | Information about the patches to use to update the instances, including
-- target operating systems and source repositories. Applies to Linux
-- instances only.
updatePatchBaselineResponse_sources :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe [PatchSource])
updatePatchBaselineResponse_sources :: (Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_sources = (UpdatePatchBaselineResponse -> Maybe [PatchSource])
-> (UpdatePatchBaselineResponse
    -> Maybe [PatchSource] -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe [PatchSource])
     (Maybe [PatchSource])
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe [PatchSource]
sources :: Maybe [PatchSource]
$sel:sources:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe [PatchSource]
sources} -> Maybe [PatchSource]
sources) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe [PatchSource]
a -> UpdatePatchBaselineResponse
s {$sel:sources:UpdatePatchBaselineResponse' :: Maybe [PatchSource]
sources = Maybe [PatchSource]
a} :: UpdatePatchBaselineResponse) ((Maybe [PatchSource] -> f (Maybe [PatchSource]))
 -> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse)
-> ((Maybe [PatchSource] -> f (Maybe [PatchSource]))
    -> Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> (Maybe [PatchSource] -> f (Maybe [PatchSource]))
-> UpdatePatchBaselineResponse
-> f UpdatePatchBaselineResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso [PatchSource] [PatchSource] [PatchSource] [PatchSource]
-> Iso
     (Maybe [PatchSource])
     (Maybe [PatchSource])
     (Maybe [PatchSource])
     (Maybe [PatchSource])
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso [PatchSource] [PatchSource] [PatchSource] [PatchSource]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced

-- | The date when the patch baseline was created.
updatePatchBaselineResponse_createdDate :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.UTCTime)
updatePatchBaselineResponse_createdDate :: (Maybe UTCTime -> f (Maybe UTCTime))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_createdDate = (UpdatePatchBaselineResponse -> Maybe POSIX)
-> (UpdatePatchBaselineResponse
    -> Maybe POSIX -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe POSIX
createdDate :: Maybe POSIX
$sel:createdDate:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe POSIX
createdDate} -> Maybe POSIX
createdDate) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe POSIX
a -> UpdatePatchBaselineResponse
s {$sel:createdDate:UpdatePatchBaselineResponse' :: Maybe POSIX
createdDate = Maybe POSIX
a} :: UpdatePatchBaselineResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> UpdatePatchBaselineResponse
-> f UpdatePatchBaselineResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | The name of the patch baseline.
updatePatchBaselineResponse_name :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.Text)
updatePatchBaselineResponse_name :: (Maybe Text -> f (Maybe Text))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_name = (UpdatePatchBaselineResponse -> Maybe Text)
-> (UpdatePatchBaselineResponse
    -> Maybe Text -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe Text
name :: Maybe Text
$sel:name:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe Text
name} -> Maybe Text
name) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe Text
a -> UpdatePatchBaselineResponse
s {$sel:name:UpdatePatchBaselineResponse' :: Maybe Text
name = Maybe Text
a} :: UpdatePatchBaselineResponse)

-- | The date when the patch baseline was last modified.
updatePatchBaselineResponse_modifiedDate :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.UTCTime)
updatePatchBaselineResponse_modifiedDate :: (Maybe UTCTime -> f (Maybe UTCTime))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_modifiedDate = (UpdatePatchBaselineResponse -> Maybe POSIX)
-> (UpdatePatchBaselineResponse
    -> Maybe POSIX -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe POSIX
modifiedDate :: Maybe POSIX
$sel:modifiedDate:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe POSIX
modifiedDate} -> Maybe POSIX
modifiedDate) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe POSIX
a -> UpdatePatchBaselineResponse
s {$sel:modifiedDate:UpdatePatchBaselineResponse' :: Maybe POSIX
modifiedDate = Maybe POSIX
a} :: UpdatePatchBaselineResponse) ((Maybe POSIX -> f (Maybe POSIX))
 -> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> UpdatePatchBaselineResponse
-> f UpdatePatchBaselineResponse
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | A description of the patch baseline.
updatePatchBaselineResponse_description :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.Text)
updatePatchBaselineResponse_description :: (Maybe Text -> f (Maybe Text))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_description = (UpdatePatchBaselineResponse -> Maybe Text)
-> (UpdatePatchBaselineResponse
    -> Maybe Text -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe Text
description :: Maybe Text
$sel:description:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe Text
description} -> Maybe Text
description) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe Text
a -> UpdatePatchBaselineResponse
s {$sel:description:UpdatePatchBaselineResponse' :: Maybe Text
description = Maybe Text
a} :: UpdatePatchBaselineResponse)

-- | The ID of the deleted patch baseline.
updatePatchBaselineResponse_baselineId :: Lens.Lens' UpdatePatchBaselineResponse (Prelude.Maybe Prelude.Text)
updatePatchBaselineResponse_baselineId :: (Maybe Text -> f (Maybe Text))
-> UpdatePatchBaselineResponse -> f UpdatePatchBaselineResponse
updatePatchBaselineResponse_baselineId = (UpdatePatchBaselineResponse -> Maybe Text)
-> (UpdatePatchBaselineResponse
    -> Maybe Text -> UpdatePatchBaselineResponse)
-> Lens
     UpdatePatchBaselineResponse
     UpdatePatchBaselineResponse
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdatePatchBaselineResponse' {Maybe Text
baselineId :: Maybe Text
$sel:baselineId:UpdatePatchBaselineResponse' :: UpdatePatchBaselineResponse -> Maybe Text
baselineId} -> Maybe Text
baselineId) (\s :: UpdatePatchBaselineResponse
s@UpdatePatchBaselineResponse' {} Maybe Text
a -> UpdatePatchBaselineResponse
s {$sel:baselineId:UpdatePatchBaselineResponse' :: Maybe Text
baselineId = Maybe Text
a} :: UpdatePatchBaselineResponse)

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

instance Prelude.NFData UpdatePatchBaselineResponse