{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/azure-test-labs/json-schema/azure-test-labs-data-disk-properties-schema.json",
  "title": "DataDiskProperties",
  "description": "Request body for adding a new or existing data disk to a virtual machine.",
  "x-generated": "2026-11-05",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/azure-test-labs-virtual-machines-api-openapi.yml#/components/schemas/DataDiskProperties",
  "properties": {
    "attachNewDataDiskOptions": {
      "$ref": "#/$defs/AttachNewDataDiskOptions",
      "description": "Specifies options to attach a new disk to the virtual machine."
    },
    "existingLabDiskId": {
      "description": "Specifies the existing lab disk id to attach to virtual machine.",
      "type": "string"
    },
    "hostCaching": {
      "description": "Caching option for a data disk (i.e. None, ReadOnly, ReadWrite).",
      "enum": [
        "None",
        "ReadOnly",
        "ReadWrite"
      ],
      "type": "string",
      "x-ms-enum": {
        "modelAsString": true,
        "name": "HostCachingOptions"
      }
    }
  },
  "type": "object",
  "$defs": {
    "AttachNewDataDiskOptions": {
      "description": "Properties to attach new disk to the Virtual Machine.",
      "properties": {
        "diskName": {
          "description": "The name of the disk to be attached.",
          "type": "string"
        },
        "diskSizeGiB": {
          "description": "Size of the disk to be attached in GibiBytes.",
          "format": "int32",
          "type": "integer"
        },
        "diskType": {
          "description": "The storage type for the disk (i.e. Standard, Premium).",
          "enum": [
            "Standard",
            "Premium",
            "StandardSSD"
          ],
          "type": "string",
          "x-ms-enum": {
            "modelAsString": true,
            "name": "StorageType"
          }
        }
      },
      "type": "object"
    }
  }
}