{-# 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.DeviceFarm.RenewOffering
(
RenewOffering (..),
newRenewOffering,
renewOffering_offeringId,
renewOffering_quantity,
RenewOfferingResponse (..),
newRenewOfferingResponse,
renewOfferingResponse_offeringTransaction,
renewOfferingResponse_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
data RenewOffering = RenewOffering'
{
RenewOffering -> Text
offeringId :: Prelude.Text,
RenewOffering -> Int
quantity :: Prelude.Int
}
deriving (RenewOffering -> RenewOffering -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenewOffering -> RenewOffering -> Bool
$c/= :: RenewOffering -> RenewOffering -> Bool
== :: RenewOffering -> RenewOffering -> Bool
$c== :: RenewOffering -> RenewOffering -> Bool
Prelude.Eq, ReadPrec [RenewOffering]
ReadPrec RenewOffering
Int -> ReadS RenewOffering
ReadS [RenewOffering]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RenewOffering]
$creadListPrec :: ReadPrec [RenewOffering]
readPrec :: ReadPrec RenewOffering
$creadPrec :: ReadPrec RenewOffering
readList :: ReadS [RenewOffering]
$creadList :: ReadS [RenewOffering]
readsPrec :: Int -> ReadS RenewOffering
$creadsPrec :: Int -> ReadS RenewOffering
Prelude.Read, Int -> RenewOffering -> ShowS
[RenewOffering] -> ShowS
RenewOffering -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RenewOffering] -> ShowS
$cshowList :: [RenewOffering] -> ShowS
show :: RenewOffering -> String
$cshow :: RenewOffering -> String
showsPrec :: Int -> RenewOffering -> ShowS
$cshowsPrec :: Int -> RenewOffering -> ShowS
Prelude.Show, forall x. Rep RenewOffering x -> RenewOffering
forall x. RenewOffering -> Rep RenewOffering x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RenewOffering x -> RenewOffering
$cfrom :: forall x. RenewOffering -> Rep RenewOffering x
Prelude.Generic)
newRenewOffering ::
Prelude.Text ->
Prelude.Int ->
RenewOffering
newRenewOffering :: Text -> Int -> RenewOffering
newRenewOffering Text
pOfferingId_ Int
pQuantity_ =
RenewOffering'
{ $sel:offeringId:RenewOffering' :: Text
offeringId = Text
pOfferingId_,
$sel:quantity:RenewOffering' :: Int
quantity = Int
pQuantity_
}
renewOffering_offeringId :: Lens.Lens' RenewOffering Prelude.Text
renewOffering_offeringId :: Lens' RenewOffering Text
renewOffering_offeringId = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewOffering' {Text
offeringId :: Text
$sel:offeringId:RenewOffering' :: RenewOffering -> Text
offeringId} -> Text
offeringId) (\s :: RenewOffering
s@RenewOffering' {} Text
a -> RenewOffering
s {$sel:offeringId:RenewOffering' :: Text
offeringId = Text
a} :: RenewOffering)
renewOffering_quantity :: Lens.Lens' RenewOffering Prelude.Int
renewOffering_quantity :: Lens' RenewOffering Int
renewOffering_quantity = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewOffering' {Int
quantity :: Int
$sel:quantity:RenewOffering' :: RenewOffering -> Int
quantity} -> Int
quantity) (\s :: RenewOffering
s@RenewOffering' {} Int
a -> RenewOffering
s {$sel:quantity:RenewOffering' :: Int
quantity = Int
a} :: RenewOffering)
instance Core.AWSRequest RenewOffering where
type
AWSResponse RenewOffering =
RenewOfferingResponse
request :: (Service -> Service) -> RenewOffering -> Request RenewOffering
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 RenewOffering
-> ClientResponse ClientBody
-> m (Either Error (ClientResponse (AWSResponse RenewOffering)))
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 OfferingTransaction -> Int -> RenewOfferingResponse
RenewOfferingResponse'
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
"offeringTransaction")
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 RenewOffering where
hashWithSalt :: Int -> RenewOffering -> Int
hashWithSalt Int
_salt RenewOffering' {Int
Text
quantity :: Int
offeringId :: Text
$sel:quantity:RenewOffering' :: RenewOffering -> Int
$sel:offeringId:RenewOffering' :: RenewOffering -> Text
..} =
Int
_salt
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
offeringId
forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Int
quantity
instance Prelude.NFData RenewOffering where
rnf :: RenewOffering -> ()
rnf RenewOffering' {Int
Text
quantity :: Int
offeringId :: Text
$sel:quantity:RenewOffering' :: RenewOffering -> Int
$sel:offeringId:RenewOffering' :: RenewOffering -> Text
..} =
forall a. NFData a => a -> ()
Prelude.rnf Text
offeringId
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
quantity
instance Data.ToHeaders RenewOffering where
toHeaders :: RenewOffering -> 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.RenewOffering" ::
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 RenewOffering where
toJSON :: RenewOffering -> Value
toJSON RenewOffering' {Int
Text
quantity :: Int
offeringId :: Text
$sel:quantity:RenewOffering' :: RenewOffering -> Int
$sel:offeringId:RenewOffering' :: RenewOffering -> Text
..} =
[Pair] -> Value
Data.object
( forall a. [Maybe a] -> [a]
Prelude.catMaybes
[ forall a. a -> Maybe a
Prelude.Just (Key
"offeringId" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
offeringId),
forall a. a -> Maybe a
Prelude.Just (Key
"quantity" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Int
quantity)
]
)
instance Data.ToPath RenewOffering where
toPath :: RenewOffering -> ByteString
toPath = forall a b. a -> b -> a
Prelude.const ByteString
"/"
instance Data.ToQuery RenewOffering where
toQuery :: RenewOffering -> QueryString
toQuery = forall a b. a -> b -> a
Prelude.const forall a. Monoid a => a
Prelude.mempty
data RenewOfferingResponse = RenewOfferingResponse'
{
RenewOfferingResponse -> Maybe OfferingTransaction
offeringTransaction :: Prelude.Maybe OfferingTransaction,
RenewOfferingResponse -> Int
httpStatus :: Prelude.Int
}
deriving (RenewOfferingResponse -> RenewOfferingResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RenewOfferingResponse -> RenewOfferingResponse -> Bool
$c/= :: RenewOfferingResponse -> RenewOfferingResponse -> Bool
== :: RenewOfferingResponse -> RenewOfferingResponse -> Bool
$c== :: RenewOfferingResponse -> RenewOfferingResponse -> Bool
Prelude.Eq, ReadPrec [RenewOfferingResponse]
ReadPrec RenewOfferingResponse
Int -> ReadS RenewOfferingResponse
ReadS [RenewOfferingResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RenewOfferingResponse]
$creadListPrec :: ReadPrec [RenewOfferingResponse]
readPrec :: ReadPrec RenewOfferingResponse
$creadPrec :: ReadPrec RenewOfferingResponse
readList :: ReadS [RenewOfferingResponse]
$creadList :: ReadS [RenewOfferingResponse]
readsPrec :: Int -> ReadS RenewOfferingResponse
$creadsPrec :: Int -> ReadS RenewOfferingResponse
Prelude.Read, Int -> RenewOfferingResponse -> ShowS
[RenewOfferingResponse] -> ShowS
RenewOfferingResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RenewOfferingResponse] -> ShowS
$cshowList :: [RenewOfferingResponse] -> ShowS
show :: RenewOfferingResponse -> String
$cshow :: RenewOfferingResponse -> String
showsPrec :: Int -> RenewOfferingResponse -> ShowS
$cshowsPrec :: Int -> RenewOfferingResponse -> ShowS
Prelude.Show, forall x. Rep RenewOfferingResponse x -> RenewOfferingResponse
forall x. RenewOfferingResponse -> Rep RenewOfferingResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x. Rep RenewOfferingResponse x -> RenewOfferingResponse
$cfrom :: forall x. RenewOfferingResponse -> Rep RenewOfferingResponse x
Prelude.Generic)
newRenewOfferingResponse ::
Prelude.Int ->
RenewOfferingResponse
newRenewOfferingResponse :: Int -> RenewOfferingResponse
newRenewOfferingResponse Int
pHttpStatus_ =
RenewOfferingResponse'
{ $sel:offeringTransaction:RenewOfferingResponse' :: Maybe OfferingTransaction
offeringTransaction =
forall a. Maybe a
Prelude.Nothing,
$sel:httpStatus:RenewOfferingResponse' :: Int
httpStatus = Int
pHttpStatus_
}
renewOfferingResponse_offeringTransaction :: Lens.Lens' RenewOfferingResponse (Prelude.Maybe OfferingTransaction)
renewOfferingResponse_offeringTransaction :: Lens' RenewOfferingResponse (Maybe OfferingTransaction)
renewOfferingResponse_offeringTransaction = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewOfferingResponse' {Maybe OfferingTransaction
offeringTransaction :: Maybe OfferingTransaction
$sel:offeringTransaction:RenewOfferingResponse' :: RenewOfferingResponse -> Maybe OfferingTransaction
offeringTransaction} -> Maybe OfferingTransaction
offeringTransaction) (\s :: RenewOfferingResponse
s@RenewOfferingResponse' {} Maybe OfferingTransaction
a -> RenewOfferingResponse
s {$sel:offeringTransaction:RenewOfferingResponse' :: Maybe OfferingTransaction
offeringTransaction = Maybe OfferingTransaction
a} :: RenewOfferingResponse)
renewOfferingResponse_httpStatus :: Lens.Lens' RenewOfferingResponse Prelude.Int
renewOfferingResponse_httpStatus :: Lens' RenewOfferingResponse Int
renewOfferingResponse_httpStatus = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RenewOfferingResponse' {Int
httpStatus :: Int
$sel:httpStatus:RenewOfferingResponse' :: RenewOfferingResponse -> Int
httpStatus} -> Int
httpStatus) (\s :: RenewOfferingResponse
s@RenewOfferingResponse' {} Int
a -> RenewOfferingResponse
s {$sel:httpStatus:RenewOfferingResponse' :: Int
httpStatus = Int
a} :: RenewOfferingResponse)
instance Prelude.NFData RenewOfferingResponse where
rnf :: RenewOfferingResponse -> ()
rnf RenewOfferingResponse' {Int
Maybe OfferingTransaction
httpStatus :: Int
offeringTransaction :: Maybe OfferingTransaction
$sel:httpStatus:RenewOfferingResponse' :: RenewOfferingResponse -> Int
$sel:offeringTransaction:RenewOfferingResponse' :: RenewOfferingResponse -> Maybe OfferingTransaction
..} =
forall a. NFData a => a -> ()
Prelude.rnf Maybe OfferingTransaction
offeringTransaction
seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus