/// <summary>
        /// Updates the usage spending budget allocated to a customer by the partner.
        /// </summary>
        /// <param name="usageSpendingBudget">The new customer usage spending budget.</param>
        /// <param name="cancellationToken">A cancellation token that can be used by other objects or threads to receive notice of cancellation.</param>
        /// <returns>The updated customer usage spending budget.</returns>
        public async Task <SpendingBudget> PatchAsync(SpendingBudget entity, CancellationToken cancellationToken = default)
        {
            entity.AssertNotNull(nameof(entity));

            return(await Partner.ServiceClient.PatchAsync <SpendingBudget, SpendingBudget>(
                       new Uri(
                           string.Format(
                               CultureInfo.InvariantCulture,
                               $"/{PartnerService.Instance.ApiVersion}/{PartnerService.Instance.Configuration.Apis.PatchCustomerUsageSpendingBudget.Path}",
                               Context),
                           UriKind.Relative),
                       entity,
                       cancellationToken).ConfigureAwait(false));
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="PSSpendingBudget" /> class.
 /// </summary>
 /// <param name="spendingBudget">The base spending budget for this instance.</param>
 public PSSpendingBudget(SpendingBudget spendingBudget)
 {
     this.CopyFrom(spendingBudget);
 }