From fd704f0737783161d300d546ba6fb75756a20ecf Mon Sep 17 00:00:00 2001 From: "xin.li" Date: Sun, 12 Nov 2023 17:08:24 +0800 Subject: [PATCH] [zh-cn] sync extend-resources/custom-resource-definition-v1.md Signed-off-by: xin.li --- .../custom-resource-definition-v1.md | 110 ++++++++++++++---- 1 file changed, 85 insertions(+), 25 deletions(-) diff --git a/content/zh-cn/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1.md b/content/zh-cn/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1.md index 8601a2050f..e28d6ef992 100644 --- a/content/zh-cn/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1.md +++ b/content/zh-cn/docs/reference/kubernetes-api/extend-resources/custom-resource-definition-v1.md @@ -41,9 +41,10 @@ CustomResourceDefinition 表示应在 API 服务器上公开的资源。其名 - 标准的对象元数据,更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + 标准的对象元数据,更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata -- **spec** (}}">CustomResourceDefinitionSpec), 必需 +- **spec** (}}">CustomResourceDefinitionSpec),必需 @@ -298,7 +299,7 @@ CustomResourceDefinitionSpec 描述了用户希望资源的呈现方式。 schema describes the schema used for validation, pruning, and defaulting of this version of the custom resource. --> - schema 描述了用于验证、精简和默认此版本的自定义资源的模式。 + schema 描述了用于验证、精简和默认此版本的自定义资源的模式。 - subresources 指定此版本已定义的自定义资源具有哪些子资源。 + subresources 指定此版本已定义的自定义资源具有哪些子资源。 - 如果 strategy 是 `Webhook`, 那么 clientConfig 是关于如何调用 Webhook 的说明。 + 如果 strategy 是 `Webhook`,那么 clientConfig 是关于如何调用 Webhook 的说明。 - x-kubernetes-list-type 注解一个数组以进一步描述其拓扑。此扩展名只能用于列表,并且可能有 3 个可能的值: + x-kubernetes-list-type 注解一个数组以进一步描述其拓扑。此扩展名只能用于列表,并且可能有 3 个可能的值: - x-kubernetes-map-type 注解一个对象以进一步描述其拓扑。此扩展只能在 type 为 object 时使用,并且可能有 2 个可能的值: + x-kubernetes-map-type 注解一个对象以进一步描述其拓扑。此扩展只能在 type 为 object 时使用,并且可能有 2 个可能的值: rule 表示将由 CEL 评估的表达式。参考: https://github.com/google/cel-spec。 @@ -984,10 +991,35 @@ JSONSchemaProps 是JSON 模式(JSON-Schema),遵循其规范草案第 4 版 - 'map':`X + Y` 执行合并,保留 `X` 中所有键的数组位置,但当 `X` 和 `Y` 的键集相交时,会被 `Y` 中的值覆盖。 添加 `Y` 中具有不相交键的元素,保持其局顺序。 + - **x-kubernetes-validations.fieldPath** (string) + + + + fieldPath 表示验证失败时返回的字段路径。 + 它必须是相对 JSON 路径(即,支持数组表示法),范围仅限于此 x-kubernetes-validations + 扩展在模式的位置,并引用现有字段。 + 例如,当验证检查 `testMap` 映射下是否有 `foo` 属性时,可以将 fieldPath 设置为 `.testMap.foo`。 + 如果验证需要确保两个列表具有各不相同的属性,则可以将 fieldPath 设置到其中任一列表,例如 `.testList`。 + 它支持使用子操作引用现有字段,而不支持列表的数字索引。 + 有关更多信息,请参阅 [Kubernetes 中的 JSONPath 支持](https://kubernetes.io/docs/reference/kubectl/jsonpath/)。 + 因为其不支持数组的数字索引,所以对于包含特殊字符的字段名称,请使用 `['specialName']` 来引用字段名称。 + 例如,对于出现在列表 `testList` 中的属性 `foo.34$`,fieldPath 可以设置为 `.testList['foo.34$']`。 + - **x-kubernetes-validations.message** (string) message 表示验证失败时显示的消息。如果规则包含换行符,则需要该消息。消息不能包含换行符。 @@ -996,8 +1028,17 @@ JSONSchemaProps 是JSON 模式(JSON-Schema),遵循其规范草案第 4 版 - **x-kubernetes-validations.messageExpression** (string) + messageExpression 声明一个 CEL 表达式,其计算结果是此规则失败时返回的验证失败消息。 由于 messageExpression 用作失败消息,因此它的值必须是一个字符串。 如果在规则中同时存在 message 和 messageExpression,则在验证失败时使用 messageExpression。 @@ -1008,6 +1049,24 @@ JSONSchemaProps 是JSON 模式(JSON-Schema),遵循其规范草案第 4 版 messageExpression 可以访问的变量与规则相同;唯一的区别是返回类型。 例如:"x must be less than max ("+string(self.max)+")"。 + - **x-kubernetes-validations.reason** (string) + + + + reason 提供机器可读的验证失败原因,当请求未通过此验证规则时,该原因会返回给调用者。 + 返回给调用者的 HTTP 状态代码将与第一个失败的验证规则的原因相匹配。 + 目前支持的原因有:`FieldValueInvalid`、`FieldValueForbidden`、`FieldValueRequired`、`FieldValueDuplicate`。 + 如果未设置,则默认使用 `FieldValueInvalid`。 + 所有未来添加的原因在读取该值时必须被客户端接受,未知原因应被视为 `FieldValueInvalid`。 + ## CustomResourceDefinitionStatus {#CustomResourceDefinitionStatus} - listKind 是此资源列表的序列化类型。默认为 "`List`"。 + listKind 是此资源列表的序列化类型。默认为 "`List`"。 - **acceptedNames.shortNames** ([]string) @@ -1074,7 +1133,7 @@ CustomResourceDefinitionStatus 表示 CustomResourceDefinition 的状态。 shortNames are short names for the resource, exposed in API discovery documents, and used by clients to support invocations like `kubectl get \`. It must be all lowercase. --> - shortNames 是资源的短名称,在 API 发现文档中公开,并支持客户端调用,如 `kubectl get `。必须全部小写。 + shortNames 是资源的短名称,在 API 发现文档中公开,并支持客户端调用,如 `kubectl get `。必须全部小写。 - **acceptedNames.singular** (string) @@ -1205,7 +1264,8 @@ CustomResourceDefinitionList 是 CustomResourceDefinition 对象的列表。 Standard object's metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata --> - 标准的对象元数据,更多信息: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + 标准的对象元数据,更多信息: + https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata ## Operations {#Operations} @@ -1372,7 +1432,7 @@ POST /apis/apiextensions.k8s.io/v1/customresourcedefinitions --> #### 参数 -- **body**: }}">CustomResourceDefinition,必需 +- **body**:}}">CustomResourceDefinition,必需 - **dryRun** (**查询参数**):string @@ -1429,7 +1489,7 @@ PUT /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name} CustomResourceDefinition 的名称。 -- **body**: }}">CustomResourceDefinition,必需 +- **body**:}}">CustomResourceDefinition,必需 - **dryRun** (**查询参数**):string @@ -1484,7 +1544,7 @@ PUT /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status CustomResourceDefinition 的名称。 -- **body**: }}">CustomResourceDefinition,必需 +- **body**:}}">CustomResourceDefinition,必需 - **dryRun** (**查询参数**):string @@ -1539,7 +1599,7 @@ PATCH /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name} CustomResourceDefinition 的名称。 -- **body**: }}">Patch,必需 +- **body**:}}">Patch,必需 - **dryRun** (**查询参数**):string @@ -1598,7 +1658,7 @@ PATCH /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name}/status CustomResourceDefinition 的名称。 -- **body**: }}">Patch,必需 +- **body**:}}">Patch,必需 - **dryRun** (**查询参数**):string @@ -1655,7 +1715,7 @@ DELETE /apis/apiextensions.k8s.io/v1/customresourcedefinitions/{name} CustomResourceDefinition 的名称。 -- **body**: }}">DeleteOptions +- **body**:}}">DeleteOptions - **dryRun** (**查询参数**):string @@ -1700,7 +1760,7 @@ DELETE /apis/apiextensions.k8s.io/v1/customresourcedefinitions --> #### 参数 -- **body**: }}">DeleteOptions +- **body**:}}">DeleteOptions - **continue** (**查询参数**):string