validate

dpsctl topology validate Usage Guide

Validate a topology JSON file without importing it.

Usage

dpsctl topology validate

Flags

Includes global dpsctl options.

   --filename value    JSON filename containing a topology to validate (required)
   --help, -h          show help

Examples

Basic Validation

$ dpsctl topology validate --filename topology.json
{
  "status": {
    "ok": true,
    "diag_msg": "Topology validation successful"
  },
  "validation_errors": []
}

Validation with Errors

$ dpsctl topology validate --filename invalid-topology.json
{
  "status": {
    "ok": false,
    "diag_msg": "Topology validation failed"
  },
  "validation_errors": [
    {
      "object_name": "node001",
      "object_type": "Entity",
      "error": "InvalidDeviceModel",
      "message": "Entity 'node001' references undefined device model 'UnknownModel'"
    },
    {
      "object_name": "PowerDomain-A",
      "object_type": "TopologyEntity",
      "error": "PowerConstraintExceeded",
      "message": "Power constraint exceeds maximum allowed value"
    },
    {
      "object_name": "topology",
      "object_type": "Topology",
      "error": "CircularDependency",
      "message": "Circular dependency detected in topology relations"
    }
  ]
}

Notes

  • Validation checks schema compliance, entity references, and logical consistency
  • Files are validated against the same rules used during import
  • Use this command to catch errors before attempting to import a topology
  • Validation does not modify any existing topology data
  • The status.ok field indicates overall validation success/failure
  • The validation_errors array contains detailed error information for each validation failure
  • Each validation error includes the object name, type, error code, and descriptive message