• Русский
  • ClusterClass [cluster.x-k8s.io/v1beta1]

    Description
    ClusterClass is a template which can be used to create managed topologies.
    Type
    object

    Specification

    PropertyTypeDescription
    apiVersionstring

    APIVersion defines the versioned schema of this representation of an object. Servers should convert recognized schemas to the latest internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources

    kindstring

    Kind is a string value representing the REST resource this object represents. Servers may infer this from the endpoint the client submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    metadataObjectMeta

    ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create.

    specobject

    spec is the desired state of ClusterClass.

    statusobject

    status is the observed state of ClusterClass.

    .spec

    Description
    spec is the desired state of ClusterClass.
    Type
    object
    PropertyTypeDescription
    availabilityGatesarray

    availabilityGates specifies additional conditions to include when evaluating Cluster Available condition.

    NOTE: this field is considered only for computing v1beta2 conditions. NOTE: If a Cluster is using this ClusterClass, and this Cluster defines a custom list of availabilityGates, such list overrides availabilityGates defined in this field.

    controlPlaneobject

    controlPlane is a reference to a local struct that holds the details for provisioning the Control Plane for the Cluster.

    infrastructureobject

    infrastructure is a reference to a provider-specific template that holds the details for provisioning infrastructure specific cluster for the underlying provider. The underlying provider is responsible for the implementation of the template to an infrastructure cluster.

    infrastructureNamingStrategyobject

    infrastructureNamingStrategy allows changing the naming pattern used when creating the infrastructure object.

    patchesarray

    patches defines the patches which are applied to customize referenced templates of a ClusterClass. Note: Patches will be applied in the order of the array.

    variablesarray

    variables defines the variables which can be configured in the Cluster topology and are then used in patches.

    workersobject

    workers describes the worker nodes for the cluster. It is a collection of node types which can be used to create the worker nodes of the cluster.

    .spec.availabilityGates

    Description
    availabilityGates specifies additional conditions to include when evaluating Cluster Available condition. NOTE: this field is considered only for computing v1beta2 conditions. NOTE: If a Cluster is using this ClusterClass, and this Cluster defines a custom list of availabilityGates, such list overrides availabilityGates defined in this field.
    Type
    array

    .spec.availabilityGates[]

    Description
    ClusterAvailabilityGate contains the type of a Cluster condition to be used as availability gate.
    Type
    object
    Required
    conditionType
    PropertyTypeDescription
    conditionTypestring

    conditionType refers to a condition with matching type in the Cluster's condition list. If the conditions doesn't exist, it will be treated as unknown. Note: Both Cluster API conditions or conditions added by 3rd party controllers can be used as availability gates.

    polaritystring

    polarity of the conditionType specified in this availabilityGate. Valid values are Positive, Negative and omitted. When omitted, the default behaviour will be Positive. A positive polarity means that the condition should report a true status under normal conditions. A negative polarity means that the condition should report a false status under normal conditions.

    .spec.controlPlane

    Description
    controlPlane is a reference to a local struct that holds the details for provisioning the Control Plane for the Cluster.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    machineHealthCheckobject

    machineHealthCheck defines a MachineHealthCheck for this ControlPlaneClass. This field is supported if and only if the ControlPlane provider template referenced above is Machine based and supports setting replicas.

    machineInfrastructureobject

    machineInfrastructure defines the metadata and infrastructure information for control plane machines.

    This field is supported if and only if the control plane provider template referenced above is Machine based and supports setting replicas.

    metadataObjectMeta

    metadata is the metadata applied to the ControlPlane and the Machines of the ControlPlane if the ControlPlaneTemplate referenced is machine based. If not, it is applied only to the ControlPlane. At runtime this metadata is merged with the corresponding metadata from the topology.

    This field is supported if and only if the control plane provider template referenced is Machine based.

    namingStrategyobject

    namingStrategy allows changing the naming pattern used when creating the control plane provider object.

    nodeDeletionTimeoutstring

    nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology.

    nodeDrainTimeoutstring

    nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from kubectl drain --timeout NOTE: This value can be overridden while defining a Cluster.Topology.

    nodeVolumeDetachTimeoutstring

    nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology.

    readinessGatesarray

    readinessGates specifies additional conditions to include when evaluating Machine Ready condition.

    This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine.

    NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for the control plane, such list overrides readinessGates defined in this field. NOTE: Specific control plane provider implementations might automatically extend the list of readinessGates; e.g. the kubeadm control provider adds ReadinessGates for the APIServerPodHealthy, SchedulerPodHealthy conditions, etc.

    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.controlPlane.machineHealthCheck

    Description
    machineHealthCheck defines a MachineHealthCheck for this ControlPlaneClass. This field is supported if and only if the ControlPlane provider template referenced above is Machine based and supports setting replicas.
    Type
    object
    PropertyTypeDescription
    maxUnhealthy

    maxUnhealthy specifies the maximum number of unhealthy machines allowed. Any further remediation is only allowed if at most "maxUnhealthy" machines selected by "selector" are not healthy.

    nodeStartupTimeoutstring

    nodeStartupTimeout allows to set the maximum time for MachineHealthCheck to consider a Machine unhealthy if a corresponding Node isn't associated through a Spec.ProviderID field.

    The duration set in this field is compared to the greatest of:

    • Cluster's infrastructure ready condition timestamp (if and when available)
    • Control Plane's initialized condition timestamp (if and when available)
    • Machine's infrastructure ready condition timestamp (if and when available)
    • Machine's metadata creation timestamp

    Defaults to 10 minutes. If you wish to disable this feature, set the value explicitly to 0.

    remediationTemplateobject

    remediationTemplate is a reference to a remediation template provided by an infrastructure provider.

    This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.

    unhealthyConditionsarray

    unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.

    unhealthyRangestring

    unhealthyRange specifies the range of unhealthy machines allowed. Any further remediation is only allowed if the number of machines selected by "selector" as not healthy is within the range of "unhealthyRange". Takes precedence over maxUnhealthy. Eg. "[3-5]" - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines

    .spec.controlPlane.machineHealthCheck.remediationTemplate

    Description
    remediationTemplate is a reference to a remediation template provided by an infrastructure provider. This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.controlPlane.machineHealthCheck.unhealthyConditions

    Description
    unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.
    Type
    array

    .spec.controlPlane.machineHealthCheck.unhealthyConditions[]

    Description
    UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration. When the named condition has been in the given status for at least the timeout value, a node is considered unhealthy.
    Type
    object
    Required
    statustimeouttype
    PropertyTypeDescription
    statusstring

    status of the condition, one of True, False, Unknown.

    timeoutstring

    timeout is the duration that a node must be in a given status for, after which the node is considered unhealthy. For example, with a value of "1h", the node must match the status for at least 1 hour before being considered unhealthy.

    typestring

    type of Node condition

    .spec.controlPlane.machineInfrastructure

    Description
    machineInfrastructure defines the metadata and infrastructure information for control plane machines. This field is supported if and only if the control plane provider template referenced above is Machine based and supports setting replicas.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.controlPlane.machineInfrastructure.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.controlPlane.namingStrategy

    Description
    namingStrategy allows changing the naming pattern used when creating the control plane provider object.
    Type
    object
    PropertyTypeDescription
    templatestring

    template defines the template to use for generating the name of the ControlPlane object. If not defined, it will fallback to {{ .cluster.name }}-{{ .random }}. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments:

    • .cluster.name: The name of the cluster object.
    • .random: A random alphanumeric string, without vowels, of length 5.

    .spec.controlPlane.readinessGates

    Description
    readinessGates specifies additional conditions to include when evaluating Machine Ready condition. This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine. NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for the control plane, such list overrides readinessGates defined in this field. NOTE: Specific control plane provider implementations might automatically extend the list of readinessGates; e.g. the kubeadm control provider adds ReadinessGates for the APIServerPodHealthy, SchedulerPodHealthy conditions, etc.
    Type
    array

    .spec.controlPlane.readinessGates[]

    Description
    MachineReadinessGate contains the type of a Machine condition to be used as a readiness gate.
    Type
    object
    Required
    conditionType
    PropertyTypeDescription
    conditionTypestring

    conditionType refers to a condition with matching type in the Machine's condition list. If the conditions doesn't exist, it will be treated as unknown. Note: Both Cluster API conditions or conditions added by 3rd party controllers can be used as readiness gates.

    polaritystring

    polarity of the conditionType specified in this readinessGate. Valid values are Positive, Negative and omitted. When omitted, the default behaviour will be Positive. A positive polarity means that the condition should report a true status under normal conditions. A negative polarity means that the condition should report a false status under normal conditions.

    .spec.controlPlane.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.infrastructure

    Description
    infrastructure is a reference to a provider-specific template that holds the details for provisioning infrastructure specific cluster for the underlying provider. The underlying provider is responsible for the implementation of the template to an infrastructure cluster.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.infrastructure.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.infrastructureNamingStrategy

    Description
    infrastructureNamingStrategy allows changing the naming pattern used when creating the infrastructure object.
    Type
    object
    PropertyTypeDescription
    templatestring

    template defines the template to use for generating the name of the Infrastructure object. If not defined, it will fallback to {{ .cluster.name }}-{{ .random }}. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments:

    • .cluster.name: The name of the cluster object.
    • .random: A random alphanumeric string, without vowels, of length 5.

    .spec.patches

    Description
    patches defines the patches which are applied to customize referenced templates of a ClusterClass. Note: Patches will be applied in the order of the array.
    Type
    array

    .spec.patches[]

    Description
    ClusterClassPatch defines a patch which is applied to customize the referenced templates.
    Type
    object
    Required
    name
    PropertyTypeDescription
    definitionsarray

    definitions define inline patches. Note: Patches will be applied in the order of the array. Note: Exactly one of Definitions or External must be set.

    descriptionstring

    description is a human-readable description of this patch.

    enabledIfstring

    enabledIf is a Go template to be used to calculate if a patch should be enabled. It can reference variables defined in .spec.variables and builtin variables. The patch will be enabled if the template evaluates to true, otherwise it will be disabled. If EnabledIf is not set, the patch will be enabled per default.

    externalobject

    external defines an external patch. Note: Exactly one of Definitions or External must be set.

    namestring

    name of the patch.

    .spec.patches[].definitions

    Description
    definitions define inline patches. Note: Patches will be applied in the order of the array. Note: Exactly one of Definitions or External must be set.
    Type
    array

    .spec.patches[].definitions[]

    Description
    PatchDefinition defines a patch which is applied to customize the referenced templates.
    Type
    object
    Required
    jsonPatchesselector
    PropertyTypeDescription
    jsonPatchesarray

    jsonPatches defines the patches which should be applied on the templates matching the selector. Note: Patches will be applied in the order of the array.

    selectorobject

    selector defines on which templates the patch should be applied.

    .spec.patches[].definitions[].jsonPatches

    Description
    jsonPatches defines the patches which should be applied on the templates matching the selector. Note: Patches will be applied in the order of the array.
    Type
    array

    .spec.patches[].definitions[].jsonPatches[]

    Description
    JSONPatch defines a JSON patch.
    Type
    object
    Required
    oppath
    PropertyTypeDescription
    opstring

    op defines the operation of the patch. Note: Only add, replace and remove are supported.

    pathstring

    path defines the path of the patch. Note: Only the spec of a template can be patched, thus the path has to start with /spec/. Note: For now the only allowed array modifications are append and prepend, i.e.:

    • for op: add: only index 0 (prepend) and - (append) are allowed
    • for op: replace or remove: no indexes are allowed
    value

    value defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time. Note: We have to use apiextensionsv1.JSON instead of our JSON type, because controller-tools has a hard-coded schema for apiextensionsv1.JSON which cannot be produced by another type (unset type field). Ref: https://github.com/kubernetes-sigs/controller-tools/blob/d0e03a142d0ecdd5491593e941ee1d6b5d91dba6/pkg/crd/known_types.go#L106-L111

    valueFromobject

    valueFrom defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time.

    .spec.patches[].definitions[].jsonPatches[].valueFrom

    Description
    valueFrom defines the value of the patch. Note: Either Value or ValueFrom is required for add and replace operations. Only one of them is allowed to be set at the same time.
    Type
    object
    PropertyTypeDescription
    templatestring

    template is the Go template to be used to calculate the value. A template can reference variables defined in .spec.variables and builtin variables. Note: The template must evaluate to a valid YAML or JSON value.

    variablestring

    variable is the variable to be used as value. Variable can be one of the variables defined in .spec.variables or a builtin variable.

    .spec.patches[].definitions[].selector

    Description
    selector defines on which templates the patch should be applied.
    Type
    object
    Required
    apiVersionkindmatchResources
    PropertyTypeDescription
    apiVersionstring

    apiVersion filters templates by apiVersion.

    kindstring

    kind filters templates by kind.

    matchResourcesobject

    matchResources selects templates based on where they are referenced.

    .spec.patches[].definitions[].selector.matchResources

    Description
    matchResources selects templates based on where they are referenced.
    Type
    object
    PropertyTypeDescription
    controlPlaneboolean

    controlPlane selects templates referenced in .spec.ControlPlane. Note: this will match the controlPlane and also the controlPlane machineInfrastructure (depending on the kind and apiVersion).

    infrastructureClusterboolean

    infrastructureCluster selects templates referenced in .spec.infrastructure.

    machineDeploymentClassobject

    machineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.

    machinePoolClassobject

    machinePoolClass selects templates referenced in specific MachinePoolClasses in .spec.workers.machinePools.

    .spec.patches[].definitions[].selector.matchResources.machineDeploymentClass

    Description
    machineDeploymentClass selects templates referenced in specific MachineDeploymentClasses in .spec.workers.machineDeployments.
    Type
    object
    PropertyTypeDescription
    namesarray

    names selects templates by class names.

    .spec.patches[].definitions[].selector.matchResources.machineDeploymentClass.names

    Description
    names selects templates by class names.
    Type
    array

    .spec.patches[].definitions[].selector.matchResources.machineDeploymentClass.names[]

    Type
    string

    .spec.patches[].definitions[].selector.matchResources.machinePoolClass

    Description
    machinePoolClass selects templates referenced in specific MachinePoolClasses in .spec.workers.machinePools.
    Type
    object
    PropertyTypeDescription
    namesarray

    names selects templates by class names.

    .spec.patches[].definitions[].selector.matchResources.machinePoolClass.names

    Description
    names selects templates by class names.
    Type
    array

    .spec.patches[].definitions[].selector.matchResources.machinePoolClass.names[]

    Type
    string

    .spec.patches[].external

    Description
    external defines an external patch. Note: Exactly one of Definitions or External must be set.
    Type
    object
    PropertyTypeDescription
    discoverVariablesExtensionstring

    discoverVariablesExtension references an extension which is called to discover variables.

    generateExtensionstring

    generateExtension references an extension which is called to generate patches.

    settingsobject

    settings defines key value pairs to be passed to the extensions. Values defined here take precedence over the values defined in the corresponding ExtensionConfig.

    validateExtensionstring

    validateExtension references an extension which is called to validate the topology.

    .spec.patches[].external.settings

    Description
    settings defines key value pairs to be passed to the extensions. Values defined here take precedence over the values defined in the corresponding ExtensionConfig.
    Type
    object

    .spec.variables

    Description
    variables defines the variables which can be configured in the Cluster topology and are then used in patches.
    Type
    array

    .spec.variables[]

    Description
    ClusterClassVariable defines a variable which can be configured in the Cluster topology and used in patches.
    Type
    object
    Required
    namerequiredschema
    PropertyTypeDescription
    metadataObjectMeta

    metadata is the metadata of a variable. It can be used to add additional data for higher level tools to a ClusterClassVariable.

    Deprecated: This field is deprecated and is going to be removed in the next apiVersion. Please use XMetadata in JSONSchemaProps instead.

    namestring

    name of the variable.

    requiredboolean

    required specifies if the variable is required. Note: this applies to the variable as a whole and thus the top-level object defined in the schema. If nested fields are required, this will be specified inside the schema.

    schemaobject

    schema defines the schema of the variable.

    .spec.variables[].schema

    Description
    schema defines the schema of the variable.
    Type
    object
    Required
    openAPIV3Schema
    PropertyTypeDescription
    openAPIV3Schemaobject

    openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.

    .spec.variables[].schema.openAPIV3Schema

    Description
    openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.
    Type
    object
    PropertyTypeDescription
    additionalProperties

    additionalProperties specifies the schema of values in a map (keys are always strings). NOTE: Can only be set if type is object. NOTE: AdditionalProperties is mutually exclusive with Properties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    allOf

    allOf specifies that the variable must validate against all of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    anyOf

    anyOf specifies that the variable must validate against one or more of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    default

    default is the default value of the variable. NOTE: Can be set for all types.

    descriptionstring

    description is a human-readable description of this variable.

    enumarray

    enum is the list of valid values of the variable. NOTE: Can be set for all types.

    example

    example is an example for this variable.

    exclusiveMaximumboolean

    exclusiveMaximum specifies if the Maximum is exclusive. NOTE: Can only be set if type is integer or number.

    exclusiveMinimumboolean

    exclusiveMinimum specifies if the Minimum is exclusive. NOTE: Can only be set if type is integer or number.

    formatstring

    format is an OpenAPI v3 format string. Unknown formats are ignored. For a list of supported formats please see: (of the k8s.io/apiextensions-apiserver version we're currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go NOTE: Can only be set if type is string.

    items

    items specifies fields of an array. NOTE: Can only be set if type is array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    maxItemsinteger

    maxItems is the max length of an array variable. NOTE: Can only be set if type is array.

    maxLengthinteger

    maxLength is the max length of a string variable. NOTE: Can only be set if type is string.

    maxPropertiesinteger

    maxProperties is the maximum amount of entries in a map or properties in an object. NOTE: Can only be set if type is object.

    maximuminteger

    maximum is the maximum of an integer or number variable. If ExclusiveMaximum is false, the variable is valid if it is lower than, or equal to, the value of Maximum. If ExclusiveMaximum is true, the variable is valid if it is strictly lower than the value of Maximum. NOTE: Can only be set if type is integer or number.

    minItemsinteger

    minItems is the min length of an array variable. NOTE: Can only be set if type is array.

    minLengthinteger

    minLength is the min length of a string variable. NOTE: Can only be set if type is string.

    minPropertiesinteger

    minProperties is the minimum amount of entries in a map or properties in an object. NOTE: Can only be set if type is object.

    minimuminteger

    minimum is the minimum of an integer or number variable. If ExclusiveMinimum is false, the variable is valid if it is greater than, or equal to, the value of Minimum. If ExclusiveMinimum is true, the variable is valid if it is strictly greater than the value of Minimum. NOTE: Can only be set if type is integer or number.

    not

    not specifies that the variable must not validate against the subschema. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    oneOf

    oneOf specifies that the variable must validate against exactly one of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    patternstring

    pattern is the regex which a string variable must match. NOTE: Can only be set if type is string.

    properties

    properties specifies fields of an object. NOTE: Can only be set if type is object. NOTE: Properties is mutually exclusive with AdditionalProperties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    requiredarray

    required specifies which fields of an object are required. NOTE: Can only be set if type is object.

    typestring

    type is the type of the variable. Valid values are: object, array, string, integer, number or boolean.

    uniqueItemsboolean

    uniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.

    x-kubernetes-int-or-stringboolean

    x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:

    1. anyOf:
      • type: integer
      • type: string
    2. allOf:
      • anyOf:
        • type: integer
        • type: string
      • ... zero or more
    x-kubernetes-preserve-unknown-fieldsboolean

    x-kubernetes-preserve-unknown-fields allows setting fields in a variable object which are not defined in the variable schema. This affects fields recursively, except if nested properties or additionalProperties are specified in the schema.

    x-kubernetes-validationsarray

    x-kubernetes-validations describes a list of validation rules written in the CEL expression language.

    x-metadataobject

    x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.

    .spec.variables[].schema.openAPIV3Schema.enum

    Description
    enum is the list of valid values of the variable. NOTE: Can be set for all types.
    Type
    array

    .spec.variables[].schema.openAPIV3Schema.enum[]

    Type

    .spec.variables[].schema.openAPIV3Schema.required

    Description
    required specifies which fields of an object are required. NOTE: Can only be set if type is object.
    Type
    array

    .spec.variables[].schema.openAPIV3Schema.required[]

    Type
    string

    .spec.variables[].schema.openAPIV3Schema.x-kubernetes-validations

    Description
    x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
    Type
    array

    .spec.variables[].schema.openAPIV3Schema.x-kubernetes-validations[]

    Description
    ValidationRule describes a validation rule written in the CEL expression language.
    Type
    object
    Required
    rule
    PropertyTypeDescription
    fieldPathstring

    fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute foo under a map testMap, the fieldPath could be set to .testMap.foo If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. .testList It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to JSONPath support in Kubernetes for more info. Numeric index of array is not supported. For field name which contains special characters, use ['specialName'] to refer the field name. e.g. for attribute foo.34$ appears in a list testList, the fieldPath could be set to .testList['foo.34$']

    messagestring

    message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is "failed rule: {Rule}". e.g. "must be a URL with the host matching spec.host"

    messageExpressionstring

    messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: "x must be less than max ("+string(self.max)+")"

    reasonstring

    reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The currently supported reasons are: "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate". If not set, default to use "FieldValueInvalid". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.

    rulestring

    rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The self variable in the CEL expression is bound to the scoped value. If the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via self.field and field presence can be checked via has(self.field). If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via self[mapKey], map containment can be checked via mapKey in self and all entries of the map are accessible via CEL macros and functions such as self.all(...). If the Rule is scoped to an array, the elements of the array are accessible via self[i] and also by macros and functions. If the Rule is scoped to a scalar, self is bound to the scalar value. Examples:

    • Rule scoped to a map of objects: {"rule": "self.components['Widget'].priority < 10"}
    • Rule scoped to a list of integers: {"rule": "self.values.all(value, value >= 0 && value < 100)"}
    • Rule scoped to a string value: {"rule": "self.startsWith('kube')"}

    Unknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes:

    • Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields.
    • Object properties where the property schema is of an "unknown type". An "unknown type" is recursively defined as:
      • A schema with no type and x-kubernetes-preserve-unknown-fields set to true
      • An array where the items schema is of an "unknown type"
      • An object where the additionalProperties schema is of an "unknown type"

    Only property names of the form [a-zA-Z_.-/][a-zA-Z0-9_.-/]* are accessible. Accessible property names are escaped according to the following rules when accessed in the expression:

    • '__' escapes to 'underscores'
    • '.' escapes to 'dot'
    • '-' escapes to 'dash'
    • '/' escapes to 'slash'
    • Property names that exactly match a CEL RESERVED keyword escape to '{keyword}'. The keywords are: "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if", "import", "let", "loop", "package", "namespace", "return". Examples:
      • Rule accessing a property named "namespace": {"rule": "self.namespace > 0"}
      • Rule accessing a property named "x-prop": {"rule": "self.x__dash__prop > 0"}
      • Rule accessing a property named "redact__d": {"rule": "self.redact__underscores__d > 0"}

    If rule makes use of the oldSelf variable it is implicitly a transition rule.

    By default, the oldSelf variable is the same type as self.

    Transition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found.

    .spec.variables[].schema.openAPIV3Schema.x-metadata

    Description
    x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.
    Type
    object
    PropertyTypeDescription
    annotationsobject

    annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.

    labelsobject

    labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.

    .spec.variables[].schema.openAPIV3Schema.x-metadata.annotations

    Description
    annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.
    Type
    object

    .spec.variables[].schema.openAPIV3Schema.x-metadata.labels

    Description
    labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.
    Type
    object

    .spec.workers

    Description
    workers describes the worker nodes for the cluster. It is a collection of node types which can be used to create the worker nodes of the cluster.
    Type
    object
    PropertyTypeDescription
    machineDeploymentsarray

    machineDeployments is a list of machine deployment classes that can be used to create a set of worker nodes.

    machinePoolsarray

    machinePools is a list of machine pool classes that can be used to create a set of worker nodes.

    .spec.workers.machineDeployments

    Description
    machineDeployments is a list of machine deployment classes that can be used to create a set of worker nodes.
    Type
    array

    .spec.workers.machineDeployments[]

    Description
    MachineDeploymentClass serves as a template to define a set of worker nodes of the cluster provisioned using the `ClusterClass`.
    Type
    object
    Required
    classtemplate
    PropertyTypeDescription
    classstring

    class denotes a type of worker node present in the cluster, this name MUST be unique within a ClusterClass and can be referenced in the Cluster to create a managed MachineDeployment.

    failureDomainstring

    failureDomain is the failure domain the machines will be created in. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    machineHealthCheckobject

    machineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass.

    minReadySecondsinteger

    minReadySeconds is the minimum number of seconds for which a newly created machine should be ready. Defaults to 0 (machine will be considered available as soon as it is ready) NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    namingStrategyobject

    namingStrategy allows changing the naming pattern used when creating the MachineDeployment.

    nodeDeletionTimeoutstring

    nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    nodeDrainTimeoutstring

    nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from kubectl drain --timeout NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    nodeVolumeDetachTimeoutstring

    nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    readinessGatesarray

    readinessGates specifies additional conditions to include when evaluating Machine Ready condition.

    This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine.

    NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for a MachineDeployment using this MachineDeploymentClass, such list overrides readinessGates defined in this field.

    strategyobject

    strategy is the deployment strategy to use to replace existing machines with new ones. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.

    templateobject

    template is a local struct containing a collection of templates for creation of MachineDeployment objects representing a set of worker nodes.

    .spec.workers.machineDeployments[].machineHealthCheck

    Description
    machineHealthCheck defines a MachineHealthCheck for this MachineDeploymentClass.
    Type
    object
    PropertyTypeDescription
    maxUnhealthy

    maxUnhealthy specifies the maximum number of unhealthy machines allowed. Any further remediation is only allowed if at most "maxUnhealthy" machines selected by "selector" are not healthy.

    nodeStartupTimeoutstring

    nodeStartupTimeout allows to set the maximum time for MachineHealthCheck to consider a Machine unhealthy if a corresponding Node isn't associated through a Spec.ProviderID field.

    The duration set in this field is compared to the greatest of:

    • Cluster's infrastructure ready condition timestamp (if and when available)
    • Control Plane's initialized condition timestamp (if and when available)
    • Machine's infrastructure ready condition timestamp (if and when available)
    • Machine's metadata creation timestamp

    Defaults to 10 minutes. If you wish to disable this feature, set the value explicitly to 0.

    remediationTemplateobject

    remediationTemplate is a reference to a remediation template provided by an infrastructure provider.

    This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.

    unhealthyConditionsarray

    unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.

    unhealthyRangestring

    unhealthyRange specifies the range of unhealthy machines allowed. Any further remediation is only allowed if the number of machines selected by "selector" as not healthy is within the range of "unhealthyRange". Takes precedence over maxUnhealthy. Eg. "[3-5]" - This means that remediation will be allowed only when: (a) there are at least 3 unhealthy machines (and) (b) there are at most 5 unhealthy machines

    .spec.workers.machineDeployments[].machineHealthCheck.remediationTemplate

    Description
    remediationTemplate is a reference to a remediation template provided by an infrastructure provider. This field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Cluster API.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.workers.machineDeployments[].machineHealthCheck.unhealthyConditions

    Description
    unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.
    Type
    array

    .spec.workers.machineDeployments[].machineHealthCheck.unhealthyConditions[]

    Description
    UnhealthyCondition represents a Node condition type and value with a timeout specified as a duration. When the named condition has been in the given status for at least the timeout value, a node is considered unhealthy.
    Type
    object
    Required
    statustimeouttype
    PropertyTypeDescription
    statusstring

    status of the condition, one of True, False, Unknown.

    timeoutstring

    timeout is the duration that a node must be in a given status for, after which the node is considered unhealthy. For example, with a value of "1h", the node must match the status for at least 1 hour before being considered unhealthy.

    typestring

    type of Node condition

    .spec.workers.machineDeployments[].namingStrategy

    Description
    namingStrategy allows changing the naming pattern used when creating the MachineDeployment.
    Type
    object
    PropertyTypeDescription
    templatestring

    template defines the template to use for generating the name of the MachineDeployment object. If not defined, it will fallback to {{ .cluster.name }}-{{ .machineDeployment.topologyName }}-{{ .random }}. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments:

    • .cluster.name: The name of the cluster object.
    • .random: A random alphanumeric string, without vowels, of length 5.
    • .machineDeployment.topologyName: The name of the MachineDeployment topology (Cluster.spec.topology.workers.machineDeployments[].name).

    .spec.workers.machineDeployments[].readinessGates

    Description
    readinessGates specifies additional conditions to include when evaluating Machine Ready condition. This field can be used e.g. to instruct the machine controller to include in the computation for Machine's ready computation a condition, managed by an external controllers, reporting the status of special software/hardware installed on the Machine. NOTE: This field is considered only for computing v1beta2 conditions. NOTE: If a Cluster defines a custom list of readinessGates for a MachineDeployment using this MachineDeploymentClass, such list overrides readinessGates defined in this field.
    Type
    array

    .spec.workers.machineDeployments[].readinessGates[]

    Description
    MachineReadinessGate contains the type of a Machine condition to be used as a readiness gate.
    Type
    object
    Required
    conditionType
    PropertyTypeDescription
    conditionTypestring

    conditionType refers to a condition with matching type in the Machine's condition list. If the conditions doesn't exist, it will be treated as unknown. Note: Both Cluster API conditions or conditions added by 3rd party controllers can be used as readiness gates.

    polaritystring

    polarity of the conditionType specified in this readinessGate. Valid values are Positive, Negative and omitted. When omitted, the default behaviour will be Positive. A positive polarity means that the condition should report a true status under normal conditions. A negative polarity means that the condition should report a false status under normal conditions.

    .spec.workers.machineDeployments[].strategy

    Description
    strategy is the deployment strategy to use to replace existing machines with new ones. NOTE: This value can be overridden while defining a Cluster.Topology using this MachineDeploymentClass.
    Type
    object
    PropertyTypeDescription
    remediationobject

    remediation controls the strategy of remediating unhealthy machines and how remediating operations should occur during the lifecycle of the dependant MachineSets.

    rollingUpdateobject

    rollingUpdate is the rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate.

    typestring

    type of deployment. Allowed values are RollingUpdate and OnDelete. The default is RollingUpdate.

    .spec.workers.machineDeployments[].strategy.remediation

    Description
    remediation controls the strategy of remediating unhealthy machines and how remediating operations should occur during the lifecycle of the dependant MachineSets.
    Type
    object
    PropertyTypeDescription
    maxInFlight

    maxInFlight determines how many in flight remediations should happen at the same time.

    Remediation only happens on the MachineSet with the most current revision, while older MachineSets (usually present during rollout operations) aren't allowed to remediate.

    Note: In general (independent of remediations), unhealthy machines are always prioritized during scale down operations over healthy ones.

    MaxInFlight can be set to a fixed number or a percentage. Example: when this is set to 20%, the MachineSet controller deletes at most 20% of the desired replicas.

    If not set, remediation is limited to all machines (bounded by replicas) under the active MachineSet's management.

    .spec.workers.machineDeployments[].strategy.rollingUpdate

    Description
    rollingUpdate is the rolling update config params. Present only if MachineDeploymentStrategyType = RollingUpdate.
    Type
    object
    PropertyTypeDescription
    deletePolicystring

    deletePolicy defines the policy used by the MachineDeployment to identify nodes to delete when downscaling. Valid values are "Random", "Newest", "Oldest" When no value is supplied, the default DeletePolicy of MachineSet is used

    maxSurge

    maxSurge is the maximum number of machines that can be scheduled above the desired number of machines. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). This can not be 0 if MaxUnavailable is 0. Absolute number is calculated from percentage by rounding up. Defaults to 1. Example: when this is set to 30%, the new MachineSet can be scaled up immediately when the rolling update starts, such that the total number of old and new machines do not exceed 130% of desired machines. Once old machines have been killed, new MachineSet can be scaled up further, ensuring that total number of machines running at any time during the update is at most 130% of desired machines.

    maxUnavailable

    maxUnavailable is the maximum number of machines that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of desired machines (ex: 10%). Absolute number is calculated from percentage by rounding down. This can not be 0 if MaxSurge is 0. Defaults to 0. Example: when this is set to 30%, the old MachineSet can be scaled down to 70% of desired machines immediately when the rolling update starts. Once new machines are ready, old MachineSet can be scaled down further, followed by scaling up the new MachineSet, ensuring that the total number of machines available at all times during the update is at least 70% of desired machines.

    .spec.workers.machineDeployments[].template

    Description
    template is a local struct containing a collection of templates for creation of MachineDeployment objects representing a set of worker nodes.
    Type
    object
    Required
    bootstrapinfrastructure
    PropertyTypeDescription
    bootstrapobject

    bootstrap contains the bootstrap template reference to be used for the creation of worker Machines.

    infrastructureobject

    infrastructure contains the infrastructure template reference to be used for the creation of worker Machines.

    metadataObjectMeta

    metadata is the metadata applied to the MachineDeployment and the machines of the MachineDeployment. At runtime this metadata is merged with the corresponding metadata from the topology.

    .spec.workers.machineDeployments[].template.bootstrap

    Description
    bootstrap contains the bootstrap template reference to be used for the creation of worker Machines.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.workers.machineDeployments[].template.bootstrap.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.workers.machineDeployments[].template.infrastructure

    Description
    infrastructure contains the infrastructure template reference to be used for the creation of worker Machines.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.workers.machineDeployments[].template.infrastructure.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.workers.machinePools

    Description
    machinePools is a list of machine pool classes that can be used to create a set of worker nodes.
    Type
    array

    .spec.workers.machinePools[]

    Description
    MachinePoolClass serves as a template to define a pool of worker nodes of the cluster provisioned using `ClusterClass`.
    Type
    object
    Required
    classtemplate
    PropertyTypeDescription
    classstring

    class denotes a type of machine pool present in the cluster, this name MUST be unique within a ClusterClass and can be referenced in the Cluster to create a managed MachinePool.

    failureDomainsarray

    failureDomains is the list of failure domains the MachinePool should be attached to. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.

    minReadySecondsinteger

    minReadySeconds is the minimum number of seconds for which a newly created machine pool should be ready. Defaults to 0 (machine will be considered available as soon as it is ready) NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.

    namingStrategyobject

    namingStrategy allows changing the naming pattern used when creating the MachinePool.

    nodeDeletionTimeoutstring

    nodeDeletionTimeout defines how long the controller will attempt to delete the Node that the Machine hosts after the Machine Pool is marked for deletion. A duration of 0 will retry deletion indefinitely. Defaults to 10 seconds. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.

    nodeDrainTimeoutstring

    nodeDrainTimeout is the total amount of time that the controller will spend on draining a node. The default value is 0, meaning that the node can be drained without any time limitations. NOTE: NodeDrainTimeout is different from kubectl drain --timeout NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.

    nodeVolumeDetachTimeoutstring

    nodeVolumeDetachTimeout is the total amount of time that the controller will spend on waiting for all volumes to be detached. The default value is 0, meaning that the volumes can be detached without any time limitations. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.

    templateobject

    template is a local struct containing a collection of templates for creation of MachinePools objects representing a pool of worker nodes.

    .spec.workers.machinePools[].failureDomains

    Description
    failureDomains is the list of failure domains the MachinePool should be attached to. Must match a key in the FailureDomains map stored on the cluster object. NOTE: This value can be overridden while defining a Cluster.Topology using this MachinePoolClass.
    Type
    array

    .spec.workers.machinePools[].failureDomains[]

    Type
    string

    .spec.workers.machinePools[].namingStrategy

    Description
    namingStrategy allows changing the naming pattern used when creating the MachinePool.
    Type
    object
    PropertyTypeDescription
    templatestring

    template defines the template to use for generating the name of the MachinePool object. If not defined, it will fallback to {{ .cluster.name }}-{{ .machinePool.topologyName }}-{{ .random }}. If the templated string exceeds 63 characters, it will be trimmed to 58 characters and will get concatenated with a random suffix of length 5. The templating mechanism provides the following arguments:

    • .cluster.name: The name of the cluster object.
    • .random: A random alphanumeric string, without vowels, of length 5.
    • .machinePool.topologyName: The name of the MachinePool topology (Cluster.spec.topology.workers.machinePools[].name).

    .spec.workers.machinePools[].template

    Description
    template is a local struct containing a collection of templates for creation of MachinePools objects representing a pool of worker nodes.
    Type
    object
    Required
    bootstrapinfrastructure
    PropertyTypeDescription
    bootstrapobject

    bootstrap contains the bootstrap template reference to be used for the creation of the Machines in the MachinePool.

    infrastructureobject

    infrastructure contains the infrastructure template reference to be used for the creation of the MachinePool.

    metadataObjectMeta

    metadata is the metadata applied to the MachinePool. At runtime this metadata is merged with the corresponding metadata from the topology.

    .spec.workers.machinePools[].template.bootstrap

    Description
    bootstrap contains the bootstrap template reference to be used for the creation of the Machines in the MachinePool.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.workers.machinePools[].template.bootstrap.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .spec.workers.machinePools[].template.infrastructure

    Description
    infrastructure contains the infrastructure template reference to be used for the creation of the MachinePool.
    Type
    object
    Required
    ref
    PropertyTypeDescription
    refobject

    ref is a required reference to a custom resource offered by a provider.

    .spec.workers.machinePools[].template.infrastructure.ref

    Description
    ref is a required reference to a custom resource offered by a provider.
    Type
    object
    PropertyTypeDescription
    apiVersionstring

    API version of the referent.

    fieldPathstring

    If referring to a piece of an object instead of an entire object, this string should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2]. For example, if the object reference is to a container within a pod, this would take on a value like: "spec.containers{name}" (where "name" refers to the name of the container that triggered the event) or if no container name is specified "spec.containers[2]" (container with index 2 in this pod). This syntax is chosen only to have some well-defined way of referencing a part of an object.

    kindstring

    Kind of the referent. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds

    namestring

    Name of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names

    namespacestring

    Namespace of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/

    resourceVersionstring

    Specific resourceVersion to which this reference is made, if any. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency

    uidstring

    UID of the referent. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids

    .status

    Description
    status is the observed state of ClusterClass.
    Type
    object
    PropertyTypeDescription
    conditionsarray

    conditions defines current observed state of the ClusterClass.

    observedGenerationinteger

    observedGeneration is the latest generation observed by the controller.

    v1beta2object

    v1beta2 groups all the fields that will be added or modified in ClusterClass's status with the V1Beta2 version.

    variablesarray

    variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.

    .status.conditions

    Description
    conditions defines current observed state of the ClusterClass.
    Type
    array

    .status.conditions[]

    Description
    Condition defines an observation of a Cluster API resource operational state.
    Type
    object
    Required
    lastTransitionTimestatustype
    PropertyTypeDescription
    lastTransitionTimestring

    lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

    messagestring

    message is a human readable message indicating details about the transition. This field may be empty.

    reasonstring

    reason is the reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may be empty.

    severitystring

    severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.

    statusstring

    status of the condition, one of True, False, Unknown.

    typestring

    type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.

    .status.v1beta2

    Description
    v1beta2 groups all the fields that will be added or modified in ClusterClass's status with the V1Beta2 version.
    Type
    object
    PropertyTypeDescription
    conditionsarray

    conditions represents the observations of a ClusterClass's current state. Known condition types are VariablesReady, RefVersionsUpToDate, Paused.

    .status.v1beta2.conditions

    Description
    conditions represents the observations of a ClusterClass's current state. Known condition types are VariablesReady, RefVersionsUpToDate, Paused.
    Type
    array

    .status.v1beta2.conditions[]

    Description
    Condition contains details for one aspect of the current state of this API Resource.
    Type
    object
    Required
    lastTransitionTimemessagereasonstatustype
    PropertyTypeDescription
    lastTransitionTimestring

    lastTransitionTime is the last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.

    messagestring

    message is a human readable message indicating details about the transition. This may be an empty string.

    observedGenerationinteger

    observedGeneration represents the .metadata.generation that the condition was set based upon. For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date with respect to the current state of the instance.

    reasonstring

    reason contains a programmatic identifier indicating the reason for the condition's last transition. Producers of specific condition types may define expected values and meanings for this field, and whether the values are considered a guaranteed API. The value should be a CamelCase string. This field may not be empty.

    statusstring

    status of the condition, one of True, False, Unknown.

    typestring

    type of condition in CamelCase or in foo.example.com/CamelCase.

    .status.variables

    Description
    variables is a list of ClusterClassStatusVariable that are defined for the ClusterClass.
    Type
    array

    .status.variables[]

    Description
    ClusterClassStatusVariable defines a variable which appears in the status of a ClusterClass.
    Type
    object
    Required
    definitionsname
    PropertyTypeDescription
    definitionsarray

    definitions is a list of definitions for a variable.

    definitionsConflictboolean

    definitionsConflict specifies whether or not there are conflicting definitions for a single variable name.

    namestring

    name is the name of the variable.

    .status.variables[].definitions

    Description
    definitions is a list of definitions for a variable.
    Type
    array

    .status.variables[].definitions[]

    Description
    ClusterClassStatusVariableDefinition defines a variable which appears in the status of a ClusterClass.
    Type
    object
    Required
    fromrequiredschema
    PropertyTypeDescription
    fromstring

    from specifies the origin of the variable definition. This will be inline for variables defined in the ClusterClass or the name of a patch defined in the ClusterClass for variables discovered from a DiscoverVariables runtime extensions.

    metadataObjectMeta

    metadata is the metadata of a variable. It can be used to add additional data for higher level tools to a ClusterClassVariable.

    Deprecated: This field is deprecated and is going to be removed in the next apiVersion.

    requiredboolean

    required specifies if the variable is required. Note: this applies to the variable as a whole and thus the top-level object defined in the schema. If nested fields are required, this will be specified inside the schema.

    schemaobject

    schema defines the schema of the variable.

    .status.variables[].definitions[].schema

    Description
    schema defines the schema of the variable.
    Type
    object
    Required
    openAPIV3Schema
    PropertyTypeDescription
    openAPIV3Schemaobject

    openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.

    .status.variables[].definitions[].schema.openAPIV3Schema

    Description
    openAPIV3Schema defines the schema of a variable via OpenAPI v3 schema. The schema is a subset of the schema used in Kubernetes CRDs.
    Type
    object
    PropertyTypeDescription
    additionalProperties

    additionalProperties specifies the schema of values in a map (keys are always strings). NOTE: Can only be set if type is object. NOTE: AdditionalProperties is mutually exclusive with Properties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    allOf

    allOf specifies that the variable must validate against all of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    anyOf

    anyOf specifies that the variable must validate against one or more of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    default

    default is the default value of the variable. NOTE: Can be set for all types.

    descriptionstring

    description is a human-readable description of this variable.

    enumarray

    enum is the list of valid values of the variable. NOTE: Can be set for all types.

    example

    example is an example for this variable.

    exclusiveMaximumboolean

    exclusiveMaximum specifies if the Maximum is exclusive. NOTE: Can only be set if type is integer or number.

    exclusiveMinimumboolean

    exclusiveMinimum specifies if the Minimum is exclusive. NOTE: Can only be set if type is integer or number.

    formatstring

    format is an OpenAPI v3 format string. Unknown formats are ignored. For a list of supported formats please see: (of the k8s.io/apiextensions-apiserver version we're currently using) https://github.com/kubernetes/apiextensions-apiserver/blob/master/pkg/apiserver/validation/formats.go NOTE: Can only be set if type is string.

    items

    items specifies fields of an array. NOTE: Can only be set if type is array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    maxItemsinteger

    maxItems is the max length of an array variable. NOTE: Can only be set if type is array.

    maxLengthinteger

    maxLength is the max length of a string variable. NOTE: Can only be set if type is string.

    maxPropertiesinteger

    maxProperties is the maximum amount of entries in a map or properties in an object. NOTE: Can only be set if type is object.

    maximuminteger

    maximum is the maximum of an integer or number variable. If ExclusiveMaximum is false, the variable is valid if it is lower than, or equal to, the value of Maximum. If ExclusiveMaximum is true, the variable is valid if it is strictly lower than the value of Maximum. NOTE: Can only be set if type is integer or number.

    minItemsinteger

    minItems is the min length of an array variable. NOTE: Can only be set if type is array.

    minLengthinteger

    minLength is the min length of a string variable. NOTE: Can only be set if type is string.

    minPropertiesinteger

    minProperties is the minimum amount of entries in a map or properties in an object. NOTE: Can only be set if type is object.

    minimuminteger

    minimum is the minimum of an integer or number variable. If ExclusiveMinimum is false, the variable is valid if it is greater than, or equal to, the value of Minimum. If ExclusiveMinimum is true, the variable is valid if it is strictly greater than the value of Minimum. NOTE: Can only be set if type is integer or number.

    not

    not specifies that the variable must not validate against the subschema. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    oneOf

    oneOf specifies that the variable must validate against exactly one of the subschemas in the array. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    patternstring

    pattern is the regex which a string variable must match. NOTE: Can only be set if type is string.

    properties

    properties specifies fields of an object. NOTE: Can only be set if type is object. NOTE: Properties is mutually exclusive with AdditionalProperties. NOTE: This field uses PreserveUnknownFields and Schemaless, because recursive validation is not possible.

    requiredarray

    required specifies which fields of an object are required. NOTE: Can only be set if type is object.

    typestring

    type is the type of the variable. Valid values are: object, array, string, integer, number or boolean.

    uniqueItemsboolean

    uniqueItems specifies if items in an array must be unique. NOTE: Can only be set if type is array.

    x-kubernetes-int-or-stringboolean

    x-kubernetes-int-or-string specifies that this value is either an integer or a string. If this is true, an empty type is allowed and type as child of anyOf is permitted if following one of the following patterns:

    1. anyOf:
      • type: integer
      • type: string
    2. allOf:
      • anyOf:
        • type: integer
        • type: string
      • ... zero or more
    x-kubernetes-preserve-unknown-fieldsboolean

    x-kubernetes-preserve-unknown-fields allows setting fields in a variable object which are not defined in the variable schema. This affects fields recursively, except if nested properties or additionalProperties are specified in the schema.

    x-kubernetes-validationsarray

    x-kubernetes-validations describes a list of validation rules written in the CEL expression language.

    x-metadataobject

    x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.

    .status.variables[].definitions[].schema.openAPIV3Schema.enum

    Description
    enum is the list of valid values of the variable. NOTE: Can be set for all types.
    Type
    array

    .status.variables[].definitions[].schema.openAPIV3Schema.enum[]

    Type

    .status.variables[].definitions[].schema.openAPIV3Schema.required

    Description
    required specifies which fields of an object are required. NOTE: Can only be set if type is object.
    Type
    array

    .status.variables[].definitions[].schema.openAPIV3Schema.required[]

    Type
    string

    .status.variables[].definitions[].schema.openAPIV3Schema.x-kubernetes-validations

    Description
    x-kubernetes-validations describes a list of validation rules written in the CEL expression language.
    Type
    array

    .status.variables[].definitions[].schema.openAPIV3Schema.x-kubernetes-validations[]

    Description
    ValidationRule describes a validation rule written in the CEL expression language.
    Type
    object
    Required
    rule
    PropertyTypeDescription
    fieldPathstring

    fieldPath represents the field path returned when the validation fails. It must be a relative JSON path (i.e. with array notation) scoped to the location of this x-kubernetes-validations extension in the schema and refer to an existing field. e.g. when validation checks if a specific attribute foo under a map testMap, the fieldPath could be set to .testMap.foo If the validation checks two lists must have unique attributes, the fieldPath could be set to either of the list: e.g. .testList It does not support list numeric index. It supports child operation to refer to an existing field currently. Refer to JSONPath support in Kubernetes for more info. Numeric index of array is not supported. For field name which contains special characters, use ['specialName'] to refer the field name. e.g. for attribute foo.34$ appears in a list testList, the fieldPath could be set to .testList['foo.34$']

    messagestring

    message represents the message displayed when validation fails. The message is required if the Rule contains line breaks. The message must not contain line breaks. If unset, the message is "failed rule: {Rule}". e.g. "must be a URL with the host matching spec.host"

    messageExpressionstring

    messageExpression declares a CEL expression that evaluates to the validation failure message that is returned when this rule fails. Since messageExpression is used as a failure message, it must evaluate to a string. If both message and messageExpression are present on a rule, then messageExpression will be used if validation fails. If messageExpression results in a runtime error, the validation failure message is produced as if the messageExpression field were unset. If messageExpression evaluates to an empty string, a string with only spaces, or a string that contains line breaks, then the validation failure message will also be produced as if the messageExpression field were unset. messageExpression has access to all the same variables as the rule; the only difference is the return type. Example: "x must be less than max ("+string(self.max)+")"

    reasonstring

    reason provides a machine-readable validation failure reason that is returned to the caller when a request fails this validation rule. The currently supported reasons are: "FieldValueInvalid", "FieldValueForbidden", "FieldValueRequired", "FieldValueDuplicate". If not set, default to use "FieldValueInvalid". All future added reasons must be accepted by clients when reading this value and unknown reasons should be treated as FieldValueInvalid.

    rulestring

    rule represents the expression which will be evaluated by CEL. ref: https://github.com/google/cel-spec The Rule is scoped to the location of the x-kubernetes-validations extension in the schema. The self variable in the CEL expression is bound to the scoped value. If the Rule is scoped to an object with properties, the accessible properties of the object are field selectable via self.field and field presence can be checked via has(self.field). If the Rule is scoped to an object with additionalProperties (i.e. a map) the value of the map are accessible via self[mapKey], map containment can be checked via mapKey in self and all entries of the map are accessible via CEL macros and functions such as self.all(...). If the Rule is scoped to an array, the elements of the array are accessible via self[i] and also by macros and functions. If the Rule is scoped to a scalar, self is bound to the scalar value. Examples:

    • Rule scoped to a map of objects: {"rule": "self.components['Widget'].priority < 10"}
    • Rule scoped to a list of integers: {"rule": "self.values.all(value, value >= 0 && value < 100)"}
    • Rule scoped to a string value: {"rule": "self.startsWith('kube')"}

    Unknown data preserved in custom resources via x-kubernetes-preserve-unknown-fields is not accessible in CEL expressions. This includes:

    • Unknown field values that are preserved by object schemas with x-kubernetes-preserve-unknown-fields.
    • Object properties where the property schema is of an "unknown type". An "unknown type" is recursively defined as:
      • A schema with no type and x-kubernetes-preserve-unknown-fields set to true
      • An array where the items schema is of an "unknown type"
      • An object where the additionalProperties schema is of an "unknown type"

    Only property names of the form [a-zA-Z_.-/][a-zA-Z0-9_.-/]* are accessible. Accessible property names are escaped according to the following rules when accessed in the expression:

    • '__' escapes to 'underscores'
    • '.' escapes to 'dot'
    • '-' escapes to 'dash'
    • '/' escapes to 'slash'
    • Property names that exactly match a CEL RESERVED keyword escape to '{keyword}'. The keywords are: "true", "false", "null", "in", "as", "break", "const", "continue", "else", "for", "function", "if", "import", "let", "loop", "package", "namespace", "return". Examples:
      • Rule accessing a property named "namespace": {"rule": "self.namespace > 0"}
      • Rule accessing a property named "x-prop": {"rule": "self.x__dash__prop > 0"}
      • Rule accessing a property named "redact__d": {"rule": "self.redact__underscores__d > 0"}

    If rule makes use of the oldSelf variable it is implicitly a transition rule.

    By default, the oldSelf variable is the same type as self.

    Transition rules by default are applied only on UPDATE requests and are skipped if an old value could not be found.

    .status.variables[].definitions[].schema.openAPIV3Schema.x-metadata

    Description
    x-metadata is the metadata of a variable or a nested field within a variable. It can be used to add additional data for higher level tools.
    Type
    object
    PropertyTypeDescription
    annotationsobject

    annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.

    labelsobject

    labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.

    .status.variables[].definitions[].schema.openAPIV3Schema.x-metadata.annotations

    Description
    annotations is an unstructured key value map that can be used to store and retrieve arbitrary metadata. They are not queryable.
    Type
    object

    .status.variables[].definitions[].schema.openAPIV3Schema.x-metadata.labels

    Description
    labels is a map of string keys and values that can be used to organize and categorize (scope and select) variables.
    Type
    object

    API Endpoints

    The following API endpoints are available:

    • /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses
      • DELETE: delete collection of ClusterClass
      • GET: list objects of kind ClusterClass
      • POST: create a new ClusterClass
    • /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}
      • DELETE: delete the specified ClusterClass
      • GET: read the specified ClusterClass
      • PATCH: partially update the specified ClusterClass
      • PUT: replace the specified ClusterClass
    • /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}/status
      • GET: read status of the specified ClusterClass
      • PATCH: partially update status of the specified ClusterClass
      • PUT: replace status of the specified ClusterClass

    /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses

    HTTP method
    DELETE
    Description
    delete collection of ClusterClass
    HTTP responses
    HTTP codeResponse body
    200 - OKStatus schema
    401 - UnauthorizedEmpty
    HTTP method
    GET
    Description
    list objects of kind ClusterClass
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClassList schema
    401 - UnauthorizedEmpty
    HTTP method
    POST
    Description
    create a new ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyClusterClass schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    201 - CreatedClusterClass schema
    202 - AcceptedClusterClass schema
    401 - UnauthorizedEmpty

    /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}

    HTTP method
    DELETE
    Description
    delete the specified ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    HTTP responses
    HTTP codeResponse body
    200 - OKStatus schema
    202 - AcceptedStatus schema
    401 - UnauthorizedEmpty
    HTTP method
    GET
    Description
    read the specified ClusterClass
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    401 - UnauthorizedEmpty
    HTTP method
    PATCH
    Description
    partially update the specified ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    401 - UnauthorizedEmpty
    HTTP method
    PUT
    Description
    replace the specified ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyClusterClass schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    201 - CreatedClusterClass schema
    401 - UnauthorizedEmpty

    /apis/cluster.x-k8s.io/v1beta1/namespaces/{namespace}/clusterclasses/{name}/status

    HTTP method
    GET
    Description
    read status of the specified ClusterClass
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    401 - UnauthorizedEmpty
    HTTP method
    PATCH
    Description
    partially update status of the specified ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    401 - UnauthorizedEmpty
    HTTP method
    PUT
    Description
    replace status of the specified ClusterClass
    Query parameters
    ParameterTypeDescription
    dryRunstringWhen present, indicates that modifications should not be persisted. An invalid or unrecognized dryRun directive will result in an error response and no further processing of the request. Valid values are: - All: all dry run stages will be processed
    fieldValidationstringfieldValidation instructs the server on how to handle objects in the request (POST/PUT/PATCH) containing unknown or duplicate fields. Valid values are: - Ignore: This will ignore any unknown fields that are silently dropped from the object, and will ignore all but the last duplicate field that the decoder encounters. This is the default behavior prior to v1.23. - Warn: This will send a warning via the standard warning response header for each unknown field that is dropped from the object, and for each duplicate field that is encountered. The request will still succeed if there are no other errors, and will only persist the last of any duplicate fields. This is the default in v1.23+ - Strict: This will fail the request with a BadRequest error if any unknown fields would be dropped from the object, or if any duplicate fields are present. The error returned from the server will contain all unknown and duplicate fields encountered.
    Body parameters
    ParameterTypeDescription
    bodyClusterClass schemaapplication/json formatted
    HTTP responses
    HTTP codeResponse body
    200 - OKClusterClass schema
    201 - CreatedClusterClass schema
    401 - UnauthorizedEmpty