{
  "namespace": "com.pacbio.common.models.datastore",
  "type": "record",
  "name": "PipelineDataStoreViewRules",
  "doc": "Custom view of the DataStoreFile(s) emitted from a specific pipeline (by id)",
  "fields": [
    {
      "name": "pipelineId",
      "type": "string",
      "doc": "Fully qualified pipeline id to apply rules to. e.g., pbsmrtpipe.pipelines.dev_01"
    },
    {
      "name": "smrtlinkVersion",
      "type": "string",
      "doc": "Version of SMRTLink to which these rules apply. e.g., '3.2'"
    },
    {
      "name": "rules",
      "type": {
        "type": "array",
        "items": {
          "type": "record",
          "name": "DataStoreViewRule",
          "doc": "Custom View of specific DataStoreFile by source id in the datastore.json",
          "fields": [
            {
              "name": "sourceId",
              "type": "string",
              "doc": "Source ID as it appears in the pbsmrtpipe datastore, Should have the form {task-id}-{in|out}-{positional-index}"
            },
            {
              "name": "fileTypeId",
              "type": "string",
              "doc": "File type identifier, e.g. PacBio.FileTypes.JsonReport"
            },
            {
              "name": "isHidden",
              "type": "boolean",
              "doc": "Specifies that a file should not appear in the UI"
            },
            {
              "name": "name",
              "type": ["string", "null"],
              "doc": "Override the display name (optional). If this is null, the default name of the datastore file will be used in UI"
            },
            {
              "name": "description",
              "type": ["string", "null"],
              "doc": "Override the display description (optional). If this is null, the default description of the datastore file will be used in UI"
            },
            {
              "name": "typeName",
              "type": ["string", "null"],
              "doc": "Overide the display file type (optional)"
            }
          ]
        }
      }
    }
  ]
}
