{
  "$id": "https://opendatafabric.org/schemas/datasets/v1alpha1/MetadataEvent",
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "description": "Represents a transaction that occurred on a dataset.",
  "oneOf": [
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "AddData"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/AddData"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "ExecuteTransform"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/ExecuteTransform"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "Seed"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/Seed"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetPollingSource"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/legacy/v0/SetPollingSource"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetTransform"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetTransform"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetVocab"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetVocab"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetAttachments"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetAttachments"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetInfo"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetInfo"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetLicense"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetLicense"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "SetDataSchema"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/datasets/v1alpha1/SetDataSchema"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "AddPushSource"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/legacy/v0/AddPushSource"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "DisablePushSource"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/legacy/v0/DisablePushSource"
        }
      ]
    },
    {
      "allOf": [
        {
          "properties": {
            "kind": {
              "type": "string",
              "const": "DisablePollingSource"
            }
          },
          "required": [
            "kind"
          ]
        },
        {
          "$ref": "https://opendatafabric.org/schemas/legacy/v0/DisablePollingSource"
        }
      ]
    }
  ]
}
