{-# 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.IoT.CreateSecurityProfile
(
CreateSecurityProfile (..),
newCreateSecurityProfile,
createSecurityProfile_additionalMetricsToRetain,
createSecurityProfile_additionalMetricsToRetainV2,
createSecurityProfile_alertTargets,
createSecurityProfile_behaviors,
createSecurityProfile_securityProfileDescription,
createSecurityProfile_tags,
createSecurityProfile_securityProfileName,
CreateSecurityProfileResponse (..),
newCreateSecurityProfileResponse,
createSecurityProfileResponse_securityProfileArn,
createSecurityProfileResponse_securityProfileName,
createSecurityProfileResponse_httpStatus,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.IoT.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data CreateSecurityProfile = CreateSecurityProfile'
{
CreateSecurityProfile -> Maybe [Text]
additionalMetricsToRetain :: Prelude.Maybe [Prelude.Text],
CreateSecurityProfile -> Maybe [MetricToRetain]
additionalMetricsToRetainV2 :: Prelude.Maybe [MetricToRetain],
CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
alertTargets :: Prelude.Maybe (Prelude.HashMap AlertTargetType AlertTarget),
CreateSecurityProfile -> Maybe [Behavior]
behaviors :: Prelude.Maybe [Behavior],
CreateSecurityProfile -> Maybe Text
securityProfileDescription :: Prelude.Maybe Prelude.Text,
CreateSecurityProfile -> Maybe [Tag]
tags :: Prelude.Maybe [Tag],
CreateSecurityProfile -> Text
securityProfileName :: Prelude.Text
}
deriving (CreateSecurityProfile -> CreateSecurityProfile -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSecurityProfile -> CreateSecurityProfile -> Bool
$c/= :: CreateSecurityProfile -> CreateSecurityProfile -> Bool
== :: CreateSecurityProfile -> CreateSecurityProfile -> Bool
$c== :: CreateSecurityProfile -> CreateSecurityProfile -> Bool
Prelude.Eq, ReadPrec [CreateSecurityProfile]
ReadPrec CreateSecurityProfile
Int -> ReadS CreateSecurityProfile
ReadS [CreateSecurityProfile]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSecurityProfile]
$creadListPrec :: ReadPrec [CreateSecurityProfile]
readPrec :: ReadPrec CreateSecurityProfile
$creadPrec :: ReadPrec CreateSecurityProfile
readList :: ReadS [CreateSecurityProfile]
$creadList :: ReadS [CreateSecurityProfile]
readsPrec :: Int -> ReadS CreateSecurityProfile
$creadsPrec :: Int -> ReadS CreateSecurityProfile
Prelude.Read, Int -> CreateSecurityProfile -> ShowS
[CreateSecurityProfile] -> ShowS
CreateSecurityProfile -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSecurityProfile] -> ShowS
$cshowList :: [CreateSecurityProfile] -> ShowS
show :: CreateSecurityProfile -> String
$cshow :: CreateSecurityProfile -> String
showsPrec :: Int -> CreateSecurityProfile -> ShowS
$cshowsPrec :: Int -> CreateSecurityProfile -> ShowS
Prelude.Show, forall x. Rep CreateSecurityProfile x -> CreateSecurityProfile
forall x. CreateSecurityProfile -> Rep CreateSecurityProfile x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateSecurityProfile x -> CreateSecurityProfile
$cfrom :: forall x. CreateSecurityProfile -> Rep CreateSecurityProfile x
Prelude.Generic)
newCreateSecurityProfile ::
Prelude.Text ->
CreateSecurityProfile
newCreateSecurityProfile :: Text -> CreateSecurityProfile
newCreateSecurityProfile Text
pSecurityProfileName_ =
CreateSecurityProfile'
{ $sel:additionalMetricsToRetain:CreateSecurityProfile' :: Maybe [Text]
additionalMetricsToRetain =
forall a. Maybe a
Prelude.Nothing,
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: Maybe [MetricToRetain]
additionalMetricsToRetainV2 = forall a. Maybe a
Prelude.Nothing,
$sel:alertTargets:CreateSecurityProfile' :: Maybe (HashMap AlertTargetType AlertTarget)
alertTargets = forall a. Maybe a
Prelude.Nothing,
$sel:behaviors:CreateSecurityProfile' :: Maybe [Behavior]
behaviors = forall a. Maybe a
Prelude.Nothing,
$sel:securityProfileDescription:CreateSecurityProfile' :: Maybe Text
securityProfileDescription = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateSecurityProfile' :: Maybe [Tag]
tags = forall a. Maybe a
Prelude.Nothing,
$sel:securityProfileName:CreateSecurityProfile' :: Text
securityProfileName = Text
pSecurityProfileName_
}
createSecurityProfile_additionalMetricsToRetain :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe [Prelude.Text])
createSecurityProfile_additionalMetricsToRetain :: Lens' CreateSecurityProfile (Maybe [Text])
createSecurityProfile_additionalMetricsToRetain = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe [Text]
additionalMetricsToRetain :: Maybe [Text]
$sel:additionalMetricsToRetain:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Text]
additionalMetricsToRetain} -> Maybe [Text]
additionalMetricsToRetain) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe [Text]
a -> CreateSecurityProfile
s {$sel:additionalMetricsToRetain:CreateSecurityProfile' :: Maybe [Text]
additionalMetricsToRetain = Maybe [Text]
a} :: CreateSecurityProfile) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSecurityProfile_additionalMetricsToRetainV2 :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe [MetricToRetain])
createSecurityProfile_additionalMetricsToRetainV2 :: Lens' CreateSecurityProfile (Maybe [MetricToRetain])
createSecurityProfile_additionalMetricsToRetainV2 = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe [MetricToRetain]
additionalMetricsToRetainV2 :: Maybe [MetricToRetain]
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [MetricToRetain]
additionalMetricsToRetainV2} -> Maybe [MetricToRetain]
additionalMetricsToRetainV2) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe [MetricToRetain]
a -> CreateSecurityProfile
s {$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: Maybe [MetricToRetain]
additionalMetricsToRetainV2 = Maybe [MetricToRetain]
a} :: CreateSecurityProfile) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSecurityProfile_alertTargets :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe (Prelude.HashMap AlertTargetType AlertTarget))
createSecurityProfile_alertTargets :: Lens'
CreateSecurityProfile (Maybe (HashMap AlertTargetType AlertTarget))
createSecurityProfile_alertTargets = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe (HashMap AlertTargetType AlertTarget)
alertTargets :: Maybe (HashMap AlertTargetType AlertTarget)
$sel:alertTargets:CreateSecurityProfile' :: CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
alertTargets} -> Maybe (HashMap AlertTargetType AlertTarget)
alertTargets) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe (HashMap AlertTargetType AlertTarget)
a -> CreateSecurityProfile
s {$sel:alertTargets:CreateSecurityProfile' :: Maybe (HashMap AlertTargetType AlertTarget)
alertTargets = Maybe (HashMap AlertTargetType AlertTarget)
a} :: CreateSecurityProfile) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSecurityProfile_behaviors :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe [Behavior])
createSecurityProfile_behaviors :: Lens' CreateSecurityProfile (Maybe [Behavior])
createSecurityProfile_behaviors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe [Behavior]
behaviors :: Maybe [Behavior]
$sel:behaviors:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Behavior]
behaviors} -> Maybe [Behavior]
behaviors) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe [Behavior]
a -> CreateSecurityProfile
s {$sel:behaviors:CreateSecurityProfile' :: Maybe [Behavior]
behaviors = Maybe [Behavior]
a} :: CreateSecurityProfile) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSecurityProfile_securityProfileDescription :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe Prelude.Text)
createSecurityProfile_securityProfileDescription :: Lens' CreateSecurityProfile (Maybe Text)
createSecurityProfile_securityProfileDescription = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe Text
securityProfileDescription :: Maybe Text
$sel:securityProfileDescription:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe Text
securityProfileDescription} -> Maybe Text
securityProfileDescription) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe Text
a -> CreateSecurityProfile
s {$sel:securityProfileDescription:CreateSecurityProfile' :: Maybe Text
securityProfileDescription = Maybe Text
a} :: CreateSecurityProfile)
createSecurityProfile_tags :: Lens.Lens' CreateSecurityProfile (Prelude.Maybe [Tag])
createSecurityProfile_tags :: Lens' CreateSecurityProfile (Maybe [Tag])
createSecurityProfile_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Maybe [Tag]
tags :: Maybe [Tag]
$sel:tags:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Tag]
tags} -> Maybe [Tag]
tags) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Maybe [Tag]
a -> CreateSecurityProfile
s {$sel:tags:CreateSecurityProfile' :: Maybe [Tag]
tags = Maybe [Tag]
a} :: CreateSecurityProfile) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (f :: * -> *) (g :: * -> *) s t a b.
(Functor f, Functor g) =>
AnIso s t a b -> Iso (f s) (g t) (f a) (g b)
Lens.mapping forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
createSecurityProfile_securityProfileName :: Lens.Lens' CreateSecurityProfile Prelude.Text
createSecurityProfile_securityProfileName :: Lens' CreateSecurityProfile Text
createSecurityProfile_securityProfileName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfile' {Text
securityProfileName :: Text
$sel:securityProfileName:CreateSecurityProfile' :: CreateSecurityProfile -> Text
securityProfileName} -> Text
securityProfileName) (\s :: CreateSecurityProfile
s@CreateSecurityProfile' {} Text
a -> CreateSecurityProfile
s {$sel:securityProfileName:CreateSecurityProfile' :: Text
securityProfileName = Text
a} :: CreateSecurityProfile)
instance Core.AWSRequest CreateSecurityProfile where
type
AWSResponse CreateSecurityProfile =
CreateSecurityProfileResponse
request :: (Service -> Service)
-> CreateSecurityProfile -> Request CreateSecurityProfile
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 CreateSecurityProfile
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateSecurityProfile)))
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 Text -> Maybe Text -> Int -> CreateSecurityProfileResponse
CreateSecurityProfileResponse'
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
"securityProfileArn")
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"securityProfileName")
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 CreateSecurityProfile where
hashWithSalt :: Int -> CreateSecurityProfile -> Int
hashWithSalt Int
_salt CreateSecurityProfile' {Maybe [Text]
Maybe [MetricToRetain]
Maybe [Behavior]
Maybe [Tag]
Maybe Text
Maybe (HashMap AlertTargetType AlertTarget)
Text
securityProfileName :: Text
tags :: Maybe [Tag]
securityProfileDescription :: Maybe Text
behaviors :: Maybe [Behavior]
alertTargets :: Maybe (HashMap AlertTargetType AlertTarget)
additionalMetricsToRetainV2 :: Maybe [MetricToRetain]
additionalMetricsToRetain :: Maybe [Text]
$sel:securityProfileName:CreateSecurityProfile' :: CreateSecurityProfile -> Text
$sel:tags:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Tag]
$sel:securityProfileDescription:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe Text
$sel:behaviors:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Behavior]
$sel:alertTargets:CreateSecurityProfile' :: CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [MetricToRetain]
$sel:additionalMetricsToRetain:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
additionalMetricsToRetain
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [MetricToRetain]
additionalMetricsToRetainV2
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap AlertTargetType AlertTarget)
alertTargets
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Behavior]
behaviors
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
securityProfileDescription
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Tag]
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
securityProfileName
instance Prelude.NFData CreateSecurityProfile where
rnf :: CreateSecurityProfile -> ()
rnf CreateSecurityProfile' {Maybe [Text]
Maybe [MetricToRetain]
Maybe [Behavior]
Maybe [Tag]
Maybe Text
Maybe (HashMap AlertTargetType AlertTarget)
Text
securityProfileName :: Text
tags :: Maybe [Tag]
securityProfileDescription :: Maybe Text
behaviors :: Maybe [Behavior]
alertTargets :: Maybe (HashMap AlertTargetType AlertTarget)
additionalMetricsToRetainV2 :: Maybe [MetricToRetain]
additionalMetricsToRetain :: Maybe [Text]
$sel:securityProfileName:CreateSecurityProfile' :: CreateSecurityProfile -> Text
$sel:tags:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Tag]
$sel:securityProfileDescription:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe Text
$sel:behaviors:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Behavior]
$sel:alertTargets:CreateSecurityProfile' :: CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [MetricToRetain]
$sel:additionalMetricsToRetain:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
additionalMetricsToRetain
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [MetricToRetain]
additionalMetricsToRetainV2
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap AlertTargetType AlertTarget)
alertTargets
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Behavior]
behaviors
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
securityProfileDescription
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Tag]
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
securityProfileName
instance Data.ToHeaders CreateSecurityProfile where
toHeaders :: CreateSecurityProfile -> ResponseHeaders
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToJSON CreateSecurityProfile where
toJSON :: CreateSecurityProfile -> Value
toJSON CreateSecurityProfile' {Maybe [Text]
Maybe [MetricToRetain]
Maybe [Behavior]
Maybe [Tag]
Maybe Text
Maybe (HashMap AlertTargetType AlertTarget)
Text
securityProfileName :: Text
tags :: Maybe [Tag]
securityProfileDescription :: Maybe Text
behaviors :: Maybe [Behavior]
alertTargets :: Maybe (HashMap AlertTargetType AlertTarget)
additionalMetricsToRetainV2 :: Maybe [MetricToRetain]
additionalMetricsToRetain :: Maybe [Text]
$sel:securityProfileName:CreateSecurityProfile' :: CreateSecurityProfile -> Text
$sel:tags:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Tag]
$sel:securityProfileDescription:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe Text
$sel:behaviors:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Behavior]
$sel:alertTargets:CreateSecurityProfile' :: CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [MetricToRetain]
$sel:additionalMetricsToRetain:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"additionalMetricsToRetain" 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]
additionalMetricsToRetain,
(Key
"additionalMetricsToRetainV2" 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 [MetricToRetain]
additionalMetricsToRetainV2,
(Key
"alertTargets" 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 (HashMap AlertTargetType AlertTarget)
alertTargets,
(Key
"behaviors" 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 [Behavior]
behaviors,
(Key
"securityProfileDescription" 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
securityProfileDescription,
(Key
"tags" 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 [Tag]
tags
]
)
instance Data.ToPath CreateSecurityProfile where
toPath :: CreateSecurityProfile -> ByteString
toPath CreateSecurityProfile' {Maybe [Text]
Maybe [MetricToRetain]
Maybe [Behavior]
Maybe [Tag]
Maybe Text
Maybe (HashMap AlertTargetType AlertTarget)
Text
securityProfileName :: Text
tags :: Maybe [Tag]
securityProfileDescription :: Maybe Text
behaviors :: Maybe [Behavior]
alertTargets :: Maybe (HashMap AlertTargetType AlertTarget)
additionalMetricsToRetainV2 :: Maybe [MetricToRetain]
additionalMetricsToRetain :: Maybe [Text]
$sel:securityProfileName:CreateSecurityProfile' :: CreateSecurityProfile -> Text
$sel:tags:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Tag]
$sel:securityProfileDescription:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe Text
$sel:behaviors:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Behavior]
$sel:alertTargets:CreateSecurityProfile' :: CreateSecurityProfile
-> Maybe (HashMap AlertTargetType AlertTarget)
$sel:additionalMetricsToRetainV2:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [MetricToRetain]
$sel:additionalMetricsToRetain:CreateSecurityProfile' :: CreateSecurityProfile -> Maybe [Text]
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/security-profiles/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
securityProfileName
]
instance Data.ToQuery CreateSecurityProfile where
toQuery :: CreateSecurityProfile -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateSecurityProfileResponse = CreateSecurityProfileResponse'
{
CreateSecurityProfileResponse -> Maybe Text
securityProfileArn :: Prelude.Maybe Prelude.Text,
CreateSecurityProfileResponse -> Maybe Text
securityProfileName :: Prelude.Maybe Prelude.Text,
CreateSecurityProfileResponse -> Int
httpStatus :: Prelude.Int
}
deriving (CreateSecurityProfileResponse
-> CreateSecurityProfileResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateSecurityProfileResponse
-> CreateSecurityProfileResponse -> Bool
$c/= :: CreateSecurityProfileResponse
-> CreateSecurityProfileResponse -> Bool
== :: CreateSecurityProfileResponse
-> CreateSecurityProfileResponse -> Bool
$c== :: CreateSecurityProfileResponse
-> CreateSecurityProfileResponse -> Bool
Prelude.Eq, ReadPrec [CreateSecurityProfileResponse]
ReadPrec CreateSecurityProfileResponse
Int -> ReadS CreateSecurityProfileResponse
ReadS [CreateSecurityProfileResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateSecurityProfileResponse]
$creadListPrec :: ReadPrec [CreateSecurityProfileResponse]
readPrec :: ReadPrec CreateSecurityProfileResponse
$creadPrec :: ReadPrec CreateSecurityProfileResponse
readList :: ReadS [CreateSecurityProfileResponse]
$creadList :: ReadS [CreateSecurityProfileResponse]
readsPrec :: Int -> ReadS CreateSecurityProfileResponse
$creadsPrec :: Int -> ReadS CreateSecurityProfileResponse
Prelude.Read, Int -> CreateSecurityProfileResponse -> ShowS
[CreateSecurityProfileResponse] -> ShowS
CreateSecurityProfileResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateSecurityProfileResponse] -> ShowS
$cshowList :: [CreateSecurityProfileResponse] -> ShowS
show :: CreateSecurityProfileResponse -> String
$cshow :: CreateSecurityProfileResponse -> String
showsPrec :: Int -> CreateSecurityProfileResponse -> ShowS
$cshowsPrec :: Int -> CreateSecurityProfileResponse -> ShowS
Prelude.Show, forall x.
Rep CreateSecurityProfileResponse x
-> CreateSecurityProfileResponse
forall x.
CreateSecurityProfileResponse
-> Rep CreateSecurityProfileResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateSecurityProfileResponse x
-> CreateSecurityProfileResponse
$cfrom :: forall x.
CreateSecurityProfileResponse
-> Rep CreateSecurityProfileResponse x
Prelude.Generic)
newCreateSecurityProfileResponse ::
Prelude.Int ->
CreateSecurityProfileResponse
newCreateSecurityProfileResponse :: Int -> CreateSecurityProfileResponse
newCreateSecurityProfileResponse Int
pHttpStatus_ =
CreateSecurityProfileResponse'
{ $sel:securityProfileArn:CreateSecurityProfileResponse' :: Maybe Text
securityProfileArn =
forall a. Maybe a
Prelude.Nothing,
$sel:securityProfileName:CreateSecurityProfileResponse' :: Maybe Text
securityProfileName = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:CreateSecurityProfileResponse' :: Int
httpStatus = Int
pHttpStatus_
}
createSecurityProfileResponse_securityProfileArn :: Lens.Lens' CreateSecurityProfileResponse (Prelude.Maybe Prelude.Text)
createSecurityProfileResponse_securityProfileArn :: Lens' CreateSecurityProfileResponse (Maybe Text)
createSecurityProfileResponse_securityProfileArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfileResponse' {Maybe Text
securityProfileArn :: Maybe Text
$sel:securityProfileArn:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Maybe Text
securityProfileArn} -> Maybe Text
securityProfileArn) (\s :: CreateSecurityProfileResponse
s@CreateSecurityProfileResponse' {} Maybe Text
a -> CreateSecurityProfileResponse
s {$sel:securityProfileArn:CreateSecurityProfileResponse' :: Maybe Text
securityProfileArn = Maybe Text
a} :: CreateSecurityProfileResponse)
createSecurityProfileResponse_securityProfileName :: Lens.Lens' CreateSecurityProfileResponse (Prelude.Maybe Prelude.Text)
createSecurityProfileResponse_securityProfileName :: Lens' CreateSecurityProfileResponse (Maybe Text)
createSecurityProfileResponse_securityProfileName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfileResponse' {Maybe Text
securityProfileName :: Maybe Text
$sel:securityProfileName:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Maybe Text
securityProfileName} -> Maybe Text
securityProfileName) (\s :: CreateSecurityProfileResponse
s@CreateSecurityProfileResponse' {} Maybe Text
a -> CreateSecurityProfileResponse
s {$sel:securityProfileName:CreateSecurityProfileResponse' :: Maybe Text
securityProfileName = Maybe Text
a} :: CreateSecurityProfileResponse)
createSecurityProfileResponse_httpStatus :: Lens.Lens' CreateSecurityProfileResponse Prelude.Int
createSecurityProfileResponse_httpStatus :: Lens' CreateSecurityProfileResponse Int
createSecurityProfileResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateSecurityProfileResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateSecurityProfileResponse
s@CreateSecurityProfileResponse' {} Int
a -> CreateSecurityProfileResponse
s {$sel:httpStatus:CreateSecurityProfileResponse' :: Int
httpStatus = Int
a} :: CreateSecurityProfileResponse)
instance Prelude.NFData CreateSecurityProfileResponse where
rnf :: CreateSecurityProfileResponse -> ()
rnf CreateSecurityProfileResponse' {Int
Maybe Text
httpStatus :: Int
securityProfileName :: Maybe Text
securityProfileArn :: Maybe Text
$sel:httpStatus:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Int
$sel:securityProfileName:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Maybe Text
$sel:securityProfileArn:CreateSecurityProfileResponse' :: CreateSecurityProfileResponse -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
securityProfileArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
securityProfileName
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus