using System.Collections.Generic;
using Azure.Core;

namespace Azure.ResourceManager.Reservations.Models
{
    /// <summary> Refund policy result property. </summary>
    public partial class ReservationRefundPolicyResultProperty
    {
        /// <summary> Initializes a new instance of ReservationRefundPolicyResultProperty. </summary>
        internal ReservationRefundPolicyResultProperty()
        {
            PolicyErrors = new ChangeTrackingList<ReservationRefundPolicyError>();
        }

        /// <summary> Initializes a new instance of ReservationRefundPolicyResultProperty. </summary>
        /// <param name="consumedRefundsTotal"></param>
        /// <param name="maxRefundLimit"></param>
        /// <param name="policyErrors"> Refund Policy errors. </param>
        internal ReservationRefundPolicyResultProperty(PurchasePrice consumedRefundsTotal, PurchasePrice maxRefundLimit, IReadOnlyList<ReservationRefundPolicyError> policyErrors)
        {
            ConsumedRefundsTotal = consumedRefundsTotal;
            MaxRefundLimit = maxRefundLimit;
            PolicyErrors = policyErrors;
        }

        /// <summary> Gets the consumed refunds total. </summary>
        public PurchasePrice ConsumedRefundsTotal { get; }
        /// <summary> Gets the max refund limit. </summary>
        public PurchasePrice MaxRefundLimit { get; }
        /// <summary> Refund Policy errors. </summary>
        public IReadOnlyList<ReservationRefundPolicyError> PolicyErrors { get; }
    }
}
