1.119. io.k8s.apiextensions-apiserver.pkg.apis.apiextensions.v1.JSONSchemaProps schema


描述
JSONSchemaProps 是符合规范 4 (http://json-schema.org/)的 JSON 架构。
类型
对象

模式

属性类型描述

$ref

字符串

 

$schema

字符串

 

additionalItems

``

 

additionalProperties

``

 

allOf

数组(未定义)

 

anyOf

数组(未定义)

 

default

JSON

default 是未定义对象字段的默认值。默认是 CustomResourceDefaulting 功能门下的 beta 功能。默认要求 spec.preserveUnknownFields 为 false。

定义

对象(未定义)

 

dependencies

对象(未定义)

 

description

字符串

 

enum

数组(JSON)

 

示例

JSON

 

exclusiveMaximum

布尔值

 

exclusiveMinimum

布尔值

 

externalDocs

ExternalDocumentation

 

格式

字符串

格式是 OpenAPI v3 格式字符串。未知格式将被忽略。验证以下格式:

- bsonobjectid: 一个 bson 对象 ID,即 24 个字符十六进制字符串 - uri: 一个 URI,由 Golang net/url.ParseRequestURI 解析,电子邮件:一个电子邮件地址被 Golang net/mail.ParseAddress - hostname: 一个用于互联网主机名的有效表示,如 RFC 1034 定义,第 3.1 [RFC1034] 部分。- ipv4: 一个 IPv4 IP (由 Golang net.ParseIP - ipv6 解析)解析了 Golang net.ParseIP - cidr: CIDR (由 Golang net.ParseCIDR - mac: 被 Golang net.ParseMAC - uuid)解析的 MAC 地址,该 UUID 允许由 regex (?i)^[0-9a-f]{8}-? - uuid3: 一个 UUID3,它允许由 regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?3[0-9a-f]{3}-?[0-9a-f]{4}-?[0-9a-f]{12}$ - uuid4: 一个 UUID4,它允许由 regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?4[0-9a-f]{3}-?[89][0-9a-f]{3}-?[0-9a-f]{12} - uuid5: 一个 UUID5,它允许由 regex (?i)^[0-9a-f]{8}-?[0-9a-f]{4}-?5[0-9a-f]{3}-?[89][0-9a-f]{3}-?[0-9a-f]{12} - isbn: 一个 ISBN10 或 ISBN13 number 字符串,如 "0321751043" 或 "978-0321751041" - isbn10: a ISBN10 number string,如 "0321751043" - isbn13: a ISBN13 number string,如 "978-0321751041" - creditcard: 一个信用卡号,由 regex ^(?:4[0-9]{12}(?:[0-9]{3})?|5[1-5][0-9]{14}|6 (?:011|5[0-9][0-9])[0-9]{12}|3[47][0-9]{13}|3 (?:0[0-5][68][0-9]{12}{3} 在 - ssn 中混合使用任何非数字字符:U.S. social 安全号码遵循正则表达式 ^\d\{3{3}[- ]?\d{2}[- ]?\d{4}$ - hexcolor:一个十六进制颜色代码,如 "FFFFFF: following regex ^。? ([0-9a-fA-F]{3}|[0-9a-fA-F]{6})$ - rgbcolor: RGB color code,如 rgb (255, 255,2559" - byte: base64 编码的二进制数据 - password: 任何类型的字符串 - date: 一个日期字符串,如 "2006-01-02",由 RFC3339 中全日期定义 - 持续时间字符串,如 "22 ns",如 Golang time.ParseDuration 或与 Scala 持续时间格式兼容的日期字符串,如 "2014-12-15T19:30:20.000Z"

id

字符串

 

items

``

 

maxItems

整数

 

maxLength

整数

 

maxProperties

整数

 

最大

number

 

minItems

整数

 

minLength

整数

 

minProperties

整数

 

最小值

number

 

multipleOf

number

 

not

``

 

nullable

布尔值

 

oneOf

数组(未定义)

 

pattern

字符串

 

patternProperties

对象(未定义)

 

属性

对象(未定义)

 

required

数组(字符串)

 

title

字符串

 

type

字符串

 

uniqueItems

布尔值

 

x-kubernetes-embedded-resource

布尔值

x-kubernetes-embedded-resource 定义值是嵌入式 Kubernetes runtime.Object,它带有 TypeMeta 和 ObjectMeta。类型必须是 object。允许进一步限制嵌入的对象。kind、apiVersion 和 metadata 被自动验证。x-kubernetes-preserve-unknown-fields 被允许为 true,但如果对象被完全指定(最多为 apiVersion、metadata)则不必是。

x-kubernetes-int-or-string

布尔值

x-kubernetes-int-or-string 指定这个值可以是整数或字符串。如果为 true,则允许空类型,如果遵循以下模式之一,则允许类型为 anyOf 的子类型:

1)anyOf: - type: integer - type: string 2)allOf: - anyOf: - type: integer - type: string - …​ zero or more

x-kubernetes-list-map-keys

数组(字符串)

x-kubernetes-list-map-keys 通过指定用作 映射 索引的键来注解带有 x-kubernetes-list-type 映射的数组。

此标签 MUST 仅在将 "x-kubernetes-list-type" 扩展设置为 "map" 的列表时使用。另外,为此属性指定的值必须是子结构的 scalar typed 字段(不支持嵌套)。

指定的属性必须是必填或具有默认值,以确保所有列表项都存在这些属性。

x-kubernetes-list-type

字符串

x-kubernetes-list-type 注解数组以进一步描述其拓扑。这个扩展必须只在列表中使用,且可能有 3 个可能的值:

1) Atomic:该列表被视为单个实体,如 scalar。更新时,Atomic 列表将完全被替换。此扩展可用于任何类型的列表(struct, scalar, …​)。2) set: Sets 是不能有相同值的多个项目的列表。每个值都必须是 scalar,一个具有 x-kubernetes-map-type atomic 的对象,或带有 x-kubernetes-list-type atomic 的数组。3) 映射 :这些列表类似于映射,其元素具有用于识别它们的非索引键。顺序会在合并时保留。map 标签必须仅在带有类型为 object 的元素的列表中使用。对于数组,默认为 atomic。

x-kubernetes-map-type

字符串

x-kubernetes-map-type 注解对象以进一步描述其拓扑。只有 type 是对象且可能有 2 个可能的值时,才必须使用此扩展:

1) 粒度 :这些映射是实际映射(键值对),每个字段相互独立(它们都可以由单独的参与者操作)。这是所有映射的默认值。2) Atomic:该列表被视为单个实体,如 scalar。更新时,Atomic 映射将被完全替代。

x-kubernetes-preserve-unknown-fields

布尔值

x-kubernetes-preserve-unknown-fields 会停止 API 服务器解码步骤,以修剪没有在验证模式中指定的字段。这会递归影响字段,但如果 schema 中指定了嵌套属性或附加属性,则切回到正常的修剪行为。这可以是 true 或未定义。禁止 false。

x-kubernetes-validations

数组(ValidationRule)

x-kubernetes-validations 描述了使用 CEL 表达式语言编写的验证规则列表。此字段是 alpha-level。使用此字段需要启用功能门 CustomResourceValidationExpressions

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.