{-# LANGUAGE DeriveGeneric #-}
{-# LANGUAGE DuplicateRecordFields #-}
{-# LANGUAGE NamedFieldPuns #-}
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE RecordWildCards #-}
{-# LANGUAGE StrictData #-}
{-# LANGUAGE NoImplicitPrelude #-}
{-# 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.Types.RequestedServiceQuotaChange
-- Copyright   : (c) 2013-2021 Brendan Hay
-- License     : Mozilla Public License, v. 2.0.
-- Maintainer  : Brendan Hay <brendan.g.hay+amazonka@gmail.com>
-- Stability   : auto-generated
-- Portability : non-portable (GHC extensions)
module Amazonka.ServiceQuotas.Types.RequestedServiceQuotaChange where

import qualified Amazonka.Core as Core
import qualified Amazonka.Lens as Lens
import qualified Amazonka.Prelude as Prelude
import Amazonka.ServiceQuotas.Types.RequestStatus

-- | Information about a quota increase request.
--
-- /See:/ 'newRequestedServiceQuotaChange' smart constructor.
data RequestedServiceQuotaChange = RequestedServiceQuotaChange'
  { -- | The state of the quota increase request.
    RequestedServiceQuotaChange -> Maybe RequestStatus
status :: Prelude.Maybe RequestStatus,
    -- | The date and time of the most recent change.
    RequestedServiceQuotaChange -> Maybe POSIX
lastUpdated :: Prelude.Maybe Core.POSIX,
    -- | Indicates whether the quota is global.
    RequestedServiceQuotaChange -> Maybe Bool
globalQuota :: Prelude.Maybe Prelude.Bool,
    -- | The date and time when the quota increase request was received and the
    -- case ID was created.
    RequestedServiceQuotaChange -> Maybe POSIX
created :: Prelude.Maybe Core.POSIX,
    -- | The new, increased value for the quota.
    RequestedServiceQuotaChange -> Maybe Double
desiredValue :: Prelude.Maybe Prelude.Double,
    -- | The Amazon Resource Name (ARN) of the quota.
    RequestedServiceQuotaChange -> Maybe Text
quotaArn :: Prelude.Maybe Prelude.Text,
    -- | The case ID.
    RequestedServiceQuotaChange -> Maybe Text
caseId :: Prelude.Maybe Prelude.Text,
    -- | The service name.
    RequestedServiceQuotaChange -> Maybe Text
serviceName :: Prelude.Maybe Prelude.Text,
    -- | The unique identifier.
    RequestedServiceQuotaChange -> Maybe Text
id :: Prelude.Maybe Prelude.Text,
    -- | The service identifier.
    RequestedServiceQuotaChange -> Maybe Text
serviceCode :: Prelude.Maybe Prelude.Text,
    -- | The quota identifier.
    RequestedServiceQuotaChange -> Maybe Text
quotaCode :: Prelude.Maybe Prelude.Text,
    -- | The unit of measurement.
    RequestedServiceQuotaChange -> Maybe Text
unit :: Prelude.Maybe Prelude.Text,
    -- | The IAM identity of the requester.
    RequestedServiceQuotaChange -> Maybe Text
requester :: Prelude.Maybe Prelude.Text,
    -- | The quota name.
    RequestedServiceQuotaChange -> Maybe Text
quotaName :: Prelude.Maybe Prelude.Text
  }
  deriving (RequestedServiceQuotaChange -> RequestedServiceQuotaChange -> Bool
(RequestedServiceQuotaChange
 -> RequestedServiceQuotaChange -> Bool)
-> (RequestedServiceQuotaChange
    -> RequestedServiceQuotaChange -> Bool)
-> Eq RequestedServiceQuotaChange
forall a. (a -> a -> Bool) -> (a -> a -> Bool) -> Eq a
/= :: RequestedServiceQuotaChange -> RequestedServiceQuotaChange -> Bool
$c/= :: RequestedServiceQuotaChange -> RequestedServiceQuotaChange -> Bool
== :: RequestedServiceQuotaChange -> RequestedServiceQuotaChange -> Bool
$c== :: RequestedServiceQuotaChange -> RequestedServiceQuotaChange -> Bool
Prelude.Eq, ReadPrec [RequestedServiceQuotaChange]
ReadPrec RequestedServiceQuotaChange
Int -> ReadS RequestedServiceQuotaChange
ReadS [RequestedServiceQuotaChange]
(Int -> ReadS RequestedServiceQuotaChange)
-> ReadS [RequestedServiceQuotaChange]
-> ReadPrec RequestedServiceQuotaChange
-> ReadPrec [RequestedServiceQuotaChange]
-> Read RequestedServiceQuotaChange
forall a.
(Int -> ReadS a)
-> ReadS [a] -> ReadPrec a -> ReadPrec [a] -> Read a
readListPrec :: ReadPrec [RequestedServiceQuotaChange]
$creadListPrec :: ReadPrec [RequestedServiceQuotaChange]
readPrec :: ReadPrec RequestedServiceQuotaChange
$creadPrec :: ReadPrec RequestedServiceQuotaChange
readList :: ReadS [RequestedServiceQuotaChange]
$creadList :: ReadS [RequestedServiceQuotaChange]
readsPrec :: Int -> ReadS RequestedServiceQuotaChange
$creadsPrec :: Int -> ReadS RequestedServiceQuotaChange
Prelude.Read, Int -> RequestedServiceQuotaChange -> ShowS
[RequestedServiceQuotaChange] -> ShowS
RequestedServiceQuotaChange -> String
(Int -> RequestedServiceQuotaChange -> ShowS)
-> (RequestedServiceQuotaChange -> String)
-> ([RequestedServiceQuotaChange] -> ShowS)
-> Show RequestedServiceQuotaChange
forall a.
(Int -> a -> ShowS) -> (a -> String) -> ([a] -> ShowS) -> Show a
showList :: [RequestedServiceQuotaChange] -> ShowS
$cshowList :: [RequestedServiceQuotaChange] -> ShowS
show :: RequestedServiceQuotaChange -> String
$cshow :: RequestedServiceQuotaChange -> String
showsPrec :: Int -> RequestedServiceQuotaChange -> ShowS
$cshowsPrec :: Int -> RequestedServiceQuotaChange -> ShowS
Prelude.Show, (forall x.
 RequestedServiceQuotaChange -> Rep RequestedServiceQuotaChange x)
-> (forall x.
    Rep RequestedServiceQuotaChange x -> RequestedServiceQuotaChange)
-> Generic RequestedServiceQuotaChange
forall x.
Rep RequestedServiceQuotaChange x -> RequestedServiceQuotaChange
forall x.
RequestedServiceQuotaChange -> Rep RequestedServiceQuotaChange x
forall a.
(forall x. a -> Rep a x) -> (forall x. Rep a x -> a) -> Generic a
$cto :: forall x.
Rep RequestedServiceQuotaChange x -> RequestedServiceQuotaChange
$cfrom :: forall x.
RequestedServiceQuotaChange -> Rep RequestedServiceQuotaChange x
Prelude.Generic)

-- |
-- Create a value of 'RequestedServiceQuotaChange' 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:
--
-- 'status', 'requestedServiceQuotaChange_status' - The state of the quota increase request.
--
-- 'lastUpdated', 'requestedServiceQuotaChange_lastUpdated' - The date and time of the most recent change.
--
-- 'globalQuota', 'requestedServiceQuotaChange_globalQuota' - Indicates whether the quota is global.
--
-- 'created', 'requestedServiceQuotaChange_created' - The date and time when the quota increase request was received and the
-- case ID was created.
--
-- 'desiredValue', 'requestedServiceQuotaChange_desiredValue' - The new, increased value for the quota.
--
-- 'quotaArn', 'requestedServiceQuotaChange_quotaArn' - The Amazon Resource Name (ARN) of the quota.
--
-- 'caseId', 'requestedServiceQuotaChange_caseId' - The case ID.
--
-- 'serviceName', 'requestedServiceQuotaChange_serviceName' - The service name.
--
-- 'id', 'requestedServiceQuotaChange_id' - The unique identifier.
--
-- 'serviceCode', 'requestedServiceQuotaChange_serviceCode' - The service identifier.
--
-- 'quotaCode', 'requestedServiceQuotaChange_quotaCode' - The quota identifier.
--
-- 'unit', 'requestedServiceQuotaChange_unit' - The unit of measurement.
--
-- 'requester', 'requestedServiceQuotaChange_requester' - The IAM identity of the requester.
--
-- 'quotaName', 'requestedServiceQuotaChange_quotaName' - The quota name.
newRequestedServiceQuotaChange ::
  RequestedServiceQuotaChange
newRequestedServiceQuotaChange :: RequestedServiceQuotaChange
newRequestedServiceQuotaChange =
  RequestedServiceQuotaChange' :: Maybe RequestStatus
-> Maybe POSIX
-> Maybe Bool
-> Maybe POSIX
-> Maybe Double
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> RequestedServiceQuotaChange
RequestedServiceQuotaChange'
    { $sel:status:RequestedServiceQuotaChange' :: Maybe RequestStatus
status =
        Maybe RequestStatus
forall a. Maybe a
Prelude.Nothing,
      $sel:lastUpdated:RequestedServiceQuotaChange' :: Maybe POSIX
lastUpdated = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:globalQuota:RequestedServiceQuotaChange' :: Maybe Bool
globalQuota = Maybe Bool
forall a. Maybe a
Prelude.Nothing,
      $sel:created:RequestedServiceQuotaChange' :: Maybe POSIX
created = Maybe POSIX
forall a. Maybe a
Prelude.Nothing,
      $sel:desiredValue:RequestedServiceQuotaChange' :: Maybe Double
desiredValue = Maybe Double
forall a. Maybe a
Prelude.Nothing,
      $sel:quotaArn:RequestedServiceQuotaChange' :: Maybe Text
quotaArn = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:caseId:RequestedServiceQuotaChange' :: Maybe Text
caseId = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:serviceName:RequestedServiceQuotaChange' :: Maybe Text
serviceName = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:id:RequestedServiceQuotaChange' :: Maybe Text
id = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:serviceCode:RequestedServiceQuotaChange' :: Maybe Text
serviceCode = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:quotaCode:RequestedServiceQuotaChange' :: Maybe Text
quotaCode = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:unit:RequestedServiceQuotaChange' :: Maybe Text
unit = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:requester:RequestedServiceQuotaChange' :: Maybe Text
requester = Maybe Text
forall a. Maybe a
Prelude.Nothing,
      $sel:quotaName:RequestedServiceQuotaChange' :: Maybe Text
quotaName = Maybe Text
forall a. Maybe a
Prelude.Nothing
    }

-- | The state of the quota increase request.
requestedServiceQuotaChange_status :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe RequestStatus)
requestedServiceQuotaChange_status :: (Maybe RequestStatus -> f (Maybe RequestStatus))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_status = (RequestedServiceQuotaChange -> Maybe RequestStatus)
-> (RequestedServiceQuotaChange
    -> Maybe RequestStatus -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe RequestStatus)
     (Maybe RequestStatus)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe RequestStatus
status :: Maybe RequestStatus
$sel:status:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe RequestStatus
status} -> Maybe RequestStatus
status) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe RequestStatus
a -> RequestedServiceQuotaChange
s {$sel:status:RequestedServiceQuotaChange' :: Maybe RequestStatus
status = Maybe RequestStatus
a} :: RequestedServiceQuotaChange)

-- | The date and time of the most recent change.
requestedServiceQuotaChange_lastUpdated :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.UTCTime)
requestedServiceQuotaChange_lastUpdated :: (Maybe UTCTime -> f (Maybe UTCTime))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_lastUpdated = (RequestedServiceQuotaChange -> Maybe POSIX)
-> (RequestedServiceQuotaChange
    -> Maybe POSIX -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe POSIX
lastUpdated :: Maybe POSIX
$sel:lastUpdated:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe POSIX
lastUpdated} -> Maybe POSIX
lastUpdated) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe POSIX
a -> RequestedServiceQuotaChange
s {$sel:lastUpdated:RequestedServiceQuotaChange' :: Maybe POSIX
lastUpdated = Maybe POSIX
a} :: RequestedServiceQuotaChange) ((Maybe POSIX -> f (Maybe POSIX))
 -> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> RequestedServiceQuotaChange
-> f RequestedServiceQuotaChange
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

-- | Indicates whether the quota is global.
requestedServiceQuotaChange_globalQuota :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Bool)
requestedServiceQuotaChange_globalQuota :: (Maybe Bool -> f (Maybe Bool))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_globalQuota = (RequestedServiceQuotaChange -> Maybe Bool)
-> (RequestedServiceQuotaChange
    -> Maybe Bool -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Bool)
     (Maybe Bool)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Bool
globalQuota :: Maybe Bool
$sel:globalQuota:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Bool
globalQuota} -> Maybe Bool
globalQuota) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Bool
a -> RequestedServiceQuotaChange
s {$sel:globalQuota:RequestedServiceQuotaChange' :: Maybe Bool
globalQuota = Maybe Bool
a} :: RequestedServiceQuotaChange)

-- | The date and time when the quota increase request was received and the
-- case ID was created.
requestedServiceQuotaChange_created :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.UTCTime)
requestedServiceQuotaChange_created :: (Maybe UTCTime -> f (Maybe UTCTime))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_created = (RequestedServiceQuotaChange -> Maybe POSIX)
-> (RequestedServiceQuotaChange
    -> Maybe POSIX -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe POSIX)
     (Maybe POSIX)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe POSIX
created :: Maybe POSIX
$sel:created:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe POSIX
created} -> Maybe POSIX
created) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe POSIX
a -> RequestedServiceQuotaChange
s {$sel:created:RequestedServiceQuotaChange' :: Maybe POSIX
created = Maybe POSIX
a} :: RequestedServiceQuotaChange) ((Maybe POSIX -> f (Maybe POSIX))
 -> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange)
-> ((Maybe UTCTime -> f (Maybe UTCTime))
    -> Maybe POSIX -> f (Maybe POSIX))
-> (Maybe UTCTime -> f (Maybe UTCTime))
-> RequestedServiceQuotaChange
-> f RequestedServiceQuotaChange
forall b c a. (b -> c) -> (a -> b) -> a -> c
Prelude.. AnIso POSIX POSIX UTCTime UTCTime
-> Iso (Maybe POSIX) (Maybe POSIX) (Maybe UTCTime) (Maybe UTCTime)
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 AnIso POSIX POSIX UTCTime UTCTime
forall (a :: Format). Iso' (Time a) UTCTime
Core._Time

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

-- | The Amazon Resource Name (ARN) of the quota.
requestedServiceQuotaChange_quotaArn :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_quotaArn :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_quotaArn = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
quotaArn :: Maybe Text
$sel:quotaArn:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
quotaArn} -> Maybe Text
quotaArn) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:quotaArn:RequestedServiceQuotaChange' :: Maybe Text
quotaArn = Maybe Text
a} :: RequestedServiceQuotaChange)

-- | The case ID.
requestedServiceQuotaChange_caseId :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_caseId :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_caseId = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
caseId :: Maybe Text
$sel:caseId:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
caseId} -> Maybe Text
caseId) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:caseId:RequestedServiceQuotaChange' :: Maybe Text
caseId = Maybe Text
a} :: RequestedServiceQuotaChange)

-- | The service name.
requestedServiceQuotaChange_serviceName :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_serviceName :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_serviceName = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
serviceName :: Maybe Text
$sel:serviceName:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
serviceName} -> Maybe Text
serviceName) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:serviceName:RequestedServiceQuotaChange' :: Maybe Text
serviceName = Maybe Text
a} :: RequestedServiceQuotaChange)

-- | The unique identifier.
requestedServiceQuotaChange_id :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_id :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_id = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
id :: Maybe Text
$sel:id:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
id} -> Maybe Text
id) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:id:RequestedServiceQuotaChange' :: Maybe Text
id = Maybe Text
a} :: RequestedServiceQuotaChange)

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

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

-- | The unit of measurement.
requestedServiceQuotaChange_unit :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_unit :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_unit = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
unit :: Maybe Text
$sel:unit:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
unit} -> Maybe Text
unit) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:unit:RequestedServiceQuotaChange' :: Maybe Text
unit = Maybe Text
a} :: RequestedServiceQuotaChange)

-- | The IAM identity of the requester.
requestedServiceQuotaChange_requester :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_requester :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_requester = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
requester :: Maybe Text
$sel:requester:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
requester} -> Maybe Text
requester) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:requester:RequestedServiceQuotaChange' :: Maybe Text
requester = Maybe Text
a} :: RequestedServiceQuotaChange)

-- | The quota name.
requestedServiceQuotaChange_quotaName :: Lens.Lens' RequestedServiceQuotaChange (Prelude.Maybe Prelude.Text)
requestedServiceQuotaChange_quotaName :: (Maybe Text -> f (Maybe Text))
-> RequestedServiceQuotaChange -> f RequestedServiceQuotaChange
requestedServiceQuotaChange_quotaName = (RequestedServiceQuotaChange -> Maybe Text)
-> (RequestedServiceQuotaChange
    -> Maybe Text -> RequestedServiceQuotaChange)
-> Lens
     RequestedServiceQuotaChange
     RequestedServiceQuotaChange
     (Maybe Text)
     (Maybe Text)
forall s a b t. (s -> a) -> (s -> b -> t) -> Lens s t a b
Lens.lens (\RequestedServiceQuotaChange' {Maybe Text
quotaName :: Maybe Text
$sel:quotaName:RequestedServiceQuotaChange' :: RequestedServiceQuotaChange -> Maybe Text
quotaName} -> Maybe Text
quotaName) (\s :: RequestedServiceQuotaChange
s@RequestedServiceQuotaChange' {} Maybe Text
a -> RequestedServiceQuotaChange
s {$sel:quotaName:RequestedServiceQuotaChange' :: Maybe Text
quotaName = Maybe Text
a} :: RequestedServiceQuotaChange)

instance Core.FromJSON RequestedServiceQuotaChange where
  parseJSON :: Value -> Parser RequestedServiceQuotaChange
parseJSON =
    String
-> (Object -> Parser RequestedServiceQuotaChange)
-> Value
-> Parser RequestedServiceQuotaChange
forall a. String -> (Object -> Parser a) -> Value -> Parser a
Core.withObject
      String
"RequestedServiceQuotaChange"
      ( \Object
x ->
          Maybe RequestStatus
-> Maybe POSIX
-> Maybe Bool
-> Maybe POSIX
-> Maybe Double
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> Maybe Text
-> RequestedServiceQuotaChange
RequestedServiceQuotaChange'
            (Maybe RequestStatus
 -> Maybe POSIX
 -> Maybe Bool
 -> Maybe POSIX
 -> Maybe Double
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> Maybe Text
 -> RequestedServiceQuotaChange)
-> Parser (Maybe RequestStatus)
-> Parser
     (Maybe POSIX
      -> Maybe Bool
      -> Maybe POSIX
      -> Maybe Double
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Functor f => (a -> b) -> f a -> f b
Prelude.<$> (Object
x Object -> Text -> Parser (Maybe RequestStatus)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Status")
            Parser
  (Maybe POSIX
   -> Maybe Bool
   -> Maybe POSIX
   -> Maybe Double
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Bool
      -> Maybe POSIX
      -> Maybe Double
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"LastUpdated")
            Parser
  (Maybe Bool
   -> Maybe POSIX
   -> Maybe Double
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Bool)
-> Parser
     (Maybe POSIX
      -> Maybe Double
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Bool)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"GlobalQuota")
            Parser
  (Maybe POSIX
   -> Maybe Double
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe POSIX)
-> Parser
     (Maybe Double
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe POSIX)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Created")
            Parser
  (Maybe Double
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Double)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Double)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"DesiredValue")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"QuotaArn")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"CaseId")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServiceName")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Id")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> Maybe Text
      -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"ServiceCode")
            Parser
  (Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> Maybe Text
   -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser
     (Maybe Text
      -> Maybe Text -> Maybe Text -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"QuotaCode")
            Parser
  (Maybe Text
   -> Maybe Text -> Maybe Text -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> Maybe Text -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Unit")
            Parser (Maybe Text -> Maybe Text -> RequestedServiceQuotaChange)
-> Parser (Maybe Text)
-> Parser (Maybe Text -> RequestedServiceQuotaChange)
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"Requester")
            Parser (Maybe Text -> RequestedServiceQuotaChange)
-> Parser (Maybe Text) -> Parser RequestedServiceQuotaChange
forall (f :: * -> *) a b. Applicative f => f (a -> b) -> f a -> f b
Prelude.<*> (Object
x Object -> Text -> Parser (Maybe Text)
forall a. FromJSON a => Object -> Text -> Parser (Maybe a)
Core..:? Text
"QuotaName")
      )

instance Prelude.Hashable RequestedServiceQuotaChange

instance Prelude.NFData RequestedServiceQuotaChange