{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://raw.githubusercontent.com/api-evangelist/teradata/main/json-schema/teradata-watchdog-heartbeat-schema.json",
  "title": "watchdog-heartbeat",
  "x-generated": "2026-10-04",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/teradata-api-info-api-openapi.yml#/components/schemas/watchdog-heartbeat",
  "properties": {
    "nodeId": {
      "description": "Id of the node",
      "type": "string"
    },
    "timestamp": {
      "description": "The time of the heartbeat generation"
    },
    "instanceId": {
      "description": "The manager configuration instance Id"
    },
    "lastModified": {
      "description": "The last observed configuration timestamp",
      "format": "date-time",
      "type": "string"
    },
    "version": {
      "description": "The watch dog version",
      "type": "string"
    },
    "fabrics": {
      "description": "Information about fabrics associated with the node",
      "items": {
        "$ref": "#/$defs/fabric-status"
      },
      "type": "array"
    },
    "connectors": {
      "description": "Information about connectors associated with the node",
      "items": {
        "$ref": "#/$defs/connector-status"
      },
      "type": "array"
    },
    "managers": {
      "description": "Information about manager clusters associated with the node",
      "items": {
        "$ref": "#/$defs/manager-status"
      },
      "type": "array"
    },
    "received": {
      "description": "The time when heartbeat was received by manager",
      "format": "date-time",
      "type": "string"
    },
    "systemId": {
      "description": "The ID of the system the node is associated with",
      "type": "string"
    },
    "systemName": {
      "description": "The name of the system the node is associated with",
      "type": "string"
    },
    "hostname": {
      "description": "The hostname of the node",
      "type": "string"
    },
    "proxyError": {
      "description": "The error while using proxy",
      "type": "string"
    },
    "overridePortError": {
      "description": "The error while using an override port",
      "type": "string"
    },
    "trustedCertificates": {
      "description": "List of trusted certificates used by the node",
      "items": {
        "type": "string"
      },
      "type": "array"
    }
  },
  "type": "object",
  "$defs": {
    "connector-status": {
      "properties": {
        "versionId": {
          "description": "Id of the versioned connector",
          "type": "string"
        },
        "connectorName": {
          "description": "Name of the connector",
          "type": "string"
        },
        "connectorVersion": {
          "description": "Version of the connector",
          "enum": [
            "ACTIVE",
            "PENDING",
            "PREVIOUS"
          ],
          "type": "string"
        },
        "softwareName": {
          "description": "Name of the connector package",
          "type": "string"
        },
        "softwareVersion": {
          "description": "Version of the connector package",
          "type": "string"
        },
        "fabricName": {
          "description": "Name of the fabric using this connector",
          "type": "string"
        },
        "status": {
          "description": "Status of the connector",
          "type": "string"
        },
        "errorMessage": {
          "description": "Error observed by the connector",
          "type": "string"
        }
      },
      "type": "object"
    },
    "driver-status": {
      "properties": {
        "driverName": {
          "description": "Name of the driver",
          "type": "string"
        },
        "status": {
          "description": "Status of the driver",
          "type": "string"
        },
        "processId": {
          "description": "Process Id of the fabric",
          "type": "string"
        },
        "errorMessage": {
          "description": "Error observed by the driver",
          "type": "string"
        },
        "lastUnexpectedRestart": {
          "description": "The time of the last driver restart",
          "format": "date-time"
        }
      },
      "type": "object"
    },
    "fabric-port-conflict-status": {
      "properties": {
        "fabricName": {
          "description": "Name of the fabric",
          "type": "string"
        },
        "port": {
          "description": "Port with conflict",
          "type": "integer"
        },
        "fabricVersion": {
          "description": "Version of the fabric",
          "enum": [
            "ACTIVE",
            "PENDING",
            "PREVIOUS"
          ],
          "type": "string"
        }
      },
      "type": "object"
    },
    "fabric-status": {
      "properties": {
        "fabricName": {
          "description": "Name of the fabric",
          "type": "string"
        },
        "version": {
          "description": "Version of the fabric",
          "enum": [
            "ACTIVE",
            "PENDING",
            "PREVIOUS"
          ],
          "type": "string"
        },
        "softwareVersion": {
          "description": "Version of the fabric package",
          "type": "string"
        },
        "versionId": {
          "description": "Id of the versioned fabric",
          "type": "string"
        },
        "status": {
          "description": "Status of the fabric",
          "type": "string"
        },
        "processId": {
          "description": "Process Id of the fabric",
          "type": "string"
        },
        "errorMessage": {
          "description": "Error observed by the fabric",
          "type": "string"
        },
        "lastUnexpectedRestart": {
          "description": "The time of the last fabric restart",
          "format": "date-time"
        },
        "drivers": {
          "description": "The status of drivers associated with the fabric",
          "items": {
            "$ref": "#/$defs/driver-status"
          },
          "type": "array"
        }
      },
      "type": "object"
    },
    "link-name-conflict-status": {
      "properties": {
        "linkName": {
          "description": "Name of the link",
          "type": "string"
        },
        "fabricName": {
          "description": "Name of the fabric",
          "type": "string"
        }
      },
      "type": "object"
    },
    "manager-status": {
      "properties": {
        "clusterId": {
          "description": "Id of the manager cluster",
          "type": "string"
        },
        "primary": {
          "description": "Flag to specify if this manager is acting as primary manager for the node",
          "type": "boolean"
        },
        "addresses": {
          "description": "Addresses of the managers in the cluster",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "fabricPortConflicts": {
          "description": "Information about fabric port conflicts",
          "items": {
            "$ref": "#/$defs/fabric-port-conflict-status"
          },
          "type": "array"
        },
        "linkNameConflicts": {
          "description": "Information about link name conflicts",
          "items": {
            "$ref": "#/$defs/link-name-conflict-status"
          },
          "type": "array"
        }
      },
      "type": "object"
    }
  }
}