// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for
// license information.
// 
// Code generated by Microsoft (R) AutoRest Code Generator 0.17.0.0
// Changes may cause incorrect behavior and will be lost if the code is
// regenerated.

namespace Microsoft.Azure.Management.ResourceManager.Models
{
    using System.Linq;

    /// <summary>
    /// Subscription policies.
    /// </summary>
    public partial class SubscriptionPolicies
    {
        /// <summary>
        /// Initializes a new instance of the SubscriptionPolicies class.
        /// </summary>
        public SubscriptionPolicies() { }

        /// <summary>
        /// Initializes a new instance of the SubscriptionPolicies class.
        /// </summary>
        /// <param name="locationPlacementId">The subscription location
        /// placement ID. The ID indicates which regions are visible for a
        /// subscription. For example, a subscription with a location
        /// placement Id of Public_2014-09-01 has access to Azure public
        /// regions.</param>
        /// <param name="quotaId">The subscription quota ID.</param>
        /// <param name="spendingLimit">The subscription spending limit.
        /// Possible values include: 'On', 'Off', 'CurrentPeriodOff'</param>
        public SubscriptionPolicies(string locationPlacementId = default(string), string quotaId = default(string), spendingLimit? spendingLimit = default(spendingLimit?))
        {
            LocationPlacementId = locationPlacementId;
            QuotaId = quotaId;
            SpendingLimit = spendingLimit;
        }

        /// <summary>
        /// Gets the subscription location placement ID. The ID indicates
        /// which regions are visible for a subscription. For example, a
        /// subscription with a location placement Id of Public_2014-09-01
        /// has access to Azure public regions.
        /// </summary>
        [Newtonsoft.Json.JsonProperty(PropertyName = "locationPlacementId")]
        public string LocationPlacementId { get; private set; }

        /// <summary>
        /// Gets the subscription quota ID.
        /// </summary>
        [Newtonsoft.Json.JsonProperty(PropertyName = "quotaId")]
        public string QuotaId { get; private set; }

        /// <summary>
        /// Gets the subscription spending limit. Possible values include:
        /// 'On', 'Off', 'CurrentPeriodOff'
        /// </summary>
        [Newtonsoft.Json.JsonProperty(PropertyName = "spendingLimit")]
        public spendingLimit? SpendingLimit { get; private set; }

    }
}
