{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/microsoft-azure-data-factory/json-schema/microsoft-azure-data-factory-dataset-resource-schema.json",
  "title": "DatasetResource",
  "description": "Dataset resource type.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/_superseded/microsoft-azure-data-factory-datasets-api-openapi.yml#/components/schemas/DatasetResource",
  "type": "object",
  "properties": {
    "properties": {
      "$ref": "#/$defs/Dataset",
      "description": "Dataset properties."
    },
    "etag": {
      "type": "string",
      "description": "\"If etag is provided in the response body, it may also be provided as a header per the normal etag convention.  Entity tags are used for comparing two or more entities from the same requested resource. HTTP/1.1 uses entity tags in the etag (section 14.19), If-Match (section 14.24), If-None-Match (section 14.26), and If-Range (section 14.27) header fields.\")",
      "readOnly": true
    }
  },
  "required": [
    "properties"
  ],
  "allOf": [
    {
      "$ref": "../../../../../../common-types/resource-management/v6/types.json#/definitions/ProxyResource"
    }
  ],
  "$defs": {
    "Dataset": {
      "type": "object",
      "description": "The Azure Data Factory nested object which identifies data within different data stores, such as tables, files, folders, and documents.",
      "properties": {
        "type": {
          "type": "string",
          "description": "Type of dataset."
        },
        "description": {
          "type": "string",
          "description": "Dataset description."
        },
        "structure": {
          "description": "Columns that define the structure of the dataset. Type: array (or Expression with resultType array), itemType: DatasetDataElement."
        },
        "schema": {
          "description": "Columns that define the physical type schema of the dataset. Type: array (or Expression with resultType array), itemType: DatasetSchemaDataElement."
        },
        "linkedServiceName": {
          "$ref": "#/$defs/LinkedServiceReference",
          "description": "Linked service reference."
        },
        "parameters": {
          "type": "object",
          "description": "Parameters for dataset.",
          "additionalProperties": {
            "$ref": "#/$defs/ParameterSpecification"
          }
        },
        "annotations": {
          "type": "array",
          "description": "List of tags that can be used for describing the Dataset.",
          "items": {}
        },
        "folder": {
          "$ref": "#/$defs/DatasetFolder",
          "description": "The folder that this Dataset is in. If not specified, Dataset will appear at the root level."
        }
      },
      "required": [
        "type",
        "linkedServiceName"
      ],
      "additionalProperties": {}
    },
    "DatasetFolder": {
      "type": "object",
      "description": "The folder that this Dataset is in. If not specified, Dataset will appear at the root level.",
      "properties": {
        "name": {
          "type": "string",
          "description": "The name of the folder that this Dataset is in."
        }
      }
    },
    "LinkedServiceReference": {
      "type": "object",
      "description": "Linked service reference type.",
      "properties": {
        "type": {
          "$ref": "#/$defs/Type",
          "description": "Linked service reference type."
        },
        "referenceName": {
          "type": "string",
          "description": "Reference LinkedService name."
        },
        "parameters": {
          "type": "object",
          "description": "Arguments for LinkedService.",
          "additionalProperties": {}
        }
      },
      "required": [
        "type",
        "referenceName"
      ]
    },
    "ParameterSpecification": {
      "type": "object",
      "description": "Definition of a single parameter for an entity.",
      "properties": {
        "type": {
          "$ref": "#/$defs/ParameterType",
          "description": "Parameter type."
        },
        "defaultValue": {
          "description": "Default value of parameter."
        }
      },
      "required": [
        "type"
      ]
    },
    "ParameterType": {
      "type": "string",
      "description": "Parameter type.",
      "enum": [
        "Object",
        "String",
        "Int",
        "Float",
        "Bool",
        "Array",
        "SecureString"
      ],
      "x-ms-enum": {
        "name": "ParameterType",
        "modelAsString": true,
        "values": [
          {
            "name": "Object",
            "value": "Object",
            "description": "Object"
          },
          {
            "name": "String",
            "value": "String",
            "description": "String"
          },
          {
            "name": "Int",
            "value": "Int",
            "description": "Int"
          },
          {
            "name": "Float",
            "value": "Float",
            "description": "Float"
          },
          {
            "name": "Bool",
            "value": "Bool",
            "description": "Bool"
          },
          {
            "name": "Array",
            "value": "Array",
            "description": "Array"
          },
          {
            "name": "SecureString",
            "value": "SecureString",
            "description": "SecureString"
          }
        ]
      }
    },
    "Type": {
      "type": "string",
      "description": "Linked service reference type.",
      "enum": [
        "LinkedServiceReference"
      ],
      "x-ms-enum": {
        "name": "Type",
        "modelAsString": true,
        "values": [
          {
            "name": "LinkedServiceReference",
            "value": "LinkedServiceReference",
            "description": "LinkedServiceReference"
          }
        ]
      }
    }
  }
}