{
  "description": "Node is where Longhorn stores Longhorn node object.",
  "properties": {
    "apiVersion": {
      "description": "APIVersion defines the versioned schema of this representation of an object.\nServers should convert recognized schemas to the latest internal value, and\nmay reject unrecognized values.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources",
      "type": [
        "string",
        "null"
      ]
    },
    "kind": {
      "description": "Kind is a string value representing the REST resource this object represents.\nServers may infer this from the endpoint the client submits requests to.\nCannot be updated.\nIn CamelCase.\nMore info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds",
      "type": [
        "string",
        "null"
      ]
    },
    "metadata": {
      "type": [
        "object",
        "null"
      ]
    },
    "spec": {
      "additionalProperties": false,
      "description": "NodeSpec defines the desired state of the Longhorn node",
      "properties": {
        "allowScheduling": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "disks": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "allowScheduling": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "diskDriver": {
                "enum": [
                  "",
                  "auto",
                  "aio",
                  "nvme"
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskType": {
                "enum": [
                  "filesystem",
                  "block"
                ],
                "type": [
                  "string",
                  "null"
                ]
              },
              "evictionRequested": {
                "type": [
                  "boolean",
                  "null"
                ]
              },
              "path": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "storageReserved": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "tags": {
                "items": {
                  "type": "string"
                },
                "type": [
                  "array",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "type": [
            "object",
            "null"
          ]
        },
        "evictionRequested": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "instanceManagerCPURequest": {
          "type": [
            "integer",
            "null"
          ]
        },
        "name": {
          "type": [
            "string",
            "null"
          ]
        },
        "tags": {
          "items": {
            "type": "string"
          },
          "type": [
            "array",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "NodeStatus defines the observed state of the Longhorn node",
      "properties": {
        "autoEvicting": {
          "type": [
            "boolean",
            "null"
          ]
        },
        "conditions": {
          "items": {
            "additionalProperties": false,
            "properties": {
              "lastProbeTime": {
                "description": "Last time we probed the condition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "description": "Human-readable message indicating details about last transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "reason": {
                "description": "Unique, one-word, CamelCase reason for the condition's last transition.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "status": {
                "description": "Status is the status of the condition.\nCan be True, False, Unknown.",
                "type": [
                  "string",
                  "null"
                ]
              },
              "type": {
                "description": "Type is the type of the condition.",
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": [
            "array",
            "null"
          ]
        },
        "diskStatus": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "conditions": {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "lastProbeTime": {
                      "description": "Last time we probed the condition.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "lastTransitionTime": {
                      "description": "Last time the condition transitioned from one status to another.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "message": {
                      "description": "Human-readable message indicating details about last transition.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "reason": {
                      "description": "Unique, one-word, CamelCase reason for the condition's last transition.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "status": {
                      "description": "Status is the status of the condition.\nCan be True, False, Unknown.",
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "type": {
                      "description": "Type is the type of the condition.",
                      "type": [
                        "string",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "nullable": true,
                "type": [
                  "array",
                  "null"
                ]
              },
              "diskDriver": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskName": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskPath": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskType": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskUUID": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "filesystemType": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "healthData": {
                "additionalProperties": {
                  "additionalProperties": false,
                  "properties": {
                    "attributes": {
                      "items": {
                        "additionalProperties": false,
                        "properties": {
                          "id": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "name": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "rawString": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "rawValue": {
                            "format": "int64",
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "threshold": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "value": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          },
                          "whenFailed": {
                            "type": [
                              "string",
                              "null"
                            ]
                          },
                          "worst": {
                            "type": [
                              "integer",
                              "null"
                            ]
                          }
                        },
                        "type": "object"
                      },
                      "type": [
                        "array",
                        "null"
                      ]
                    },
                    "capacity": {
                      "format": "int64",
                      "type": [
                        "integer",
                        "null"
                      ]
                    },
                    "diskName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "diskType": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "firmwareVersion": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "healthStatus": {
                      "enum": [
                        "FAILED",
                        "PASSED",
                        "UNKNOWN",
                        "WARNING"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "modelName": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "serialNumber": {
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "source": {
                      "enum": [
                        "SMART",
                        "SPDK"
                      ],
                      "type": [
                        "string",
                        "null"
                      ]
                    },
                    "temperature": {
                      "type": [
                        "integer",
                        "null"
                      ]
                    }
                  },
                  "type": "object"
                },
                "type": [
                  "object",
                  "null"
                ]
              },
              "healthDataLastCollectedAt": {
                "format": "date-time",
                "type": [
                  "string",
                  "null"
                ]
              },
              "instanceManagerName": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "scheduledBackingImage": {
                "additionalProperties": {
                  "format": "int64",
                  "type": "integer"
                },
                "nullable": true,
                "type": [
                  "object",
                  "null"
                ]
              },
              "scheduledReplica": {
                "additionalProperties": {
                  "format": "int64",
                  "type": "integer"
                },
                "nullable": true,
                "type": [
                  "object",
                  "null"
                ]
              },
              "storageAvailable": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "storageMaximum": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "storageScheduled": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": [
            "object",
            "null"
          ]
        },
        "region": {
          "type": [
            "string",
            "null"
          ]
        },
        "snapshotCheckStatus": {
          "additionalProperties": false,
          "properties": {
            "lastPeriodicCheckedAt": {
              "format": "date-time",
              "type": [
                "string",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "zone": {
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}