diff options
author | Øyvind Grønnesby <oyving@yahooinc.com> | 2023-09-26 11:08:13 +0200 |
---|---|---|
committer | Øyvind Grønnesby <oyving@yahooinc.com> | 2023-09-26 11:08:13 +0200 |
commit | 7d7d0ccc4820988df376e3ece3c63540f41d8994 (patch) | |
tree | 9472e413874c111f6039126c98520fc5ca84eaa8 /controller-api | |
parent | aa5339c14efe3d4550c7a8a299039f866a02b948 (diff) |
Report customer status periodically
Diffstat (limited to 'controller-api')
2 files changed, 32 insertions, 1 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 a4b3abf3bf9..ac03363cf48 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 @@ -1,5 +1,10 @@ package com.yahoo.vespa.hosted.controller.api.integration.billing; +import com.yahoo.vespa.hosted.controller.tenant.BillingReference; +import com.yahoo.vespa.hosted.controller.tenant.CloudTenant; + public interface BillingReporter { - double maintain(); + double maintainResources(); + + BillingReference maintainTenant(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 new file mode 100644 index 00000000000..f6bda63bd1f --- /dev/null +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/billing/BillingReporterMock.java @@ -0,0 +1,26 @@ +// Copyright Yahoo. Licensed under the terms of the Apache 2.0 license. See LICENSE in the project root. +package com.yahoo.vespa.hosted.controller.api.integration.billing; + +import com.yahoo.vespa.hosted.controller.tenant.BillingReference; +import com.yahoo.vespa.hosted.controller.tenant.CloudTenant; + +import java.time.Clock; +import java.util.UUID; + +public class BillingReporterMock implements BillingReporter { + private final Clock clock; + + public BillingReporterMock(Clock clock) { + this.clock = clock; + } + + @Override + public double maintainResources() { + return 0; + } + + @Override + public BillingReference maintainTenant(CloudTenant tenant) { + return new BillingReference(UUID.randomUUID().toString(), clock.instant()); + } +} |