{-# 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.MacieV2.PutFindingsPublicationConfiguration
(
PutFindingsPublicationConfiguration (..),
newPutFindingsPublicationConfiguration,
putFindingsPublicationConfiguration_clientToken,
putFindingsPublicationConfiguration_securityHubConfiguration,
PutFindingsPublicationConfigurationResponse (..),
newPutFindingsPublicationConfigurationResponse,
putFindingsPublicationConfigurationResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.MacieV2.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutFindingsPublicationConfiguration = PutFindingsPublicationConfiguration'
{
PutFindingsPublicationConfiguration -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
PutFindingsPublicationConfiguration
-> Maybe SecurityHubConfiguration
securityHubConfiguration :: Prelude.Maybe SecurityHubConfiguration
}
deriving (PutFindingsPublicationConfiguration
-> PutFindingsPublicationConfiguration -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutFindingsPublicationConfiguration
-> PutFindingsPublicationConfiguration -> Bool
$c/= :: PutFindingsPublicationConfiguration
-> PutFindingsPublicationConfiguration -> Bool
== :: PutFindingsPublicationConfiguration
-> PutFindingsPublicationConfiguration -> Bool
$c== :: PutFindingsPublicationConfiguration
-> PutFindingsPublicationConfiguration -> Bool
Prelude.Eq, ReadPrec [PutFindingsPublicationConfiguration]
ReadPrec PutFindingsPublicationConfiguration
Int -> ReadS PutFindingsPublicationConfiguration
ReadS [PutFindingsPublicationConfiguration]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutFindingsPublicationConfiguration]
$creadListPrec :: ReadPrec [PutFindingsPublicationConfiguration]
readPrec :: ReadPrec PutFindingsPublicationConfiguration
$creadPrec :: ReadPrec PutFindingsPublicationConfiguration
readList :: ReadS [PutFindingsPublicationConfiguration]
$creadList :: ReadS [PutFindingsPublicationConfiguration]
readsPrec :: Int -> ReadS PutFindingsPublicationConfiguration
$creadsPrec :: Int -> ReadS PutFindingsPublicationConfiguration
Prelude.Read, Int -> PutFindingsPublicationConfiguration -> ShowS
[PutFindingsPublicationConfiguration] -> ShowS
PutFindingsPublicationConfiguration -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutFindingsPublicationConfiguration] -> ShowS
$cshowList :: [PutFindingsPublicationConfiguration] -> ShowS
show :: PutFindingsPublicationConfiguration -> String
$cshow :: PutFindingsPublicationConfiguration -> String
showsPrec :: Int -> PutFindingsPublicationConfiguration -> ShowS
$cshowsPrec :: Int -> PutFindingsPublicationConfiguration -> ShowS
Prelude.Show, forall x.
Rep PutFindingsPublicationConfiguration x
-> PutFindingsPublicationConfiguration
forall x.
PutFindingsPublicationConfiguration
-> Rep PutFindingsPublicationConfiguration x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutFindingsPublicationConfiguration x
-> PutFindingsPublicationConfiguration
$cfrom :: forall x.
PutFindingsPublicationConfiguration
-> Rep PutFindingsPublicationConfiguration x
Prelude.Generic)
newPutFindingsPublicationConfiguration ::
PutFindingsPublicationConfiguration
newPutFindingsPublicationConfiguration :: PutFindingsPublicationConfiguration
newPutFindingsPublicationConfiguration =
PutFindingsPublicationConfiguration'
{ $sel:clientToken:PutFindingsPublicationConfiguration' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: Maybe SecurityHubConfiguration
securityHubConfiguration =
forall a. Maybe a
Prelude.Nothing
}
putFindingsPublicationConfiguration_clientToken :: Lens.Lens' PutFindingsPublicationConfiguration (Prelude.Maybe Prelude.Text)
putFindingsPublicationConfiguration_clientToken :: Lens' PutFindingsPublicationConfiguration (Maybe Text)
putFindingsPublicationConfiguration_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutFindingsPublicationConfiguration' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: PutFindingsPublicationConfiguration
s@PutFindingsPublicationConfiguration' {} Maybe Text
a -> PutFindingsPublicationConfiguration
s {$sel:clientToken:PutFindingsPublicationConfiguration' :: Maybe Text
clientToken = Maybe Text
a} :: PutFindingsPublicationConfiguration)
putFindingsPublicationConfiguration_securityHubConfiguration :: Lens.Lens' PutFindingsPublicationConfiguration (Prelude.Maybe SecurityHubConfiguration)
putFindingsPublicationConfiguration_securityHubConfiguration :: Lens'
PutFindingsPublicationConfiguration
(Maybe SecurityHubConfiguration)
putFindingsPublicationConfiguration_securityHubConfiguration = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutFindingsPublicationConfiguration' {Maybe SecurityHubConfiguration
securityHubConfiguration :: Maybe SecurityHubConfiguration
$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration
-> Maybe SecurityHubConfiguration
securityHubConfiguration} -> Maybe SecurityHubConfiguration
securityHubConfiguration) (\s :: PutFindingsPublicationConfiguration
s@PutFindingsPublicationConfiguration' {} Maybe SecurityHubConfiguration
a -> PutFindingsPublicationConfiguration
s {$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: Maybe SecurityHubConfiguration
securityHubConfiguration = Maybe SecurityHubConfiguration
a} :: PutFindingsPublicationConfiguration)
instance
Core.AWSRequest
PutFindingsPublicationConfiguration
where
type
AWSResponse PutFindingsPublicationConfiguration =
PutFindingsPublicationConfigurationResponse
request :: (Service -> Service)
-> PutFindingsPublicationConfiguration
-> Request PutFindingsPublicationConfiguration
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 PutFindingsPublicationConfiguration
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse PutFindingsPublicationConfiguration)))
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 -> PutFindingsPublicationConfigurationResponse
PutFindingsPublicationConfigurationResponse'
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
PutFindingsPublicationConfiguration
where
hashWithSalt :: Int -> PutFindingsPublicationConfiguration -> Int
hashWithSalt
Int
_salt
PutFindingsPublicationConfiguration' {Maybe Text
Maybe SecurityHubConfiguration
securityHubConfiguration :: Maybe SecurityHubConfiguration
clientToken :: Maybe Text
$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration
-> Maybe SecurityHubConfiguration
$sel:clientToken:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
clientToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe SecurityHubConfiguration
securityHubConfiguration
instance
Prelude.NFData
PutFindingsPublicationConfiguration
where
rnf :: PutFindingsPublicationConfiguration -> ()
rnf PutFindingsPublicationConfiguration' {Maybe Text
Maybe SecurityHubConfiguration
securityHubConfiguration :: Maybe SecurityHubConfiguration
clientToken :: Maybe Text
$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration
-> Maybe SecurityHubConfiguration
$sel:clientToken:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
clientToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe SecurityHubConfiguration
securityHubConfiguration
instance
Data.ToHeaders
PutFindingsPublicationConfiguration
where
toHeaders :: PutFindingsPublicationConfiguration -> 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
PutFindingsPublicationConfiguration
where
toJSON :: PutFindingsPublicationConfiguration -> Value
toJSON PutFindingsPublicationConfiguration' {Maybe Text
Maybe SecurityHubConfiguration
securityHubConfiguration :: Maybe SecurityHubConfiguration
clientToken :: Maybe Text
$sel:securityHubConfiguration:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration
-> Maybe SecurityHubConfiguration
$sel:clientToken:PutFindingsPublicationConfiguration' :: PutFindingsPublicationConfiguration -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"clientToken" 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 Text
clientToken,
(Key
"securityHubConfiguration" 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 SecurityHubConfiguration
securityHubConfiguration
]
)
instance
Data.ToPath
PutFindingsPublicationConfiguration
where
toPath :: PutFindingsPublicationConfiguration -> ByteString
toPath =
forall a b. a -> b -> a
Prelude.const ByteString
"/findings-publication-configuration"
instance
Data.ToQuery
PutFindingsPublicationConfiguration
where
toQuery :: PutFindingsPublicationConfiguration -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutFindingsPublicationConfigurationResponse = PutFindingsPublicationConfigurationResponse'
{
PutFindingsPublicationConfigurationResponse -> Int
httpStatus :: Prelude.Int
}
deriving (PutFindingsPublicationConfigurationResponse
-> PutFindingsPublicationConfigurationResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutFindingsPublicationConfigurationResponse
-> PutFindingsPublicationConfigurationResponse -> Bool
$c/= :: PutFindingsPublicationConfigurationResponse
-> PutFindingsPublicationConfigurationResponse -> Bool
== :: PutFindingsPublicationConfigurationResponse
-> PutFindingsPublicationConfigurationResponse -> Bool
$c== :: PutFindingsPublicationConfigurationResponse
-> PutFindingsPublicationConfigurationResponse -> Bool
Prelude.Eq, ReadPrec [PutFindingsPublicationConfigurationResponse]
ReadPrec PutFindingsPublicationConfigurationResponse
Int -> ReadS PutFindingsPublicationConfigurationResponse
ReadS [PutFindingsPublicationConfigurationResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutFindingsPublicationConfigurationResponse]
$creadListPrec :: ReadPrec [PutFindingsPublicationConfigurationResponse]
readPrec :: ReadPrec PutFindingsPublicationConfigurationResponse
$creadPrec :: ReadPrec PutFindingsPublicationConfigurationResponse
readList :: ReadS [PutFindingsPublicationConfigurationResponse]
$creadList :: ReadS [PutFindingsPublicationConfigurationResponse]
readsPrec :: Int -> ReadS PutFindingsPublicationConfigurationResponse
$creadsPrec :: Int -> ReadS PutFindingsPublicationConfigurationResponse
Prelude.Read, Int -> PutFindingsPublicationConfigurationResponse -> ShowS
[PutFindingsPublicationConfigurationResponse] -> ShowS
PutFindingsPublicationConfigurationResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutFindingsPublicationConfigurationResponse] -> ShowS
$cshowList :: [PutFindingsPublicationConfigurationResponse] -> ShowS
show :: PutFindingsPublicationConfigurationResponse -> String
$cshow :: PutFindingsPublicationConfigurationResponse -> String
showsPrec :: Int -> PutFindingsPublicationConfigurationResponse -> ShowS
$cshowsPrec :: Int -> PutFindingsPublicationConfigurationResponse -> ShowS
Prelude.Show, forall x.
Rep PutFindingsPublicationConfigurationResponse x
-> PutFindingsPublicationConfigurationResponse
forall x.
PutFindingsPublicationConfigurationResponse
-> Rep PutFindingsPublicationConfigurationResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutFindingsPublicationConfigurationResponse x
-> PutFindingsPublicationConfigurationResponse
$cfrom :: forall x.
PutFindingsPublicationConfigurationResponse
-> Rep PutFindingsPublicationConfigurationResponse x
Prelude.Generic)
newPutFindingsPublicationConfigurationResponse ::
Prelude.Int ->
PutFindingsPublicationConfigurationResponse
newPutFindingsPublicationConfigurationResponse :: Int -> PutFindingsPublicationConfigurationResponse
newPutFindingsPublicationConfigurationResponse
Int
pHttpStatus_ =
PutFindingsPublicationConfigurationResponse'
{ $sel:httpStatus:PutFindingsPublicationConfigurationResponse' :: Int
httpStatus =
Int
pHttpStatus_
}
putFindingsPublicationConfigurationResponse_httpStatus :: Lens.Lens' PutFindingsPublicationConfigurationResponse Prelude.Int
putFindingsPublicationConfigurationResponse_httpStatus :: Lens' PutFindingsPublicationConfigurationResponse Int
putFindingsPublicationConfigurationResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutFindingsPublicationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutFindingsPublicationConfigurationResponse' :: PutFindingsPublicationConfigurationResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutFindingsPublicationConfigurationResponse
s@PutFindingsPublicationConfigurationResponse' {} Int
a -> PutFindingsPublicationConfigurationResponse
s {$sel:httpStatus:PutFindingsPublicationConfigurationResponse' :: Int
httpStatus = Int
a} :: PutFindingsPublicationConfigurationResponse)
instance
Prelude.NFData
PutFindingsPublicationConfigurationResponse
where
rnf :: PutFindingsPublicationConfigurationResponse -> ()
rnf PutFindingsPublicationConfigurationResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutFindingsPublicationConfigurationResponse' :: PutFindingsPublicationConfigurationResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus