{-# 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.CloudWatch.PutMetricData
(
PutMetricData (..),
newPutMetricData,
putMetricData_namespace,
putMetricData_metricData,
PutMetricDataResponse (..),
newPutMetricDataResponse,
)
where
import Amazonka.CloudWatch.Types
import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response
data PutMetricData = PutMetricData'
{
PutMetricData -> Text
namespace :: Prelude.Text,
PutMetricData -> [MetricDatum]
metricData :: [MetricDatum]
}
deriving (PutMetricData -> PutMetricData -> Bool
(PutMetricData -> PutMetricData -> Bool)
-> (PutMetricData -> PutMetricData -> Bool) -> Eq PutMetricData
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutMetricData -> PutMetricData -> Bool
$c/= :: PutMetricData -> PutMetricData -> Bool
== :: PutMetricData -> PutMetricData -> Bool
$c== :: PutMetricData -> PutMetricData -> Bool
Prelude.Eq, ReadPrec [PutMetricData]
ReadPrec PutMetricData
Int -> ReadS PutMetricData
ReadS [PutMetricData]
(Int -> ReadS PutMetricData)
-> ReadS [PutMetricData]
-> ReadPrec PutMetricData
-> ReadPrec [PutMetricData]
-> Read PutMetricData
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutMetricData]
$creadListPrec :: ReadPrec [PutMetricData]
readPrec :: ReadPrec PutMetricData
$creadPrec :: ReadPrec PutMetricData
readList :: ReadS [PutMetricData]
$creadList :: ReadS [PutMetricData]
readsPrec :: Int -> ReadS PutMetricData
$creadsPrec :: Int -> ReadS PutMetricData
Prelude.Read, Int -> PutMetricData -> ShowS
[PutMetricData] -> ShowS
PutMetricData -> String
(Int -> PutMetricData -> ShowS)
-> (PutMetricData -> String)
-> ([PutMetricData] -> ShowS)
-> Show PutMetricData
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutMetricData] -> ShowS
$cshowList :: [PutMetricData] -> ShowS
show :: PutMetricData -> String
$cshow :: PutMetricData -> String
showsPrec :: Int -> PutMetricData -> ShowS
$cshowsPrec :: Int -> PutMetricData -> ShowS
Prelude.Show, (forall x. PutMetricData -> Rep PutMetricData x)
-> (forall x. Rep PutMetricData x -> PutMetricData)
-> Generic PutMetricData
forall x. Rep PutMetricData x -> PutMetricData
forall x. PutMetricData -> Rep PutMetricData x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutMetricData x -> PutMetricData
$cfrom :: forall x. PutMetricData -> Rep PutMetricData x
Prelude.Generic)
newPutMetricData ::
Prelude.Text ->
PutMetricData
newPutMetricData :: Text -> PutMetricData
newPutMetricData Text
pNamespace_ =
PutMetricData' :: Text -> [MetricDatum] -> PutMetricData
PutMetricData'
{ $sel:namespace:PutMetricData' :: Text
namespace = Text
pNamespace_,
$sel:metricData:PutMetricData' :: [MetricDatum]
metricData = [MetricDatum]
forall a. Monoid a => a
Prelude.mempty
}
putMetricData_namespace :: Lens.Lens' PutMetricData Prelude.Text
putMetricData_namespace :: (Text -> f Text) -> PutMetricData -> f PutMetricData
putMetricData_namespace = (PutMetricData -> Text)
-> (PutMetricData -> Text -> PutMetricData)
-> Lens PutMetricData PutMetricData Text Text
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutMetricData' {Text
namespace :: Text
$sel:namespace:PutMetricData' :: PutMetricData -> Text
namespace} -> Text
namespace) (\s :: PutMetricData
s@PutMetricData' {} Text
a -> PutMetricData
s {$sel:namespace:PutMetricData' :: Text
namespace = Text
a} :: PutMetricData)
putMetricData_metricData :: Lens.Lens' PutMetricData [MetricDatum]
putMetricData_metricData :: ([MetricDatum] -> f [MetricDatum])
-> PutMetricData -> f PutMetricData
putMetricData_metricData = (PutMetricData -> [MetricDatum])
-> (PutMetricData -> [MetricDatum] -> PutMetricData)
-> Lens PutMetricData PutMetricData [MetricDatum] [MetricDatum]
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutMetricData' {[MetricDatum]
metricData :: [MetricDatum]
$sel:metricData:PutMetricData' :: PutMetricData -> [MetricDatum]
metricData} -> [MetricDatum]
metricData) (\s :: PutMetricData
s@PutMetricData' {} [MetricDatum]
a -> PutMetricData
s {$sel:metricData:PutMetricData' :: [MetricDatum]
metricData = [MetricDatum]
a} :: PutMetricData) (([MetricDatum] -> f [MetricDatum])
-> PutMetricData -> f PutMetricData)
-> (([MetricDatum] -> f [MetricDatum])
-> [MetricDatum] -> f [MetricDatum])
-> ([MetricDatum] -> f [MetricDatum])
-> PutMetricData
-> f PutMetricData
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. ([MetricDatum] -> f [MetricDatum])
-> [MetricDatum] -> f [MetricDatum]
forall s t a b. (Coercible s a, Coercible t b) => Iso s t a b
Lens.coerced
instance Core.AWSRequest PutMetricData where
type
AWSResponse PutMetricData =
PutMetricDataResponse
request :: PutMetricData -> Request PutMetricData
request = Service -> PutMetricData -> Request PutMetricData
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery Service
defaultService
response :: Logger
-> Service
-> Proxy PutMetricData
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutMetricData)))
response =
AWSResponse PutMetricData
-> Logger
-> Service
-> Proxy PutMetricData
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutMetricData)))
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> Logger
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull AWSResponse PutMetricData
PutMetricDataResponse
PutMetricDataResponse'
instance Prelude.Hashable PutMetricData
instance Prelude.NFData PutMetricData
instance Core.ToHeaders PutMetricData where
toHeaders :: PutMetricData -> [Header]
toHeaders = [Header] -> PutMetricData -> [Header]
forall a b. a -> b -> a
Prelude.const [Header]
forall a. Monoid a => a
Prelude.mempty
instance Core.ToPath PutMetricData where
toPath :: PutMetricData -> ByteString
toPath = ByteString -> PutMetricData -> ByteString
forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Core.ToQuery PutMetricData where
toQuery :: PutMetricData -> QueryString
toQuery PutMetricData' {[MetricDatum]
Text
metricData :: [MetricDatum]
namespace :: Text
$sel:metricData:PutMetricData' :: PutMetricData -> [MetricDatum]
$sel:namespace:PutMetricData' :: PutMetricData -> Text
..} =
[QueryString] -> QueryString
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"PutMetricData" :: Prelude.ByteString),
ByteString
"Version"
ByteString -> ByteString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: (ByteString
"2010-08-01" :: Prelude.ByteString),
ByteString
"Namespace" ByteString -> Text -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: Text
namespace,
ByteString
"MetricData"
ByteString -> QueryString -> QueryString
forall a. ToQuery a => ByteString -> a -> QueryString
Core.=: ByteString -> [MetricDatum] -> QueryString
forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Core.toQueryList ByteString
"member" [MetricDatum]
metricData
]
data PutMetricDataResponse = PutMetricDataResponse'
{
}
deriving (PutMetricDataResponse -> PutMetricDataResponse -> Bool
(PutMetricDataResponse -> PutMetricDataResponse -> Bool)
-> (PutMetricDataResponse -> PutMetricDataResponse -> Bool)
-> Eq PutMetricDataResponse
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutMetricDataResponse -> PutMetricDataResponse -> Bool
$c/= :: PutMetricDataResponse -> PutMetricDataResponse -> Bool
== :: PutMetricDataResponse -> PutMetricDataResponse -> Bool
$c== :: PutMetricDataResponse -> PutMetricDataResponse -> Bool
Prelude.Eq, ReadPrec [PutMetricDataResponse]
ReadPrec PutMetricDataResponse
Int -> ReadS PutMetricDataResponse
ReadS [PutMetricDataResponse]
(Int -> ReadS PutMetricDataResponse)
-> ReadS [PutMetricDataResponse]
-> ReadPrec PutMetricDataResponse
-> ReadPrec [PutMetricDataResponse]
-> Read PutMetricDataResponse
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutMetricDataResponse]
$creadListPrec :: ReadPrec [PutMetricDataResponse]
readPrec :: ReadPrec PutMetricDataResponse
$creadPrec :: ReadPrec PutMetricDataResponse
readList :: ReadS [PutMetricDataResponse]
$creadList :: ReadS [PutMetricDataResponse]
readsPrec :: Int -> ReadS PutMetricDataResponse
$creadsPrec :: Int -> ReadS PutMetricDataResponse
Prelude.Read, Int -> PutMetricDataResponse -> ShowS
[PutMetricDataResponse] -> ShowS
PutMetricDataResponse -> String
(Int -> PutMetricDataResponse -> ShowS)
-> (PutMetricDataResponse -> String)
-> ([PutMetricDataResponse] -> ShowS)
-> Show PutMetricDataResponse
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutMetricDataResponse] -> ShowS
$cshowList :: [PutMetricDataResponse] -> ShowS
show :: PutMetricDataResponse -> String
$cshow :: PutMetricDataResponse -> String
showsPrec :: Int -> PutMetricDataResponse -> ShowS
$cshowsPrec :: Int -> PutMetricDataResponse -> ShowS
Prelude.Show, (forall x. PutMetricDataResponse -> Rep PutMetricDataResponse x)
-> (forall x. Rep PutMetricDataResponse x -> PutMetricDataResponse)
-> Generic PutMetricDataResponse
forall x. Rep PutMetricDataResponse x -> PutMetricDataResponse
forall x. PutMetricDataResponse -> Rep PutMetricDataResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep PutMetricDataResponse x -> PutMetricDataResponse
$cfrom :: forall x. PutMetricDataResponse -> Rep PutMetricDataResponse x
Prelude.Generic)
newPutMetricDataResponse ::
PutMetricDataResponse
newPutMetricDataResponse :: PutMetricDataResponse
newPutMetricDataResponse = PutMetricDataResponse
PutMetricDataResponse'
instance Prelude.NFData PutMetricDataResponse