{
  "description": "InstanceManager is where Longhorn stores instance manager 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": "InstanceManagerSpec defines the desired state of the Longhorn instance manager",
      "properties": {
        "dataEngine": {
          "type": [
            "string",
            "null"
          ]
        },
        "dataEngineSpec": {
          "additionalProperties": false,
          "properties": {
            "v2": {
              "additionalProperties": false,
              "properties": {
                "cpuMask": {
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "image": {
          "type": [
            "string",
            "null"
          ]
        },
        "nodeID": {
          "type": [
            "string",
            "null"
          ]
        },
        "type": {
          "enum": [
            "aio",
            "engine",
            "replica"
          ],
          "type": [
            "string",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    },
    "status": {
      "additionalProperties": false,
      "description": "InstanceManagerStatus defines the observed state of the Longhorn instance manager",
      "properties": {
        "apiMinVersion": {
          "type": [
            "integer",
            "null"
          ]
        },
        "apiVersion": {
          "type": [
            "integer",
            "null"
          ]
        },
        "backingImages": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "currentChecksum": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "diskUUID": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "message": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "name": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "progress": {
                "type": [
                  "integer",
                  "null"
                ]
              },
              "size": {
                "format": "int64",
                "type": [
                  "integer",
                  "null"
                ]
              },
              "state": {
                "type": [
                  "string",
                  "null"
                ]
              },
              "uuid": {
                "type": [
                  "string",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": [
            "object",
            "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"
          ]
        },
        "currentState": {
          "type": [
            "string",
            "null"
          ]
        },
        "dataEngineStatus": {
          "additionalProperties": false,
          "properties": {
            "v2": {
              "additionalProperties": false,
              "properties": {
                "cpuMask": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "interruptModeEnabled": {
                  "description": "InterruptModeEnabled indicates whether the V2 data engine is running in\ninterrupt mode (true) or polling mode (false). Set by Longhorn manager;\nread-only to users.",
                  "enum": [
                    "",
                    "true",
                    "false"
                  ],
                  "type": [
                    "string",
                    "null"
                  ]
                }
              },
              "type": [
                "object",
                "null"
              ]
            }
          },
          "type": [
            "object",
            "null"
          ]
        },
        "instanceEngines": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "spec": {
                "additionalProperties": false,
                "properties": {
                  "dataEngine": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              },
              "status": {
                "additionalProperties": false,
                "properties": {
                  "conditions": {
                    "additionalProperties": {
                      "type": "boolean"
                    },
                    "nullable": true,
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "endpoint": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "errorMsg": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "listen": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "portEnd": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "portStart": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "resourceVersion": {
                    "format": "int64",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "state": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "targetPortEnd": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "targetPortStart": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "ublkID": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "uuid": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": [
            "object",
            "null"
          ]
        },
        "instanceReplicas": {
          "additionalProperties": {
            "additionalProperties": false,
            "properties": {
              "spec": {
                "additionalProperties": false,
                "properties": {
                  "dataEngine": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              },
              "status": {
                "additionalProperties": false,
                "properties": {
                  "conditions": {
                    "additionalProperties": {
                      "type": "boolean"
                    },
                    "nullable": true,
                    "type": [
                      "object",
                      "null"
                    ]
                  },
                  "endpoint": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "errorMsg": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "listen": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "portEnd": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "portStart": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "resourceVersion": {
                    "format": "int64",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "state": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "targetPortEnd": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "targetPortStart": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "type": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "ublkID": {
                    "format": "int32",
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "uuid": {
                    "type": [
                      "string",
                      "null"
                    ]
                  }
                },
                "type": [
                  "object",
                  "null"
                ]
              }
            },
            "type": "object"
          },
          "nullable": true,
          "type": [
            "object",
            "null"
          ]
        },
        "ip": {
          "type": [
            "string",
            "null"
          ]
        },
        "ownerID": {
          "type": [
            "string",
            "null"
          ]
        },
        "proxyApiMinVersion": {
          "type": [
            "integer",
            "null"
          ]
        },
        "proxyApiVersion": {
          "type": [
            "integer",
            "null"
          ]
        }
      },
      "type": [
        "object",
        "null"
      ]
    }
  },
  "type": "object"
}