{
  "type" : "record",
  "name" : "RecordWithRequiredFields",
  "namespace" : "org.apache.avro",
  "fields" : [ {
    "name" : "strField",
    "type" : "string"
  }, {
    "name" : "unionField",
    "type" : [ "null", {
      "type" : "record",
      "name" : "UnionRecord",
      "fields" : [ {
        "name" : "strField",
        "type" : "string"
      }, {
        "name" : "arrayField",
        "type" : {
          "type" : "array",
          "items" : {
            "type" : "record",
            "name" : "ArrayRecord",
            "fields" : [ {
              "name" : "strField",
              "type" : "string"
            }, {
              "name" : "mapField",
              "type" : {
                "type" : "map",
                "values" : {
                  "type" : "record",
                  "name" : "MapRecord",
                  "fields" : [ {
                    "name" : "enumField",
                    "type" : {
                      "type" : "enum",
                      "name" : "MapRecordEnum",
                      "symbols" : [ "A", "B" ],
                      "default" : "A"
                    }
                  }, {
                    "name" : "strField",
                    "type" : "string"
                  } ]
                }
              }
            } ]
          }
        }
      } ]
    } ]
  } ]
}
