{-# 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.RDS.Types.AccountQuota -- Copyright : (c) 2013-2023 Brendan Hay -- License : Mozilla Public License, v. 2.0. -- Maintainer : Brendan Hay -- Stability : auto-generated -- Portability : non-portable (GHC extensions) module Amazonka.RDS.Types.AccountQuota 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 -- | Describes a quota for an Amazon Web Services account. -- -- The following are account quotas: -- -- - @AllocatedStorage@ - The total allocated storage per account, in -- GiB. The used value is the total allocated storage in the account, -- in GiB. -- -- - @AuthorizationsPerDBSecurityGroup@ - The number of ingress rules per -- DB security group. The used value is the highest number of ingress -- rules in a DB security group in the account. Other DB security -- groups in the account might have a lower number of ingress rules. -- -- - @CustomEndpointsPerDBCluster@ - The number of custom endpoints per -- DB cluster. The used value is the highest number of custom endpoints -- in a DB clusters in the account. Other DB clusters in the account -- might have a lower number of custom endpoints. -- -- - @DBClusterParameterGroups@ - The number of DB cluster parameter -- groups per account, excluding default parameter groups. The used -- value is the count of nondefault DB cluster parameter groups in the -- account. -- -- - @DBClusterRoles@ - The number of associated Amazon Web Services -- Identity and Access Management (IAM) roles per DB cluster. The used -- value is the highest number of associated IAM roles for a DB cluster -- in the account. Other DB clusters in the account might have a lower -- number of associated IAM roles. -- -- - @DBClusters@ - The number of DB clusters per account. The used value -- is the count of DB clusters in the account. -- -- - @DBInstanceRoles@ - The number of associated IAM roles per DB -- instance. The used value is the highest number of associated IAM -- roles for a DB instance in the account. Other DB instances in the -- account might have a lower number of associated IAM roles. -- -- - @DBInstances@ - The number of DB instances per account. The used -- value is the count of the DB instances in the account. -- -- Amazon RDS DB instances, Amazon Aurora DB instances, Amazon Neptune -- instances, and Amazon DocumentDB instances apply to this quota. -- -- - @DBParameterGroups@ - The number of DB parameter groups per account, -- excluding default parameter groups. The used value is the count of -- nondefault DB parameter groups in the account. -- -- - @DBSecurityGroups@ - The number of DB security groups (not VPC -- security groups) per account, excluding the default security group. -- The used value is the count of nondefault DB security groups in the -- account. -- -- - @DBSubnetGroups@ - The number of DB subnet groups per account. The -- used value is the count of the DB subnet groups in the account. -- -- - @EventSubscriptions@ - The number of event subscriptions per -- account. The used value is the count of the event subscriptions in -- the account. -- -- - @ManualClusterSnapshots@ - The number of manual DB cluster snapshots -- per account. The used value is the count of the manual DB cluster -- snapshots in the account. -- -- - @ManualSnapshots@ - The number of manual DB instance snapshots per -- account. The used value is the count of the manual DB instance -- snapshots in the account. -- -- - @OptionGroups@ - The number of DB option groups per account, -- excluding default option groups. The used value is the count of -- nondefault DB option groups in the account. -- -- - @ReadReplicasPerMaster@ - The number of read replicas per DB -- instance. The used value is the highest number of read replicas for -- a DB instance in the account. Other DB instances in the account -- might have a lower number of read replicas. -- -- - @ReservedDBInstances@ - The number of reserved DB instances per -- account. The used value is the count of the active reserved DB -- instances in the account. -- -- - @SubnetsPerDBSubnetGroup@ - The number of subnets per DB subnet -- group. The used value is highest number of subnets for a DB subnet -- group in the account. Other DB subnet groups in the account might -- have a lower number of subnets. -- -- For more information, see -- -- in the /Amazon RDS User Guide/ and -- -- in the /Amazon Aurora User Guide/. -- -- /See:/ 'newAccountQuota' smart constructor. data AccountQuota = AccountQuota' { -- | The name of the Amazon RDS quota for this Amazon Web Services account. accountQuotaName :: Prelude.Maybe Prelude.Text, -- | The maximum allowed value for the quota. max :: Prelude.Maybe Prelude.Integer, -- | The amount currently used toward the quota maximum. used :: Prelude.Maybe Prelude.Integer } deriving (Prelude.Eq, Prelude.Read, Prelude.Show, Prelude.Generic) -- | -- Create a value of 'AccountQuota' with all optional fields omitted. -- -- Use or to modify other optional fields. -- -- The following record fields are available, with the corresponding lenses provided -- for backwards compatibility: -- -- 'accountQuotaName', 'accountQuota_accountQuotaName' - The name of the Amazon RDS quota for this Amazon Web Services account. -- -- 'max', 'accountQuota_max' - The maximum allowed value for the quota. -- -- 'used', 'accountQuota_used' - The amount currently used toward the quota maximum. newAccountQuota :: AccountQuota newAccountQuota = AccountQuota' { accountQuotaName = Prelude.Nothing, max = Prelude.Nothing, used = Prelude.Nothing } -- | The name of the Amazon RDS quota for this Amazon Web Services account. accountQuota_accountQuotaName :: Lens.Lens' AccountQuota (Prelude.Maybe Prelude.Text) accountQuota_accountQuotaName = Lens.lens (\AccountQuota' {accountQuotaName} -> accountQuotaName) (\s@AccountQuota' {} a -> s {accountQuotaName = a} :: AccountQuota) -- | The maximum allowed value for the quota. accountQuota_max :: Lens.Lens' AccountQuota (Prelude.Maybe Prelude.Integer) accountQuota_max = Lens.lens (\AccountQuota' {max} -> max) (\s@AccountQuota' {} a -> s {max = a} :: AccountQuota) -- | The amount currently used toward the quota maximum. accountQuota_used :: Lens.Lens' AccountQuota (Prelude.Maybe Prelude.Integer) accountQuota_used = Lens.lens (\AccountQuota' {used} -> used) (\s@AccountQuota' {} a -> s {used = a} :: AccountQuota) instance Data.FromXML AccountQuota where parseXML x = AccountQuota' Prelude.<$> (x Data..@? "AccountQuotaName") Prelude.<*> (x Data..@? "Max") Prelude.<*> (x Data..@? "Used") instance Prelude.Hashable AccountQuota where hashWithSalt _salt AccountQuota' {..} = _salt `Prelude.hashWithSalt` accountQuotaName `Prelude.hashWithSalt` max `Prelude.hashWithSalt` used instance Prelude.NFData AccountQuota where rnf AccountQuota' {..} = Prelude.rnf accountQuotaName `Prelude.seq` Prelude.rnf max `Prelude.seq` Prelude.rnf used