{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "properties": {
    "apiVersion": {
      "type": "string"
    },
    "kind": {
      "type": "string"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "properties": {
        "accessToken": {
          "nullable": true,
          "type": "string"
        },
        "backups": {
          "type": "boolean"
        },
        "common": {
          "properties": {
            "cloudCredentialSecretName": {
              "maxLength": 317,
              "nullable": true,
              "type": "string"
            },
            "labels": {
              "additionalProperties": {
                "type": "string"
              },
              "nullable": true,
              "type": "object"
            },
            "taints": {
              "items": {
                "properties": {
                  "effect": {
                    "type": "string"
                  },
                  "key": {
                    "type": "string"
                  },
                  "timeAdded": {
                    "format": "date-time",
                    "type": "string"
                  },
                  "value": {
                    "type": "string"
                  }
                },
                "required": [
                  "effect",
                  "key"
                ],
                "type": "object"
              },
              "nullable": true,
              "type": "array"
            }
          },
          "type": "object"
        },
        "image": {
          "nullable": true,
          "type": "string"
        },
        "ipv6": {
          "type": "boolean"
        },
        "monitoring": {
          "type": "boolean"
        },
        "privateNetworking": {
          "type": "boolean"
        },
        "providerID": {
          "nullable": true,
          "type": "string"
        },
        "region": {
          "nullable": true,
          "type": "string"
        },
        "size": {
          "nullable": true,
          "type": "string"
        },
        "sshKeyContents": {
          "nullable": true,
          "type": "string"
        },
        "sshKeyFingerprint": {
          "nullable": true,
          "type": "string"
        },
        "sshPort": {
          "nullable": true,
          "type": "string"
        },
        "sshUser": {
          "nullable": true,
          "type": "string"
        },
        "tags": {
          "nullable": true,
          "type": "string"
        },
        "userdata": {
          "nullable": true,
          "type": "string"
        }
      },
      "type": "object"
    },
    "status": {
      "properties": {
        "addresses": {
          "items": {
            "properties": {
              "address": {
                "maxLength": 256,
                "minLength": 1,
                "type": "string"
              },
              "type": {
                "enum": [
                  "Hostname",
                  "ExternalIP",
                  "InternalIP",
                  "ExternalDNS",
                  "InternalDNS"
                ],
                "type": "string"
              }
            },
            "required": [
              "address",
              "type"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "cloudCredentialSecretName": {
          "type": "string"
        },
        "conditions": {
          "items": {
            "properties": {
              "lastTransitionTime": {
                "type": "string"
              },
              "lastUpdateTime": {
                "type": "string"
              },
              "message": {
                "type": "string"
              },
              "reason": {
                "type": "string"
              },
              "status": {
                "type": "string"
              },
              "type": {
                "type": "string"
              }
            },
            "required": [
              "status",
              "type"
            ],
            "type": "object"
          },
          "type": "array"
        },
        "driverHash": {
          "type": "string"
        },
        "driverUrl": {
          "type": "string"
        },
        "failureMessage": {
          "type": "string"
        },
        "failureReason": {
          "type": "string"
        },
        "jobName": {
          "type": "string"
        },
        "ready": {
          "type": "boolean"
        }
      },
      "type": "object"
    }
  },
  "type": "object"
}
