{-# 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 #-}

-- Derived from AWS service descriptions, licensed under Apache 2.0.

-- |
-- Module      : Amazonka.DeviceFarm.GetOfferingStatus
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Gets the current status and future status of all offerings purchased by
-- an AWS account. The response indicates how many offerings are currently
-- available and the offerings that will be available in the next period.
-- The API returns a @NotEligible@ error if the user is not permitted to
-- invoke the operation. If you must be able to invoke this operation,
-- contact
-- <mailto:aws-devicefarm-support@amazon.com aws-devicefarm-support\@amazon.com>.
--
-- This operation returns paginated results.
module Amazonka.DeviceFarm.GetOfferingStatus
  ( -- * Creating a Request
    GetOfferingStatus (..),
    newGetOfferingStatus,

    -- * Request Lenses
    getOfferingStatus_nextToken,

    -- * Destructuring the Response
    GetOfferingStatusResponse (..),
    newGetOfferingStatusResponse,

    -- * Response Lenses
    getOfferingStatusResponse_current,
    getOfferingStatusResponse_nextPeriod,
    getOfferingStatusResponse_nextToken,
    getOfferingStatusResponse_httpStatus,
  )
where

import qualified Amazonka.Core as Core
import qualified Amazonka.Core.Lens.Internal as Lens
import qualified Amazonka.Data as Data
import Amazonka.DeviceFarm.Types
import qualified Amazonka.Prelude as Prelude
import qualified Amazonka.Request as Request
import qualified Amazonka.Response as Response

-- | Represents the request to retrieve the offering status for the specified
-- customer or account.
--
-- /See:/ 'newGetOfferingStatus' smart constructor.
data GetOfferingStatus = GetOfferingStatus'
  { -- | An identifier that was returned from the previous call to this
    -- operation, which can be used to return the next set of items in the
    -- list.
    GetOfferingStatus -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text
  }
  deriving (GetOfferingStatus -> GetOfferingStatus -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetOfferingStatus -> GetOfferingStatus -> Bool
$c/= :: GetOfferingStatus -> GetOfferingStatus -> Bool
== :: GetOfferingStatus -> GetOfferingStatus -> Bool
$c== :: GetOfferingStatus -> GetOfferingStatus -> Bool
Prelude.Eq, ReadPrec [GetOfferingStatus]
ReadPrec GetOfferingStatus
Int -> ReadS GetOfferingStatus
ReadS [GetOfferingStatus]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetOfferingStatus]
$creadListPrec :: ReadPrec [GetOfferingStatus]
readPrec :: ReadPrec GetOfferingStatus
$creadPrec :: ReadPrec GetOfferingStatus
readList :: ReadS [GetOfferingStatus]
$creadList :: ReadS [GetOfferingStatus]
readsPrec :: Int -> ReadS GetOfferingStatus
$creadsPrec :: Int -> ReadS GetOfferingStatus
Prelude.Read, Int -> GetOfferingStatus -> ShowS
[GetOfferingStatus] -> ShowS
GetOfferingStatus -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetOfferingStatus] -> ShowS
$cshowList :: [GetOfferingStatus] -> ShowS
show :: GetOfferingStatus -> String
$cshow :: GetOfferingStatus -> String
showsPrec :: Int -> GetOfferingStatus -> ShowS
$cshowsPrec :: Int -> GetOfferingStatus -> ShowS
Prelude.Show, forall x. Rep GetOfferingStatus x -> GetOfferingStatus
forall x. GetOfferingStatus -> Rep GetOfferingStatus x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep GetOfferingStatus x -> GetOfferingStatus
$cfrom :: forall x. GetOfferingStatus -> Rep GetOfferingStatus x
Prelude.Generic)

-- |
-- Create a value of 'GetOfferingStatus' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'nextToken', 'getOfferingStatus_nextToken' - An identifier that was returned from the previous call to this
-- operation, which can be used to return the next set of items in the
-- list.
newGetOfferingStatus ::
  GetOfferingStatus
newGetOfferingStatus :: GetOfferingStatus
newGetOfferingStatus =
  GetOfferingStatus' {$sel:nextToken:GetOfferingStatus' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing}

-- | An identifier that was returned from the previous call to this
-- operation, which can be used to return the next set of items in the
-- list.
getOfferingStatus_nextToken :: Lens.Lens' GetOfferingStatus (Prelude.Maybe Prelude.Text)
getOfferingStatus_nextToken :: Lens' GetOfferingStatus (Maybe Text)
getOfferingStatus_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetOfferingStatus' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetOfferingStatus' :: GetOfferingStatus -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetOfferingStatus
s@GetOfferingStatus' {} Maybe Text
a -> GetOfferingStatus
s {$sel:nextToken:GetOfferingStatus' :: Maybe Text
nextToken = Maybe Text
a} :: GetOfferingStatus)

instance Core.AWSPager GetOfferingStatus where
  page :: GetOfferingStatus
-> AWSResponse GetOfferingStatus -> Maybe GetOfferingStatus
page GetOfferingStatus
rq AWSResponse GetOfferingStatus
rs
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetOfferingStatus
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetOfferingStatusResponse (Maybe Text)
getOfferingStatusResponse_nextToken
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetOfferingStatus
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  GetOfferingStatusResponse (Maybe (HashMap Text OfferingStatus))
getOfferingStatusResponse_current
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | forall a. AWSTruncated a => a -> Bool
Core.stop
        ( AWSResponse GetOfferingStatus
rs
            forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens'
  GetOfferingStatusResponse (Maybe (HashMap Text OfferingStatus))
getOfferingStatusResponse_nextPeriod
            forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just
        ) =
        forall a. Maybe a
Prelude.Nothing
    | Bool
Prelude.otherwise =
        forall a. a -> Maybe a
Prelude.Just
          forall a b. (a -> b) -> a -> b
Prelude.$ GetOfferingStatus
rq
          forall a b. a -> (a -> b) -> b
Prelude.& Lens' GetOfferingStatus (Maybe Text)
getOfferingStatus_nextToken
          forall s t a b. ASetter s t a b -> b -> s -> t
Lens..~ AWSResponse GetOfferingStatus
rs
          forall s a. s -> Getting (First a) s a -> Maybe a
Lens.^? Lens' GetOfferingStatusResponse (Maybe Text)
getOfferingStatusResponse_nextToken
          forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. forall a b. Prism (Maybe a) (Maybe b) a b
Lens._Just

instance Core.AWSRequest GetOfferingStatus where
  type
    AWSResponse GetOfferingStatus =
      GetOfferingStatusResponse
  request :: (Service -> Service)
-> GetOfferingStatus -> Request GetOfferingStatus
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 GetOfferingStatus
-> ClientResponse ClientBody
-> m (Either
        Error (ClientResponse (AWSResponse GetOfferingStatus)))
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 (HashMap Text OfferingStatus)
-> Maybe (HashMap Text OfferingStatus)
-> Maybe Text
-> Int
-> GetOfferingStatusResponse
GetOfferingStatusResponse'
            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
"current" 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
"nextPeriod" 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 GetOfferingStatus where
  hashWithSalt :: Int -> GetOfferingStatus -> Int
hashWithSalt Int
_salt GetOfferingStatus' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetOfferingStatus' :: GetOfferingStatus -> Maybe Text
..} =
    Int
_salt forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Maybe Text
nextToken

instance Prelude.NFData GetOfferingStatus where
  rnf :: GetOfferingStatus -> ()
rnf GetOfferingStatus' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetOfferingStatus' :: GetOfferingStatus -> Maybe Text
..} = forall a. NFData a => a -> ()
Prelude.rnf Maybe Text
nextToken

instance Data.ToHeaders GetOfferingStatus where
  toHeaders :: GetOfferingStatus -> 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
"DeviceFarm_20150623.GetOfferingStatus" ::
                          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 GetOfferingStatus where
  toJSON :: GetOfferingStatus -> Value
toJSON GetOfferingStatus' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetOfferingStatus' :: GetOfferingStatus -> Maybe Text
..} =
    [Pair] -> Value
Data.object
      ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
          [(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]
      )

instance Data.ToPath GetOfferingStatus where
  toPath :: GetOfferingStatus -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"

instance Data.ToQuery GetOfferingStatus where
  toQuery :: GetOfferingStatus -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty

-- | Returns the status result for a device offering.
--
-- /See:/ 'newGetOfferingStatusResponse' smart constructor.
data GetOfferingStatusResponse = GetOfferingStatusResponse'
  { -- | When specified, gets the offering status for the current period.
    GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
current :: Prelude.Maybe (Prelude.HashMap Prelude.Text OfferingStatus),
    -- | When specified, gets the offering status for the next period.
    GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
nextPeriod :: Prelude.Maybe (Prelude.HashMap Prelude.Text OfferingStatus),
    -- | An identifier that was returned from the previous call to this
    -- operation, which can be used to return the next set of items in the
    -- list.
    GetOfferingStatusResponse -> Maybe Text
nextToken :: Prelude.Maybe Prelude.Text,
    -- | The response's http status code.
    GetOfferingStatusResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (GetOfferingStatusResponse -> GetOfferingStatusResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: GetOfferingStatusResponse -> GetOfferingStatusResponse -> Bool
$c/= :: GetOfferingStatusResponse -> GetOfferingStatusResponse -> Bool
== :: GetOfferingStatusResponse -> GetOfferingStatusResponse -> Bool
$c== :: GetOfferingStatusResponse -> GetOfferingStatusResponse -> Bool
Prelude.Eq, ReadPrec [GetOfferingStatusResponse]
ReadPrec GetOfferingStatusResponse
Int -> ReadS GetOfferingStatusResponse
ReadS [GetOfferingStatusResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [GetOfferingStatusResponse]
$creadListPrec :: ReadPrec [GetOfferingStatusResponse]
readPrec :: ReadPrec GetOfferingStatusResponse
$creadPrec :: ReadPrec GetOfferingStatusResponse
readList :: ReadS [GetOfferingStatusResponse]
$creadList :: ReadS [GetOfferingStatusResponse]
readsPrec :: Int -> ReadS GetOfferingStatusResponse
$creadsPrec :: Int -> ReadS GetOfferingStatusResponse
Prelude.Read, Int -> GetOfferingStatusResponse -> ShowS
[GetOfferingStatusResponse] -> ShowS
GetOfferingStatusResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [GetOfferingStatusResponse] -> ShowS
$cshowList :: [GetOfferingStatusResponse] -> ShowS
show :: GetOfferingStatusResponse -> String
$cshow :: GetOfferingStatusResponse -> String
showsPrec :: Int -> GetOfferingStatusResponse -> ShowS
$cshowsPrec :: Int -> GetOfferingStatusResponse -> ShowS
Prelude.Show, forall x.
Rep GetOfferingStatusResponse x -> GetOfferingStatusResponse
forall x.
GetOfferingStatusResponse -> Rep GetOfferingStatusResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep GetOfferingStatusResponse x -> GetOfferingStatusResponse
$cfrom :: forall x.
GetOfferingStatusResponse -> Rep GetOfferingStatusResponse x
Prelude.Generic)

-- |
-- Create a value of 'GetOfferingStatusResponse' with all optional fields omitted.
--
-- Use <https://hackage.haskell.org/package/generic-lens generic-lens> or <https://hackage.haskell.org/package/optics optics> to modify other optional fields.
--
-- The following record fields are available, with the corresponding lenses provided
-- for backwards compatibility:
--
-- 'current', 'getOfferingStatusResponse_current' - When specified, gets the offering status for the current period.
--
-- 'nextPeriod', 'getOfferingStatusResponse_nextPeriod' - When specified, gets the offering status for the next period.
--
-- 'nextToken', 'getOfferingStatusResponse_nextToken' - An identifier that was returned from the previous call to this
-- operation, which can be used to return the next set of items in the
-- list.
--
-- 'httpStatus', 'getOfferingStatusResponse_httpStatus' - The response's http status code.
newGetOfferingStatusResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  GetOfferingStatusResponse
newGetOfferingStatusResponse :: Int -> GetOfferingStatusResponse
newGetOfferingStatusResponse Int
pHttpStatus_ =
  GetOfferingStatusResponse'
    { $sel:current:GetOfferingStatusResponse' :: Maybe (HashMap Text OfferingStatus)
current =
        forall a. Maybe a
Prelude.Nothing,
      $sel:nextPeriod:GetOfferingStatusResponse' :: Maybe (HashMap Text OfferingStatus)
nextPeriod = forall a. Maybe a
Prelude.Nothing,
      $sel:nextToken:GetOfferingStatusResponse' :: Maybe Text
nextToken = forall a. Maybe a
Prelude.Nothing,
      $sel:httpStatus:GetOfferingStatusResponse' :: Int
httpStatus = Int
pHttpStatus_
    }

-- | When specified, gets the offering status for the current period.
getOfferingStatusResponse_current :: Lens.Lens' GetOfferingStatusResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text OfferingStatus))
getOfferingStatusResponse_current :: Lens'
  GetOfferingStatusResponse (Maybe (HashMap Text OfferingStatus))
getOfferingStatusResponse_current = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetOfferingStatusResponse' {Maybe (HashMap Text OfferingStatus)
current :: Maybe (HashMap Text OfferingStatus)
$sel:current:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
current} -> Maybe (HashMap Text OfferingStatus)
current) (\s :: GetOfferingStatusResponse
s@GetOfferingStatusResponse' {} Maybe (HashMap Text OfferingStatus)
a -> GetOfferingStatusResponse
s {$sel:current:GetOfferingStatusResponse' :: Maybe (HashMap Text OfferingStatus)
current = Maybe (HashMap Text OfferingStatus)
a} :: GetOfferingStatusResponse) 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

-- | When specified, gets the offering status for the next period.
getOfferingStatusResponse_nextPeriod :: Lens.Lens' GetOfferingStatusResponse (Prelude.Maybe (Prelude.HashMap Prelude.Text OfferingStatus))
getOfferingStatusResponse_nextPeriod :: Lens'
  GetOfferingStatusResponse (Maybe (HashMap Text OfferingStatus))
getOfferingStatusResponse_nextPeriod = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetOfferingStatusResponse' {Maybe (HashMap Text OfferingStatus)
nextPeriod :: Maybe (HashMap Text OfferingStatus)
$sel:nextPeriod:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
nextPeriod} -> Maybe (HashMap Text OfferingStatus)
nextPeriod) (\s :: GetOfferingStatusResponse
s@GetOfferingStatusResponse' {} Maybe (HashMap Text OfferingStatus)
a -> GetOfferingStatusResponse
s {$sel:nextPeriod:GetOfferingStatusResponse' :: Maybe (HashMap Text OfferingStatus)
nextPeriod = Maybe (HashMap Text OfferingStatus)
a} :: GetOfferingStatusResponse) 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

-- | An identifier that was returned from the previous call to this
-- operation, which can be used to return the next set of items in the
-- list.
getOfferingStatusResponse_nextToken :: Lens.Lens' GetOfferingStatusResponse (Prelude.Maybe Prelude.Text)
getOfferingStatusResponse_nextToken :: Lens' GetOfferingStatusResponse (Maybe Text)
getOfferingStatusResponse_nextToken = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetOfferingStatusResponse' {Maybe Text
nextToken :: Maybe Text
$sel:nextToken:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe Text
nextToken} -> Maybe Text
nextToken) (\s :: GetOfferingStatusResponse
s@GetOfferingStatusResponse' {} Maybe Text
a -> GetOfferingStatusResponse
s {$sel:nextToken:GetOfferingStatusResponse' :: Maybe Text
nextToken = Maybe Text
a} :: GetOfferingStatusResponse)

-- | The response's http status code.
getOfferingStatusResponse_httpStatus :: Lens.Lens' GetOfferingStatusResponse Prelude.Int
getOfferingStatusResponse_httpStatus :: Lens' GetOfferingStatusResponse Int
getOfferingStatusResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\GetOfferingStatusResponse' {Int
httpStatus :: Int
$sel:httpStatus:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: GetOfferingStatusResponse
s@GetOfferingStatusResponse' {} Int
a -> GetOfferingStatusResponse
s {$sel:httpStatus:GetOfferingStatusResponse' :: Int
httpStatus = Int
a} :: GetOfferingStatusResponse)

instance Prelude.NFData GetOfferingStatusResponse where
  rnf :: GetOfferingStatusResponse -> ()
rnf GetOfferingStatusResponse' {Int
Maybe Text
Maybe (HashMap Text OfferingStatus)
httpStatus :: Int
nextToken :: Maybe Text
nextPeriod :: Maybe (HashMap Text OfferingStatus)
current :: Maybe (HashMap Text OfferingStatus)
$sel:httpStatus:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Int
$sel:nextToken:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe Text
$sel:nextPeriod:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
$sel:current:GetOfferingStatusResponse' :: GetOfferingStatusResponse -> Maybe (HashMap Text OfferingStatus)
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text OfferingStatus)
current
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Maybe (HashMap Text OfferingStatus)
nextPeriod
      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