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

描述
BaremetalMachineTemplate lets KubeadmControlPlane and MachineDeployment bind a pool.
类型
object

规格

属性类型描述
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

BaremetalMachineTemplateSpec is the template for BaremetalMachine.

.spec

描述
BaremetalMachineTemplateSpec is the template for BaremetalMachine.
类型
object
必填
template
属性类型描述
templateobject

BaremetalMachineTemplateResource is the templated spec embedded in a template.

.spec.template

描述
BaremetalMachineTemplateResource is the templated spec embedded in a template.
类型
object
必填
spec
属性类型描述
metadataObjectMeta

ObjectMeta is metadata that all persisted resources must have, which includes all objects users must create. This is a copy of customizable fields from metav1.ObjectMeta.

ObjectMeta is embedded in Machine.Spec, MachineDeployment.Template and MachineSet.Template, which are not top-level Kubernetes objects. Given that metav1.ObjectMeta has lots of special cases and read-only fields which end up in the generated CRD validation, having it as a subset simplifies the API and some issues that can impact user experience.

During the upgrade to controller-tools@v2 for v1alpha2, we noticed a failure would occur running Cluster API test suite against the new CRDs, specifically spec.metadata.creationTimestamp in body must be of type string: "null". The investigation showed that controller-tools@v2 behaves differently than its previous version when handling types from metav1 package.

In more details, we found that embedded (non-top level) types that embedded metav1.ObjectMeta had validation properties, including for creationTimestamp (metav1.Time). The metav1.Time type specifies a custom json marshaller that, when IsZero() is true, returns null which breaks validation because the field isn't marked as nullable.

In future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited.

specobject

BaremetalMachineSpec follows design-doc/api/resource-model.md §8. Role / version / upgrade image deliberately absent: role is inferred from the owning KubeadmControlPlane / MachineDeployment, version comes from the owner Machine, and the elemental upgrade image is resolved at reprovision time via the provider image catalog.

.spec.template.spec

描述
BaremetalMachineSpec follows design-doc/api/resource-model.md §8. Role / version / upgrade image deliberately absent: role is inferred from the owning KubeadmControlPlane / MachineDeployment, version comes from the owner Machine, and the elemental upgrade image is resolved at reprovision time via the provider image catalog.
类型
object
必填
machineInventoryPoolRef
属性类型描述
machineInventoryPoolRefobject

MachineInventoryPoolRef pins which pool this machine draws from. The field is immutable once set (see webhook).

providerIDstring

ProviderID is the CAPI contract field populated once the node is bound to a MachineInventory. Format: baremetal:///

.spec.template.spec.machineInventoryPoolRef

描述
MachineInventoryPoolRef pins which pool this machine draws from. The field is immutable once set (see webhook).
类型
object
必填
name
属性类型描述
namestring

API 端点

可用的 API 端点如下:

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

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

HTTP 方法
DELETE
描述
delete collection of BaremetalMachineTemplate
HTTP 响应
HTTP 状态码响应体
200 - OKStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
list objects of kind BaremetalMachineTemplate
HTTP 响应
HTTP 状态码响应体
200 - OKBaremetalMachineTemplateList schema
401 - UnauthorizedEmpty
HTTP 方法
POST
描述
create a new BaremetalMachineTemplate
查询参数
参数类型描述
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.
请求体参数
参数类型描述
bodyBaremetalMachineTemplate schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKBaremetalMachineTemplate schema
201 - CreatedBaremetalMachineTemplate schema
202 - AcceptedBaremetalMachineTemplate schema
401 - UnauthorizedEmpty

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

HTTP 方法
DELETE
描述
delete the specified BaremetalMachineTemplate
查询参数
参数类型描述
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 响应
HTTP 状态码响应体
200 - OKStatus schema
202 - AcceptedStatus schema
401 - UnauthorizedEmpty
HTTP 方法
GET
描述
read the specified BaremetalMachineTemplate
HTTP 响应
HTTP 状态码响应体
200 - OKBaremetalMachineTemplate schema
401 - UnauthorizedEmpty
HTTP 方法
PATCH
描述
partially update the specified BaremetalMachineTemplate
查询参数
参数类型描述
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 响应
HTTP 状态码响应体
200 - OKBaremetalMachineTemplate schema
401 - UnauthorizedEmpty
HTTP 方法
PUT
描述
replace the specified BaremetalMachineTemplate
查询参数
参数类型描述
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.
请求体参数
参数类型描述
bodyBaremetalMachineTemplate schemaapplication/json formatted
HTTP 响应
HTTP 状态码响应体
200 - OKBaremetalMachineTemplate schema
201 - CreatedBaremetalMachineTemplate schema
401 - UnauthorizedEmpty