{-# 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.CloudWatchLogs.CreateLogGroup
(
CreateLogGroup (..),
newCreateLogGroup,
createLogGroup_kmsKeyId,
createLogGroup_tags,
createLogGroup_logGroupName,
CreateLogGroupResponse (..),
newCreateLogGroupResponse,
)
where
import Amazonka.CloudWatchLogs.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
data CreateLogGroup = CreateLogGroup'
{
CreateLogGroup -> Maybe Text
kmsKeyId :: Prelude.Maybe Prelude.Text,
CreateLogGroup -> Maybe (HashMap Text Text)
tags :: Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text),
CreateLogGroup -> Text
logGroupName :: Prelude.Text
}
deriving (CreateLogGroup -> CreateLogGroup -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateLogGroup -> CreateLogGroup -> Bool
$c/= :: CreateLogGroup -> CreateLogGroup -> Bool
== :: CreateLogGroup -> CreateLogGroup -> Bool
$c== :: CreateLogGroup -> CreateLogGroup -> Bool
Prelude.Eq, ReadPrec [CreateLogGroup]
ReadPrec CreateLogGroup
Int -> ReadS CreateLogGroup
ReadS [CreateLogGroup]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateLogGroup]
$creadListPrec :: ReadPrec [CreateLogGroup]
readPrec :: ReadPrec CreateLogGroup
$creadPrec :: ReadPrec CreateLogGroup
readList :: ReadS [CreateLogGroup]
$creadList :: ReadS [CreateLogGroup]
readsPrec :: Int -> ReadS CreateLogGroup
$creadsPrec :: Int -> ReadS CreateLogGroup
Prelude.Read, Int -> CreateLogGroup -> ShowS
[CreateLogGroup] -> ShowS
CreateLogGroup -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateLogGroup] -> ShowS
$cshowList :: [CreateLogGroup] -> ShowS
show :: CreateLogGroup -> String
$cshow :: CreateLogGroup -> String
showsPrec :: Int -> CreateLogGroup -> ShowS
$cshowsPrec :: Int -> CreateLogGroup -> ShowS
Prelude.Show, forall x. Rep CreateLogGroup x -> CreateLogGroup
forall x. CreateLogGroup -> Rep CreateLogGroup x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateLogGroup x -> CreateLogGroup
$cfrom :: forall x. CreateLogGroup -> Rep CreateLogGroup x
Prelude.Generic)
newCreateLogGroup ::
Prelude.Text ->
CreateLogGroup
newCreateLogGroup :: Text -> CreateLogGroup
newCreateLogGroup Text
pLogGroupName_ =
CreateLogGroup'
{ $sel:kmsKeyId:CreateLogGroup' :: Maybe Text
kmsKeyId = forall a. Maybe a
Prelude.Nothing,
$sel:tags:CreateLogGroup' :: Maybe (HashMap Text Text)
tags = forall a. Maybe a
Prelude.Nothing,
$sel:logGroupName:CreateLogGroup' :: Text
logGroupName = Text
pLogGroupName_
}
createLogGroup_kmsKeyId :: Lens.Lens' CreateLogGroup (Prelude.Maybe Prelude.Text)
createLogGroup_kmsKeyId :: Lens' CreateLogGroup (Maybe Text)
createLogGroup_kmsKeyId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateLogGroup' {Maybe Text
kmsKeyId :: Maybe Text
$sel:kmsKeyId:CreateLogGroup' :: CreateLogGroup -> Maybe Text
kmsKeyId} -> Maybe Text
kmsKeyId) (\s :: CreateLogGroup
s@CreateLogGroup' {} Maybe Text
a -> CreateLogGroup
s {$sel:kmsKeyId:CreateLogGroup' :: Maybe Text
kmsKeyId = Maybe Text
a} :: CreateLogGroup)
createLogGroup_tags :: Lens.Lens' CreateLogGroup (Prelude.Maybe (Prelude.HashMap Prelude.Text Prelude.Text))
createLogGroup_tags :: Lens' CreateLogGroup (Maybe (HashMap Text Text))
createLogGroup_tags = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateLogGroup' {Maybe (HashMap Text Text)
tags :: Maybe (HashMap Text Text)
$sel:tags:CreateLogGroup' :: CreateLogGroup -> Maybe (HashMap Text Text)
tags} -> Maybe (HashMap Text Text)
tags) (\s :: CreateLogGroup
s@CreateLogGroup' {} Maybe (HashMap Text Text)
a -> CreateLogGroup
s {$sel:tags:CreateLogGroup' :: Maybe (HashMap Text Text)
tags = Maybe (HashMap Text Text)
a} :: CreateLogGroup) 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
createLogGroup_logGroupName :: Lens.Lens' CreateLogGroup Prelude.Text
createLogGroup_logGroupName :: Lens' CreateLogGroup Text
createLogGroup_logGroupName = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateLogGroup' {Text
logGroupName :: Text
$sel:logGroupName:CreateLogGroup' :: CreateLogGroup -> Text
logGroupName} -> Text
logGroupName) (\s :: CreateLogGroup
s@CreateLogGroup' {} Text
a -> CreateLogGroup
s {$sel:logGroupName:CreateLogGroup' :: Text
logGroupName = Text
a} :: CreateLogGroup)
instance Core.AWSRequest CreateLogGroup where
type
AWSResponse CreateLogGroup =
CreateLogGroupResponse
request :: (Service -> Service) -> CreateLogGroup -> Request CreateLogGroup
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 CreateLogGroup
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse CreateLogGroup)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull CreateLogGroupResponse
CreateLogGroupResponse'
instance Prelude.Hashable CreateLogGroup where
hashWithSalt :: Int -> CreateLogGroup -> Int
hashWithSalt Int
_salt CreateLogGroup' {Maybe Text
Maybe (HashMap Text Text)
Text
logGroupName :: Text
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
$sel:logGroupName:CreateLogGroup' :: CreateLogGroup -> Text
$sel:tags:CreateLogGroup' :: CreateLogGroup -> Maybe (HashMap Text Text)
$sel:kmsKeyId:CreateLogGroup' :: CreateLogGroup -> Maybe Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
kmsKeyId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe (HashMap Text Text)
tags
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
logGroupName
instance Prelude.NFData CreateLogGroup where
rnf :: CreateLogGroup -> ()
rnf CreateLogGroup' {Maybe Text
Maybe (HashMap Text Text)
Text
logGroupName :: Text
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
$sel:logGroupName:CreateLogGroup' :: CreateLogGroup -> Text
$sel:tags:CreateLogGroup' :: CreateLogGroup -> Maybe (HashMap Text Text)
$sel:kmsKeyId:CreateLogGroup' :: CreateLogGroup -> Maybe Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
kmsKeyId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text Text)
tags
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
logGroupName
instance Data.ToHeaders CreateLogGroup where
toHeaders :: CreateLogGroup -> [Header]
toHeaders =
forall a b. a -> b -> a
Prelude.const
( forall a. Monoid a => [a] -> a
Prelude.mconcat
[ HeaderName
"X-Amz-Target"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"Logs_20140328.CreateLogGroup" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> [Header]
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance Data.ToJSON CreateLogGroup where
toJSON :: CreateLogGroup -> Value
toJSON CreateLogGroup' {Maybe Text
Maybe (HashMap Text Text)
Text
logGroupName :: Text
tags :: Maybe (HashMap Text Text)
kmsKeyId :: Maybe Text
$sel:logGroupName:CreateLogGroup' :: CreateLogGroup -> Text
$sel:tags:CreateLogGroup' :: CreateLogGroup -> Maybe (HashMap Text Text)
$sel:kmsKeyId:CreateLogGroup' :: CreateLogGroup -> Maybe Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"kmsKeyId" 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
kmsKeyId,
(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 (HashMap Text Text)
tags,
forall a. a -> Maybe a
Prelude.Just (Key
"logGroupName" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
logGroupName)
]
)
instance Data.ToPath CreateLogGroup where
toPath :: CreateLogGroup -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery CreateLogGroup where
toQuery :: CreateLogGroup -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateLogGroupResponse = CreateLogGroupResponse'
{
}
deriving (CreateLogGroupResponse -> CreateLogGroupResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateLogGroupResponse -> CreateLogGroupResponse -> Bool
$c/= :: CreateLogGroupResponse -> CreateLogGroupResponse -> Bool
== :: CreateLogGroupResponse -> CreateLogGroupResponse -> Bool
$c== :: CreateLogGroupResponse -> CreateLogGroupResponse -> Bool
Prelude.Eq, ReadPrec [CreateLogGroupResponse]
ReadPrec CreateLogGroupResponse
Int -> ReadS CreateLogGroupResponse
ReadS [CreateLogGroupResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateLogGroupResponse]
$creadListPrec :: ReadPrec [CreateLogGroupResponse]
readPrec :: ReadPrec CreateLogGroupResponse
$creadPrec :: ReadPrec CreateLogGroupResponse
readList :: ReadS [CreateLogGroupResponse]
$creadList :: ReadS [CreateLogGroupResponse]
readsPrec :: Int -> ReadS CreateLogGroupResponse
$creadsPrec :: Int -> ReadS CreateLogGroupResponse
Prelude.Read, Int -> CreateLogGroupResponse -> ShowS
[CreateLogGroupResponse] -> ShowS
CreateLogGroupResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateLogGroupResponse] -> ShowS
$cshowList :: [CreateLogGroupResponse] -> ShowS
show :: CreateLogGroupResponse -> String
$cshow :: CreateLogGroupResponse -> String
showsPrec :: Int -> CreateLogGroupResponse -> ShowS
$cshowsPrec :: Int -> CreateLogGroupResponse -> ShowS
Prelude.Show, forall x. Rep CreateLogGroupResponse x -> CreateLogGroupResponse
forall x. CreateLogGroupResponse -> Rep CreateLogGroupResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep CreateLogGroupResponse x -> CreateLogGroupResponse
$cfrom :: forall x. CreateLogGroupResponse -> Rep CreateLogGroupResponse x
Prelude.Generic)
newCreateLogGroupResponse ::
CreateLogGroupResponse
newCreateLogGroupResponse :: CreateLogGroupResponse
newCreateLogGroupResponse = CreateLogGroupResponse
CreateLogGroupResponse'
instance Prelude.NFData CreateLogGroupResponse where
rnf :: CreateLogGroupResponse -> ()
rnf CreateLogGroupResponse
_ = ()