{-# 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.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 PutMetricData = PutMetricData'
{
PutMetricData -> Text
namespace :: Prelude.Text,
PutMetricData -> [MetricDatum]
metricData :: [MetricDatum]
}
deriving (PutMetricData -> PutMetricData -> Bool
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]
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
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. 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'
{ $sel:namespace:PutMetricData' :: Text
namespace = Text
pNamespace_,
$sel:metricData:PutMetricData' :: [MetricDatum]
metricData = forall a. Monoid a => a
Prelude.mempty
}
putMetricData_namespace :: Lens.Lens' PutMetricData Prelude.Text
putMetricData_namespace :: Lens' PutMetricData Text
putMetricData_namespace = 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 :: Lens' PutMetricData [MetricDatum]
putMetricData_metricData = 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) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. 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 :: (Service -> Service) -> PutMetricData -> Request PutMetricData
request Service -> Service
overrides =
forall a. ToRequest a => Service -> a -> Request a
Request.postQuery (Service -> Service
overrides Service
defaultService)
response :: forall (m :: * -> *).
MonadResource m =>
(ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy PutMetricData
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse PutMetricData)))
response =
forall (m :: * -> *) a.
MonadResource m =>
AWSResponse a
-> (ByteStringLazy -> IO ByteStringLazy)
-> Service
-> Proxy a
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse a)))
Response.receiveNull PutMetricDataResponse
PutMetricDataResponse'
instance Prelude.Hashable PutMetricData where
hashWithSalt :: Int -> PutMetricData -> Int
hashWithSalt Int
_salt PutMetricData' {[MetricDatum]
Text
metricData :: [MetricDatum]
namespace :: Text
$sel:metricData:PutMetricData' :: PutMetricData -> [MetricDatum]
$sel:namespace:PutMetricData' :: PutMetricData -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
namespace
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` [MetricDatum]
metricData
instance Prelude.NFData PutMetricData where
rnf :: PutMetricData -> ()
rnf PutMetricData' {[MetricDatum]
Text
metricData :: [MetricDatum]
namespace :: Text
$sel:metricData:PutMetricData' :: PutMetricData -> [MetricDatum]
$sel:namespace:PutMetricData' :: PutMetricData -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
namespace
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf [MetricDatum]
metricData
instance Data.ToHeaders PutMetricData where
toHeaders :: PutMetricData -> [Header]
toHeaders = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
instance Data.ToPath PutMetricData where
toPath :: PutMetricData -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery PutMetricData where
toQuery :: PutMetricData -> QueryString
toQuery PutMetricData' {[MetricDatum]
Text
metricData :: [MetricDatum]
namespace :: Text
$sel:metricData:PutMetricData' :: PutMetricData -> [MetricDatum]
$sel:namespace:PutMetricData' :: PutMetricData -> Text
..} =
forall a. Monoid a => [a] -> a
Prelude.mconcat
[ ByteString
"Action"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"PutMetricData" :: Prelude.ByteString),
ByteString
"Version"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: (ByteString
"2010-08-01" :: Prelude.ByteString),
ByteString
"Namespace" forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: Text
namespace,
ByteString
"MetricData"
forall a. ToQuery a => ByteString -> a -> QueryString
Data.=: forall a.
(IsList a, ToQuery (Item a)) =>
ByteString -> a -> QueryString
Data.toQueryList ByteString
"member" [MetricDatum]
metricData
]
data PutMetricDataResponse = PutMetricDataResponse'
{
}
deriving (PutMetricDataResponse -> PutMetricDataResponse -> Bool
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]
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
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. 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 where
rnf :: PutMetricDataResponse -> ()
rnf PutMetricDataResponse
_ = ()