{-# 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.AMP.CreateAlertManagerDefinition
(
CreateAlertManagerDefinition (..),
newCreateAlertManagerDefinition,
createAlertManagerDefinition_clientToken,
createAlertManagerDefinition_data,
createAlertManagerDefinition_workspaceId,
CreateAlertManagerDefinitionResponse (..),
newCreateAlertManagerDefinitionResponse,
createAlertManagerDefinitionResponse_httpStatus,
createAlertManagerDefinitionResponse_status,
)
where
import Amazonka.AMP.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 CreateAlertManagerDefinition = CreateAlertManagerDefinition'
{
CreateAlertManagerDefinition -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
CreateAlertManagerDefinition -> Base64
data' :: Data.Base64,
CreateAlertManagerDefinition -> Text
workspaceId :: Prelude.Text
}
deriving (CreateAlertManagerDefinition
-> CreateAlertManagerDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateAlertManagerDefinition
-> CreateAlertManagerDefinition -> Bool
$c/= :: CreateAlertManagerDefinition
-> CreateAlertManagerDefinition -> Bool
== :: CreateAlertManagerDefinition
-> CreateAlertManagerDefinition -> Bool
$c== :: CreateAlertManagerDefinition
-> CreateAlertManagerDefinition -> Bool
Prelude.Eq, ReadPrec [CreateAlertManagerDefinition]
ReadPrec CreateAlertManagerDefinition
Int -> ReadS CreateAlertManagerDefinition
ReadS [CreateAlertManagerDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateAlertManagerDefinition]
$creadListPrec :: ReadPrec [CreateAlertManagerDefinition]
readPrec :: ReadPrec CreateAlertManagerDefinition
$creadPrec :: ReadPrec CreateAlertManagerDefinition
readList :: ReadS [CreateAlertManagerDefinition]
$creadList :: ReadS [CreateAlertManagerDefinition]
readsPrec :: Int -> ReadS CreateAlertManagerDefinition
$creadsPrec :: Int -> ReadS CreateAlertManagerDefinition
Prelude.Read, Int -> CreateAlertManagerDefinition -> ShowS
[CreateAlertManagerDefinition] -> ShowS
CreateAlertManagerDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateAlertManagerDefinition] -> ShowS
$cshowList :: [CreateAlertManagerDefinition] -> ShowS
show :: CreateAlertManagerDefinition -> String
$cshow :: CreateAlertManagerDefinition -> String
showsPrec :: Int -> CreateAlertManagerDefinition -> ShowS
$cshowsPrec :: Int -> CreateAlertManagerDefinition -> ShowS
Prelude.Show, forall x.
Rep CreateAlertManagerDefinition x -> CreateAlertManagerDefinition
forall x.
CreateAlertManagerDefinition -> Rep CreateAlertManagerDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateAlertManagerDefinition x -> CreateAlertManagerDefinition
$cfrom :: forall x.
CreateAlertManagerDefinition -> Rep CreateAlertManagerDefinition x
Prelude.Generic)
newCreateAlertManagerDefinition ::
Prelude.ByteString ->
Prelude.Text ->
CreateAlertManagerDefinition
newCreateAlertManagerDefinition :: ByteString -> Text -> CreateAlertManagerDefinition
newCreateAlertManagerDefinition ByteString
pData_ Text
pWorkspaceId_ =
CreateAlertManagerDefinition'
{ $sel:clientToken:CreateAlertManagerDefinition' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:data':CreateAlertManagerDefinition' :: Base64
data' = Iso' Base64 ByteString
Data._Base64 forall t b. AReview t b -> b -> t
Lens.# ByteString
pData_,
$sel:workspaceId:CreateAlertManagerDefinition' :: Text
workspaceId = Text
pWorkspaceId_
}
createAlertManagerDefinition_clientToken :: Lens.Lens' CreateAlertManagerDefinition (Prelude.Maybe Prelude.Text)
createAlertManagerDefinition_clientToken :: Lens' CreateAlertManagerDefinition (Maybe Text)
createAlertManagerDefinition_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAlertManagerDefinition' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: CreateAlertManagerDefinition
s@CreateAlertManagerDefinition' {} Maybe Text
a -> CreateAlertManagerDefinition
s {$sel:clientToken:CreateAlertManagerDefinition' :: Maybe Text
clientToken = Maybe Text
a} :: CreateAlertManagerDefinition)
createAlertManagerDefinition_data :: Lens.Lens' CreateAlertManagerDefinition Prelude.ByteString
createAlertManagerDefinition_data :: Lens' CreateAlertManagerDefinition ByteString
createAlertManagerDefinition_data = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAlertManagerDefinition' {Base64
data' :: Base64
$sel:data':CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Base64
data'} -> Base64
data') (\s :: CreateAlertManagerDefinition
s@CreateAlertManagerDefinition' {} Base64
a -> CreateAlertManagerDefinition
s {$sel:data':CreateAlertManagerDefinition' :: Base64
data' = Base64
a} :: CreateAlertManagerDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Iso' Base64 ByteString
Data._Base64
createAlertManagerDefinition_workspaceId :: Lens.Lens' CreateAlertManagerDefinition Prelude.Text
createAlertManagerDefinition_workspaceId :: Lens' CreateAlertManagerDefinition Text
createAlertManagerDefinition_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAlertManagerDefinition' {Text
workspaceId :: Text
$sel:workspaceId:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Text
workspaceId} -> Text
workspaceId) (\s :: CreateAlertManagerDefinition
s@CreateAlertManagerDefinition' {} Text
a -> CreateAlertManagerDefinition
s {$sel:workspaceId:CreateAlertManagerDefinition' :: Text
workspaceId = Text
a} :: CreateAlertManagerDefinition)
instance Core.AWSRequest CreateAlertManagerDefinition where
type
AWSResponse CreateAlertManagerDefinition =
CreateAlertManagerDefinitionResponse
request :: (Service -> Service)
-> CreateAlertManagerDefinition
-> Request CreateAlertManagerDefinition
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 CreateAlertManagerDefinition
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse CreateAlertManagerDefinition)))
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 ->
Int
-> AlertManagerDefinitionStatus
-> CreateAlertManagerDefinitionResponse
CreateAlertManagerDefinitionResponse'
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))
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String a
Data..:> Key
"status")
)
instance
Prelude.Hashable
CreateAlertManagerDefinition
where
hashWithSalt :: Int -> CreateAlertManagerDefinition -> Int
hashWithSalt Int
_salt CreateAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Text
$sel:data':CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Base64
$sel:clientToken:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> 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` Base64
data'
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
workspaceId
instance Prelude.NFData CreateAlertManagerDefinition where
rnf :: CreateAlertManagerDefinition -> ()
rnf CreateAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Text
$sel:data':CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Base64
$sel:clientToken:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> 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 Base64
data'
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
workspaceId
instance Data.ToHeaders CreateAlertManagerDefinition where
toHeaders :: CreateAlertManagerDefinition -> 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 CreateAlertManagerDefinition where
toJSON :: CreateAlertManagerDefinition -> Value
toJSON CreateAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Text
$sel:data':CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Base64
$sel:clientToken:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> 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,
forall a. a -> Maybe a
Prelude.Just (Key
"data" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Base64
data')
]
)
instance Data.ToPath CreateAlertManagerDefinition where
toPath :: CreateAlertManagerDefinition -> ByteString
toPath CreateAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Text
$sel:data':CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Base64
$sel:clientToken:CreateAlertManagerDefinition' :: CreateAlertManagerDefinition -> Maybe Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"/workspaces/",
forall a. ToByteString a => a -> ByteString
Data.toBS Text
workspaceId,
ByteString
"/alertmanager/definition"
]
instance Data.ToQuery CreateAlertManagerDefinition where
toQuery :: CreateAlertManagerDefinition -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data CreateAlertManagerDefinitionResponse = CreateAlertManagerDefinitionResponse'
{
CreateAlertManagerDefinitionResponse -> Int
httpStatus :: Prelude.Int,
CreateAlertManagerDefinitionResponse
-> AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
}
deriving (CreateAlertManagerDefinitionResponse
-> CreateAlertManagerDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: CreateAlertManagerDefinitionResponse
-> CreateAlertManagerDefinitionResponse -> Bool
$c/= :: CreateAlertManagerDefinitionResponse
-> CreateAlertManagerDefinitionResponse -> Bool
== :: CreateAlertManagerDefinitionResponse
-> CreateAlertManagerDefinitionResponse -> Bool
$c== :: CreateAlertManagerDefinitionResponse
-> CreateAlertManagerDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [CreateAlertManagerDefinitionResponse]
ReadPrec CreateAlertManagerDefinitionResponse
Int -> ReadS CreateAlertManagerDefinitionResponse
ReadS [CreateAlertManagerDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [CreateAlertManagerDefinitionResponse]
$creadListPrec :: ReadPrec [CreateAlertManagerDefinitionResponse]
readPrec :: ReadPrec CreateAlertManagerDefinitionResponse
$creadPrec :: ReadPrec CreateAlertManagerDefinitionResponse
readList :: ReadS [CreateAlertManagerDefinitionResponse]
$creadList :: ReadS [CreateAlertManagerDefinitionResponse]
readsPrec :: Int -> ReadS CreateAlertManagerDefinitionResponse
$creadsPrec :: Int -> ReadS CreateAlertManagerDefinitionResponse
Prelude.Read, Int -> CreateAlertManagerDefinitionResponse -> ShowS
[CreateAlertManagerDefinitionResponse] -> ShowS
CreateAlertManagerDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [CreateAlertManagerDefinitionResponse] -> ShowS
$cshowList :: [CreateAlertManagerDefinitionResponse] -> ShowS
show :: CreateAlertManagerDefinitionResponse -> String
$cshow :: CreateAlertManagerDefinitionResponse -> String
showsPrec :: Int -> CreateAlertManagerDefinitionResponse -> ShowS
$cshowsPrec :: Int -> CreateAlertManagerDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep CreateAlertManagerDefinitionResponse x
-> CreateAlertManagerDefinitionResponse
forall x.
CreateAlertManagerDefinitionResponse
-> Rep CreateAlertManagerDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep CreateAlertManagerDefinitionResponse x
-> CreateAlertManagerDefinitionResponse
$cfrom :: forall x.
CreateAlertManagerDefinitionResponse
-> Rep CreateAlertManagerDefinitionResponse x
Prelude.Generic)
newCreateAlertManagerDefinitionResponse ::
Prelude.Int ->
AlertManagerDefinitionStatus ->
CreateAlertManagerDefinitionResponse
newCreateAlertManagerDefinitionResponse :: Int
-> AlertManagerDefinitionStatus
-> CreateAlertManagerDefinitionResponse
newCreateAlertManagerDefinitionResponse
Int
pHttpStatus_
AlertManagerDefinitionStatus
pStatus_ =
CreateAlertManagerDefinitionResponse'
{ $sel:httpStatus:CreateAlertManagerDefinitionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:status:CreateAlertManagerDefinitionResponse' :: AlertManagerDefinitionStatus
status = AlertManagerDefinitionStatus
pStatus_
}
createAlertManagerDefinitionResponse_httpStatus :: Lens.Lens' CreateAlertManagerDefinitionResponse Prelude.Int
createAlertManagerDefinitionResponse_httpStatus :: Lens' CreateAlertManagerDefinitionResponse Int
createAlertManagerDefinitionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAlertManagerDefinitionResponse' {Int
httpStatus :: Int
$sel:httpStatus:CreateAlertManagerDefinitionResponse' :: CreateAlertManagerDefinitionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: CreateAlertManagerDefinitionResponse
s@CreateAlertManagerDefinitionResponse' {} Int
a -> CreateAlertManagerDefinitionResponse
s {$sel:httpStatus:CreateAlertManagerDefinitionResponse' :: Int
httpStatus = Int
a} :: CreateAlertManagerDefinitionResponse)
createAlertManagerDefinitionResponse_status :: Lens.Lens' CreateAlertManagerDefinitionResponse AlertManagerDefinitionStatus
createAlertManagerDefinitionResponse_status :: Lens'
CreateAlertManagerDefinitionResponse AlertManagerDefinitionStatus
createAlertManagerDefinitionResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\CreateAlertManagerDefinitionResponse' {AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
$sel:status:CreateAlertManagerDefinitionResponse' :: CreateAlertManagerDefinitionResponse
-> AlertManagerDefinitionStatus
status} -> AlertManagerDefinitionStatus
status) (\s :: CreateAlertManagerDefinitionResponse
s@CreateAlertManagerDefinitionResponse' {} AlertManagerDefinitionStatus
a -> CreateAlertManagerDefinitionResponse
s {$sel:status:CreateAlertManagerDefinitionResponse' :: AlertManagerDefinitionStatus
status = AlertManagerDefinitionStatus
a} :: CreateAlertManagerDefinitionResponse)
instance
Prelude.NFData
CreateAlertManagerDefinitionResponse
where
rnf :: CreateAlertManagerDefinitionResponse -> ()
rnf CreateAlertManagerDefinitionResponse' {Int
AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
httpStatus :: Int
$sel:status:CreateAlertManagerDefinitionResponse' :: CreateAlertManagerDefinitionResponse
-> AlertManagerDefinitionStatus
$sel:httpStatus:CreateAlertManagerDefinitionResponse' :: CreateAlertManagerDefinitionResponse -> Int
..} =
forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf AlertManagerDefinitionStatus
status