{-# 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.CostExplorer.GetSavingsPlansUtilizationDetails
(
GetSavingsPlansUtilizationDetails (..),
newGetSavingsPlansUtilizationDetails,
getSavingsPlansUtilizationDetails_dataType,
getSavingsPlansUtilizationDetails_filter,
getSavingsPlansUtilizationDetails_maxResults,
getSavingsPlansUtilizationDetails_nextToken,
getSavingsPlansUtilizationDetails_sortBy,
getSavingsPlansUtilizationDetails_timePeriod,
GetSavingsPlansUtilizationDetailsResponse (..),
newGetSavingsPlansUtilizationDetailsResponse,
getSavingsPlansUtilizationDetailsResponse_nextToken,
getSavingsPlansUtilizationDetailsResponse_total,
getSavingsPlansUtilizationDetailsResponse_httpStatus,
getSavingsPlansUtilizationDetailsResponse_savingsPlansUtilizationDetails,
getSavingsPlansUtilizationDetailsResponse_timePeriod,
)
where
import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import Amazonka.CostExplorer.Types
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 GetSavingsPlansUtilizationDetails = GetSavingsPlansUtilizationDetails'
{
GetSavingsPlansUtilizationDetails -> Maybe [SavingsPlansDataType]
dataType :: Prelude.Maybe [SavingsPlansDataType],
GetSavingsPlansUtilizationDetails -> Maybe Expression
filter' :: Prelude.Maybe Expression,
GetSavingsPlansUtilizationDetails -> Maybe Natural
maxResults :: Prelude.Maybe Prelude.Natural,
GetSavingsPlansUtilizationDetails -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetSavingsPlansUtilizationDetails -> Maybe SortDefinition
sortBy :: Prelude.Maybe SortDefinition,
GetSavingsPlansUtilizationDetails -> DateInterval
timePeriod :: DateInterval
}
deriving (GetSavingsPlansUtilizationDetails
-> GetSavingsPlansUtilizationDetails -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSavingsPlansUtilizationDetails
-> GetSavingsPlansUtilizationDetails -> Bool
$c/= :: GetSavingsPlansUtilizationDetails
-> GetSavingsPlansUtilizationDetails -> Bool
== :: GetSavingsPlansUtilizationDetails
-> GetSavingsPlansUtilizationDetails -> Bool
$c== :: GetSavingsPlansUtilizationDetails
-> GetSavingsPlansUtilizationDetails -> Bool
Prelude.Eq, ReadPrec [GetSavingsPlansUtilizationDetails]
ReadPrec GetSavingsPlansUtilizationDetails
Int -> ReadS GetSavingsPlansUtilizationDetails
ReadS [GetSavingsPlansUtilizationDetails]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSavingsPlansUtilizationDetails]
$creadListPrec :: ReadPrec [GetSavingsPlansUtilizationDetails]
readPrec :: ReadPrec GetSavingsPlansUtilizationDetails
$creadPrec :: ReadPrec GetSavingsPlansUtilizationDetails
readList :: ReadS [GetSavingsPlansUtilizationDetails]
$creadList :: ReadS [GetSavingsPlansUtilizationDetails]
readsPrec :: Int -> ReadS GetSavingsPlansUtilizationDetails
$creadsPrec :: Int -> ReadS GetSavingsPlansUtilizationDetails
Prelude.Read, Int -> GetSavingsPlansUtilizationDetails -> ShowS
[GetSavingsPlansUtilizationDetails] -> ShowS
GetSavingsPlansUtilizationDetails -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSavingsPlansUtilizationDetails] -> ShowS
$cshowList :: [GetSavingsPlansUtilizationDetails] -> ShowS
show :: GetSavingsPlansUtilizationDetails -> String
$cshow :: GetSavingsPlansUtilizationDetails -> String
showsPrec :: Int -> GetSavingsPlansUtilizationDetails -> ShowS
$cshowsPrec :: Int -> GetSavingsPlansUtilizationDetails -> ShowS
Prelude.Show, forall x.
Rep GetSavingsPlansUtilizationDetails x
-> GetSavingsPlansUtilizationDetails
forall x.
GetSavingsPlansUtilizationDetails
-> Rep GetSavingsPlansUtilizationDetails x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSavingsPlansUtilizationDetails x
-> GetSavingsPlansUtilizationDetails
$cfrom :: forall x.
GetSavingsPlansUtilizationDetails
-> Rep GetSavingsPlansUtilizationDetails x
Prelude.Generic)
newGetSavingsPlansUtilizationDetails ::
DateInterval ->
GetSavingsPlansUtilizationDetails
newGetSavingsPlansUtilizationDetails :: DateInterval -> GetSavingsPlansUtilizationDetails
newGetSavingsPlansUtilizationDetails DateInterval
pTimePeriod_ =
GetSavingsPlansUtilizationDetails'
{ $sel:dataType:GetSavingsPlansUtilizationDetails' :: Maybe [SavingsPlansDataType]
dataType =
forall a. Maybe a
Prelude.Nothing,
$sel:filter':GetSavingsPlansUtilizationDetails' :: Maybe Expression
filter' = forall a. Maybe a
Prelude.Nothing,
$sel:maxResults:GetSavingsPlansUtilizationDetails' :: Maybe Natural
maxResults = forall a. Maybe a
Prelude.Nothing,
$sel:nextToken:GetSavingsPlansUtilizationDetails' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
$sel:sortBy:GetSavingsPlansUtilizationDetails' :: Maybe SortDefinition
sortBy = forall a. Maybe a
Prelude.Nothing,
$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: DateInterval
timePeriod = DateInterval
pTimePeriod_
}
getSavingsPlansUtilizationDetails_dataType :: Lens.Lens' GetSavingsPlansUtilizationDetails (Prelude.Maybe [SavingsPlansDataType])
getSavingsPlansUtilizationDetails_dataType :: Lens'
GetSavingsPlansUtilizationDetails (Maybe [SavingsPlansDataType])
getSavingsPlansUtilizationDetails_dataType = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {Maybe [SavingsPlansDataType]
dataType :: Maybe [SavingsPlansDataType]
$sel:dataType:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe [SavingsPlansDataType]
dataType} -> Maybe [SavingsPlansDataType]
dataType) (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} Maybe [SavingsPlansDataType]
a -> GetSavingsPlansUtilizationDetails
s {$sel:dataType:GetSavingsPlansUtilizationDetails' :: Maybe [SavingsPlansDataType]
dataType = Maybe [SavingsPlansDataType]
a} :: GetSavingsPlansUtilizationDetails) 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
getSavingsPlansUtilizationDetails_filter :: Lens.Lens' GetSavingsPlansUtilizationDetails (Prelude.Maybe Expression)
getSavingsPlansUtilizationDetails_filter :: Lens' GetSavingsPlansUtilizationDetails (Maybe Expression)
getSavingsPlansUtilizationDetails_filter = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {Maybe Expression
filter' :: Maybe Expression
$sel:filter':GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Expression
filter'} -> Maybe Expression
filter') (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} Maybe Expression
a -> GetSavingsPlansUtilizationDetails
s {$sel:filter':GetSavingsPlansUtilizationDetails' :: Maybe Expression
filter' = Maybe Expression
a} :: GetSavingsPlansUtilizationDetails)
getSavingsPlansUtilizationDetails_maxResults :: Lens.Lens' GetSavingsPlansUtilizationDetails (Prelude.Maybe Prelude.Natural)
getSavingsPlansUtilizationDetails_maxResults :: Lens' GetSavingsPlansUtilizationDetails (Maybe Natural)
getSavingsPlansUtilizationDetails_maxResults = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {Maybe Natural
maxResults :: Maybe Natural
$sel:maxResults:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Natural
maxResults} -> Maybe Natural
maxResults) (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} Maybe Natural
a -> GetSavingsPlansUtilizationDetails
s {$sel:maxResults:GetSavingsPlansUtilizationDetails' :: Maybe Natural
maxResults = Maybe Natural
a} :: GetSavingsPlansUtilizationDetails)
getSavingsPlansUtilizationDetails_nextToken :: Lens.Lens' GetSavingsPlansUtilizationDetails (Prelude.Maybe Prelude.Text)
getSavingsPlansUtilizationDetails_nextToken :: Lens' GetSavingsPlansUtilizationDetails (Maybe Text)
getSavingsPlansUtilizationDetails_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} Maybe Text
a -> GetSavingsPlansUtilizationDetails
s {$sel:nextToken:GetSavingsPlansUtilizationDetails' :: Maybe Text
nextToken = Maybe Text
a} :: GetSavingsPlansUtilizationDetails)
getSavingsPlansUtilizationDetails_sortBy :: Lens.Lens' GetSavingsPlansUtilizationDetails (Prelude.Maybe SortDefinition)
getSavingsPlansUtilizationDetails_sortBy :: Lens' GetSavingsPlansUtilizationDetails (Maybe SortDefinition)
getSavingsPlansUtilizationDetails_sortBy = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {Maybe SortDefinition
sortBy :: Maybe SortDefinition
$sel:sortBy:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe SortDefinition
sortBy} -> Maybe SortDefinition
sortBy) (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} Maybe SortDefinition
a -> GetSavingsPlansUtilizationDetails
s {$sel:sortBy:GetSavingsPlansUtilizationDetails' :: Maybe SortDefinition
sortBy = Maybe SortDefinition
a} :: GetSavingsPlansUtilizationDetails)
getSavingsPlansUtilizationDetails_timePeriod :: Lens.Lens' GetSavingsPlansUtilizationDetails DateInterval
getSavingsPlansUtilizationDetails_timePeriod :: Lens' GetSavingsPlansUtilizationDetails DateInterval
getSavingsPlansUtilizationDetails_timePeriod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetails' {DateInterval
timePeriod :: DateInterval
$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> DateInterval
timePeriod} -> DateInterval
timePeriod) (\s :: GetSavingsPlansUtilizationDetails
s@GetSavingsPlansUtilizationDetails' {} DateInterval
a -> GetSavingsPlansUtilizationDetails
s {$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: DateInterval
timePeriod = DateInterval
a} :: GetSavingsPlansUtilizationDetails)
instance
Core.AWSRequest
GetSavingsPlansUtilizationDetails
where
type
AWSResponse GetSavingsPlansUtilizationDetails =
GetSavingsPlansUtilizationDetailsResponse
request :: (Service -> Service)
-> GetSavingsPlansUtilizationDetails
-> Request GetSavingsPlansUtilizationDetails
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 GetSavingsPlansUtilizationDetails
-> ClientResponse ClientBody
-> m (Either
Error
(ClientResponse (AWSResponse GetSavingsPlansUtilizationDetails)))
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 Text
-> Maybe SavingsPlansUtilizationAggregates
-> Int
-> [SavingsPlansUtilizationDetail]
-> DateInterval
-> GetSavingsPlansUtilizationDetailsResponse
GetSavingsPlansUtilizationDetailsResponse'
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
"NextToken")
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
"Total")
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))
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
"SavingsPlansUtilizationDetails"
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 a
Data..:> Key
"TimePeriod")
)
instance
Prelude.Hashable
GetSavingsPlansUtilizationDetails
where
hashWithSalt :: Int -> GetSavingsPlansUtilizationDetails -> Int
hashWithSalt
Int
_salt
GetSavingsPlansUtilizationDetails' {Maybe Natural
Maybe [SavingsPlansDataType]
Maybe Text
Maybe SortDefinition
Maybe Expression
DateInterval
timePeriod :: DateInterval
sortBy :: Maybe SortDefinition
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe Expression
dataType :: Maybe [SavingsPlansDataType]
$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> DateInterval
$sel:sortBy:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe SortDefinition
$sel:nextToken:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Text
$sel:maxResults:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Natural
$sel:filter':GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Expression
$sel:dataType:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe [SavingsPlansDataType]
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe [SavingsPlansDataType]
dataType
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Expression
filter'
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 SortDefinition
sortBy
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` DateInterval
timePeriod
instance
Prelude.NFData
GetSavingsPlansUtilizationDetails
where
rnf :: GetSavingsPlansUtilizationDetails -> ()
rnf GetSavingsPlansUtilizationDetails' {Maybe Natural
Maybe [SavingsPlansDataType]
Maybe Text
Maybe SortDefinition
Maybe Expression
DateInterval
timePeriod :: DateInterval
sortBy :: Maybe SortDefinition
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe Expression
dataType :: Maybe [SavingsPlansDataType]
$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> DateInterval
$sel:sortBy:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe SortDefinition
$sel:nextToken:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Text
$sel:maxResults:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Natural
$sel:filter':GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Expression
$sel:dataType:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe [SavingsPlansDataType]
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe [SavingsPlansDataType]
dataType
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe Expression
filter'
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 SortDefinition
sortBy
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DateInterval
timePeriod
instance
Data.ToHeaders
GetSavingsPlansUtilizationDetails
where
toHeaders :: GetSavingsPlansUtilizationDetails -> 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
"AWSInsightsIndexService.GetSavingsPlansUtilizationDetails" ::
Prelude.ByteString
),
HeaderName
"Content-Type"
forall a. ToHeader a => HeaderName -> a -> ResponseHeaders
Data.=# ( ByteString
"application/x-amz-json-1.1" ::
Prelude.ByteString
)
]
)
instance
Data.ToJSON
GetSavingsPlansUtilizationDetails
where
toJSON :: GetSavingsPlansUtilizationDetails -> Value
toJSON GetSavingsPlansUtilizationDetails' {Maybe Natural
Maybe [SavingsPlansDataType]
Maybe Text
Maybe SortDefinition
Maybe Expression
DateInterval
timePeriod :: DateInterval
sortBy :: Maybe SortDefinition
nextToken :: Maybe Text
maxResults :: Maybe Natural
filter' :: Maybe Expression
dataType :: Maybe [SavingsPlansDataType]
$sel:timePeriod:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> DateInterval
$sel:sortBy:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe SortDefinition
$sel:nextToken:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Text
$sel:maxResults:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Natural
$sel:filter':GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe Expression
$sel:dataType:GetSavingsPlansUtilizationDetails' :: GetSavingsPlansUtilizationDetails -> Maybe [SavingsPlansDataType]
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ (Key
"DataType" 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 [SavingsPlansDataType]
dataType,
(Key
"Filter" 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 Expression
filter',
(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
"SortBy" 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 SortDefinition
sortBy,
forall a. a -> Maybe a
Prelude.Just (Key
"TimePeriod" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= DateInterval
timePeriod)
]
)
instance
Data.ToPath
GetSavingsPlansUtilizationDetails
where
toPath :: GetSavingsPlansUtilizationDetails -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance
Data.ToQuery
GetSavingsPlansUtilizationDetails
where
toQuery :: GetSavingsPlansUtilizationDetails -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data GetSavingsPlansUtilizationDetailsResponse = GetSavingsPlansUtilizationDetailsResponse'
{
GetSavingsPlansUtilizationDetailsResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
GetSavingsPlansUtilizationDetailsResponse
-> Maybe SavingsPlansUtilizationAggregates
total :: Prelude.Maybe SavingsPlansUtilizationAggregates,
GetSavingsPlansUtilizationDetailsResponse -> Int
httpStatus :: Prelude.Int,
GetSavingsPlansUtilizationDetailsResponse
-> [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails :: [SavingsPlansUtilizationDetail],
GetSavingsPlansUtilizationDetailsResponse -> DateInterval
timePeriod :: DateInterval
}
deriving (GetSavingsPlansUtilizationDetailsResponse
-> GetSavingsPlansUtilizationDetailsResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetSavingsPlansUtilizationDetailsResponse
-> GetSavingsPlansUtilizationDetailsResponse -> Bool
$c/= :: GetSavingsPlansUtilizationDetailsResponse
-> GetSavingsPlansUtilizationDetailsResponse -> Bool
== :: GetSavingsPlansUtilizationDetailsResponse
-> GetSavingsPlansUtilizationDetailsResponse -> Bool
$c== :: GetSavingsPlansUtilizationDetailsResponse
-> GetSavingsPlansUtilizationDetailsResponse -> Bool
Prelude.Eq, ReadPrec [GetSavingsPlansUtilizationDetailsResponse]
ReadPrec GetSavingsPlansUtilizationDetailsResponse
Int -> ReadS GetSavingsPlansUtilizationDetailsResponse
ReadS [GetSavingsPlansUtilizationDetailsResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetSavingsPlansUtilizationDetailsResponse]
$creadListPrec :: ReadPrec [GetSavingsPlansUtilizationDetailsResponse]
readPrec :: ReadPrec GetSavingsPlansUtilizationDetailsResponse
$creadPrec :: ReadPrec GetSavingsPlansUtilizationDetailsResponse
readList :: ReadS [GetSavingsPlansUtilizationDetailsResponse]
$creadList :: ReadS [GetSavingsPlansUtilizationDetailsResponse]
readsPrec :: Int -> ReadS GetSavingsPlansUtilizationDetailsResponse
$creadsPrec :: Int -> ReadS GetSavingsPlansUtilizationDetailsResponse
Prelude.Read, Int -> GetSavingsPlansUtilizationDetailsResponse -> ShowS
[GetSavingsPlansUtilizationDetailsResponse] -> ShowS
GetSavingsPlansUtilizationDetailsResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetSavingsPlansUtilizationDetailsResponse] -> ShowS
$cshowList :: [GetSavingsPlansUtilizationDetailsResponse] -> ShowS
show :: GetSavingsPlansUtilizationDetailsResponse -> String
$cshow :: GetSavingsPlansUtilizationDetailsResponse -> String
showsPrec :: Int -> GetSavingsPlansUtilizationDetailsResponse -> ShowS
$cshowsPrec :: Int -> GetSavingsPlansUtilizationDetailsResponse -> ShowS
Prelude.Show, forall x.
Rep GetSavingsPlansUtilizationDetailsResponse x
-> GetSavingsPlansUtilizationDetailsResponse
forall x.
GetSavingsPlansUtilizationDetailsResponse
-> Rep GetSavingsPlansUtilizationDetailsResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetSavingsPlansUtilizationDetailsResponse x
-> GetSavingsPlansUtilizationDetailsResponse
$cfrom :: forall x.
GetSavingsPlansUtilizationDetailsResponse
-> Rep GetSavingsPlansUtilizationDetailsResponse x
Prelude.Generic)
newGetSavingsPlansUtilizationDetailsResponse ::
Prelude.Int ->
DateInterval ->
GetSavingsPlansUtilizationDetailsResponse
newGetSavingsPlansUtilizationDetailsResponse :: Int -> DateInterval -> GetSavingsPlansUtilizationDetailsResponse
newGetSavingsPlansUtilizationDetailsResponse
Int
pHttpStatus_
DateInterval
pTimePeriod_ =
GetSavingsPlansUtilizationDetailsResponse'
{ $sel:nextToken:GetSavingsPlansUtilizationDetailsResponse' :: Maybe Text
nextToken =
forall a. Maybe a
Prelude.Nothing,
$sel:total:GetSavingsPlansUtilizationDetailsResponse' :: Maybe SavingsPlansUtilizationAggregates
total = forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:GetSavingsPlansUtilizationDetailsResponse' :: Int
httpStatus = Int
pHttpStatus_,
$sel:savingsPlansUtilizationDetails:GetSavingsPlansUtilizationDetailsResponse' :: [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails =
forall a. Monoid a => a
Prelude.mempty,
$sel:timePeriod:GetSavingsPlansUtilizationDetailsResponse' :: DateInterval
timePeriod = DateInterval
pTimePeriod_
}
getSavingsPlansUtilizationDetailsResponse_nextToken :: Lens.Lens' GetSavingsPlansUtilizationDetailsResponse (Prelude.Maybe Prelude.Text)
getSavingsPlansUtilizationDetailsResponse_nextToken :: Lens' GetSavingsPlansUtilizationDetailsResponse (Maybe Text)
getSavingsPlansUtilizationDetailsResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetailsResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetSavingsPlansUtilizationDetailsResponse
s@GetSavingsPlansUtilizationDetailsResponse' {} Maybe Text
a -> GetSavingsPlansUtilizationDetailsResponse
s {$sel:nextToken:GetSavingsPlansUtilizationDetailsResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetSavingsPlansUtilizationDetailsResponse)
getSavingsPlansUtilizationDetailsResponse_total :: Lens.Lens' GetSavingsPlansUtilizationDetailsResponse (Prelude.Maybe SavingsPlansUtilizationAggregates)
getSavingsPlansUtilizationDetailsResponse_total :: Lens'
GetSavingsPlansUtilizationDetailsResponse
(Maybe SavingsPlansUtilizationAggregates)
getSavingsPlansUtilizationDetailsResponse_total = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetailsResponse' {Maybe SavingsPlansUtilizationAggregates
total :: Maybe SavingsPlansUtilizationAggregates
$sel:total:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse
-> Maybe SavingsPlansUtilizationAggregates
total} -> Maybe SavingsPlansUtilizationAggregates
total) (\s :: GetSavingsPlansUtilizationDetailsResponse
s@GetSavingsPlansUtilizationDetailsResponse' {} Maybe SavingsPlansUtilizationAggregates
a -> GetSavingsPlansUtilizationDetailsResponse
s {$sel:total:GetSavingsPlansUtilizationDetailsResponse' :: Maybe SavingsPlansUtilizationAggregates
total = Maybe SavingsPlansUtilizationAggregates
a} :: GetSavingsPlansUtilizationDetailsResponse)
getSavingsPlansUtilizationDetailsResponse_httpStatus :: Lens.Lens' GetSavingsPlansUtilizationDetailsResponse Prelude.Int
getSavingsPlansUtilizationDetailsResponse_httpStatus :: Lens' GetSavingsPlansUtilizationDetailsResponse Int
getSavingsPlansUtilizationDetailsResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetailsResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetSavingsPlansUtilizationDetailsResponse
s@GetSavingsPlansUtilizationDetailsResponse' {} Int
a -> GetSavingsPlansUtilizationDetailsResponse
s {$sel:httpStatus:GetSavingsPlansUtilizationDetailsResponse' :: Int
httpStatus = Int
a} :: GetSavingsPlansUtilizationDetailsResponse)
getSavingsPlansUtilizationDetailsResponse_savingsPlansUtilizationDetails :: Lens.Lens' GetSavingsPlansUtilizationDetailsResponse [SavingsPlansUtilizationDetail]
getSavingsPlansUtilizationDetailsResponse_savingsPlansUtilizationDetails :: Lens'
GetSavingsPlansUtilizationDetailsResponse
[SavingsPlansUtilizationDetail]
getSavingsPlansUtilizationDetailsResponse_savingsPlansUtilizationDetails = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetailsResponse' {[SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails :: [SavingsPlansUtilizationDetail]
$sel:savingsPlansUtilizationDetails:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse
-> [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails} -> [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails) (\s :: GetSavingsPlansUtilizationDetailsResponse
s@GetSavingsPlansUtilizationDetailsResponse' {} [SavingsPlansUtilizationDetail]
a -> GetSavingsPlansUtilizationDetailsResponse
s {$sel:savingsPlansUtilizationDetails:GetSavingsPlansUtilizationDetailsResponse' :: [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails = [SavingsPlansUtilizationDetail]
a} :: GetSavingsPlansUtilizationDetailsResponse) 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
getSavingsPlansUtilizationDetailsResponse_timePeriod :: Lens.Lens' GetSavingsPlansUtilizationDetailsResponse DateInterval
getSavingsPlansUtilizationDetailsResponse_timePeriod :: Lens' GetSavingsPlansUtilizationDetailsResponse DateInterval
getSavingsPlansUtilizationDetailsResponse_timePeriod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetSavingsPlansUtilizationDetailsResponse' {DateInterval
timePeriod :: DateInterval
$sel:timePeriod:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> DateInterval
timePeriod} -> DateInterval
timePeriod) (\s :: GetSavingsPlansUtilizationDetailsResponse
s@GetSavingsPlansUtilizationDetailsResponse' {} DateInterval
a -> GetSavingsPlansUtilizationDetailsResponse
s {$sel:timePeriod:GetSavingsPlansUtilizationDetailsResponse' :: DateInterval
timePeriod = DateInterval
a} :: GetSavingsPlansUtilizationDetailsResponse)
instance
Prelude.NFData
GetSavingsPlansUtilizationDetailsResponse
where
rnf :: GetSavingsPlansUtilizationDetailsResponse -> ()
rnf GetSavingsPlansUtilizationDetailsResponse' {Int
[SavingsPlansUtilizationDetail]
Maybe Text
Maybe SavingsPlansUtilizationAggregates
DateInterval
timePeriod :: DateInterval
savingsPlansUtilizationDetails :: [SavingsPlansUtilizationDetail]
httpStatus :: Int
total :: Maybe SavingsPlansUtilizationAggregates
nextToken :: Maybe Text
$sel:timePeriod:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> DateInterval
$sel:savingsPlansUtilizationDetails:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse
-> [SavingsPlansUtilizationDetail]
$sel:httpStatus:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> Int
$sel:total:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse
-> Maybe SavingsPlansUtilizationAggregates
$sel:nextToken:GetSavingsPlansUtilizationDetailsResponse' :: GetSavingsPlansUtilizationDetailsResponse -> Maybe Text
..} =
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 SavingsPlansUtilizationAggregates
total
seq :: forall a b. a -> b -> b
`Prelude.seq` 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 [SavingsPlansUtilizationDetail]
savingsPlansUtilizationDetails
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf DateInterval
timePeriod