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

Description
HCSMachineConfigPool is the Schema for the hcsmachineconfigpools API. It provides a pool of pre-defined machine configurations (hostname, network settings) that can be claimed by HCSMachine resources.
Type
object
Required
spec

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 defines the desired state of HCSMachineConfigPool

statusobject

status defines the observed state of HCSMachineConfigPool

.spec

Description
spec defines the desired state of HCSMachineConfigPool
Type
object
PropertyTypeDescription
configsarray

Configs lists machine configurations claimable by HCSMachines.

.spec.configs

Description
Configs lists machine configurations claimable by HCSMachines.
Type
array

.spec.configs[]

Description
MachineConfig defines the configuration for a single machine in the pool.
Type
object
Required
hostnamenetworks
PropertyTypeDescription
hostnamestring

Hostname is the hostname to assign to the machine.

networksarray

Networks is the list of network configurations for the machine.

persistentDisksarray

PersistentDisks declares EVS disks that survive HCSMachine delete-recreate. Each disk is bound to the (Hostname, Slot) identity and re-attached to the new ECS on rolling upgrade. Slots must be unique and contiguous from 0.

.spec.configs[].networks

Description
Networks is the list of network configurations for the machine.
Type
array

.spec.configs[].networks[]

Description
MachineConfigNetworkConfig defines the network configuration for a machine.
Type
object
Required
ipAddress
PropertyTypeDescription
ipAddressstring

IpAddress is the static IP address to assign to the machine.

subenetNamestring

SubenetName is the deprecated legacy key kept for backward compatibility. Use subnetName instead.

subnetIdstring

SubnetId is the ID of the subnet to use.

subnetNamestring

SubnetName is the name of the subnet to use.

.spec.configs[].persistentDisks

Description
PersistentDisks declares EVS disks that survive HCSMachine delete-recreate. Each disk is bound to the (Hostname, Slot) identity and re-attached to the new ECS on rolling upgrade. Slots must be unique and contiguous from 0.
Type
array

.spec.configs[].persistentDisks[]

Description
PersistentDisk defines a persistent EVS disk attached to a fixed machine slot in the pool. Persistent disks survive HCSMachine delete-recreate cycles (e.g. rolling upgrades), while temporary disks declared in HCSMachineTemplate.spec.dataVolumes[] are removed together with their ECS.
Type
object
Required
sizeslottype
PropertyTypeDescription
formatstring

Format is the filesystem format; empty normalises to xfs. Already-formatted disks are not re-formatted. Immutable once accepted (validating webhook).

mountOptionsarray

MountOptions overrides the default ("defaults,noatime"); takes effect on next rebuild.

mountPathstring

MountPath is the guest filesystem mount path; empty means block device only (no fs_setup/mount). Immutable once accepted (validating webhook).

sizeinteger

Size is the EVS volume size in GB. CRD lower bound is 1 to accept legacy claimed volumes; the controller enforces the EVS [10, 32768] range only for new volumes. Immutable once accepted (validating webhook).

slotinteger

Slot is the disk position within the MachineConfig. Unique and contiguous from 0; combined with hostname it keys the underlying EVS volume.

typestring

Type is the EVS volume type name (e.g. SSD, SATA, hcs_global_ssd). Availability is checked at reconcile via CinderListVolumeTypes; no static whitelist. Immutable once accepted (validating webhook).

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

Description
MountOptions overrides the default ("defaults,noatime"); takes effect on next rebuild.
Type
array

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

Type
string

.status

Description
status defines the observed state of HCSMachineConfigPool
Type
object
PropertyTypeDescription
availableCountinteger

AvailableCount is the number of available configurations in the pool.

persistentDiskStatusarray

PersistentDiskStatus records the runtime state of every persistent disk owned by this pool, keyed by (Hostname, Slot).

totalCountinteger

TotalCount is the total number of configurations in the pool.

usedConfigsarray

UsedConfigs is the list of configurations that have been claimed by HCSMachines.

.status.persistentDiskStatus

Description
PersistentDiskStatus records the runtime state of every persistent disk owned by this pool, keyed by (Hostname, Slot).
Type
array

.status.persistentDiskStatus[]

Description
PersistentDiskStatus records the runtime state of a single persistent disk, keyed by (Hostname, Slot). Spec fields (size/type/format/mountPath) are not duplicated here.
Type
object
Required
hostnameslot
PropertyTypeDescription
attachedServerIDstring

AttachedServerID is the ECS server id where the disk is currently attached. Cleared during reconcileDelete after the EVS has returned to available.

availabilityZonestring

AvailabilityZone of the EVS volume; the controller locks the ECS AZ to this value.

devicestring

Device is the guest-visible device path (e.g. /dev/vdc) computed from the current (len(spec.dataVolumes), slot). Cleared during reconcileDelete.

hostnamestring

Hostname identifies which MachineConfig the disk belongs to.

lastErrorstring

LastError records the last error message, set when Phase=Error.

lastTransitionTimestring

LastTransitionTime marks the most recent phase change.

namestring

Name is the stable EVS volume name produced by PersistentVolumeName().

ownerMachineNamestring

OwnerMachineName is the name of the HCSMachine currently bound to this disk.

ownerMachineUIDstring

OwnerMachineUID is the UID of the HCSMachine currently bound to this disk.

phasestring

Phase is the current lifecycle phase.

slotinteger

Slot is the disk slot within the MachineConfig (matches spec).

volumeIDstring

VolumeID is the HCS EVS volume id.

.status.usedConfigs

Description
UsedConfigs is the list of configurations that have been claimed by HCSMachines.
Type
array

.status.usedConfigs[]

Description
UsedConfig represents a machine configuration that has been claimed by a HCSMachine.
Type
object
Required
hostnamemachineRef
PropertyTypeDescription
hostnamestring

HostName is the hostname of the claimed configuration.

machineRefstring

MachineRef is the name of the HCSMachine that claimed this configuration.

API Endpoints

The following API endpoints are available:

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

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

HTTP method
DELETE
Description
delete collection of HCSMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP method
GET
Description
list objects of kind HCSMachineConfigPool
HTTP responses
HTTP codeResponse body
200 - OKHCSMachineConfigPoolList schema
401 - UnauthorizedEmpty
HTTP method
POST
Description
create a new HCSMachineConfigPool
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
bodyHCSMachineConfigPool schemaapplication/json formatted
HTTP responses
HTTP codeResponse body
200 - OKHCSMachineConfigPool schema
201 - CreatedHCSMachineConfigPool schema
202 - AcceptedHCSMachineConfigPool schema
401 - UnauthorizedEmpty

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

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

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

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