{
  "type": "record",
  "name": "DataJobInfo",
  "namespace": "com.linkedin.pegasus2avro.datajob",
  "doc": "Information about a Data processing job",
  "fields": [
    {
      "name": "customProperties",
      "type": {
        "type": "map",
        "values": "string"
      },
      "doc": "Custom property bag.",
      "default": {},
      "Searchable": {
        "/*": {
          "queryByDefault": true
        }
      }
    },
    {
      "name": "externalUrl",
      "type": [
        "null",
        "string"
      ],
      "doc": "URL where the reference exist",
      "default": null,
      "java": {
        "class": "com.linkedin.pegasus2avro.common.url.Url",
        "coercerClass": "com.linkedin.pegasus2avro.common.url.UrlCoercer"
      }
    },
    {
      "name": "name",
      "type": "string",
      "doc": "Job name",
      "Searchable": {
        "boostScore": 10.0,
        "enableAutocomplete": true,
        "fieldType": "TEXT_PARTIAL"
      }
    },
    {
      "name": "description",
      "type": [
        "null",
        "string"
      ],
      "doc": "Job description",
      "default": null,
      "Searchable": {
        "fieldType": "TEXT",
        "hasValuesFieldName": "hasDescription"
      }
    },
    {
      "name": "type",
      "type": [
        {
          "type": "enum",
          "name": "AzkabanJobType",
          "namespace": "com.linkedin.pegasus2avro.datajob.azkaban",
          "doc": "The various types of support azkaban jobs",
          "symbols": [
            "COMMAND",
            "HADOOP_JAVA",
            "HADOOP_SHELL",
            "HIVE",
            "PIG",
            "SQL",
            "GLUE"
          ],
          "symbolDocs": {
            "COMMAND": "The command job type is one of the basic built-in types. It runs multiple UNIX commands using java processbuilder.\nUpon execution, Azkaban spawns off a process to run the command.",
            "GLUE": "Glue type is for running AWS Glue job transforms.",
            "HADOOP_JAVA": "Runs a java program with ability to access Hadoop cluster.\nhttps://azkaban.readthedocs.io/en/latest/jobTypes.html#java-job-type",
            "HADOOP_SHELL": "In large part, this is the same Command type. The difference is its ability to talk to a Hadoop cluster\nsecurely, via Hadoop tokens.",
            "HIVE": "Hive type is for running Hive jobs.",
            "PIG": "Pig type is for running Pig jobs.",
            "SQL": "SQL is for running Presto, mysql queries etc"
          }
        },
        "string"
      ],
      "doc": "Datajob type\n**NOTE**: AzkabanJobType is deprecated. Please use strings instead."
    },
    {
      "name": "flowUrn",
      "type": [
        "null",
        "string"
      ],
      "doc": "DataFlow urn that this job is part of",
      "default": null,
      "java": {
        "class": "com.linkedin.pegasus2avro.common.urn.DataFlowUrn"
      }
    },
    {
      "name": "status",
      "type": [
        "null",
        {
          "type": "enum",
          "name": "JobStatus",
          "doc": "Job statuses",
          "symbols": [
            "STARTING",
            "IN_PROGRESS",
            "STOPPING",
            "STOPPED",
            "COMPLETED",
            "FAILED",
            "UNKNOWN",
            "SKIPPED"
          ],
          "symbolDocs": {
            "COMPLETED": "Jobs with successful completion.",
            "FAILED": "Jobs that have failed.",
            "IN_PROGRESS": "Jobs currently running.",
            "SKIPPED": "Jobs that have been skipped.",
            "STARTING": "Jobs being initialized.",
            "STOPPED": "Jobs that have stopped.",
            "STOPPING": "Jobs being stopped.",
            "UNKNOWN": "Jobs with unknown status (either unmappable or unavailable)"
          }
        }
      ],
      "doc": "Status of the job",
      "default": null
    }
  ],
  "Aspect": {
    "name": "dataJobInfo"
  }
}