{-# 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.ServiceQuotas.PutServiceQuotaIncreaseRequestIntoTemplate
-- Copyright   : (c) 2013-2023 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
--
-- Adds a quota increase request to your quota request template.
module Amazonka.ServiceQuotas.PutServiceQuotaIncreaseRequestIntoTemplate
  ( -- * Creating a Request
    PutServiceQuotaIncreaseRequestIntoTemplate (..),
    newPutServiceQuotaIncreaseRequestIntoTemplate,

    -- * Request Lenses
    putServiceQuotaIncreaseRequestIntoTemplate_quotaCode,
    putServiceQuotaIncreaseRequestIntoTemplate_serviceCode,
    putServiceQuotaIncreaseRequestIntoTemplate_awsRegion,
    putServiceQuotaIncreaseRequestIntoTemplate_desiredValue,

    -- * Destructuring the Response
    PutServiceQuotaIncreaseRequestIntoTemplateResponse (..),
    newPutServiceQuotaIncreaseRequestIntoTemplateResponse,

    -- * Response Lenses
    putServiceQuotaIncreaseRequestIntoTemplateResponse_serviceQuotaIncreaseRequestInTemplate,
    putServiceQuotaIncreaseRequestIntoTemplateResponse_httpStatus,
  )
where

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
import Amazonka.ServiceQuotas.Types

-- | /See:/ 'newPutServiceQuotaIncreaseRequestIntoTemplate' smart constructor.
data PutServiceQuotaIncreaseRequestIntoTemplate = PutServiceQuotaIncreaseRequestIntoTemplate'
  { -- | The quota identifier.
    PutServiceQuotaIncreaseRequestIntoTemplate -> Text
quotaCode :: Prelude.Text,
    -- | The service identifier.
    PutServiceQuotaIncreaseRequestIntoTemplate -> Text
serviceCode :: Prelude.Text,
    -- | The AWS Region.
    PutServiceQuotaIncreaseRequestIntoTemplate -> Text
awsRegion :: Prelude.Text,
    -- | The new, increased value for the quota.
    PutServiceQuotaIncreaseRequestIntoTemplate -> Double
desiredValue :: Prelude.Double
  }
  deriving (PutServiceQuotaIncreaseRequestIntoTemplate
-> PutServiceQuotaIncreaseRequestIntoTemplate -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutServiceQuotaIncreaseRequestIntoTemplate
-> PutServiceQuotaIncreaseRequestIntoTemplate -> Bool
$c/= :: PutServiceQuotaIncreaseRequestIntoTemplate
-> PutServiceQuotaIncreaseRequestIntoTemplate -> Bool
== :: PutServiceQuotaIncreaseRequestIntoTemplate
-> PutServiceQuotaIncreaseRequestIntoTemplate -> Bool
$c== :: PutServiceQuotaIncreaseRequestIntoTemplate
-> PutServiceQuotaIncreaseRequestIntoTemplate -> Bool
Prelude.Eq, ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplate]
ReadPrec PutServiceQuotaIncreaseRequestIntoTemplate
Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplate
ReadS [PutServiceQuotaIncreaseRequestIntoTemplate]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplate]
$creadListPrec :: ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplate]
readPrec :: ReadPrec PutServiceQuotaIncreaseRequestIntoTemplate
$creadPrec :: ReadPrec PutServiceQuotaIncreaseRequestIntoTemplate
readList :: ReadS [PutServiceQuotaIncreaseRequestIntoTemplate]
$creadList :: ReadS [PutServiceQuotaIncreaseRequestIntoTemplate]
readsPrec :: Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplate
$creadsPrec :: Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplate
Prelude.Read, Int -> PutServiceQuotaIncreaseRequestIntoTemplate -> ShowS
[PutServiceQuotaIncreaseRequestIntoTemplate] -> ShowS
PutServiceQuotaIncreaseRequestIntoTemplate -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutServiceQuotaIncreaseRequestIntoTemplate] -> ShowS
$cshowList :: [PutServiceQuotaIncreaseRequestIntoTemplate] -> ShowS
show :: PutServiceQuotaIncreaseRequestIntoTemplate -> String
$cshow :: PutServiceQuotaIncreaseRequestIntoTemplate -> String
showsPrec :: Int -> PutServiceQuotaIncreaseRequestIntoTemplate -> ShowS
$cshowsPrec :: Int -> PutServiceQuotaIncreaseRequestIntoTemplate -> ShowS
Prelude.Show, forall x.
Rep PutServiceQuotaIncreaseRequestIntoTemplate x
-> PutServiceQuotaIncreaseRequestIntoTemplate
forall x.
PutServiceQuotaIncreaseRequestIntoTemplate
-> Rep PutServiceQuotaIncreaseRequestIntoTemplate x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutServiceQuotaIncreaseRequestIntoTemplate x
-> PutServiceQuotaIncreaseRequestIntoTemplate
$cfrom :: forall x.
PutServiceQuotaIncreaseRequestIntoTemplate
-> Rep PutServiceQuotaIncreaseRequestIntoTemplate x
Prelude.Generic)

-- |
-- Create a value of 'PutServiceQuotaIncreaseRequestIntoTemplate' 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:
--
-- 'quotaCode', 'putServiceQuotaIncreaseRequestIntoTemplate_quotaCode' - The quota identifier.
--
-- 'serviceCode', 'putServiceQuotaIncreaseRequestIntoTemplate_serviceCode' - The service identifier.
--
-- 'awsRegion', 'putServiceQuotaIncreaseRequestIntoTemplate_awsRegion' - The AWS Region.
--
-- 'desiredValue', 'putServiceQuotaIncreaseRequestIntoTemplate_desiredValue' - The new, increased value for the quota.
newPutServiceQuotaIncreaseRequestIntoTemplate ::
  -- | 'quotaCode'
  Prelude.Text ->
  -- | 'serviceCode'
  Prelude.Text ->
  -- | 'awsRegion'
  Prelude.Text ->
  -- | 'desiredValue'
  Prelude.Double ->
  PutServiceQuotaIncreaseRequestIntoTemplate
newPutServiceQuotaIncreaseRequestIntoTemplate :: Text
-> Text
-> Text
-> Double
-> PutServiceQuotaIncreaseRequestIntoTemplate
newPutServiceQuotaIncreaseRequestIntoTemplate
  Text
pQuotaCode_
  Text
pServiceCode_
  Text
pAwsRegion_
  Double
pDesiredValue_ =
    PutServiceQuotaIncreaseRequestIntoTemplate'
      { $sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
quotaCode =
          Text
pQuotaCode_,
        $sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
serviceCode = Text
pServiceCode_,
        $sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
awsRegion = Text
pAwsRegion_,
        $sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: Double
desiredValue = Double
pDesiredValue_
      }

-- | The quota identifier.
putServiceQuotaIncreaseRequestIntoTemplate_quotaCode :: Lens.Lens' PutServiceQuotaIncreaseRequestIntoTemplate Prelude.Text
putServiceQuotaIncreaseRequestIntoTemplate_quotaCode :: Lens' PutServiceQuotaIncreaseRequestIntoTemplate Text
putServiceQuotaIncreaseRequestIntoTemplate_quotaCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutServiceQuotaIncreaseRequestIntoTemplate' {Text
quotaCode :: Text
$sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
quotaCode} -> Text
quotaCode) (\s :: PutServiceQuotaIncreaseRequestIntoTemplate
s@PutServiceQuotaIncreaseRequestIntoTemplate' {} Text
a -> PutServiceQuotaIncreaseRequestIntoTemplate
s {$sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
quotaCode = Text
a} :: PutServiceQuotaIncreaseRequestIntoTemplate)

-- | The service identifier.
putServiceQuotaIncreaseRequestIntoTemplate_serviceCode :: Lens.Lens' PutServiceQuotaIncreaseRequestIntoTemplate Prelude.Text
putServiceQuotaIncreaseRequestIntoTemplate_serviceCode :: Lens' PutServiceQuotaIncreaseRequestIntoTemplate Text
putServiceQuotaIncreaseRequestIntoTemplate_serviceCode = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutServiceQuotaIncreaseRequestIntoTemplate' {Text
serviceCode :: Text
$sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
serviceCode} -> Text
serviceCode) (\s :: PutServiceQuotaIncreaseRequestIntoTemplate
s@PutServiceQuotaIncreaseRequestIntoTemplate' {} Text
a -> PutServiceQuotaIncreaseRequestIntoTemplate
s {$sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
serviceCode = Text
a} :: PutServiceQuotaIncreaseRequestIntoTemplate)

-- | The AWS Region.
putServiceQuotaIncreaseRequestIntoTemplate_awsRegion :: Lens.Lens' PutServiceQuotaIncreaseRequestIntoTemplate Prelude.Text
putServiceQuotaIncreaseRequestIntoTemplate_awsRegion :: Lens' PutServiceQuotaIncreaseRequestIntoTemplate Text
putServiceQuotaIncreaseRequestIntoTemplate_awsRegion = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutServiceQuotaIncreaseRequestIntoTemplate' {Text
awsRegion :: Text
$sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
awsRegion} -> Text
awsRegion) (\s :: PutServiceQuotaIncreaseRequestIntoTemplate
s@PutServiceQuotaIncreaseRequestIntoTemplate' {} Text
a -> PutServiceQuotaIncreaseRequestIntoTemplate
s {$sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: Text
awsRegion = Text
a} :: PutServiceQuotaIncreaseRequestIntoTemplate)

-- | The new, increased value for the quota.
putServiceQuotaIncreaseRequestIntoTemplate_desiredValue :: Lens.Lens' PutServiceQuotaIncreaseRequestIntoTemplate Prelude.Double
putServiceQuotaIncreaseRequestIntoTemplate_desiredValue :: Lens' PutServiceQuotaIncreaseRequestIntoTemplate Double
putServiceQuotaIncreaseRequestIntoTemplate_desiredValue = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutServiceQuotaIncreaseRequestIntoTemplate' {Double
desiredValue :: Double
$sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Double
desiredValue} -> Double
desiredValue) (\s :: PutServiceQuotaIncreaseRequestIntoTemplate
s@PutServiceQuotaIncreaseRequestIntoTemplate' {} Double
a -> PutServiceQuotaIncreaseRequestIntoTemplate
s {$sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: Double
desiredValue = Double
a} :: PutServiceQuotaIncreaseRequestIntoTemplate)

instance
  Core.AWSRequest
    PutServiceQuotaIncreaseRequestIntoTemplate
  where
  type
    AWSResponse
      PutServiceQuotaIncreaseRequestIntoTemplate =
      PutServiceQuotaIncreaseRequestIntoTemplateResponse
  request :: (Service -> Service)
-> PutServiceQuotaIncreaseRequestIntoTemplate
-> Request PutServiceQuotaIncreaseRequestIntoTemplate
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 PutServiceQuotaIncreaseRequestIntoTemplate
-> ClientResponse ClientBody
-> m (Either
        Error
        (ClientResponse
           (AWSResponse PutServiceQuotaIncreaseRequestIntoTemplate)))
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 ServiceQuotaIncreaseRequestInTemplate
-> Int -> PutServiceQuotaIncreaseRequestIntoTemplateResponse
PutServiceQuotaIncreaseRequestIntoTemplateResponse'
            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
"ServiceQuotaIncreaseRequestInTemplate")
            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
    PutServiceQuotaIncreaseRequestIntoTemplate
  where
  hashWithSalt :: Int -> PutServiceQuotaIncreaseRequestIntoTemplate -> Int
hashWithSalt
    Int
_salt
    PutServiceQuotaIncreaseRequestIntoTemplate' {Double
Text
desiredValue :: Double
awsRegion :: Text
serviceCode :: Text
quotaCode :: Text
$sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Double
$sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
..} =
      Int
_salt
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
quotaCode
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
serviceCode
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Text
awsRegion
        forall a. Hashable a => Int -> a -> Int
`Prelude.hashWithSalt` Double
desiredValue

instance
  Prelude.NFData
    PutServiceQuotaIncreaseRequestIntoTemplate
  where
  rnf :: PutServiceQuotaIncreaseRequestIntoTemplate -> ()
rnf PutServiceQuotaIncreaseRequestIntoTemplate' {Double
Text
desiredValue :: Double
awsRegion :: Text
serviceCode :: Text
quotaCode :: Text
$sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Double
$sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
..} =
    forall a. NFData a => a -> ()
Prelude.rnf Text
quotaCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
serviceCode
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Text
awsRegion
      seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Double
desiredValue

instance
  Data.ToHeaders
    PutServiceQuotaIncreaseRequestIntoTemplate
  where
  toHeaders :: PutServiceQuotaIncreaseRequestIntoTemplate -> 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
"ServiceQuotasV20190624.PutServiceQuotaIncreaseRequestIntoTemplate" ::
                          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
    PutServiceQuotaIncreaseRequestIntoTemplate
  where
  toJSON :: PutServiceQuotaIncreaseRequestIntoTemplate -> Value
toJSON
    PutServiceQuotaIncreaseRequestIntoTemplate' {Double
Text
desiredValue :: Double
awsRegion :: Text
serviceCode :: Text
quotaCode :: Text
$sel:desiredValue:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Double
$sel:awsRegion:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:serviceCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
$sel:quotaCode:PutServiceQuotaIncreaseRequestIntoTemplate' :: PutServiceQuotaIncreaseRequestIntoTemplate -> Text
..} =
      [Pair] -> Value
Data.object
        ( forall a. [Maybe a] -> [a]
Prelude.catMaybes
            [ forall a. a -> Maybe a
Prelude.Just (Key
"QuotaCode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
quotaCode),
              forall a. a -> Maybe a
Prelude.Just (Key
"ServiceCode" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
serviceCode),
              forall a. a -> Maybe a
Prelude.Just (Key
"AwsRegion" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Text
awsRegion),
              forall a. a -> Maybe a
Prelude.Just (Key
"DesiredValue" forall kv v. (KeyValue kv, ToJSON v) => Key -> v -> kv
Data..= Double
desiredValue)
            ]
        )

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

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

-- | /See:/ 'newPutServiceQuotaIncreaseRequestIntoTemplateResponse' smart constructor.
data PutServiceQuotaIncreaseRequestIntoTemplateResponse = PutServiceQuotaIncreaseRequestIntoTemplateResponse'
  { -- | Information about the quota increase request.
    PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate :: Prelude.Maybe ServiceQuotaIncreaseRequestInTemplate,
    -- | The response's http status code.
    PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Int
httpStatus :: Prelude.Int
  }
  deriving (PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Bool
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Bool
$c/= :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Bool
== :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Bool
$c== :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Bool
Prelude.Eq, ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
ReadPrec PutServiceQuotaIncreaseRequestIntoTemplateResponse
Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplateResponse
ReadS [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
$creadListPrec :: ReadPrec [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
readPrec :: ReadPrec PutServiceQuotaIncreaseRequestIntoTemplateResponse
$creadPrec :: ReadPrec PutServiceQuotaIncreaseRequestIntoTemplateResponse
readList :: ReadS [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
$creadList :: ReadS [PutServiceQuotaIncreaseRequestIntoTemplateResponse]
readsPrec :: Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplateResponse
$creadsPrec :: Int -> ReadS PutServiceQuotaIncreaseRequestIntoTemplateResponse
Prelude.Read, Int -> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> ShowS
[PutServiceQuotaIncreaseRequestIntoTemplateResponse] -> ShowS
PutServiceQuotaIncreaseRequestIntoTemplateResponse -> String
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [PutServiceQuotaIncreaseRequestIntoTemplateResponse] -> ShowS
$cshowList :: [PutServiceQuotaIncreaseRequestIntoTemplateResponse] -> ShowS
show :: PutServiceQuotaIncreaseRequestIntoTemplateResponse -> String
$cshow :: PutServiceQuotaIncreaseRequestIntoTemplateResponse -> String
showsPrec :: Int -> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> ShowS
$cshowsPrec :: Int -> PutServiceQuotaIncreaseRequestIntoTemplateResponse -> ShowS
Prelude.Show, forall x.
Rep PutServiceQuotaIncreaseRequestIntoTemplateResponse x
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse
forall x.
PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> Rep PutServiceQuotaIncreaseRequestIntoTemplateResponse x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep PutServiceQuotaIncreaseRequestIntoTemplateResponse x
-> PutServiceQuotaIncreaseRequestIntoTemplateResponse
$cfrom :: forall x.
PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> Rep PutServiceQuotaIncreaseRequestIntoTemplateResponse x
Prelude.Generic)

-- |
-- Create a value of 'PutServiceQuotaIncreaseRequestIntoTemplateResponse' 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:
--
-- 'serviceQuotaIncreaseRequestInTemplate', 'putServiceQuotaIncreaseRequestIntoTemplateResponse_serviceQuotaIncreaseRequestInTemplate' - Information about the quota increase request.
--
-- 'httpStatus', 'putServiceQuotaIncreaseRequestIntoTemplateResponse_httpStatus' - The response's http status code.
newPutServiceQuotaIncreaseRequestIntoTemplateResponse ::
  -- | 'httpStatus'
  Prelude.Int ->
  PutServiceQuotaIncreaseRequestIntoTemplateResponse
newPutServiceQuotaIncreaseRequestIntoTemplateResponse :: Int -> PutServiceQuotaIncreaseRequestIntoTemplateResponse
newPutServiceQuotaIncreaseRequestIntoTemplateResponse
  Int
pHttpStatus_ =
    PutServiceQuotaIncreaseRequestIntoTemplateResponse'
      { $sel:serviceQuotaIncreaseRequestInTemplate:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate =
          forall a. Maybe a
Prelude.Nothing,
        $sel:httpStatus:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: Int
httpStatus =
          Int
pHttpStatus_
      }

-- | Information about the quota increase request.
putServiceQuotaIncreaseRequestIntoTemplateResponse_serviceQuotaIncreaseRequestInTemplate :: Lens.Lens' PutServiceQuotaIncreaseRequestIntoTemplateResponse (Prelude.Maybe ServiceQuotaIncreaseRequestInTemplate)
putServiceQuotaIncreaseRequestIntoTemplateResponse_serviceQuotaIncreaseRequestInTemplate :: Lens'
  PutServiceQuotaIncreaseRequestIntoTemplateResponse
  (Maybe ServiceQuotaIncreaseRequestInTemplate)
putServiceQuotaIncreaseRequestIntoTemplateResponse_serviceQuotaIncreaseRequestInTemplate = forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\PutServiceQuotaIncreaseRequestIntoTemplateResponse' {Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate :: Maybe ServiceQuotaIncreaseRequestInTemplate
$sel:serviceQuotaIncreaseRequestInTemplate:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate} -> Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate) (\s :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
s@PutServiceQuotaIncreaseRequestIntoTemplateResponse' {} Maybe ServiceQuotaIncreaseRequestInTemplate
a -> PutServiceQuotaIncreaseRequestIntoTemplateResponse
s {$sel:serviceQuotaIncreaseRequestInTemplate:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate = Maybe ServiceQuotaIncreaseRequestInTemplate
a} :: PutServiceQuotaIncreaseRequestIntoTemplateResponse)

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

instance
  Prelude.NFData
    PutServiceQuotaIncreaseRequestIntoTemplateResponse
  where
  rnf :: PutServiceQuotaIncreaseRequestIntoTemplateResponse -> ()
rnf
    PutServiceQuotaIncreaseRequestIntoTemplateResponse' {Int
Maybe ServiceQuotaIncreaseRequestInTemplate
httpStatus :: Int
serviceQuotaIncreaseRequestInTemplate :: Maybe ServiceQuotaIncreaseRequestInTemplate
$sel:httpStatus:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: PutServiceQuotaIncreaseRequestIntoTemplateResponse -> Int
$sel:serviceQuotaIncreaseRequestInTemplate:PutServiceQuotaIncreaseRequestIntoTemplateResponse' :: PutServiceQuotaIncreaseRequestIntoTemplateResponse
-> Maybe ServiceQuotaIncreaseRequestInTemplate
..} =
      forall a. NFData a => a -> ()
Prelude.rnf Maybe ServiceQuotaIncreaseRequestInTemplate
serviceQuotaIncreaseRequestInTemplate
        seq :: forall a b. a -> b -> b
`Prelude.seq` forall a. NFData a => a -> ()
Prelude.rnf Int
httpStatus