{-# 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 #-}
module Amazonka.GuardDuty.UpdateMalwareScanSettings
(
UpdateMalwareScanSettings (..),
newUpdateMalwareScanSettings,
updateMalwareScanSettings_ebsSnapshotPreservation,
updateMalwareScanSettings_scanResourceCriteria,
updateMalwareScanSettings_detectorId,
UpdateMalwareScanSettingsResponse (..),
newUpdateMalwareScanSettingsResponse,
updateMalwareScanSettingsResponse_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
data UpdateMalwareScanSettings = UpdateMalwareScanSettings'
{
UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
ebsSnapshotPreservation :: Prelude.Maybe EbsSnapshotPreservation,
UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
scanResourceCriteria :: Prelude.Maybe ScanResourceCriteria,
UpdateMalwareScanSettings -> Text
detectorId :: Prelude.Text
}
deriving (UpdateMalwareScanSettings -> UpdateMalwareScanSettings -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateMalwareScanSettings -> UpdateMalwareScanSettings -> Bool
$c/= :: UpdateMalwareScanSettings -> UpdateMalwareScanSettings -> Bool
== :: UpdateMalwareScanSettings -> UpdateMalwareScanSettings -> Bool
$c== :: UpdateMalwareScanSettings -> UpdateMalwareScanSettings -> Bool
Prelude.Eq, ReadPrec [UpdateMalwareScanSettings]
ReadPrec UpdateMalwareScanSettings
Int -> ReadS UpdateMalwareScanSettings
ReadS [UpdateMalwareScanSettings]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateMalwareScanSettings]
$creadListPrec :: ReadPrec [UpdateMalwareScanSettings]
readPrec :: ReadPrec UpdateMalwareScanSettings
$creadPrec :: ReadPrec UpdateMalwareScanSettings
readList :: ReadS [UpdateMalwareScanSettings]
$creadList :: ReadS [UpdateMalwareScanSettings]
readsPrec :: Int -> ReadS UpdateMalwareScanSettings
$creadsPrec :: Int -> ReadS UpdateMalwareScanSettings
Prelude.Read, Int -> UpdateMalwareScanSettings -> ShowS
[UpdateMalwareScanSettings] -> ShowS
UpdateMalwareScanSettings -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateMalwareScanSettings] -> ShowS
$cshowList :: [UpdateMalwareScanSettings] -> ShowS
show :: UpdateMalwareScanSettings -> String
$cshow :: UpdateMalwareScanSettings -> String
showsPrec :: Int -> UpdateMalwareScanSettings -> ShowS
$cshowsPrec :: Int -> UpdateMalwareScanSettings -> ShowS
Prelude.Show, forall x.
Rep UpdateMalwareScanSettings x -> UpdateMalwareScanSettings
forall x.
UpdateMalwareScanSettings -> Rep UpdateMalwareScanSettings x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateMalwareScanSettings x -> UpdateMalwareScanSettings
$cfrom :: forall x.
UpdateMalwareScanSettings -> Rep UpdateMalwareScanSettings x
Prelude.Generic)
newUpdateMalwareScanSettings ::
Prelude.Text ->
UpdateMalwareScanSettings
newUpdateMalwareScanSettings :: Text -> UpdateMalwareScanSettings
newUpdateMalwareScanSettings Text
pDetectorId_ =
UpdateMalwareScanSettings'
{ $sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: Maybe EbsSnapshotPreservation
ebsSnapshotPreservation =
forall a. Maybe a
Prelude.Nothing,
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: Maybe ScanResourceCriteria
scanResourceCriteria = forall a. Maybe a
Prelude.Nothing,
$sel:detectorId:UpdateMalwareScanSettings' :: Text
detectorId = Text
pDetectorId_
}
updateMalwareScanSettings_ebsSnapshotPreservation :: Lens.Lens' UpdateMalwareScanSettings (Prelude.Maybe EbsSnapshotPreservation)
updateMalwareScanSettings_ebsSnapshotPreservation :: Lens' UpdateMalwareScanSettings (Maybe EbsSnapshotPreservation)
updateMalwareScanSettings_ebsSnapshotPreservation = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateMalwareScanSettings' {Maybe EbsSnapshotPreservation
ebsSnapshotPreservation :: Maybe EbsSnapshotPreservation
$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
ebsSnapshotPreservation} -> Maybe EbsSnapshotPreservation
ebsSnapshotPreservation) (\s :: UpdateMalwareScanSettings
s@UpdateMalwareScanSettings' {} Maybe EbsSnapshotPreservation
a -> UpdateMalwareScanSettings
s {$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: Maybe EbsSnapshotPreservation
ebsSnapshotPreservation = Maybe EbsSnapshotPreservation
a} :: UpdateMalwareScanSettings)
updateMalwareScanSettings_scanResourceCriteria :: Lens.Lens' UpdateMalwareScanSettings (Prelude.Maybe ScanResourceCriteria)
updateMalwareScanSettings_scanResourceCriteria :: Lens' UpdateMalwareScanSettings (Maybe ScanResourceCriteria)
updateMalwareScanSettings_scanResourceCriteria = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateMalwareScanSettings' {Maybe ScanResourceCriteria
scanResourceCriteria :: Maybe ScanResourceCriteria
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
scanResourceCriteria} -> Maybe ScanResourceCriteria
scanResourceCriteria) (\s :: UpdateMalwareScanSettings
s@UpdateMalwareScanSettings' {} Maybe ScanResourceCriteria
a -> UpdateMalwareScanSettings
s {$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: Maybe ScanResourceCriteria
scanResourceCriteria = Maybe ScanResourceCriteria
a} :: UpdateMalwareScanSettings)
updateMalwareScanSettings_detectorId :: Lens.Lens' UpdateMalwareScanSettings Prelude.Text
updateMalwareScanSettings_detectorId :: Lens' UpdateMalwareScanSettings Text
updateMalwareScanSettings_detectorId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateMalwareScanSettings' {Text
detectorId :: Text
$sel:detectorId:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Text
detectorId} -> Text
detectorId) (\s :: UpdateMalwareScanSettings
s@UpdateMalwareScanSettings' {} Text
a -> UpdateMalwareScanSettings
s {$sel:detectorId:UpdateMalwareScanSettings' :: Text
detectorId = Text
a} :: UpdateMalwareScanSettings)
instance Core.AWSRequest UpdateMalwareScanSettings where
type
AWSResponse UpdateMalwareScanSettings =
UpdateMalwareScanSettingsResponse
request :: (Service -> Service)
-> UpdateMalwareScanSettings -> Request UpdateMalwareScanSettings
request Service -> Service
overrides =
forall a. (ToRequest a, ToJSON a) => Service -> a -> Request a
Request.postJSON (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy UpdateMalwareScanSettings
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse UpdateMalwareScanSettings)))
response =
forall (m :: * -> *) a.
MonadResource m =>
(Int -> ResponseHeaders -> () -> Either String (AWSResponse a))
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveEmpty
( \Int
s ResponseHeaders
h ()
x ->
Int -> UpdateMalwareScanSettingsResponse
UpdateMalwareScanSettingsResponse'
forall (f :: * -> *) a b. Functor 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 UpdateMalwareScanSettings where
hashWithSalt :: Int -> UpdateMalwareScanSettings -> Int
hashWithSalt Int
_salt UpdateMalwareScanSettings' {Maybe EbsSnapshotPreservation
Maybe ScanResourceCriteria
Text
detectorId :: Text
scanResourceCriteria :: Maybe ScanResourceCriteria
ebsSnapshotPreservation :: Maybe EbsSnapshotPreservation
$sel:detectorId:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Text
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe EbsSnapshotPreservation
ebsSnapshotPreservation
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe ScanResourceCriteria
scanResourceCriteria
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
detectorId
instance Prelude.NFData UpdateMalwareScanSettings where
rnf :: UpdateMalwareScanSettings -> ()
rnf UpdateMalwareScanSettings' {Maybe EbsSnapshotPreservation
Maybe ScanResourceCriteria
Text
detectorId :: Text
scanResourceCriteria :: Maybe ScanResourceCriteria
ebsSnapshotPreservation :: Maybe EbsSnapshotPreservation
$sel:detectorId:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Text
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe EbsSnapshotPreservation
ebsSnapshotPreservation
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe ScanResourceCriteria
scanResourceCriteria
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
detectorId
instance Data.ToHeaders UpdateMalwareScanSettings where
toHeaders :: UpdateMalwareScanSettings -> 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 UpdateMalwareScanSettings where
toJSON :: UpdateMalwareScanSettings -> Value
toJSON UpdateMalwareScanSettings' {Maybe EbsSnapshotPreservation
Maybe ScanResourceCriteria
Text
detectorId :: Text
scanResourceCriteria :: Maybe ScanResourceCriteria
ebsSnapshotPreservation :: Maybe EbsSnapshotPreservation
$sel:detectorId:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Text
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"ebsSnapshotPreservation" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe EbsSnapshotPreservation
ebsSnapshotPreservation,
(Key
"scanResourceCriteria" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..=)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> Maybe ScanResourceCriteria
scanResourceCriteria
]
)
instance Data.ToPath UpdateMalwareScanSettings where
toPath :: UpdateMalwareScanSettings -> ByteString
toPath UpdateMalwareScanSettings' {Maybe EbsSnapshotPreservation
Maybe ScanResourceCriteria
Text
detectorId :: Text
scanResourceCriteria :: Maybe ScanResourceCriteria
ebsSnapshotPreservation :: Maybe EbsSnapshotPreservation
$sel:detectorId:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Text
$sel:scanResourceCriteria:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe ScanResourceCriteria
$sel:ebsSnapshotPreservation:UpdateMalwareScanSettings' :: UpdateMalwareScanSettings -> Maybe EbsSnapshotPreservation
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/detector/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
detectorId,
ByteString
"/malware-scan-settings"
]
instance Data.ToQuery UpdateMalwareScanSettings where
toQuery :: UpdateMalwareScanSettings -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data UpdateMalwareScanSettingsResponse = UpdateMalwareScanSettingsResponse'
{
UpdateMalwareScanSettingsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (UpdateMalwareScanSettingsResponse
-> UpdateMalwareScanSettingsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: UpdateMalwareScanSettingsResponse
-> UpdateMalwareScanSettingsResponse -> Bool
$c/= :: UpdateMalwareScanSettingsResponse
-> UpdateMalwareScanSettingsResponse -> Bool
== :: UpdateMalwareScanSettingsResponse
-> UpdateMalwareScanSettingsResponse -> Bool
$c== :: UpdateMalwareScanSettingsResponse
-> UpdateMalwareScanSettingsResponse -> Bool
Prelude.Eq, ReadPrec [UpdateMalwareScanSettingsResponse]
ReadPrec UpdateMalwareScanSettingsResponse
Int -> ReadS UpdateMalwareScanSettingsResponse
ReadS [UpdateMalwareScanSettingsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [UpdateMalwareScanSettingsResponse]
$creadListPrec :: ReadPrec [UpdateMalwareScanSettingsResponse]
readPrec :: ReadPrec UpdateMalwareScanSettingsResponse
$creadPrec :: ReadPrec UpdateMalwareScanSettingsResponse
readList :: ReadS [UpdateMalwareScanSettingsResponse]
$creadList :: ReadS [UpdateMalwareScanSettingsResponse]
readsPrec :: Int -> ReadS UpdateMalwareScanSettingsResponse
$creadsPrec :: Int -> ReadS UpdateMalwareScanSettingsResponse
Prelude.Read, Int -> UpdateMalwareScanSettingsResponse -> ShowS
[UpdateMalwareScanSettingsResponse] -> ShowS
UpdateMalwareScanSettingsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [UpdateMalwareScanSettingsResponse] -> ShowS
$cshowList :: [UpdateMalwareScanSettingsResponse] -> ShowS
show :: UpdateMalwareScanSettingsResponse -> String
$cshow :: UpdateMalwareScanSettingsResponse -> String
showsPrec :: Int -> UpdateMalwareScanSettingsResponse -> ShowS
$cshowsPrec :: Int -> UpdateMalwareScanSettingsResponse -> ShowS
Prelude.Show, forall x.
Rep UpdateMalwareScanSettingsResponse x
-> UpdateMalwareScanSettingsResponse
forall x.
UpdateMalwareScanSettingsResponse
-> Rep UpdateMalwareScanSettingsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep UpdateMalwareScanSettingsResponse x
-> UpdateMalwareScanSettingsResponse
$cfrom :: forall x.
UpdateMalwareScanSettingsResponse
-> Rep UpdateMalwareScanSettingsResponse x
Prelude.Generic)
newUpdateMalwareScanSettingsResponse ::
Prelude.Int ->
UpdateMalwareScanSettingsResponse
newUpdateMalwareScanSettingsResponse :: Int -> UpdateMalwareScanSettingsResponse
newUpdateMalwareScanSettingsResponse Int
pHttpStatus_ =
UpdateMalwareScanSettingsResponse'
{ $sel:httpStatus:UpdateMalwareScanSettingsResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
updateMalwareScanSettingsResponse_httpStatus :: Lens.Lens' UpdateMalwareScanSettingsResponse Prelude.Int
updateMalwareScanSettingsResponse_httpStatus :: Lens' UpdateMalwareScanSettingsResponse Int
updateMalwareScanSettingsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\UpdateMalwareScanSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateMalwareScanSettingsResponse' :: UpdateMalwareScanSettingsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: UpdateMalwareScanSettingsResponse
s@UpdateMalwareScanSettingsResponse' {} Int
a -> UpdateMalwareScanSettingsResponse
s {$sel:httpStatus:UpdateMalwareScanSettingsResponse' :: Int
httpStatus = Int
a} :: UpdateMalwareScanSettingsResponse)
instance
Prelude.NFData
UpdateMalwareScanSettingsResponse
where
rnf :: UpdateMalwareScanSettingsResponse -> ()
rnf UpdateMalwareScanSettingsResponse' {Int
httpStatus :: Int
$sel:httpStatus:UpdateMalwareScanSettingsResponse' :: UpdateMalwareScanSettingsResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus