/// <summary>
 /// Returns all invoices associated with a billing setup, for a given month.
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer to fetch invoices for.
 /// </param>
 /// <param name="billingSetup">
 /// Required. The billing setup resource name of the requested invoices.
 ///
 /// `customers/{customer_id}/billingSetups/{billing_setup_id}`
 /// </param>
 /// <param name="issueYear">
 /// Required. The issue year to retrieve invoices, in yyyy format. Only
 /// invoices issued in 2019 or later can be retrieved.
 /// </param>
 /// <param name="issueMonth">
 /// Required. The issue month to retrieve invoices.
 /// </param>
 /// <param name="cancellationToken">
 /// A <see cref="st::CancellationToken"/> to use for this RPC.
 /// </param>
 /// <returns>
 /// A Task containing the RPC response.
 /// </returns>
 public virtual stt::Task <ListInvoicesResponse> ListInvoicesAsync(
     string customerId,
     string billingSetup,
     string issueYear,
     gagve::MonthOfYearEnum.Types.MonthOfYear issueMonth,
     st::CancellationToken cancellationToken) => ListInvoicesAsync(
     customerId,
     billingSetup,
     issueYear,
     issueMonth,
     gaxgrpc::CallSettings.FromCancellationToken(cancellationToken));
 /// <summary>
 /// Returns all invoices associated with a billing setup, for a given month.
 /// </summary>
 /// <param name="customerId">
 /// Required. The ID of the customer to fetch invoices for.
 /// </param>
 /// <param name="billingSetup">
 /// Required. The billing setup resource name of the requested invoices.
 ///
 /// `customers/{customer_id}/billingSetups/{billing_setup_id}`
 /// </param>
 /// <param name="issueYear">
 /// Required. The issue year to retrieve invoices, in yyyy format. Only
 /// invoices issued in 2019 or later can be retrieved.
 /// </param>
 /// <param name="issueMonth">
 /// Required. The issue month to retrieve invoices.
 /// </param>
 /// <param name="callSettings">
 /// If not null, applies overrides to this RPC call.
 /// </param>
 /// <returns>
 /// The RPC response.
 /// </returns>
 public virtual ListInvoicesResponse ListInvoices(
     string customerId,
     string billingSetup,
     string issueYear,
     gagve::MonthOfYearEnum.Types.MonthOfYear issueMonth,
     gaxgrpc::CallSettings callSettings = null) => ListInvoices(
     new ListInvoicesRequest
 {
     CustomerId   = gax::GaxPreconditions.CheckNotNullOrEmpty(customerId, nameof(customerId)),
     BillingSetup = gax::GaxPreconditions.CheckNotNullOrEmpty(billingSetup, nameof(billingSetup)),
     IssueYear    = gax::GaxPreconditions.CheckNotNullOrEmpty(issueYear, nameof(issueYear)),
     IssueMonth   = issueMonth,
 },
     callSettings);