{-# 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.GetEC2InstanceRecommendations
(
GetEC2InstanceRecommendations (..),
newGetEC2InstanceRecommendations,
getEC2InstanceRecommendations_accountIds,
getEC2InstanceRecommendations_filters,
getEC2InstanceRecommendations_instanceArns,
getEC2InstanceRecommendations_maxResults,
getEC2InstanceRecommendations_nextToken,
getEC2InstanceRecommendations_recommendationPreferences,
GetEC2InstanceRecommendationsResponse (..),
newGetEC2InstanceRecommendationsResponse,
getEC2InstanceRecommendationsResponse_errors,
getEC2InstanceRecommendationsResponse_instanceRecommendations,
getEC2InstanceRecommendationsResponse_nextToken,
getEC2InstanceRecommendationsResponse_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 GetEC2InstanceRecommendations = GetEC2InstanceRecommendations'
{
GetEC2InstanceRecommendations -> Maybe [Text]
accountIds :: Prelude.Maybe [Prelude.Text],
GetEC2InstanceRecommendations -> Maybe [Filter]
filters :: Prelude.Maybe [Filter],
GetEC2InstanceRecommendations -> Maybe [Text]
instanceArns :: Prelude.Maybe [Prelude.Text],
GetEC2InstanceRecommendations -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
GetEC2InstanceRecommendations -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetEC2InstanceRecommendations -> Maybe RecommendationPreferences
recommendationPreferences :: Prelude.Maybe RecommendationPreferences
}
deriving (GetEC2InstanceRecommendations
-> GetEC2InstanceRecommendations -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEC2InstanceRecommendations
-> GetEC2InstanceRecommendations -> Bool
$c/= :: GetEC2InstanceRecommendations
-> GetEC2InstanceRecommendations -> Bool
== :: GetEC2InstanceRecommendations
-> GetEC2InstanceRecommendations -> Bool
$c== :: GetEC2InstanceRecommendations
-> GetEC2InstanceRecommendations -> Bool
Prelude.Eq, ReadPrec [GetEC2InstanceRecommendations]
ReadPrec GetEC2InstanceRecommendations
Int -> ReadS GetEC2InstanceRecommendations
ReadS [GetEC2InstanceRecommendations]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEC2InstanceRecommendations]
$creadListPrec :: ReadPrec [GetEC2InstanceRecommendations]
readPrec :: ReadPrec GetEC2InstanceRecommendations
$creadPrec :: ReadPrec GetEC2InstanceRecommendations
readList :: ReadS [GetEC2InstanceRecommendations]
$creadList :: ReadS [GetEC2InstanceRecommendations]
readsPrec :: Int -> ReadS GetEC2InstanceRecommendations
$creadsPrec :: Int -> ReadS GetEC2InstanceRecommendations
Prelude.Read, Int -> GetEC2InstanceRecommendations -> ShowS
[GetEC2InstanceRecommendations] -> ShowS
GetEC2InstanceRecommendations -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEC2InstanceRecommendations] -> ShowS
$cshowList :: [GetEC2InstanceRecommendations] -> ShowS
show :: GetEC2InstanceRecommendations -> String
$cshow :: GetEC2InstanceRecommendations -> String
showsPrec :: Int -> GetEC2InstanceRecommendations -> ShowS
$cshowsPrec :: Int -> GetEC2InstanceRecommendations -> ShowS
Prelude.Show, forall x.
Rep GetEC2InstanceRecommendations x
-> GetEC2InstanceRecommendations
forall x.
GetEC2InstanceRecommendations
-> Rep GetEC2InstanceRecommendations x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEC2InstanceRecommendations x
-> GetEC2InstanceRecommendations
$cfrom :: forall x.
GetEC2InstanceRecommendations
-> Rep GetEC2InstanceRecommendations x
Prelude.Generic)
newGetEC2InstanceRecommendations ::
GetEC2InstanceRecommendations
newGetEC2InstanceRecommendations :: GetEC2InstanceRecommendations
newGetEC2InstanceRecommendations =
GetEC2InstanceRecommendations'
{ $sel:accountIds:GetEC2InstanceRecommendations' :: Maybe [Text]
accountIds =
forall a. Maybe a
Prelude.Nothing,
$sel:filters:GetEC2InstanceRecommendations' :: Maybe [Filter]
filters = forall a. Maybe a
Prelude.Nothing,
$sel:instanceArns:GetEC2InstanceRecommendations' :: Maybe [Text]
instanceArns = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:GetEC2InstanceRecommendations' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetEC2InstanceRecommendations' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: Maybe RecommendationPreferences
recommendationPreferences = forall a. Maybe a
Prelude.Nothing
}
getEC2InstanceRecommendations_accountIds :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe [Prelude.Text])
getEC2InstanceRecommendations_accountIds :: Lens' GetEC2InstanceRecommendations (Maybe [Text])
getEC2InstanceRecommendations_accountIds = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe [Text]
accountIds :: Maybe [Text]
$sel:accountIds:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
accountIds} -> Maybe [Text]
accountIds) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe [Text]
a -> GetEC2InstanceRecommendations
s {$sel:accountIds:GetEC2InstanceRecommendations' :: Maybe [Text]
accountIds = Maybe [Text]
a} :: GetEC2InstanceRecommendations) 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
getEC2InstanceRecommendations_filters :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe [Filter])
getEC2InstanceRecommendations_filters :: Lens' GetEC2InstanceRecommendations (Maybe [Filter])
getEC2InstanceRecommendations_filters = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe [Filter]
filters :: Maybe [Filter]
$sel:filters:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Filter]
filters} -> Maybe [Filter]
filters) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe [Filter]
a -> GetEC2InstanceRecommendations
s {$sel:filters:GetEC2InstanceRecommendations' :: Maybe [Filter]
filters = Maybe [Filter]
a} :: GetEC2InstanceRecommendations) 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
getEC2InstanceRecommendations_instanceArns :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe [Prelude.Text])
getEC2InstanceRecommendations_instanceArns :: Lens' GetEC2InstanceRecommendations (Maybe [Text])
getEC2InstanceRecommendations_instanceArns = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe [Text]
instanceArns :: Maybe [Text]
$sel:instanceArns:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
instanceArns} -> Maybe [Text]
instanceArns) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe [Text]
a -> GetEC2InstanceRecommendations
s {$sel:instanceArns:GetEC2InstanceRecommendations' :: Maybe [Text]
instanceArns = Maybe [Text]
a} :: GetEC2InstanceRecommendations) 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
getEC2InstanceRecommendations_maxResults :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe Prelude.Natural)
getEC2InstanceRecommendations_maxResults :: Lens' GetEC2InstanceRecommendations (Maybe Natural)
getEC2InstanceRecommendations_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe Natural
a -> GetEC2InstanceRecommendations
s {$sel:maxResults:GetEC2InstanceRecommendations' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetEC2InstanceRecommendations)
getEC2InstanceRecommendations_nextToken :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe Prelude.Text)
getEC2InstanceRecommendations_nextToken :: Lens' GetEC2InstanceRecommendations (Maybe Text)
getEC2InstanceRecommendations_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe Text
a -> GetEC2InstanceRecommendations
s {$sel:nextToken:GetEC2InstanceRecommendations' :: Maybe Text
nextToken = Maybe Text
a} :: GetEC2InstanceRecommendations)
getEC2InstanceRecommendations_recommendationPreferences :: Lens.Lens' GetEC2InstanceRecommendations (Prelude.Maybe RecommendationPreferences)
getEC2InstanceRecommendations_recommendationPreferences :: Lens'
GetEC2InstanceRecommendations (Maybe RecommendationPreferences)
getEC2InstanceRecommendations_recommendationPreferences = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendations' {Maybe RecommendationPreferences
recommendationPreferences :: Maybe RecommendationPreferences
$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe RecommendationPreferences
recommendationPreferences} -> Maybe RecommendationPreferences
recommendationPreferences) (\s :: GetEC2InstanceRecommendations
s@GetEC2InstanceRecommendations' {} Maybe RecommendationPreferences
a -> GetEC2InstanceRecommendations
s {$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: Maybe RecommendationPreferences
recommendationPreferences = Maybe RecommendationPreferences
a} :: GetEC2InstanceRecommendations)
instance
Core.AWSRequest
GetEC2InstanceRecommendations
where
type
AWSResponse GetEC2InstanceRecommendations =
GetEC2InstanceRecommendationsResponse
request :: (Service -> Service)
-> GetEC2InstanceRecommendations
-> Request GetEC2InstanceRecommendations
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 GetEC2InstanceRecommendations
-> ClientResponse ClientBody
-> m (Either
Error (ClientResponse (AWSResponse GetEC2InstanceRecommendations)))
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 [GetRecommendationError]
-> Maybe [InstanceRecommendation]
-> Maybe Text
-> Int
-> GetEC2InstanceRecommendationsResponse
GetEC2InstanceRecommendationsResponse'
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
"errors" 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.<*> ( Object
x
forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"instanceRecommendations"
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.<*> (Object
x forall a. FromJSON a => Object -> Key -> Either String (Maybe a)
Data..?> Key
"nextToken")
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
GetEC2InstanceRecommendations
where
hashWithSalt :: Int -> GetEC2InstanceRecommendations -> Int
hashWithSalt Int
_salt GetEC2InstanceRecommendations' {Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe RecommendationPreferences
recommendationPreferences :: Maybe RecommendationPreferences
nextToken :: Maybe Text
maxResults :: Maybe Natural
instanceArns :: Maybe [Text]
filters :: Maybe [Filter]
accountIds :: Maybe [Text]
$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe RecommendationPreferences
$sel:nextToken:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Text
$sel:maxResults:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Natural
$sel:instanceArns:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
$sel:filters:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Filter]
$sel:accountIds:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
accountIds
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Filter]
filters
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [Text]
instanceArns
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Natural
maxResults
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe RecommendationPreferences
recommendationPreferences
instance Prelude.NFData GetEC2InstanceRecommendations where
rnf :: GetEC2InstanceRecommendations -> ()
rnf GetEC2InstanceRecommendations' {Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe RecommendationPreferences
recommendationPreferences :: Maybe RecommendationPreferences
nextToken :: Maybe Text
maxResults :: Maybe Natural
instanceArns :: Maybe [Text]
filters :: Maybe [Filter]
accountIds :: Maybe [Text]
$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe RecommendationPreferences
$sel:nextToken:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Text
$sel:maxResults:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Natural
$sel:instanceArns:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
$sel:filters:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Filter]
$sel:accountIds:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
accountIds
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Filter]
filters
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [Text]
instanceArns
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Natural
maxResults
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe RecommendationPreferences
recommendationPreferences
instance Data.ToHeaders GetEC2InstanceRecommendations where
toHeaders :: GetEC2InstanceRecommendations -> 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.GetEC2InstanceRecommendations" ::
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 GetEC2InstanceRecommendations where
toJSON :: GetEC2InstanceRecommendations -> Value
toJSON GetEC2InstanceRecommendations' {Maybe Natural
Maybe [Text]
Maybe [Filter]
Maybe Text
Maybe RecommendationPreferences
recommendationPreferences :: Maybe RecommendationPreferences
nextToken :: Maybe Text
maxResults :: Maybe Natural
instanceArns :: Maybe [Text]
filters :: Maybe [Filter]
accountIds :: Maybe [Text]
$sel:recommendationPreferences:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe RecommendationPreferences
$sel:nextToken:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Text
$sel:maxResults:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe Natural
$sel:instanceArns:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
$sel:filters:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Filter]
$sel:accountIds:GetEC2InstanceRecommendations' :: GetEC2InstanceRecommendations -> Maybe [Text]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"accountIds" 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]
accountIds,
(Key
"filters" 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 [Filter]
filters,
(Key
"instanceArns" 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]
instanceArns,
(Key
"maxResults" 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 Natural
maxResults,
(Key
"nextToken" 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
nextToken,
(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
]
)
instance Data.ToPath GetEC2InstanceRecommendations where
toPath :: GetEC2InstanceRecommendations -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery GetEC2InstanceRecommendations where
toQuery :: GetEC2InstanceRecommendations -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetEC2InstanceRecommendationsResponse = GetEC2InstanceRecommendationsResponse'
{
GetEC2InstanceRecommendationsResponse
-> Maybe [GetRecommendationError]
errors :: Prelude.Maybe [GetRecommendationError],
GetEC2InstanceRecommendationsResponse
-> Maybe [InstanceRecommendation]
instanceRecommendations :: Prelude.Maybe [InstanceRecommendation],
GetEC2InstanceRecommendationsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetEC2InstanceRecommendationsResponse -> Int
httpStatus :: Prelude.Int
}
deriving (GetEC2InstanceRecommendationsResponse
-> GetEC2InstanceRecommendationsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetEC2InstanceRecommendationsResponse
-> GetEC2InstanceRecommendationsResponse -> Bool
$c/= :: GetEC2InstanceRecommendationsResponse
-> GetEC2InstanceRecommendationsResponse -> Bool
== :: GetEC2InstanceRecommendationsResponse
-> GetEC2InstanceRecommendationsResponse -> Bool
$c== :: GetEC2InstanceRecommendationsResponse
-> GetEC2InstanceRecommendationsResponse -> Bool
Prelude.Eq, ReadPrec [GetEC2InstanceRecommendationsResponse]
ReadPrec GetEC2InstanceRecommendationsResponse
Int -> ReadS GetEC2InstanceRecommendationsResponse
ReadS [GetEC2InstanceRecommendationsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetEC2InstanceRecommendationsResponse]
$creadListPrec :: ReadPrec [GetEC2InstanceRecommendationsResponse]
readPrec :: ReadPrec GetEC2InstanceRecommendationsResponse
$creadPrec :: ReadPrec GetEC2InstanceRecommendationsResponse
readList :: ReadS [GetEC2InstanceRecommendationsResponse]
$creadList :: ReadS [GetEC2InstanceRecommendationsResponse]
readsPrec :: Int -> ReadS GetEC2InstanceRecommendationsResponse
$creadsPrec :: Int -> ReadS GetEC2InstanceRecommendationsResponse
Prelude.Read, Int -> GetEC2InstanceRecommendationsResponse -> ShowS
[GetEC2InstanceRecommendationsResponse] -> ShowS
GetEC2InstanceRecommendationsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetEC2InstanceRecommendationsResponse] -> ShowS
$cshowList :: [GetEC2InstanceRecommendationsResponse] -> ShowS
show :: GetEC2InstanceRecommendationsResponse -> String
$cshow :: GetEC2InstanceRecommendationsResponse -> String
showsPrec :: Int -> GetEC2InstanceRecommendationsResponse -> ShowS
$cshowsPrec :: Int -> GetEC2InstanceRecommendationsResponse -> ShowS
Prelude.Show, forall x.
Rep GetEC2InstanceRecommendationsResponse x
-> GetEC2InstanceRecommendationsResponse
forall x.
GetEC2InstanceRecommendationsResponse
-> Rep GetEC2InstanceRecommendationsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetEC2InstanceRecommendationsResponse x
-> GetEC2InstanceRecommendationsResponse
$cfrom :: forall x.
GetEC2InstanceRecommendationsResponse
-> Rep GetEC2InstanceRecommendationsResponse x
Prelude.Generic)
newGetEC2InstanceRecommendationsResponse ::
Prelude.Int ->
GetEC2InstanceRecommendationsResponse
newGetEC2InstanceRecommendationsResponse :: Int -> GetEC2InstanceRecommendationsResponse
newGetEC2InstanceRecommendationsResponse Int
pHttpStatus_ =
GetEC2InstanceRecommendationsResponse'
{ $sel:errors:GetEC2InstanceRecommendationsResponse' :: Maybe [GetRecommendationError]
errors =
forall a. Maybe a
Prelude.Nothing,
$sel:instanceRecommendations:GetEC2InstanceRecommendationsResponse' :: Maybe [InstanceRecommendation]
instanceRecommendations =
forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetEC2InstanceRecommendationsResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetEC2InstanceRecommendationsResponse' :: Int
httpStatus = Int
pHttpStatus_
}
getEC2InstanceRecommendationsResponse_errors :: Lens.Lens' GetEC2InstanceRecommendationsResponse (Prelude.Maybe [GetRecommendationError])
getEC2InstanceRecommendationsResponse_errors :: Lens'
GetEC2InstanceRecommendationsResponse
(Maybe [GetRecommendationError])
getEC2InstanceRecommendationsResponse_errors = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendationsResponse' {Maybe [GetRecommendationError]
errors :: Maybe [GetRecommendationError]
$sel:errors:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse
-> Maybe [GetRecommendationError]
errors} -> Maybe [GetRecommendationError]
errors) (\s :: GetEC2InstanceRecommendationsResponse
s@GetEC2InstanceRecommendationsResponse' {} Maybe [GetRecommendationError]
a -> GetEC2InstanceRecommendationsResponse
s {$sel:errors:GetEC2InstanceRecommendationsResponse' :: Maybe [GetRecommendationError]
errors = Maybe [GetRecommendationError]
a} :: GetEC2InstanceRecommendationsResponse) 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
getEC2InstanceRecommendationsResponse_instanceRecommendations :: Lens.Lens' GetEC2InstanceRecommendationsResponse (Prelude.Maybe [InstanceRecommendation])
getEC2InstanceRecommendationsResponse_instanceRecommendations :: Lens'
GetEC2InstanceRecommendationsResponse
(Maybe [InstanceRecommendation])
getEC2InstanceRecommendationsResponse_instanceRecommendations = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendationsResponse' {Maybe [InstanceRecommendation]
instanceRecommendations :: Maybe [InstanceRecommendation]
$sel:instanceRecommendations:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse
-> Maybe [InstanceRecommendation]
instanceRecommendations} -> Maybe [InstanceRecommendation]
instanceRecommendations) (\s :: GetEC2InstanceRecommendationsResponse
s@GetEC2InstanceRecommendationsResponse' {} Maybe [InstanceRecommendation]
a -> GetEC2InstanceRecommendationsResponse
s {$sel:instanceRecommendations:GetEC2InstanceRecommendationsResponse' :: Maybe [InstanceRecommendation]
instanceRecommendations = Maybe [InstanceRecommendation]
a} :: GetEC2InstanceRecommendationsResponse) 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
getEC2InstanceRecommendationsResponse_nextToken :: Lens.Lens' GetEC2InstanceRecommendationsResponse (Prelude.Maybe Prelude.Text)
getEC2InstanceRecommendationsResponse_nextToken :: Lens' GetEC2InstanceRecommendationsResponse (Maybe Text)
getEC2InstanceRecommendationsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendationsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetEC2InstanceRecommendationsResponse
s@GetEC2InstanceRecommendationsResponse' {} Maybe Text
a -> GetEC2InstanceRecommendationsResponse
s {$sel:nextToken:GetEC2InstanceRecommendationsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetEC2InstanceRecommendationsResponse)
getEC2InstanceRecommendationsResponse_httpStatus :: Lens.Lens' GetEC2InstanceRecommendationsResponse Prelude.Int
getEC2InstanceRecommendationsResponse_httpStatus :: Lens' GetEC2InstanceRecommendationsResponse Int
getEC2InstanceRecommendationsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetEC2InstanceRecommendationsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetEC2InstanceRecommendationsResponse
s@GetEC2InstanceRecommendationsResponse' {} Int
a -> GetEC2InstanceRecommendationsResponse
s {$sel:httpStatus:GetEC2InstanceRecommendationsResponse' :: Int
httpStatus = Int
a} :: GetEC2InstanceRecommendationsResponse)
instance
Prelude.NFData
GetEC2InstanceRecommendationsResponse
where
rnf :: GetEC2InstanceRecommendationsResponse -> ()
rnf GetEC2InstanceRecommendationsResponse' {Int
Maybe [GetRecommendationError]
Maybe [InstanceRecommendation]
Maybe Text
httpStatus :: Int
nextToken :: Maybe Text
instanceRecommendations :: Maybe [InstanceRecommendation]
errors :: Maybe [GetRecommendationError]
$sel:httpStatus:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse -> Int
$sel:nextToken:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse -> Maybe Text
$sel:instanceRecommendations:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse
-> Maybe [InstanceRecommendation]
$sel:errors:GetEC2InstanceRecommendationsResponse' :: GetEC2InstanceRecommendationsResponse
-> Maybe [GetRecommendationError]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [GetRecommendationError]
errors
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe [InstanceRecommendation]
instanceRecommendations
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus