{
  "description": "JoinTokenRequest is the Schema for the join token request API",
  "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"
    },
    "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"
    },
    "metadata": {
      "type": "object"
    },
    "spec": {
      "description": "JoinTokenRequestSpec defines the desired state of K0smotronJoinTokenRequest",
      "properties": {
        "clusterRef": {
          "description": "ClusterRef is the reference to the cluster for which the join token is requested.",
          "properties": {
            "name": {
              "description": "Name of the cluster.",
              "type": "string"
            },
            "namespace": {
              "description": "Namespace of the cluster.",
              "type": "string"
            }
          },
          "required": [
            "name",
            "namespace"
          ],
          "type": "object",
          "additionalProperties": false
        },
        "expiry": {
          "default": "0s",
          "description": "Expiration time of the token. Format 1.5h, 2h45m or 300ms.",
          "type": "string"
        },
        "role": {
          "default": "worker",
          "description": "Role of the node for which the token is requested (worker or controller).",
          "enum": [
            "worker",
            "controller"
          ],
          "type": "string"
        }
      },
      "required": [
        "clusterRef"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "JoinTokenRequestStatus defines the observed state of K0smotronJoinTokenRequest",
      "properties": {
        "clusterUID": {
          "description": "UID is a type that holds unique ID values, including UUIDs.  Because we\ndon't ONLY use UUIDs, this is an alias to string.  Being a type captures\nintent and helps make sure that UIDs and names do not get conflated.",
          "type": "string"
        },
        "reconciliationStatus": {
          "type": "string"
        },
        "tokenID": {
          "type": "string"
        }
      },
      "required": [
        "reconciliationStatus"
      ],
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
