{-# 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.ComputeOptimizer.GetEC2RecommendationProjectedMetrics
(
GetEC2RecommendationProjectedMetrics (..),
newGetEC2RecommendationProjectedMetrics,
getEC2RecommendationProjectedMetrics_recommendationPreferences,
getEC2RecommendationProjectedMetrics_instanceArn,
getEC2RecommendationProjectedMetrics_stat,
getEC2RecommendationProjectedMetrics_period,
getEC2RecommendationProjectedMetrics_startTime,
getEC2RecommendationProjectedMetrics_endTime,
GetEC2RecommendationProjectedMetricsResponse (..),
newGetEC2RecommendationProjectedMetricsResponse,
getEC2RecommendationProjectedMetricsResponse_recommendedOptionProjectedMetrics,
getEC2RecommendationProjectedMetricsResponse_httpStatus,
)
where
import Amazonka.ComputeOptimizer.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 GetEC2RecommendationProjectedMetrics = GetEC2RecommendationProjectedMetrics'
{
GetEC2RecommendationProjectedMetrics
-> Maybe RecommendationPreferences
recommendationPreferences :: Prelude.Maybe RecommendationPreferences,
GetEC2RecommendationProjectedMetrics -> Text
instanceArn :: Prelude.Text,
GetEC2RecommendationProjectedMetrics -> MetricStatistic
stat :: MetricStatistic,
GetEC2RecommendationProjectedMetrics -> Int
period :: Prelude.Int,
GetEC2RecommendationProjectedMetrics -> POSIX
startTime :: Data.POSIX,
GetEC2RecommendationProjectedMetrics -> POSIX
endTime :: Data.POSIX
}
deriving (GetEC2RecommendationProjectedMetrics
-> GetEC2RecommendationProjectedMetrics -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEC2RecommendationProjectedMetrics
-> GetEC2RecommendationProjectedMetrics -> Bool
$c/= :: GetEC2RecommendationProjectedMetrics
-> GetEC2RecommendationProjectedMetrics -> Bool
== :: GetEC2RecommendationProjectedMetrics
-> GetEC2RecommendationProjectedMetrics -> Bool
$c== :: GetEC2RecommendationProjectedMetrics
-> GetEC2RecommendationProjectedMetrics -> Bool
Prelude.Eq, ReadPrec [GetEC2RecommendationProjectedMetrics]
ReadPrec GetEC2RecommendationProjectedMetrics
Int -> ReadS GetEC2RecommendationProjectedMetrics
ReadS [GetEC2RecommendationProjectedMetrics]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEC2RecommendationProjectedMetrics]
$creadListPrec :: ReadPrec [GetEC2RecommendationProjectedMetrics]
readPrec :: ReadPrec GetEC2RecommendationProjectedMetrics
$creadPrec :: ReadPrec GetEC2RecommendationProjectedMetrics
readList :: ReadS [GetEC2RecommendationProjectedMetrics]
$creadList :: ReadS [GetEC2RecommendationProjectedMetrics]
readsPrec :: Int -> ReadS GetEC2RecommendationProjectedMetrics
$creadsPrec :: Int -> ReadS GetEC2RecommendationProjectedMetrics
Prelude.Read, Int -> GetEC2RecommendationProjectedMetrics -> ShowS
[GetEC2RecommendationProjectedMetrics] -> ShowS
GetEC2RecommendationProjectedMetrics -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEC2RecommendationProjectedMetrics] -> ShowS
$cshowList :: [GetEC2RecommendationProjectedMetrics] -> ShowS
show :: GetEC2RecommendationProjectedMetrics -> String
$cshow :: GetEC2RecommendationProjectedMetrics -> String
showsPrec :: Int -> GetEC2RecommendationProjectedMetrics -> ShowS
$cshowsPrec :: Int -> GetEC2RecommendationProjectedMetrics -> ShowS
Prelude.Show, forall x.
Rep GetEC2RecommendationProjectedMetrics x
-> GetEC2RecommendationProjectedMetrics
forall x.
GetEC2RecommendationProjectedMetrics
-> Rep GetEC2RecommendationProjectedMetrics x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEC2RecommendationProjectedMetrics x
-> GetEC2RecommendationProjectedMetrics
$cfrom :: forall x.
GetEC2RecommendationProjectedMetrics
-> Rep GetEC2RecommendationProjectedMetrics x
Prelude.Generic)
newGetEC2RecommendationProjectedMetrics ::
Prelude.Text ->
MetricStatistic ->
Prelude.Int ->
Prelude.UTCTime ->
Prelude.UTCTime ->
GetEC2RecommendationProjectedMetrics
newGetEC2RecommendationProjectedMetrics :: Text
-> MetricStatistic
-> Int
-> UTCTime
-> UTCTime
-> GetEC2RecommendationProjectedMetrics
newGetEC2RecommendationProjectedMetrics
Text
pInstanceArn_
MetricStatistic
pStat_
Int
pPeriod_
UTCTime
pStartTime_
UTCTime
pEndTime_ =
GetEC2RecommendationProjectedMetrics'
{ $sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: Maybe RecommendationPreferences
recommendationPreferences =
forall a. Maybe a
Prelude.Nothing,
$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: Text
instanceArn = Text
pInstanceArn_,
$sel:stat:GetEC2RecommendationProjectedMetrics' :: MetricStatistic
stat = MetricStatistic
pStat_,
$sel:period:GetEC2RecommendationProjectedMetrics' :: Int
period = Int
pPeriod_,
$sel:startTime:GetEC2RecommendationProjectedMetrics' :: POSIX
startTime =
forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pStartTime_,
$sel:endTime:GetEC2RecommendationProjectedMetrics' :: POSIX
endTime = forall (a :: Format). Iso' (Time a) UTCTime
Data._Time forall t b. AReview t b -> b -> t
Lens.# UTCTime
pEndTime_
}
getEC2RecommendationProjectedMetrics_recommendationPreferences :: Lens.Lens' GetEC2RecommendationProjectedMetrics (Prelude.Maybe RecommendationPreferences)
getEC2RecommendationProjectedMetrics_recommendationPreferences :: Lens'
GetEC2RecommendationProjectedMetrics
(Maybe RecommendationPreferences)
getEC2RecommendationProjectedMetrics_recommendationPreferences = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {Maybe RecommendationPreferences
recommendationPreferences :: Maybe RecommendationPreferences
$sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics
-> Maybe RecommendationPreferences
recommendationPreferences} -> Maybe RecommendationPreferences
recommendationPreferences) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} Maybe RecommendationPreferences
a -> GetEC2RecommendationProjectedMetrics
s {$sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: Maybe RecommendationPreferences
recommendationPreferences = Maybe RecommendationPreferences
a} :: GetEC2RecommendationProjectedMetrics)
getEC2RecommendationProjectedMetrics_instanceArn :: Lens.Lens' GetEC2RecommendationProjectedMetrics Prelude.Text
getEC2RecommendationProjectedMetrics_instanceArn :: Lens' GetEC2RecommendationProjectedMetrics Text
getEC2RecommendationProjectedMetrics_instanceArn = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {Text
instanceArn :: Text
$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Text
instanceArn} -> Text
instanceArn) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} Text
a -> GetEC2RecommendationProjectedMetrics
s {$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: Text
instanceArn = Text
a} :: GetEC2RecommendationProjectedMetrics)
getEC2RecommendationProjectedMetrics_stat :: Lens.Lens' GetEC2RecommendationProjectedMetrics MetricStatistic
getEC2RecommendationProjectedMetrics_stat :: Lens' GetEC2RecommendationProjectedMetrics MetricStatistic
getEC2RecommendationProjectedMetrics_stat = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {MetricStatistic
stat :: MetricStatistic
$sel:stat:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> MetricStatistic
stat} -> MetricStatistic
stat) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} MetricStatistic
a -> GetEC2RecommendationProjectedMetrics
s {$sel:stat:GetEC2RecommendationProjectedMetrics' :: MetricStatistic
stat = MetricStatistic
a} :: GetEC2RecommendationProjectedMetrics)
getEC2RecommendationProjectedMetrics_period :: Lens.Lens' GetEC2RecommendationProjectedMetrics Prelude.Int
getEC2RecommendationProjectedMetrics_period :: Lens' GetEC2RecommendationProjectedMetrics Int
getEC2RecommendationProjectedMetrics_period = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {Int
period :: Int
$sel:period:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Int
period} -> Int
period) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} Int
a -> GetEC2RecommendationProjectedMetrics
s {$sel:period:GetEC2RecommendationProjectedMetrics' :: Int
period = Int
a} :: GetEC2RecommendationProjectedMetrics)
getEC2RecommendationProjectedMetrics_startTime :: Lens.Lens' GetEC2RecommendationProjectedMetrics Prelude.UTCTime
getEC2RecommendationProjectedMetrics_startTime :: Lens' GetEC2RecommendationProjectedMetrics UTCTime
getEC2RecommendationProjectedMetrics_startTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {POSIX
startTime :: POSIX
$sel:startTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
startTime} -> POSIX
startTime) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} POSIX
a -> GetEC2RecommendationProjectedMetrics
s {$sel:startTime:GetEC2RecommendationProjectedMetrics' :: POSIX
startTime = POSIX
a} :: GetEC2RecommendationProjectedMetrics) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
getEC2RecommendationProjectedMetrics_endTime :: Lens.Lens' GetEC2RecommendationProjectedMetrics Prelude.UTCTime
getEC2RecommendationProjectedMetrics_endTime :: Lens' GetEC2RecommendationProjectedMetrics UTCTime
getEC2RecommendationProjectedMetrics_endTime = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetrics' {POSIX
endTime :: POSIX
$sel:endTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
endTime} -> POSIX
endTime) (\s :: GetEC2RecommendationProjectedMetrics
s@GetEC2RecommendationProjectedMetrics' {} POSIX
a -> GetEC2RecommendationProjectedMetrics
s {$sel:endTime:GetEC2RecommendationProjectedMetrics' :: POSIX
endTime = POSIX
a} :: GetEC2RecommendationProjectedMetrics) forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall (a :: Format). Iso' (Time a) UTCTime
Data._Time
instance
Core.AWSRequest
GetEC2RecommendationProjectedMetrics
where
type
AWSResponse GetEC2RecommendationProjectedMetrics =
GetEC2RecommendationProjectedMetricsResponse
request :: (Service -> Service)
-> GetEC2RecommendationProjectedMetrics
-> Request GetEC2RecommendationProjectedMetrics
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 GetEC2RecommendationProjectedMetrics
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse
(AWSResponse GetEC2RecommendationProjectedMetrics)))
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 ->
Maybe [RecommendedOptionProjectedMetric]
-> Int -> GetEC2RecommendationProjectedMetricsResponse
GetEC2RecommendationProjectedMetricsResponse'
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"recommendedOptionProjectedMetrics"
forall (f :: * -> *) a. Functor f => f (Maybe a) -> a -> f a
Core..!@ forall a. Monoid a => a
Prelude.mempty
)
forall (f :: * -> *) a b. Applicative f => 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))
)
instance
Prelude.Hashable
GetEC2RecommendationProjectedMetrics
where
hashWithSalt :: Int -> GetEC2RecommendationProjectedMetrics -> Int
hashWithSalt
Int
_salt
GetEC2RecommendationProjectedMetrics' {Int
Maybe RecommendationPreferences
Text
POSIX
MetricStatistic
endTime :: POSIX
startTime :: POSIX
period :: Int
stat :: MetricStatistic
instanceArn :: Text
recommendationPreferences :: Maybe RecommendationPreferences
$sel:endTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:startTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:period:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Int
$sel:stat:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> MetricStatistic
$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Text
$sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics
-> Maybe RecommendationPreferences
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommendationPreferences
recommendationPreferences
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
instanceArn
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` MetricStatistic
stat
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
period
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
startTime
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` POSIX
endTime
instance
Prelude.NFData
GetEC2RecommendationProjectedMetrics
where
rnf :: GetEC2RecommendationProjectedMetrics -> ()
rnf GetEC2RecommendationProjectedMetrics' {Int
Maybe RecommendationPreferences
Text
POSIX
MetricStatistic
endTime :: POSIX
startTime :: POSIX
period :: Int
stat :: MetricStatistic
instanceArn :: Text
recommendationPreferences :: Maybe RecommendationPreferences
$sel:endTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:startTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:period:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Int
$sel:stat:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> MetricStatistic
$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Text
$sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics
-> Maybe RecommendationPreferences
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommendationPreferences
recommendationPreferences
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
instanceArn
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf MetricStatistic
stat
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
period
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
startTime
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf POSIX
endTime
instance
Data.ToHeaders
GetEC2RecommendationProjectedMetrics
where
toHeaders :: GetEC2RecommendationProjectedMetrics -> ResponseHeaders
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 -> ResponseHeaders
Data.=# ( ByteString
"ComputeOptimizerService.GetEC2RecommendationProjectedMetrics" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.0" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
GetEC2RecommendationProjectedMetrics
where
toJSON :: GetEC2RecommendationProjectedMetrics -> Value
toJSON GetEC2RecommendationProjectedMetrics' {Int
Maybe RecommendationPreferences
Text
POSIX
MetricStatistic
endTime :: POSIX
startTime :: POSIX
period :: Int
stat :: MetricStatistic
instanceArn :: Text
recommendationPreferences :: Maybe RecommendationPreferences
$sel:endTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:startTime:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> POSIX
$sel:period:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Int
$sel:stat:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> MetricStatistic
$sel:instanceArn:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics -> Text
$sel:recommendationPreferences:GetEC2RecommendationProjectedMetrics' :: GetEC2RecommendationProjectedMetrics
-> Maybe RecommendationPreferences
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"recommendationPreferences" 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 RecommendationPreferences
recommendationPreferences,
forall a. a -> Maybe a
Prelude.Just (Key
"instanceArn" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
instanceArn),
forall a. a -> Maybe a
Prelude.Just (Key
"stat" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= MetricStatistic
stat),
forall a. a -> Maybe a
Prelude.Just (Key
"period" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Int
period),
forall a. a -> Maybe a
Prelude.Just (Key
"startTime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= POSIX
startTime),
forall a. a -> Maybe a
Prelude.Just (Key
"endTime" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= POSIX
endTime)
]
)
instance
Data.ToPath
GetEC2RecommendationProjectedMetrics
where
toPath :: GetEC2RecommendationProjectedMetrics -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
GetEC2RecommendationProjectedMetrics
where
toQuery :: GetEC2RecommendationProjectedMetrics -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetEC2RecommendationProjectedMetricsResponse = GetEC2RecommendationProjectedMetricsResponse'
{
GetEC2RecommendationProjectedMetricsResponse
-> Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics :: Prelude.Maybe [RecommendedOptionProjectedMetric],
GetEC2RecommendationProjectedMetricsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetEC2RecommendationProjectedMetricsResponse
-> GetEC2RecommendationProjectedMetricsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEC2RecommendationProjectedMetricsResponse
-> GetEC2RecommendationProjectedMetricsResponse -> Bool
$c/= :: GetEC2RecommendationProjectedMetricsResponse
-> GetEC2RecommendationProjectedMetricsResponse -> Bool
== :: GetEC2RecommendationProjectedMetricsResponse
-> GetEC2RecommendationProjectedMetricsResponse -> Bool
$c== :: GetEC2RecommendationProjectedMetricsResponse
-> GetEC2RecommendationProjectedMetricsResponse -> Bool
Prelude.Eq, ReadPrec [GetEC2RecommendationProjectedMetricsResponse]
ReadPrec GetEC2RecommendationProjectedMetricsResponse
Int -> ReadS GetEC2RecommendationProjectedMetricsResponse
ReadS [GetEC2RecommendationProjectedMetricsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEC2RecommendationProjectedMetricsResponse]
$creadListPrec :: ReadPrec [GetEC2RecommendationProjectedMetricsResponse]
readPrec :: ReadPrec GetEC2RecommendationProjectedMetricsResponse
$creadPrec :: ReadPrec GetEC2RecommendationProjectedMetricsResponse
readList :: ReadS [GetEC2RecommendationProjectedMetricsResponse]
$creadList :: ReadS [GetEC2RecommendationProjectedMetricsResponse]
readsPrec :: Int -> ReadS GetEC2RecommendationProjectedMetricsResponse
$creadsPrec :: Int -> ReadS GetEC2RecommendationProjectedMetricsResponse
Prelude.Read, Int -> GetEC2RecommendationProjectedMetricsResponse -> ShowS
[GetEC2RecommendationProjectedMetricsResponse] -> ShowS
GetEC2RecommendationProjectedMetricsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEC2RecommendationProjectedMetricsResponse] -> ShowS
$cshowList :: [GetEC2RecommendationProjectedMetricsResponse] -> ShowS
show :: GetEC2RecommendationProjectedMetricsResponse -> String
$cshow :: GetEC2RecommendationProjectedMetricsResponse -> String
showsPrec :: Int -> GetEC2RecommendationProjectedMetricsResponse -> ShowS
$cshowsPrec :: Int -> GetEC2RecommendationProjectedMetricsResponse -> ShowS
Prelude.Show, forall x.
Rep GetEC2RecommendationProjectedMetricsResponse x
-> GetEC2RecommendationProjectedMetricsResponse
forall x.
GetEC2RecommendationProjectedMetricsResponse
-> Rep GetEC2RecommendationProjectedMetricsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEC2RecommendationProjectedMetricsResponse x
-> GetEC2RecommendationProjectedMetricsResponse
$cfrom :: forall x.
GetEC2RecommendationProjectedMetricsResponse
-> Rep GetEC2RecommendationProjectedMetricsResponse x
Prelude.Generic)
newGetEC2RecommendationProjectedMetricsResponse ::
Prelude.Int ->
GetEC2RecommendationProjectedMetricsResponse
newGetEC2RecommendationProjectedMetricsResponse :: Int -> GetEC2RecommendationProjectedMetricsResponse
newGetEC2RecommendationProjectedMetricsResponse
Int
pHttpStatus_ =
GetEC2RecommendationProjectedMetricsResponse'
{ $sel:recommendedOptionProjectedMetrics:GetEC2RecommendationProjectedMetricsResponse' :: Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetEC2RecommendationProjectedMetricsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getEC2RecommendationProjectedMetricsResponse_recommendedOptionProjectedMetrics :: Lens.Lens' GetEC2RecommendationProjectedMetricsResponse (Prelude.Maybe [RecommendedOptionProjectedMetric])
getEC2RecommendationProjectedMetricsResponse_recommendedOptionProjectedMetrics :: Lens'
GetEC2RecommendationProjectedMetricsResponse
(Maybe [RecommendedOptionProjectedMetric])
getEC2RecommendationProjectedMetricsResponse_recommendedOptionProjectedMetrics = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetricsResponse' {Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics :: Maybe [RecommendedOptionProjectedMetric]
$sel:recommendedOptionProjectedMetrics:GetEC2RecommendationProjectedMetricsResponse' :: GetEC2RecommendationProjectedMetricsResponse
-> Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics} -> Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics) (\s :: GetEC2RecommendationProjectedMetricsResponse
s@GetEC2RecommendationProjectedMetricsResponse' {} Maybe [RecommendedOptionProjectedMetric]
a -> GetEC2RecommendationProjectedMetricsResponse
s {$sel:recommendedOptionProjectedMetrics:GetEC2RecommendationProjectedMetricsResponse' :: Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics = Maybe [RecommendedOptionProjectedMetric]
a} :: GetEC2RecommendationProjectedMetricsResponse) 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
getEC2RecommendationProjectedMetricsResponse_httpStatus :: Lens.Lens' GetEC2RecommendationProjectedMetricsResponse Prelude.Int
getEC2RecommendationProjectedMetricsResponse_httpStatus :: Lens' GetEC2RecommendationProjectedMetricsResponse Int
getEC2RecommendationProjectedMetricsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2RecommendationProjectedMetricsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetEC2RecommendationProjectedMetricsResponse' :: GetEC2RecommendationProjectedMetricsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetEC2RecommendationProjectedMetricsResponse
s@GetEC2RecommendationProjectedMetricsResponse' {} Int
a -> GetEC2RecommendationProjectedMetricsResponse
s {$sel:httpStatus:GetEC2RecommendationProjectedMetricsResponse' :: Int
httpStatus = Int
a} :: GetEC2RecommendationProjectedMetricsResponse)
instance
Prelude.NFData
GetEC2RecommendationProjectedMetricsResponse
where
rnf :: GetEC2RecommendationProjectedMetricsResponse -> ()
rnf GetEC2RecommendationProjectedMetricsResponse' {Int
Maybe [RecommendedOptionProjectedMetric]
httpStatus :: Int
recommendedOptionProjectedMetrics :: Maybe [RecommendedOptionProjectedMetric]
$sel:httpStatus:GetEC2RecommendationProjectedMetricsResponse' :: GetEC2RecommendationProjectedMetricsResponse -> Int
$sel:recommendedOptionProjectedMetrics:GetEC2RecommendationProjectedMetricsResponse' :: GetEC2RecommendationProjectedMetricsResponse
-> Maybe [RecommendedOptionProjectedMetric]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [RecommendedOptionProjectedMetric]
recommendedOptionProjectedMetrics
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus