aboutsummaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2023-03-03 12:33:23 +0100
committerØyvind Grønnesby <oyving@yahooinc.com>2023-03-03 13:03:19 +0100
commit3609ab0c0574a8c6d05bef156e6ee28e92e826a9 (patch)
tree326325d63b89829d6c4e124848b150e7d4df6415 /controller-api
parentac19dcbea23219a6eb7f012691d568f9c589ca60 (diff)
Make it possible to specify billId when adding line item
Diffstat (limited to 'controller-api')
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingController.java2
-rw-r--r--controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java24
2 files changed, 14 insertions, 12 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingController.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingController.java
index 8b0f58c79d2..8b2f4187f65 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingController.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingController.java
@@ -92,7 +92,7 @@ public interface BillingController {
void updateBillStatus(Bill.Id billId, String agent, String status);
/** Add a line item to the given bill */
- void addLineItem(TenantName tenant, String description, BigDecimal amount, String agent);
+ void addLineItem(TenantName tenant, String description, BigDecimal amount, Optional<Bill.Id> billId, String agent);
/** Delete a line item - only available for unused line items */
void deleteLineItem(String lineItemId);
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
index 6ea4c7442d8..aa06e282e1c 100644
--- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
+++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/MockBillingController.java
@@ -14,7 +14,6 @@ import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Optional;
-import java.util.stream.Collectors;
/**
* @author olaa
@@ -122,16 +121,19 @@ public class MockBillingController implements BillingController {
}
@Override
- public void addLineItem(TenantName tenant, String description, BigDecimal amount, String agent) {
- unusedLineItems.computeIfAbsent(tenant, l -> new ArrayList<>())
- .add(new Bill.LineItem(
- "line-item-id",
- description,
- amount,
- "some-plan",
- agent,
- ZonedDateTime.now()
- ));
+ public void addLineItem(TenantName tenant, String description, BigDecimal amount, Optional<Bill.Id> billId, String agent) {
+ if (billId.isPresent()) {
+ throw new UnsupportedOperationException();
+ } else {
+ unusedLineItems.computeIfAbsent(tenant, l -> new ArrayList<>())
+ .add(new Bill.LineItem(
+ "line-item-id",
+ description,
+ amount,
+ "some-plan",
+ agent,
+ ZonedDateTime.now()));
+ }
}
@Override