/*
 * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved.
 * 
 * Licensed under the Apache License, Version 2.0 (the "License").
 * You may not use this file except in compliance with the License.
 * A copy of the License is located at
 * 
 *  http://aws.amazon.com/apache2.0
 * 
 * or in the "license" file accompanying this file. This file is distributed
 * on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either
 * express or implied. See the License for the specific language governing
 * permissions and limitations under the License.
 */
/*
 * Do not modify this file. This file is generated from the rds-2014-10-31.normal.json service model.
 */
using System;
using System.Collections.Generic;
using System.Xml.Serialization;
using System.Text;
using System.IO;
using System.Net;
using Amazon.Runtime;
using Amazon.Runtime.Internal;
namespace Amazon.RDS.Model
{
    /// 
    /// 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 Quotas
    /// for Amazon RDS in the Amazon RDS User Guide and Quotas
    /// for Amazon Aurora in the Amazon Aurora User Guide.
    /// 
    /// 
    public partial class AccountQuota
    {
        private string _accountQuotaName;
        private long? _max;
        private long? _used;
        /// 
        /// Gets and sets the property AccountQuotaName. 
        /// 
        /// The name of the Amazon RDS quota for this Amazon Web Services account.
        /// 
        /// 
        public string AccountQuotaName
        {
            get { return this._accountQuotaName; }
            set { this._accountQuotaName = value; }
        }
        // Check to see if AccountQuotaName property is set
        internal bool IsSetAccountQuotaName()
        {
            return this._accountQuotaName != null;
        }
        /// 
        /// Gets and sets the property Max. 
        /// 
        /// The maximum allowed value for the quota.
        /// 
        /// 
        public long Max
        {
            get { return this._max.GetValueOrDefault(); }
            set { this._max = value; }
        }
        // Check to see if Max property is set
        internal bool IsSetMax()
        {
            return this._max.HasValue; 
        }
        /// 
        /// Gets and sets the property Used. 
        /// 
        /// The amount currently used toward the quota maximum.
        /// 
        /// 
        public long Used
        {
            get { return this._used.GetValueOrDefault(); }
            set { this._used = value; }
        }
        // Check to see if Used property is set
        internal bool IsSetUsed()
        {
            return this._used.HasValue; 
        }
    }
}