{-# 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.PutAlertManagerDefinition
(
PutAlertManagerDefinition (..),
newPutAlertManagerDefinition,
putAlertManagerDefinition_clientToken,
putAlertManagerDefinition_data,
putAlertManagerDefinition_workspaceId,
PutAlertManagerDefinitionResponse (..),
newPutAlertManagerDefinitionResponse,
putAlertManagerDefinitionResponse_httpStatus,
putAlertManagerDefinitionResponse_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 PutAlertManagerDefinition = PutAlertManagerDefinition'
{
PutAlertManagerDefinition -> Maybe Text
clientToken :: Prelude.Maybe Prelude.Text,
PutAlertManagerDefinition -> Base64
data' :: Data.Base64,
PutAlertManagerDefinition -> Text
workspaceId :: Prelude.Text
}
deriving (PutAlertManagerDefinition -> PutAlertManagerDefinition -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutAlertManagerDefinition -> PutAlertManagerDefinition -> Bool
$c/= :: PutAlertManagerDefinition -> PutAlertManagerDefinition -> Bool
== :: PutAlertManagerDefinition -> PutAlertManagerDefinition -> Bool
$c== :: PutAlertManagerDefinition -> PutAlertManagerDefinition -> Bool
Prelude.Eq, ReadPrec [PutAlertManagerDefinition]
ReadPrec PutAlertManagerDefinition
Int -> ReadS PutAlertManagerDefinition
ReadS [PutAlertManagerDefinition]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutAlertManagerDefinition]
$creadListPrec :: ReadPrec [PutAlertManagerDefinition]
readPrec :: ReadPrec PutAlertManagerDefinition
$creadPrec :: ReadPrec PutAlertManagerDefinition
readList :: ReadS [PutAlertManagerDefinition]
$creadList :: ReadS [PutAlertManagerDefinition]
readsPrec :: Int -> ReadS PutAlertManagerDefinition
$creadsPrec :: Int -> ReadS PutAlertManagerDefinition
Prelude.Read, Int -> PutAlertManagerDefinition -> ShowS
[PutAlertManagerDefinition] -> ShowS
PutAlertManagerDefinition -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutAlertManagerDefinition] -> ShowS
$cshowList :: [PutAlertManagerDefinition] -> ShowS
show :: PutAlertManagerDefinition -> String
$cshow :: PutAlertManagerDefinition -> String
showsPrec :: Int -> PutAlertManagerDefinition -> ShowS
$cshowsPrec :: Int -> PutAlertManagerDefinition -> ShowS
Prelude.Show, forall x.
Rep PutAlertManagerDefinition x -> PutAlertManagerDefinition
forall x.
PutAlertManagerDefinition -> Rep PutAlertManagerDefinition x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutAlertManagerDefinition x -> PutAlertManagerDefinition
$cfrom :: forall x.
PutAlertManagerDefinition -> Rep PutAlertManagerDefinition x
Prelude.Generic)
newPutAlertManagerDefinition ::
Prelude.ByteString ->
Prelude.Text ->
PutAlertManagerDefinition
newPutAlertManagerDefinition :: ByteString -> Text -> PutAlertManagerDefinition
newPutAlertManagerDefinition ByteString
pData_ Text
pWorkspaceId_ =
PutAlertManagerDefinition'
{ $sel:clientToken:PutAlertManagerDefinition' :: Maybe Text
clientToken =
forall a. Maybe a
Prelude.Nothing,
$sel:data':PutAlertManagerDefinition' :: Base64
data' = Iso' Base64 ByteString
Data._Base64 forall t b. AReview t b -> b -> t
Lens.# ByteString
pData_,
$sel:workspaceId:PutAlertManagerDefinition' :: Text
workspaceId = Text
pWorkspaceId_
}
putAlertManagerDefinition_clientToken :: Lens.Lens' PutAlertManagerDefinition (Prelude.Maybe Prelude.Text)
putAlertManagerDefinition_clientToken :: Lens' PutAlertManagerDefinition (Maybe Text)
putAlertManagerDefinition_clientToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAlertManagerDefinition' {Maybe Text
clientToken :: Maybe Text
$sel:clientToken:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Maybe Text
clientToken} -> Maybe Text
clientToken) (\s :: PutAlertManagerDefinition
s@PutAlertManagerDefinition' {} Maybe Text
a -> PutAlertManagerDefinition
s {$sel:clientToken:PutAlertManagerDefinition' :: Maybe Text
clientToken = Maybe Text
a} :: PutAlertManagerDefinition)
putAlertManagerDefinition_data :: Lens.Lens' PutAlertManagerDefinition Prelude.ByteString
putAlertManagerDefinition_data :: Lens' PutAlertManagerDefinition ByteString
putAlertManagerDefinition_data = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAlertManagerDefinition' {Base64
data' :: Base64
$sel:data':PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Base64
data'} -> Base64
data') (\s :: PutAlertManagerDefinition
s@PutAlertManagerDefinition' {} Base64
a -> PutAlertManagerDefinition
s {$sel:data':PutAlertManagerDefinition' :: Base64
data' = Base64
a} :: PutAlertManagerDefinition) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. Iso' Base64 ByteString
Data._Base64
putAlertManagerDefinition_workspaceId :: Lens.Lens' PutAlertManagerDefinition Prelude.Text
putAlertManagerDefinition_workspaceId :: Lens' PutAlertManagerDefinition Text
putAlertManagerDefinition_workspaceId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAlertManagerDefinition' {Text
workspaceId :: Text
$sel:workspaceId:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Text
workspaceId} -> Text
workspaceId) (\s :: PutAlertManagerDefinition
s@PutAlertManagerDefinition' {} Text
a -> PutAlertManagerDefinition
s {$sel:workspaceId:PutAlertManagerDefinition' :: Text
workspaceId = Text
a} :: PutAlertManagerDefinition)
instance Core.AWSRequest PutAlertManagerDefinition where
type
AWSResponse PutAlertManagerDefinition =
PutAlertManagerDefinitionResponse
request :: (Service -> Service)
-> PutAlertManagerDefinition -> Request PutAlertManagerDefinition
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 PutAlertManagerDefinition
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse PutAlertManagerDefinition)))
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
-> PutAlertManagerDefinitionResponse
PutAlertManagerDefinitionResponse'
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 PutAlertManagerDefinition where
hashWithSalt :: Int -> PutAlertManagerDefinition -> Int
hashWithSalt Int
_salt PutAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Text
$sel:data':PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Base64
$sel:clientToken:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> 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 PutAlertManagerDefinition where
rnf :: PutAlertManagerDefinition -> ()
rnf PutAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Text
$sel:data':PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Base64
$sel:clientToken:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> 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 PutAlertManagerDefinition where
toHeaders :: PutAlertManagerDefinition -> 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 PutAlertManagerDefinition where
toJSON :: PutAlertManagerDefinition -> Value
toJSON PutAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Text
$sel:data':PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Base64
$sel:clientToken:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> 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 PutAlertManagerDefinition where
toPath :: PutAlertManagerDefinition -> ByteString
toPath PutAlertManagerDefinition' {Maybe Text
Text
Base64
workspaceId :: Text
data' :: Base64
clientToken :: Maybe Text
$sel:workspaceId:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Text
$sel:data':PutAlertManagerDefinition' :: PutAlertManagerDefinition -> Base64
$sel:clientToken:PutAlertManagerDefinition' :: PutAlertManagerDefinition -> 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 PutAlertManagerDefinition where
toQuery :: PutAlertManagerDefinition -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data PutAlertManagerDefinitionResponse = PutAlertManagerDefinitionResponse'
{
PutAlertManagerDefinitionResponse -> Int
httpStatus :: Prelude.Int,
PutAlertManagerDefinitionResponse -> AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
}
deriving (PutAlertManagerDefinitionResponse
-> PutAlertManagerDefinitionResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutAlertManagerDefinitionResponse
-> PutAlertManagerDefinitionResponse -> Bool
$c/= :: PutAlertManagerDefinitionResponse
-> PutAlertManagerDefinitionResponse -> Bool
== :: PutAlertManagerDefinitionResponse
-> PutAlertManagerDefinitionResponse -> Bool
$c== :: PutAlertManagerDefinitionResponse
-> PutAlertManagerDefinitionResponse -> Bool
Prelude.Eq, ReadPrec [PutAlertManagerDefinitionResponse]
ReadPrec PutAlertManagerDefinitionResponse
Int -> ReadS PutAlertManagerDefinitionResponse
ReadS [PutAlertManagerDefinitionResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutAlertManagerDefinitionResponse]
$creadListPrec :: ReadPrec [PutAlertManagerDefinitionResponse]
readPrec :: ReadPrec PutAlertManagerDefinitionResponse
$creadPrec :: ReadPrec PutAlertManagerDefinitionResponse
readList :: ReadS [PutAlertManagerDefinitionResponse]
$creadList :: ReadS [PutAlertManagerDefinitionResponse]
readsPrec :: Int -> ReadS PutAlertManagerDefinitionResponse
$creadsPrec :: Int -> ReadS PutAlertManagerDefinitionResponse
Prelude.Read, Int -> PutAlertManagerDefinitionResponse -> ShowS
[PutAlertManagerDefinitionResponse] -> ShowS
PutAlertManagerDefinitionResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutAlertManagerDefinitionResponse] -> ShowS
$cshowList :: [PutAlertManagerDefinitionResponse] -> ShowS
show :: PutAlertManagerDefinitionResponse -> String
$cshow :: PutAlertManagerDefinitionResponse -> String
showsPrec :: Int -> PutAlertManagerDefinitionResponse -> ShowS
$cshowsPrec :: Int -> PutAlertManagerDefinitionResponse -> ShowS
Prelude.Show, forall x.
Rep PutAlertManagerDefinitionResponse x
-> PutAlertManagerDefinitionResponse
forall x.
PutAlertManagerDefinitionResponse
-> Rep PutAlertManagerDefinitionResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutAlertManagerDefinitionResponse x
-> PutAlertManagerDefinitionResponse
$cfrom :: forall x.
PutAlertManagerDefinitionResponse
-> Rep PutAlertManagerDefinitionResponse x
Prelude.Generic)
newPutAlertManagerDefinitionResponse ::
Prelude.Int ->
AlertManagerDefinitionStatus ->
PutAlertManagerDefinitionResponse
newPutAlertManagerDefinitionResponse :: Int
-> AlertManagerDefinitionStatus
-> PutAlertManagerDefinitionResponse
newPutAlertManagerDefinitionResponse
Int
pHttpStatus_
AlertManagerDefinitionStatus
pStatus_ =
PutAlertManagerDefinitionResponse'
{ $sel:httpStatus:PutAlertManagerDefinitionResponse' :: Int
httpStatus =
Int
pHttpStatus_,
$sel:status:PutAlertManagerDefinitionResponse' :: AlertManagerDefinitionStatus
status = AlertManagerDefinitionStatus
pStatus_
}
putAlertManagerDefinitionResponse_httpStatus :: Lens.Lens' PutAlertManagerDefinitionResponse Prelude.Int
putAlertManagerDefinitionResponse_httpStatus :: Lens' PutAlertManagerDefinitionResponse Int
putAlertManagerDefinitionResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAlertManagerDefinitionResponse' {Int
httpStatus :: Int
$sel:httpStatus:PutAlertManagerDefinitionResponse' :: PutAlertManagerDefinitionResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: PutAlertManagerDefinitionResponse
s@PutAlertManagerDefinitionResponse' {} Int
a -> PutAlertManagerDefinitionResponse
s {$sel:httpStatus:PutAlertManagerDefinitionResponse' :: Int
httpStatus = Int
a} :: PutAlertManagerDefinitionResponse)
putAlertManagerDefinitionResponse_status :: Lens.Lens' PutAlertManagerDefinitionResponse AlertManagerDefinitionStatus
putAlertManagerDefinitionResponse_status :: Lens'
PutAlertManagerDefinitionResponse AlertManagerDefinitionStatus
putAlertManagerDefinitionResponse_status = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutAlertManagerDefinitionResponse' {AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
$sel:status:PutAlertManagerDefinitionResponse' :: PutAlertManagerDefinitionResponse -> AlertManagerDefinitionStatus
status} -> AlertManagerDefinitionStatus
status) (\s :: PutAlertManagerDefinitionResponse
s@PutAlertManagerDefinitionResponse' {} AlertManagerDefinitionStatus
a -> PutAlertManagerDefinitionResponse
s {$sel:status:PutAlertManagerDefinitionResponse' :: AlertManagerDefinitionStatus
status = AlertManagerDefinitionStatus
a} :: PutAlertManagerDefinitionResponse)
instance
Prelude.NFData
PutAlertManagerDefinitionResponse
where
rnf :: PutAlertManagerDefinitionResponse -> ()
rnf PutAlertManagerDefinitionResponse' {Int
AlertManagerDefinitionStatus
status :: AlertManagerDefinitionStatus
httpStatus :: Int
$sel:status:PutAlertManagerDefinitionResponse' :: PutAlertManagerDefinitionResponse -> AlertManagerDefinitionStatus
$sel:httpStatus:PutAlertManagerDefinitionResponse' :: PutAlertManagerDefinitionResponse -> 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