VSphereMachineConfigPool [infrastructure.cluster.x-k8s.io/v1beta1]

Description
VSphereMachineConfigPool is the Schema for the vspheremachineconfigpools API.
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

VSphereMachineConfigPoolSpec defines the desired state of VSphereMachineConfigPool.

statusobject

VSphereMachineConfigPoolStatus defines the observed state of VSphereMachineConfigPool.

.spec

Description
VSphereMachineConfigPoolSpec defines the desired state of VSphereMachineConfigPool.
Type
object
Required
clusterRefconfigs
PropertyTypeDescription
clusterRefobject

ClusterRef references the CAPI Cluster (in the same namespace) whose VSphereCluster provides vCenter server, thumbprint, and credential chain (IdentityRef) for this pool's vCenter operations (e.g. disk reclaim). Required. Can only be changed when consumerRef is nil. The pool will not reconcile until the referenced Cluster and its VSphereCluster infrastructure are available.

configsarray

Configs is the list of pre-defined machine configuration slots.

datacenterstring

Datacenter is the default vSphere datacenter for slots in this pool. It is used when a slot does not define its own Datacenter.

releaseDelayHoursinteger

ReleaseDelayHours is the time to wait before marking a released slot as "Available" for any machine. During this period, the slot can only be reused if specifically requested or via priority reuse. Default is 24.

.spec.clusterRef

Description
ClusterRef references the CAPI Cluster (in the same namespace) whose VSphereCluster provides vCenter server, thumbprint, and credential chain (IdentityRef) for this pool's vCenter operations (e.g. disk reclaim). Required. Can only be changed when consumerRef is nil. The pool will not reconcile until the referenced Cluster and its VSphereCluster infrastructure are available.
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.configs

Description
Configs is the list of pre-defined machine configuration slots.
Type
array

.spec.configs[]

Description
MachineConfigSlot defines a single machine configuration slot in the pool.
Type
object
Required
hostname
PropertyTypeDescription
datacenterstring

Datacenter is the vSphere datacenter for this slot. If set, it takes precedence over VSphereMachineConfigPool.spec.datacenter. If unset, the pool-level Datacenter acts as the default.

hostnamestring

Hostname is the unique identifier for this slot and will be assigned to the VM. It must also be a valid Kubernetes node name because CAPV uses it for kubeadm nodeRegistration.name and the kubelet serving certificate DNS SAN.

networkobject

Network describes the primary and additional network configurations for this slot.

persistentDisksarray

PersistentDisks that survive VM deletion.

.spec.configs[].network

Description
Network describes the primary and additional network configurations for this slot.
Type
object
Required
primary
PropertyTypeDescription
additionalarray

Additional are the remaining network configurations attached after the primary device.

primaryobject

Primary is the network configuration used for kubelet node IP registration.

.spec.configs[].network.additional

Description
Additional are the remaining network configurations attached after the primary device.
Type
array

.spec.configs[].network.additional[]

Description
NetworkConfig defines the network configuration for a slot device.
Type
object
Required
networkName
PropertyTypeDescription
deviceNamestring

DeviceName explicitly assigns a guest OS interface name to the network device.

dnsarray

DNS nameservers

gatewaystring
ipstring

IPv4 configuration

ipv6string

IPv6 configuration

ipv6Gatewaystring
networkNamestring

NetworkName is the name of the vSphere network (PortGroup or DVPortGroup).

.spec.configs[].network.additional[].dns

Description
DNS nameservers
Type
array

.spec.configs[].network.additional[].dns[]

Type
string

.spec.configs[].network.primary

Description
Primary is the network configuration used for kubelet node IP registration.
Type
object
Required
networkName
PropertyTypeDescription
deviceNamestring

DeviceName explicitly assigns a guest OS interface name to the network device.

dnsarray

DNS nameservers

gatewaystring
ipstring

IPv4 configuration

ipv6string

IPv6 configuration

ipv6Gatewaystring
networkNamestring

NetworkName is the name of the vSphere network (PortGroup or DVPortGroup).

.spec.configs[].network.primary.dns

Description
DNS nameservers
Type
array

.spec.configs[].network.primary.dns[]

Type
string

.spec.configs[].persistentDisks

Description
PersistentDisks that survive VM deletion.
Type
array

.spec.configs[].persistentDisks[]

Description
PersistentDisk defines a disk that survives VM deletion.
Type
object
Required
namesizeGiB
PropertyTypeDescription
datastorestring

Datastore is the vSphere datastore name.

diskUUIDstring

DiskUUID is backfilled by the controller.

fsFormatstring

FSFormat is the filesystem format (default "ext4").

mountOptionsarray

MountOptions for the filesystem mount.

mountPathstring

MountPath is the mount path inside the VM guest OS (e.g., "/var/lib/etcd").

namestring

Name is the disk name.

sizeGiBinteger

SizeGiB is the disk size.

storagePolicystring

StoragePolicy is the vSphere storage policy name.

unitNumberinteger

UnitNumber is the SCSI unit number for the disk (0-15, excluding 7). This ensures consistent disk ordering across VM recreations.

volumePathstring

VolumePath is backfilled by the controller after the disk is created. For vSphere, this is usually the datastore path to the .vmdk file.

wipeFilesystemboolean

WipeFilesystem controls whether to wipe the filesystem content when the slot is reused by a new VM. When true, the disk content is cleared on the first boot of a new VM (reboots and manual service restarts are not affected). Defaults to false (data is preserved across VM recreations).

.spec.configs[].persistentDisks[].mountOptions

Description
MountOptions for the filesystem mount.
Type
array

.spec.configs[].persistentDisks[].mountOptions[]

Type
string

.status

Description
VSphereMachineConfigPoolStatus defines the observed state of VSphereMachineConfigPool.
Type
object
PropertyTypeDescription
conditionsarray

Conditions defines current state of the machine config pool.

configStatusesarray

ConfigStatuses tracks the state of each slot.

consumerRefobject

ConsumerRef is the workload controller (KubeadmControlPlane or MachineDeployment) currently bound to this pool. Set automatically by the controller when a machine allocates a slot. Cleared when the pool becomes fully reusable.

.status.conditions

Description
Conditions defines current state of the machine config pool.
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.configStatuses

Description
ConfigStatuses tracks the state of each slot.
Type
array

.status.configStatuses[]

Description
MachineConfigSlotStatus tracks the state of a single slot.
Type
object
Required
hostnamestate
PropertyTypeDescription
hostnamestring

Hostname matches the Hostname in the Spec.

lastReleasedTimestring

LastReleasedTime is the timestamp when the slot transitioned to Released.

machineRefobject

MachineRef is the reference to the Machine currently using this slot.

reclaimStatusobject

ReclaimStatus tracks asynchronous reclaim progress for this slot.

statestring

State is the allocation state of the slot.

.status.configStatuses[].machineRef

Description
MachineRef is the reference to the Machine currently using this slot.
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.configStatuses[].reclaimStatus

Description
ReclaimStatus tracks asynchronous reclaim progress for this slot.
Type
object
PropertyTypeDescription
lastErrorstring

LastError stores the latest reclaim task failure.

retryAfterstring

RetryAfter prevents tight retry loops after reclaim task failures.

statestring

State tracks the lifecycle of the reclaim task.

taskRefstring

TaskRef tracks the in-flight vCenter reclaim task for this slot.

volumePathstring

VolumePath tracks the persistent disk currently being reclaimed.

.status.consumerRef

Description
ConsumerRef is the workload controller (KubeadmControlPlane or MachineDeployment) currently bound to this pool. Set automatically by the controller when a machine allocates a slot. Cleared when the pool becomes fully reusable.
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

API Endpoints

The following API endpoints are available:

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

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

HTTP method
DELETE
Description
delete collection of VSphereMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
list objects of kind VSphereMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPoolList schema
401 - UnauthorizedEmpty
HTTP method
POST
Description
create a new VSphereMachineConfigPool
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
bodyVSphereMachineConfigPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPool schema
201 - CreatedVSphereMachineConfigPool schema
202 - AcceptedVSphereMachineConfigPool schema
401 - UnauthorizedEmpty

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

HTTP method
DELETE
Description
delete the specified VSphereMachineConfigPool
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 VSphereMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update the specified VSphereMachineConfigPool
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 - OKVSphereMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace the specified VSphereMachineConfigPool
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
bodyVSphereMachineConfigPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPool schema
201 - CreatedVSphereMachineConfigPool schema
401 - UnauthorizedEmpty

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

HTTP method
GET
Description
read status of the specified VSphereMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
PATCH
Description
partially update status of the specified VSphereMachineConfigPool
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 - OKVSphereMachineConfigPool schema
401 - UnauthorizedEmpty
HTTP method
PUT
Description
replace status of the specified VSphereMachineConfigPool
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
bodyVSphereMachineConfigPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKVSphereMachineConfigPool schema
201 - CreatedVSphereMachineConfigPool schema
401 - UnauthorizedEmpty