Interface BillingController
-
- All Known Implementing Classes:
MockBillingController
public interface BillingController
-
-
Method Summary
All Methods Instance Methods Abstract Methods Default Methods Modifier and Type Method Description voidaddLineItem(com.yahoo.config.provision.TenantName tenant, java.lang.String description, java.math.BigDecimal amount, java.lang.String agent)java.lang.StringcreateClientToken(java.lang.String tenant, java.lang.String userId)Invoice.IdcreateInvoiceForPeriod(com.yahoo.config.provision.TenantName tenant, java.time.ZonedDateTime startTime, java.time.ZonedDateTime endTime, java.lang.String agent)InvoicecreateUncommittedInvoice(com.yahoo.config.provision.TenantName tenant, java.time.LocalDate until)java.util.Map<com.yahoo.config.provision.TenantName,Invoice>createUncommittedInvoices(java.time.LocalDate until)voiddeleteBillingInfo(com.yahoo.config.provision.TenantName tenant, java.util.Set<User> users, boolean isPrivileged)booleandeleteInstrument(com.yahoo.config.provision.TenantName tenant, java.lang.String userId, java.lang.String instrumentId)voiddeleteLineItem(java.lang.String lineItemId)default CollectionMethodgetCollectionMethod(com.yahoo.config.provision.TenantName tenant)java.util.Optional<PaymentInstrument>getDefaultInstrument(com.yahoo.config.provision.TenantName tenant)java.util.List<Invoice>getInvoices()java.util.List<Invoice>getInvoicesForTenant(com.yahoo.config.provision.TenantName tenant)PlanIdgetPlan(com.yahoo.config.provision.TenantName tenant)java.lang.StringgetPlanDisplayName(PlanId planId)QuotagetQuota(com.yahoo.config.provision.TenantName tenant)java.util.List<Invoice.LineItem>getUnusedLineItems(com.yahoo.config.provision.TenantName tenant)InstrumentListlistInstruments(com.yahoo.config.provision.TenantName tenant, java.lang.String userId)booleansetActivePaymentInstrument(InstrumentOwner paymentInstrument)default CollectionResultsetCollectionMethod(com.yahoo.config.provision.TenantName tenant, CollectionMethod method)PlanResultsetPlan(com.yahoo.config.provision.TenantName tenant, PlanId planId, boolean hasDeployments)java.util.List<com.yahoo.config.provision.TenantName>tenantsWithPlan(java.util.List<com.yahoo.config.provision.TenantName> existing, PlanId planId)voidupdateInvoiceStatus(Invoice.Id invoiceId, java.lang.String agent, java.lang.String status)
-
-
-
Method Detail
-
getPlan
PlanId getPlan(com.yahoo.config.provision.TenantName tenant)
-
tenantsWithPlan
java.util.List<com.yahoo.config.provision.TenantName> tenantsWithPlan(java.util.List<com.yahoo.config.provision.TenantName> existing, PlanId planId)
-
getPlanDisplayName
java.lang.String getPlanDisplayName(PlanId planId)
-
getQuota
Quota getQuota(com.yahoo.config.provision.TenantName tenant)
-
setPlan
PlanResult setPlan(com.yahoo.config.provision.TenantName tenant, PlanId planId, boolean hasDeployments)
- Returns:
- String containing error message if something went wrong. Empty otherwise
-
createInvoiceForPeriod
Invoice.Id createInvoiceForPeriod(com.yahoo.config.provision.TenantName tenant, java.time.ZonedDateTime startTime, java.time.ZonedDateTime endTime, java.lang.String agent)
-
createUncommittedInvoice
Invoice createUncommittedInvoice(com.yahoo.config.provision.TenantName tenant, java.time.LocalDate until)
-
createUncommittedInvoices
java.util.Map<com.yahoo.config.provision.TenantName,Invoice> createUncommittedInvoices(java.time.LocalDate until)
-
getUnusedLineItems
java.util.List<Invoice.LineItem> getUnusedLineItems(com.yahoo.config.provision.TenantName tenant)
-
getDefaultInstrument
java.util.Optional<PaymentInstrument> getDefaultInstrument(com.yahoo.config.provision.TenantName tenant)
-
createClientToken
java.lang.String createClientToken(java.lang.String tenant, java.lang.String userId)
-
deleteInstrument
boolean deleteInstrument(com.yahoo.config.provision.TenantName tenant, java.lang.String userId, java.lang.String instrumentId)
-
updateInvoiceStatus
void updateInvoiceStatus(Invoice.Id invoiceId, java.lang.String agent, java.lang.String status)
-
addLineItem
void addLineItem(com.yahoo.config.provision.TenantName tenant, java.lang.String description, java.math.BigDecimal amount, java.lang.String agent)
-
deleteLineItem
void deleteLineItem(java.lang.String lineItemId)
-
setActivePaymentInstrument
boolean setActivePaymentInstrument(InstrumentOwner paymentInstrument)
-
listInstruments
InstrumentList listInstruments(com.yahoo.config.provision.TenantName tenant, java.lang.String userId)
-
getInvoicesForTenant
java.util.List<Invoice> getInvoicesForTenant(com.yahoo.config.provision.TenantName tenant)
-
getInvoices
java.util.List<Invoice> getInvoices()
-
deleteBillingInfo
void deleteBillingInfo(com.yahoo.config.provision.TenantName tenant, java.util.Set<User> users, boolean isPrivileged)
-
getCollectionMethod
default CollectionMethod getCollectionMethod(com.yahoo.config.provision.TenantName tenant)
-
setCollectionMethod
default CollectionResult setCollectionMethod(com.yahoo.config.provision.TenantName tenant, CollectionMethod method)
-
-