mirror of
https://github.com/google/nomulus
synced 2026-09-21 07:24:26 +00:00
Add publish functionality to billing pipeline
This closes the end-to-end billing pipeline, allowing us to share generated detail reports with registrars via Drive and e-mail the invoicing team a link to the generated invoice. This also factors out the email configs from ICANN reporting into the common 'misc' config, since we'll likely need alert e-mails for future periodic tasks. ------------- Created by MOE: https://github.com/google/moe MOE_MIGRATED_REVID=180805972
This commit is contained in:
@@ -16,6 +16,7 @@ package google.registry.beam;
|
||||
|
||||
import google.registry.beam.BillingEvent.InvoiceGroupingKey;
|
||||
import google.registry.beam.BillingEvent.InvoiceGroupingKey.InvoiceGroupingKeyCoder;
|
||||
import google.registry.billing.BillingModule;
|
||||
import google.registry.config.RegistryConfig.Config;
|
||||
import java.io.Serializable;
|
||||
import javax.inject.Inject;
|
||||
@@ -130,7 +131,11 @@ public class InvoicingPipeline implements Serializable {
|
||||
.to(
|
||||
NestedValueProvider.of(
|
||||
yearMonthProvider,
|
||||
yearMonth -> String.format("%s/results/CRR-INV-%s", beamBucket, yearMonth)))
|
||||
// TODO(larryruili): Replace with billing bucket after verifying 2017-12 output.
|
||||
yearMonth ->
|
||||
String.format(
|
||||
"%s/results/%s-%s",
|
||||
beamBucket, BillingModule.OVERALL_INVOICE_PREFIX, yearMonth)))
|
||||
.withHeader(InvoiceGroupingKey.invoiceHeader())
|
||||
.withoutSharding()
|
||||
.withSuffix(".csv");
|
||||
@@ -140,6 +145,7 @@ public class InvoicingPipeline implements Serializable {
|
||||
private TextIO.TypedWrite<BillingEvent, Params> writeDetailReports(
|
||||
ValueProvider<String> yearMonthProvider) {
|
||||
return TextIO.<BillingEvent>writeCustomType()
|
||||
// TODO(larryruili): Replace with billing bucket/yyyy-MM after verifying 2017-12 output.
|
||||
.to(
|
||||
InvoicingUtils.makeDestinationFunction(beamBucket + "/results", yearMonthProvider),
|
||||
InvoicingUtils.makeEmptyDestinationParams(beamBucket + "/results"))
|
||||
|
||||
Reference in New Issue
Block a user