{-# 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.AuditManager.UpdateAssessmentControlSetStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Updates the status of a control set in an Audit Manager assessment.
module Amazonka.AuditManager.UpdateAssessmentControlSetStatus
  ( -- * Creating a Request
    UpdateAssessmentControlSetStatus (..),
    newUpdateAssessmentControlSetStatus,

    -- * Request Lenses
    updateAssessmentControlSetStatus_assessmentId,
    updateAssessmentControlSetStatus_controlSetId,
    updateAssessmentControlSetStatus_status,
    updateAssessmentControlSetStatus_comment,

    -- * Destructuring the Response
    UpdateAssessmentControlSetStatusResponse (..),
    newUpdateAssessmentControlSetStatusResponse,

    -- * Response Lenses
    updateAssessmentControlSetStatusResponse_controlSet,
    updateAssessmentControlSetStatusResponse_httpStatus,
  )
where

import Amazonka.AuditManager.Types
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

-- | /See:/ 'newUpdateAssessmentControlSetStatus' smart constructor.
data UpdateAssessmentControlSetStatus = UpdateAssessmentControlSetStatus'
  { -- | The unique identifier for the assessment.
    UpdateAssessmentControlSetStatus -> Text
assessmentId :: Prelude.Text,
    -- | The unique identifier for the control set.
    UpdateAssessmentControlSetStatus -> Text
controlSetId :: Prelude.Text,
    -- | The status of the control set that\'s being updated.
    UpdateAssessmentControlSetStatus -> ControlSetStatus
status :: ControlSetStatus,
    -- | The comment that\'s related to the status update.
    UpdateAssessmentControlSetStatus -> Text
comment :: Prelude.Text
  }
  deriving (UpdateAssessmentControlSetStatus
-> UpdateAssessmentControlSetStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssessmentControlSetStatus
-> UpdateAssessmentControlSetStatus -> Bool
$c/= :: UpdateAssessmentControlSetStatus
-> UpdateAssessmentControlSetStatus -> Bool
== :: UpdateAssessmentControlSetStatus
-> UpdateAssessmentControlSetStatus -> Bool
$c== :: UpdateAssessmentControlSetStatus
-> UpdateAssessmentControlSetStatus -> Bool
Prelude.Eq, ReadPrec [UpdateAssessmentControlSetStatus]
ReadPrec UpdateAssessmentControlSetStatus
Int -> ReadS UpdateAssessmentControlSetStatus
ReadS [UpdateAssessmentControlSetStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssessmentControlSetStatus]
$creadListPrec :: ReadPrec [UpdateAssessmentControlSetStatus]
readPrec :: ReadPrec UpdateAssessmentControlSetStatus
$creadPrec :: ReadPrec UpdateAssessmentControlSetStatus
readList :: ReadS [UpdateAssessmentControlSetStatus]
$creadList :: ReadS [UpdateAssessmentControlSetStatus]
readsPrec :: Int -> ReadS UpdateAssessmentControlSetStatus
$creadsPrec :: Int -> ReadS UpdateAssessmentControlSetStatus
Prelude.Read, Int -> UpdateAssessmentControlSetStatus -> ShowS
[UpdateAssessmentControlSetStatus] -> ShowS
UpdateAssessmentControlSetStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssessmentControlSetStatus] -> ShowS
$cshowList :: [UpdateAssessmentControlSetStatus] -> ShowS
show :: UpdateAssessmentControlSetStatus -> String
$cshow :: UpdateAssessmentControlSetStatus -> String
showsPrec :: Int -> UpdateAssessmentControlSetStatus -> ShowS
$cshowsPrec :: Int -> UpdateAssessmentControlSetStatus -> ShowS
Prelude.Show, forall x.
Rep UpdateAssessmentControlSetStatus x
-> UpdateAssessmentControlSetStatus
forall x.
UpdateAssessmentControlSetStatus
-> Rep UpdateAssessmentControlSetStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAssessmentControlSetStatus x
-> UpdateAssessmentControlSetStatus
$cfrom :: forall x.
UpdateAssessmentControlSetStatus
-> Rep UpdateAssessmentControlSetStatus x
Prelude.Generic)

-- |
-- Create a value of 'UpdateAssessmentControlSetStatus' 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:
--
-- 'assessmentId', 'updateAssessmentControlSetStatus_assessmentId' - The unique identifier for the assessment.
--
-- 'controlSetId', 'updateAssessmentControlSetStatus_controlSetId' - The unique identifier for the control set.
--
-- 'status', 'updateAssessmentControlSetStatus_status' - The status of the control set that\'s being updated.
--
-- 'comment', 'updateAssessmentControlSetStatus_comment' - The comment that\'s related to the status update.
newUpdateAssessmentControlSetStatus ::
  -- | 'assessmentId'
  Prelude.Text ->
  -- | 'controlSetId'
  Prelude.Text ->
  -- | 'status'
  ControlSetStatus ->
  -- | 'comment'
  Prelude.Text ->
  UpdateAssessmentControlSetStatus
newUpdateAssessmentControlSetStatus :: Text
-> Text
-> ControlSetStatus
-> Text
-> UpdateAssessmentControlSetStatus
newUpdateAssessmentControlSetStatus
  Text
pAssessmentId_
  Text
pControlSetId_
  ControlSetStatus
pStatus_
  Text
pComment_ =
    UpdateAssessmentControlSetStatus'
      { $sel:assessmentId:UpdateAssessmentControlSetStatus' :: Text
assessmentId =
          Text
pAssessmentId_,
        $sel:controlSetId:UpdateAssessmentControlSetStatus' :: Text
controlSetId = Text
pControlSetId_,
        $sel:status:UpdateAssessmentControlSetStatus' :: ControlSetStatus
status = ControlSetStatus
pStatus_,
        $sel:comment:UpdateAssessmentControlSetStatus' :: Text
comment = Text
pComment_
      }

-- | The unique identifier for the assessment.
updateAssessmentControlSetStatus_assessmentId :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text
updateAssessmentControlSetStatus_assessmentId :: Lens' UpdateAssessmentControlSetStatus Text
updateAssessmentControlSetStatus_assessmentId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentControlSetStatus' {Text
assessmentId :: Text
$sel:assessmentId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
assessmentId} -> Text
assessmentId) (\s :: UpdateAssessmentControlSetStatus
s@UpdateAssessmentControlSetStatus' {} Text
a -> UpdateAssessmentControlSetStatus
s {$sel:assessmentId:UpdateAssessmentControlSetStatus' :: Text
assessmentId = Text
a} :: UpdateAssessmentControlSetStatus)

-- | The unique identifier for the control set.
updateAssessmentControlSetStatus_controlSetId :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text
updateAssessmentControlSetStatus_controlSetId :: Lens' UpdateAssessmentControlSetStatus Text
updateAssessmentControlSetStatus_controlSetId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentControlSetStatus' {Text
controlSetId :: Text
$sel:controlSetId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
controlSetId} -> Text
controlSetId) (\s :: UpdateAssessmentControlSetStatus
s@UpdateAssessmentControlSetStatus' {} Text
a -> UpdateAssessmentControlSetStatus
s {$sel:controlSetId:UpdateAssessmentControlSetStatus' :: Text
controlSetId = Text
a} :: UpdateAssessmentControlSetStatus)

-- | The status of the control set that\'s being updated.
updateAssessmentControlSetStatus_status :: Lens.Lens' UpdateAssessmentControlSetStatus ControlSetStatus
updateAssessmentControlSetStatus_status :: Lens' UpdateAssessmentControlSetStatus ControlSetStatus
updateAssessmentControlSetStatus_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentControlSetStatus' {ControlSetStatus
status :: ControlSetStatus
$sel:status:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> ControlSetStatus
status} -> ControlSetStatus
status) (\s :: UpdateAssessmentControlSetStatus
s@UpdateAssessmentControlSetStatus' {} ControlSetStatus
a -> UpdateAssessmentControlSetStatus
s {$sel:status:UpdateAssessmentControlSetStatus' :: ControlSetStatus
status = ControlSetStatus
a} :: UpdateAssessmentControlSetStatus)

-- | The comment that\'s related to the status update.
updateAssessmentControlSetStatus_comment :: Lens.Lens' UpdateAssessmentControlSetStatus Prelude.Text
updateAssessmentControlSetStatus_comment :: Lens' UpdateAssessmentControlSetStatus Text
updateAssessmentControlSetStatus_comment = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentControlSetStatus' {Text
comment :: Text
$sel:comment:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
comment} -> Text
comment) (\s :: UpdateAssessmentControlSetStatus
s@UpdateAssessmentControlSetStatus' {} Text
a -> UpdateAssessmentControlSetStatus
s {$sel:comment:UpdateAssessmentControlSetStatus' :: Text
comment = Text
a} :: UpdateAssessmentControlSetStatus)

instance
  Core.AWSRequest
    UpdateAssessmentControlSetStatus
  where
  type
    AWSResponse UpdateAssessmentControlSetStatus =
      UpdateAssessmentControlSetStatusResponse
  request :: (Service -> Service)
-> UpdateAssessmentControlSetStatus
-> Request UpdateAssessmentControlSetStatus
request Service -> Service
overrides =
    forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.putJSON (Service -> Service
overrides Service
defaultService)
  response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateAssessmentControlSetStatus
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse (AWSResponse UpdateAssessmentControlSetStatus)))
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 AssessmentControlSet
-> Int -> UpdateAssessmentControlSetStatusResponse
UpdateAssessmentControlSetStatusResponse'
            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
"controlSet")
            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
    UpdateAssessmentControlSetStatus
  where
  hashWithSalt :: Int -> UpdateAssessmentControlSetStatus -> Int
hashWithSalt
    Int
_salt
    UpdateAssessmentControlSetStatus' {Text
ControlSetStatus
comment :: Text
status :: ControlSetStatus
controlSetId :: Text
assessmentId :: Text
$sel:comment:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:status:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> ControlSetStatus
$sel:controlSetId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:assessmentId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
assessmentId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
controlSetId
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` ControlSetStatus
status
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
comment

instance
  Prelude.NFData
    UpdateAssessmentControlSetStatus
  where
  rnf :: UpdateAssessmentControlSetStatus -> ()
rnf UpdateAssessmentControlSetStatus' {Text
ControlSetStatus
comment :: Text
status :: ControlSetStatus
controlSetId :: Text
assessmentId :: Text
$sel:comment:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:status:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> ControlSetStatus
$sel:controlSetId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:assessmentId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
assessmentId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
controlSetId
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf ControlSetStatus
status
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
comment

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

instance Data.ToJSON UpdateAssessmentControlSetStatus where
  toJSON :: UpdateAssessmentControlSetStatus -> Value
toJSON UpdateAssessmentControlSetStatus' {Text
ControlSetStatus
comment :: Text
status :: ControlSetStatus
controlSetId :: Text
assessmentId :: Text
$sel:comment:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:status:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> ControlSetStatus
$sel:controlSetId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:assessmentId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [ forall a. a -> Maybe a
Prelude.Just (Key
"status" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= ControlSetStatus
status),
            forall a. a -> Maybe a
Prelude.Just (Key
"comment" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
comment)
          ]
      )

instance Data.ToPath UpdateAssessmentControlSetStatus where
  toPath :: UpdateAssessmentControlSetStatus -> ByteString
toPath UpdateAssessmentControlSetStatus' {Text
ControlSetStatus
comment :: Text
status :: ControlSetStatus
controlSetId :: Text
assessmentId :: Text
$sel:comment:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:status:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> ControlSetStatus
$sel:controlSetId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
$sel:assessmentId:UpdateAssessmentControlSetStatus' :: UpdateAssessmentControlSetStatus -> Text
..} =
    forall a. Monoid a => [a] -> a
Prelude.mconcat
      [ ByteString
"/assessments/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
assessmentId,
        ByteString
"/controlSets/",
        forall a. ToByteString a => a -> ByteString
Data.toBS Text
controlSetId,
        ByteString
"/status"
      ]

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

-- | /See:/ 'newUpdateAssessmentControlSetStatusResponse' smart constructor.
data UpdateAssessmentControlSetStatusResponse = UpdateAssessmentControlSetStatusResponse'
  { -- | The name of the updated control set that the
    -- @UpdateAssessmentControlSetStatus@ API returned.
    UpdateAssessmentControlSetStatusResponse
-> Maybe AssessmentControlSet
controlSet :: Prelude.Maybe AssessmentControlSet,
    -- | The response's http status code.
    UpdateAssessmentControlSetStatusResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (UpdateAssessmentControlSetStatusResponse
-> UpdateAssessmentControlSetStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateAssessmentControlSetStatusResponse
-> UpdateAssessmentControlSetStatusResponse -> Bool
$c/= :: UpdateAssessmentControlSetStatusResponse
-> UpdateAssessmentControlSetStatusResponse -> Bool
== :: UpdateAssessmentControlSetStatusResponse
-> UpdateAssessmentControlSetStatusResponse -> Bool
$c== :: UpdateAssessmentControlSetStatusResponse
-> UpdateAssessmentControlSetStatusResponse -> Bool
Prelude.Eq, ReadPrec [UpdateAssessmentControlSetStatusResponse]
ReadPrec UpdateAssessmentControlSetStatusResponse
Int -> ReadS UpdateAssessmentControlSetStatusResponse
ReadS [UpdateAssessmentControlSetStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateAssessmentControlSetStatusResponse]
$creadListPrec :: ReadPrec [UpdateAssessmentControlSetStatusResponse]
readPrec :: ReadPrec UpdateAssessmentControlSetStatusResponse
$creadPrec :: ReadPrec UpdateAssessmentControlSetStatusResponse
readList :: ReadS [UpdateAssessmentControlSetStatusResponse]
$creadList :: ReadS [UpdateAssessmentControlSetStatusResponse]
readsPrec :: Int -> ReadS UpdateAssessmentControlSetStatusResponse
$creadsPrec :: Int -> ReadS UpdateAssessmentControlSetStatusResponse
Prelude.Read, Int -> UpdateAssessmentControlSetStatusResponse -> ShowS
[UpdateAssessmentControlSetStatusResponse] -> ShowS
UpdateAssessmentControlSetStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateAssessmentControlSetStatusResponse] -> ShowS
$cshowList :: [UpdateAssessmentControlSetStatusResponse] -> ShowS
show :: UpdateAssessmentControlSetStatusResponse -> String
$cshow :: UpdateAssessmentControlSetStatusResponse -> String
showsPrec :: Int -> UpdateAssessmentControlSetStatusResponse -> ShowS
$cshowsPrec :: Int -> UpdateAssessmentControlSetStatusResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateAssessmentControlSetStatusResponse x
-> UpdateAssessmentControlSetStatusResponse
forall x.
UpdateAssessmentControlSetStatusResponse
-> Rep UpdateAssessmentControlSetStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateAssessmentControlSetStatusResponse x
-> UpdateAssessmentControlSetStatusResponse
$cfrom :: forall x.
UpdateAssessmentControlSetStatusResponse
-> Rep UpdateAssessmentControlSetStatusResponse x
Prelude.Generic)

-- |
-- Create a value of 'UpdateAssessmentControlSetStatusResponse' 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:
--
-- 'controlSet', 'updateAssessmentControlSetStatusResponse_controlSet' - The name of the updated control set that the
-- @UpdateAssessmentControlSetStatus@ API returned.
--
-- 'httpStatus', 'updateAssessmentControlSetStatusResponse_httpStatus' - The response's http status code.
newUpdateAssessmentControlSetStatusResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  UpdateAssessmentControlSetStatusResponse
newUpdateAssessmentControlSetStatusResponse :: Int -> UpdateAssessmentControlSetStatusResponse
newUpdateAssessmentControlSetStatusResponse
  Int
pHttpStatus_ =
    UpdateAssessmentControlSetStatusResponse'
      { $sel:controlSet:UpdateAssessmentControlSetStatusResponse' :: Maybe AssessmentControlSet
controlSet =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:UpdateAssessmentControlSetStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
      }

-- | The name of the updated control set that the
-- @UpdateAssessmentControlSetStatus@ API returned.
updateAssessmentControlSetStatusResponse_controlSet :: Lens.Lens' UpdateAssessmentControlSetStatusResponse (Prelude.Maybe AssessmentControlSet)
updateAssessmentControlSetStatusResponse_controlSet :: Lens'
  UpdateAssessmentControlSetStatusResponse
  (Maybe AssessmentControlSet)
updateAssessmentControlSetStatusResponse_controlSet = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateAssessmentControlSetStatusResponse' {Maybe AssessmentControlSet
controlSet :: Maybe AssessmentControlSet
$sel:controlSet:UpdateAssessmentControlSetStatusResponse' :: UpdateAssessmentControlSetStatusResponse
-> Maybe AssessmentControlSet
controlSet} -> Maybe AssessmentControlSet
controlSet) (\s :: UpdateAssessmentControlSetStatusResponse
s@UpdateAssessmentControlSetStatusResponse' {} Maybe AssessmentControlSet
a -> UpdateAssessmentControlSetStatusResponse
s {$sel:controlSet:UpdateAssessmentControlSetStatusResponse' :: Maybe AssessmentControlSet
controlSet = Maybe AssessmentControlSet
a} :: UpdateAssessmentControlSetStatusResponse)

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

instance
  Prelude.NFData
    UpdateAssessmentControlSetStatusResponse
  where
  rnf :: UpdateAssessmentControlSetStatusResponse -> ()
rnf UpdateAssessmentControlSetStatusResponse' {Int
Maybe AssessmentControlSet
httpStatus :: Int
controlSet :: Maybe AssessmentControlSet
$sel:httpStatus:UpdateAssessmentControlSetStatusResponse' :: UpdateAssessmentControlSetStatusResponse -> Int
$sel:controlSet:UpdateAssessmentControlSetStatusResponse' :: UpdateAssessmentControlSetStatusResponse
-> Maybe AssessmentControlSet
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe AssessmentControlSet
controlSet
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus