{-# 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.GuardDuty.GetMalwareScanSettings -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) -- -- Returns the details of the malware scan settings. module Amazonka.GuardDuty.GetMalwareScanSettings ( -- * Creating a Request GetMalwareScanSettings (..), newGetMalwareScanSettings, -- * Request Lenses getMalwareScanSettings_detectorId, -- * Destructuring the Response GetMalwareScanSettingsResponse (..), newGetMalwareScanSettingsResponse, -- * Response Lenses getMalwareScanSettingsResponse_ebsSnapshotPreservation, getMalwareScanSettingsResponse_scanResourceCriteria, getMalwareScanSettingsResponse_httpStatus, ) where import qualified Amazonka.Core as Core import qualified Amazonka.Core.Lens.Internal as Lens import qualified Amazonka.Data as Data import Amazonka.GuardDuty.Types import qualified Amazonka.Prelude as Prelude import qualified Amazonka.Request as Request import qualified Amazonka.Response as Response -- | /See:/ 'newGetMalwareScanSettings' smart constructor. data GetMalwareScanSettings = GetMalwareScanSettings' { -- | The unique ID of the detector that the scan setting is associated with. detectorId :: Prelude.Text } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetMalwareScanSettings' 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: -- -- 'detectorId', 'getMalwareScanSettings_detectorId' - The unique ID of the detector that the scan setting is associated with. newGetMalwareScanSettings :: -- | 'detectorId' Prelude.Text -> GetMalwareScanSettings newGetMalwareScanSettings pDetectorId_ = GetMalwareScanSettings' {detectorId = pDetectorId_} -- | The unique ID of the detector that the scan setting is associated with. getMalwareScanSettings_detectorId :: Lens.Lens' GetMalwareScanSettings Prelude.Text getMalwareScanSettings_detectorId = Lens.lens (\GetMalwareScanSettings' {detectorId} -> detectorId) (\s@GetMalwareScanSettings' {} a -> s {detectorId = a} :: GetMalwareScanSettings) instance Core.AWSRequest GetMalwareScanSettings where type AWSResponse GetMalwareScanSettings = GetMalwareScanSettingsResponse request overrides = Request.get (overrides defaultService) response = Response.receiveJSON ( \s h x -> GetMalwareScanSettingsResponse' Prelude.<$> (x Data..?> "ebsSnapshotPreservation") Prelude.<*> (x Data..?> "scanResourceCriteria") Prelude.<*> (Prelude.pure (Prelude.fromEnum s)) ) instance Prelude.Hashable GetMalwareScanSettings where hashWithSalt _salt GetMalwareScanSettings' {..} = _salt `Prelude.hashWithSalt` detectorId instance Prelude.NFData GetMalwareScanSettings where rnf GetMalwareScanSettings' {..} = Prelude.rnf detectorId instance Data.ToHeaders GetMalwareScanSettings where toHeaders = Prelude.const ( Prelude.mconcat [ "Content-Type" Data.=# ( "application/x-amz-json-1.1" :: Prelude.ByteString ) ] ) instance Data.ToPath GetMalwareScanSettings where toPath GetMalwareScanSettings' {..} = Prelude.mconcat [ "/detector/", Data.toBS detectorId, "/malware-scan-settings" ] instance Data.ToQuery GetMalwareScanSettings where toQuery = Prelude.const Prelude.mempty -- | /See:/ 'newGetMalwareScanSettingsResponse' smart constructor. data GetMalwareScanSettingsResponse = GetMalwareScanSettingsResponse' { -- | An enum value representing possible snapshot preservation settings. ebsSnapshotPreservation :: Prelude.Maybe EbsSnapshotPreservation, -- | Represents the criteria to be used in the filter for scanning resources. scanResourceCriteria :: Prelude.Maybe ScanResourceCriteria, -- | The response's http status code. httpStatus :: Prelude.Int } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'GetMalwareScanSettingsResponse' 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: -- -- 'ebsSnapshotPreservation', 'getMalwareScanSettingsResponse_ebsSnapshotPreservation' - An enum value representing possible snapshot preservation settings. -- -- 'scanResourceCriteria', 'getMalwareScanSettingsResponse_scanResourceCriteria' - Represents the criteria to be used in the filter for scanning resources. -- -- 'httpStatus', 'getMalwareScanSettingsResponse_httpStatus' - The response's http status code. newGetMalwareScanSettingsResponse :: -- | 'httpStatus' Prelude.Int -> GetMalwareScanSettingsResponse newGetMalwareScanSettingsResponse pHttpStatus_ = GetMalwareScanSettingsResponse' { ebsSnapshotPreservation = Prelude.Nothing, scanResourceCriteria = Prelude.Nothing, httpStatus = pHttpStatus_ } -- | An enum value representing possible snapshot preservation settings. getMalwareScanSettingsResponse_ebsSnapshotPreservation :: Lens.Lens' GetMalwareScanSettingsResponse (Prelude.Maybe EbsSnapshotPreservation) getMalwareScanSettingsResponse_ebsSnapshotPreservation = Lens.lens (\GetMalwareScanSettingsResponse' {ebsSnapshotPreservation} -> ebsSnapshotPreservation) (\s@GetMalwareScanSettingsResponse' {} a -> s {ebsSnapshotPreservation = a} :: GetMalwareScanSettingsResponse) -- | Represents the criteria to be used in the filter for scanning resources. getMalwareScanSettingsResponse_scanResourceCriteria :: Lens.Lens' GetMalwareScanSettingsResponse (Prelude.Maybe ScanResourceCriteria) getMalwareScanSettingsResponse_scanResourceCriteria = Lens.lens (\GetMalwareScanSettingsResponse' {scanResourceCriteria} -> scanResourceCriteria) (\s@GetMalwareScanSettingsResponse' {} a -> s {scanResourceCriteria = a} :: GetMalwareScanSettingsResponse) -- | The response's http status code. getMalwareScanSettingsResponse_httpStatus :: Lens.Lens' GetMalwareScanSettingsResponse Prelude.Int getMalwareScanSettingsResponse_httpStatus = Lens.lens (\GetMalwareScanSettingsResponse' {httpStatus} -> httpStatus) (\s@GetMalwareScanSettingsResponse' {} a -> s {httpStatus = a} :: GetMalwareScanSettingsResponse) instance Prelude.NFData GetMalwareScanSettingsResponse where rnf GetMalwareScanSettingsResponse' {..} = Prelude.rnf ebsSnapshotPreservation `Prelude.seq` Prelude.rnf scanResourceCriteria `Prelude.seq` Prelude.rnf httpStatus