{-# 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.AccessAnalyzer.UpdateFindings -- 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 for the specified findings. module Amazonka.AccessAnalyzer.UpdateFindings ( -- * Creating a Request UpdateFindings (..), newUpdateFindings, -- * Request Lenses updateFindings_clientToken, updateFindings_ids, updateFindings_resourceArn, updateFindings_analyzerArn, updateFindings_status, -- * Destructuring the Response UpdateFindingsResponse (..), newUpdateFindingsResponse, ) where import Amazonka.AccessAnalyzer.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 -- | Updates findings with the new values provided in the request. -- -- /See:/ 'newUpdateFindings' smart constructor. data UpdateFindings = UpdateFindings' { -- | A client token. clientToken :: Prelude.Maybe Prelude.Text, -- | The IDs of the findings to update. ids :: Prelude.Maybe [Prelude.Text], -- | The ARN of the resource identified in the finding. resourceArn :: Prelude.Maybe Prelude.Text, -- | The -- -- that generated the findings to update. analyzerArn :: Prelude.Text, -- | The state represents the action to take to update the finding Status. -- Use @ARCHIVE@ to change an Active finding to an Archived finding. Use -- @ACTIVE@ to change an Archived finding to an Active finding. status :: FindingStatusUpdate } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateFindings' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'clientToken', 'updateFindings_clientToken' - A client token. -- -- 'ids', 'updateFindings_ids' - The IDs of the findings to update. -- -- 'resourceArn', 'updateFindings_resourceArn' - The ARN of the resource identified in the finding. -- -- 'analyzerArn', 'updateFindings_analyzerArn' - The -- -- that generated the findings to update. -- -- 'status', 'updateFindings_status' - The state represents the action to take to update the finding Status. -- Use @ARCHIVE@ to change an Active finding to an Archived finding. Use -- @ACTIVE@ to change an Archived finding to an Active finding. newUpdateFindings :: -- | 'analyzerArn' Prelude.Text -> -- | 'status' FindingStatusUpdate -> UpdateFindings newUpdateFindings pAnalyzerArn_ pStatus_ = UpdateFindings' { clientToken = Prelude.Nothing, ids = Prelude.Nothing, resourceArn = Prelude.Nothing, analyzerArn = pAnalyzerArn_, status = pStatus_ } -- | A client token. updateFindings_clientToken :: Lens.Lens' UpdateFindings (Prelude.Maybe Prelude.Text) updateFindings_clientToken = Lens.lens (\UpdateFindings' {clientToken} -> clientToken) (\s@UpdateFindings' {} a -> s {clientToken = a} :: UpdateFindings) -- | The IDs of the findings to update. updateFindings_ids :: Lens.Lens' UpdateFindings (Prelude.Maybe [Prelude.Text]) updateFindings_ids = Lens.lens (\UpdateFindings' {ids} -> ids) (\s@UpdateFindings' {} a -> s {ids = a} :: UpdateFindings) Prelude.. Lens.mapping Lens.coerced -- | The ARN of the resource identified in the finding. updateFindings_resourceArn :: Lens.Lens' UpdateFindings (Prelude.Maybe Prelude.Text) updateFindings_resourceArn = Lens.lens (\UpdateFindings' {resourceArn} -> resourceArn) (\s@UpdateFindings' {} a -> s {resourceArn = a} :: UpdateFindings) -- | The -- -- that generated the findings to update. updateFindings_analyzerArn :: Lens.Lens' UpdateFindings Prelude.Text updateFindings_analyzerArn = Lens.lens (\UpdateFindings' {analyzerArn} -> analyzerArn) (\s@UpdateFindings' {} a -> s {analyzerArn = a} :: UpdateFindings) -- | The state represents the action to take to update the finding Status. -- Use @ARCHIVE@ to change an Active finding to an Archived finding. Use -- @ACTIVE@ to change an Archived finding to an Active finding. updateFindings_status :: Lens.Lens' UpdateFindings FindingStatusUpdate updateFindings_status = Lens.lens (\UpdateFindings' {status} -> status) (\s@UpdateFindings' {} a -> s {status = a} :: UpdateFindings) instance Core.AWSRequest UpdateFindings where type AWSResponse UpdateFindings = UpdateFindingsResponse request overrides = Request.putJSON (overrides defaultService) response = Response.receiveNull UpdateFindingsResponse' instance Prelude.Hashable UpdateFindings where hashWithSalt _salt UpdateFindings' {..} = _salt `Prelude.hashWithSalt` clientToken `Prelude.hashWithSalt` ids `Prelude.hashWithSalt` resourceArn `Prelude.hashWithSalt` analyzerArn `Prelude.hashWithSalt` status instance Prelude.NFData UpdateFindings where rnf UpdateFindings' {..} = Prelude.rnf clientToken `Prelude.seq` Prelude.rnf ids `Prelude.seq` Prelude.rnf resourceArn `Prelude.seq` Prelude.rnf analyzerArn `Prelude.seq` Prelude.rnf status instance Data.ToHeaders UpdateFindings where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToJSON UpdateFindings where toJSON UpdateFindings' {..} = Data.object ( Prelude.catMaybes [ ("clientToken" Data..=) Prelude.<$> clientToken, ("ids" Data..=) Prelude.<$> ids, ("resourceArn" Data..=) Prelude.<$> resourceArn, Prelude.Just ("analyzerArn" Data..= analyzerArn), Prelude.Just ("status" Data..= status) ] ) instance Data.ToPath UpdateFindings where toPath = Prelude.const "/finding" instance Data.ToQuery UpdateFindings where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newUpdateFindingsResponse' smart constructor. data UpdateFindingsResponse = UpdateFindingsResponse' { } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'UpdateFindingsResponse' with all optional fields omitted. -- -- Use or to modify other optional fields. newUpdateFindingsResponse :: UpdateFindingsResponse newUpdateFindingsResponse = UpdateFindingsResponse' instance Prelude.NFData UpdateFindingsResponse where rnf _ = ()