summaryrefslogtreecommitdiffstats
path: root/controller-api
diff options
context:
space:
mode:
authorØyvind Grønnesby <oyving@yahooinc.com>2023-03-03 13:46:39 +0100
committerGitHub <noreply@github.com>2023-03-03 13:46:39 +0100
commitc727f65d4f693de786b6b546eb58335b891f18bb (patch)
tree384fc590c5b1df28b3d42ee3df404c173400d30c /controller-api
parentc2c07b3902ea6d894c6072d53c767028651c6cca (diff)
parent3609ab0c0574a8c6d05bef156e6ee28e92e826a9 (diff)
Merge pull request #26289 from vespa-engine/ogronnesby/add-line-item
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