{
  "description": "TalosConfig is the Schema for the talosconfigs 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": "TalosConfigSpec defines the desired state of TalosConfig",
      "properties": {
        "configPatches": {
          "items": {
            "properties": {
              "op": {
                "type": "string"
              },
              "path": {
                "type": "string"
              },
              "value": {
                "x-kubernetes-preserve-unknown-fields": true
              }
            },
            "required": [
              "op",
              "path"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "data": {
          "type": "string"
        },
        "generateType": {
          "type": "string"
        },
        "hostname": {
          "description": "Set hostname in the machine configuration to some value.",
          "properties": {
            "source": {
              "description": "Source of the hostname.\n\nAllowed values: \"MachineName\" (use linked Machine's Name).",
              "type": "string"
            }
          },
          "type": "object",
          "additionalProperties": false
        },
        "strategicPatches": {
          "description": "Talos Linux machine configuration strategic merge patch list.",
          "items": {
            "type": "string"
          },
          "type": "array"
        },
        "talosVersion": {
          "type": "string"
        }
      },
      "required": [
        "generateType"
      ],
      "type": "object",
      "additionalProperties": false
    },
    "status": {
      "description": "TalosConfigStatus defines the observed state of TalosConfig",
      "properties": {
        "conditions": {
          "description": "Conditions defines current service state of the TalosConfig.",
          "items": {
            "description": "Condition defines an observation of a Cluster API resource operational state.",
            "properties": {
              "lastTransitionTime": {
                "description": "Last time the condition transitioned from one status to another.\nThis should be when the underlying condition changed. If that is not known, then using the time when\nthe API field changed is acceptable.",
                "format": "date-time",
                "type": "string"
              },
              "message": {
                "description": "A human readable message indicating details about the transition.\nThis field may be empty.",
                "type": "string"
              },
              "reason": {
                "description": "The reason for the condition's last transition in CamelCase.\nThe specific API may choose whether or not this field is considered a guaranteed API.\nThis field may be empty.",
                "type": "string"
              },
              "severity": {
                "description": "severity provides an explicit classification of Reason code, so the users or machines can immediately\nunderstand the current situation and act accordingly.\nThe Severity field MUST be set only when Status=False.",
                "type": "string"
              },
              "status": {
                "description": "status of the condition, one of True, False, Unknown.",
                "type": "string"
              },
              "type": {
                "description": "type of condition in CamelCase or in foo.example.com/CamelCase.\nMany .condition.type values are consistent across resources like Available, but because arbitrary conditions\ncan be useful (see .node.status.conditions), the ability to deconflict is important.",
                "type": "string"
              }
            },
            "required": [
              "lastTransitionTime",
              "status",
              "type"
            ],
            "type": "object",
            "additionalProperties": false
          },
          "type": "array"
        },
        "dataSecretName": {
          "description": "DataSecretName is the name of the secret that stores the bootstrap data script.",
          "type": "string"
        },
        "failureMessage": {
          "description": "FailureMessage will be set on non-retryable errors",
          "type": "string"
        },
        "failureReason": {
          "description": "FailureReason will be set on non-retryable errors",
          "type": "string"
        },
        "observedGeneration": {
          "description": "ObservedGeneration is the latest generation observed by the controller.",
          "format": "int64",
          "type": "integer"
        },
        "ready": {
          "description": "Ready indicates the BootstrapData field is ready to be consumed",
          "type": "boolean"
        },
        "talosConfig": {
          "description": "Talos config will be a string containing the config for download.\n\nDeprecated: please use `<cluster>-talosconfig` secret.",
          "type": "string"
        }
      },
      "type": "object",
      "additionalProperties": false
    }
  },
  "type": "object"
}
