{
  "name": "Invoice and Detailed Reports Generation",
  "description": "An Apache Beam batch pipeline that generates monthly invoice and detailed reports, saving them on GCS.",
  "parameters": [
    {
      "name": "registryEnvironment",
      "label": "The Registry environment.",
      "helpText": "The Registry environment.",
      "is_optional": false,
      "regexes": [
        "^PRODUCTION|SANDBOX|CRASH|QA|ALPHA$"
      ]
    },
    {
      "name": "isolationOverride",
      "label": "The desired SQL transaction isolation level.",
      "helpText": "The desired SQL transaction isolation level.",
      "is_optional": true,
      "regexes": [
        "^[0-9A-Z_]+$"
      ]
    },
    {
      "name": "sqlWriteBatchSize",
      "label": "SQL write batch size.",
      "helpText": "The number of entities to write to the SQL database in one operation.",
      "is_optional": true,
      "regexes": [
        "^[1-9][0-9]*$"
      ]
    },
    {
      "name": "yearMonth",
      "label": "The year and month we generate invoice and detailed reports for.",
      "helpText": "The year and month for which the invoice and detailed reports are generated, in yyyy-MM format.",
      "regexes": [
        "^2[0-9]{3}-(0[1-9]|1[0-2])$"
      ]
    },
    {
      "name": "invoiceFilePrefix",
      "label": "Filename prefix for the invoice CSV file.",
      "helpText": "The prefix that will be applied to the invoice file.",
      "regexes": [
        "^[a-zA-Z0-9_\\-]+$"
      ]
    },
    {
      "name": "billingBucketUrl",
      "label": "invoice and detailed reports upload dir.",
      "helpText": "The root directory of the reports to upload.",
      "regexes": [
        "^gs:\\/\\/[^\\n\\r]+$"
      ]
    },
    {
      "name": "jpaTransactionManagerType",
      "label": "The type of JPA transaction manager to use if using SQL",
      "helpText": "The standard SQL instance or a read-only replica may be used",
      "regexes": ["^REGULAR|READ_ONLY_REPLICA$"]
    }
  ]
}
