diff options
3 files changed, 4 insertions, 3 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java index 676c29cec5d..4aab4a47fc6 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporter.java @@ -7,7 +7,7 @@ import com.yahoo.vespa.hosted.controller.tenant.CloudTenant; public interface BillingReporter { BillingReference maintainTenant(CloudTenant tenant); - InvoiceUpdate maintainInvoice(Bill bill); + InvoiceUpdate maintainInvoice(CloudTenant teannt, Bill bill); /** Export a bill to a payment service. Returns the invoice ID in the external system. */ default String exportBill(Bill bill, String exportMethod, CloudTenant tenant) { diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java index 04c618880e0..899b31da361 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java @@ -29,7 +29,7 @@ public class BillingReporterMock implements BillingReporter { } @Override - public InvoiceUpdate maintainInvoice(Bill bill) { + public InvoiceUpdate maintainInvoice(CloudTenant tenant, Bill bill) { if (exportedBills.containsKey(bill.id())) { dbClient.addLineItem(bill.tenant(), maintainedMarkerItem(), Optional.of(bill.id())); return ModifiableInvoiceUpdate.of(bill.id(), 1, 0, 0); diff --git a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java index a755e2145b0..5c37e0e4d0b 100644 --- a/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java +++ b/controller-server/src/main/java/com/yahoo/vespa/hosted/controller/maintenance/BillingReportMaintainer.java @@ -70,6 +70,7 @@ public class BillingReportMaintainer extends ControllerMaintainer { List<InvoiceUpdate> maintainInvoices() { var updates = new ArrayList<InvoiceUpdate>(); + var tenants = cloudTenants(); var billsNeedingMaintenance = databaseClient.readBills().stream() .filter(bill -> bill.getExportedId().isPresent()) .filter(exported -> exported.status() == BillStatus.OPEN) @@ -77,7 +78,7 @@ public class BillingReportMaintainer extends ControllerMaintainer { for (var bill : billsNeedingMaintenance) { var exportedId = bill.getExportedId().orElseThrow(); - var update = reporter.maintainInvoice(bill); + var update = reporter.maintainInvoice(tenants.get(bill.tenant()), bill); if (update instanceof ModifiableInvoiceUpdate modifiable && ! modifiable.isEmpty()) { log.fine(invoiceMessage(bill.id(), exportedId) + " was updated with " + modifiable.itemsUpdate()); } else if (update instanceof FailedInvoiceUpdate failed && failed.reason == FailedInvoiceUpdate.Reason.REMOVED) { |