From 2f5468f1ae5b91877db914438d1b5ff02e7a70b7 Mon Sep 17 00:00:00 2001 From: Elijah Oyekunle Date: Fri, 28 Feb 2020 16:31:06 +0100 Subject: [PATCH] update map keys api doc with validation requirements --- api/openapi-spec/swagger.json | 4 ++-- .../pkg/apis/apiextensions/v1/generated.proto | 3 +++ .../pkg/apis/apiextensions/v1/types_jsonschema.go | 3 +++ .../pkg/apis/apiextensions/v1beta1/generated.proto | 3 +++ .../pkg/apis/apiextensions/v1beta1/types_jsonschema.go | 3 +++ 5 files changed, 14 insertions(+), 2 deletions(-) diff --git a/api/openapi-spec/swagger.json b/api/openapi-spec/swagger.json index 82d07dfdc3a..7247be01c3e 100644 --- a/api/openapi-spec/swagger.json +++ b/api/openapi-spec/swagger.json @@ -15694,7 +15694,7 @@ "type": "boolean" }, "x-kubernetes-list-map-keys": { - "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).", + "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).\n\nThe properties specified must either be required or have a default value, to ensure those properties are present for all list items.", "items": { "type": "string" }, @@ -16334,7 +16334,7 @@ "type": "boolean" }, "x-kubernetes-list-map-keys": { - "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).", + "description": "x-kubernetes-list-map-keys annotates an array with the x-kubernetes-list-type `map` by specifying the keys used as the index of the map.\n\nThis tag MUST only be used on lists that have the \"x-kubernetes-list-type\" extension set to \"map\". Also, the values specified for this attribute must be a scalar typed field of the child structure (no nesting is supported).\n\nThe properties specified must either be required or have a default value, to ensure those properties are present for all list items.", "items": { "type": "string" }, diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto index 49a8961bf56..ad7f405b380 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/generated.proto @@ -493,6 +493,9 @@ message JSONSchemaProps { // extension set to "map". Also, the values specified for this attribute must // be a scalar typed field of the child structure (no nesting is supported). // + // The properties specified must either be required or have a default value, + // to ensure those properties are present for all list items. + // // +optional repeated string xKubernetesListMapKeys = 41; diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go index cd603126174..4433e2446f7 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1/types_jsonschema.go @@ -126,6 +126,9 @@ type JSONSchemaProps struct { // extension set to "map". Also, the values specified for this attribute must // be a scalar typed field of the child structure (no nesting is supported). // + // The properties specified must either be required or have a default value, + // to ensure those properties are present for all list items. + // // +optional XListMapKeys []string `json:"x-kubernetes-list-map-keys,omitempty" protobuf:"bytes,41,rep,name=xKubernetesListMapKeys"` diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto index ea0f8f2b646..1a89f292991 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto @@ -545,6 +545,9 @@ message JSONSchemaProps { // extension set to "map". Also, the values specified for this attribute must // be a scalar typed field of the child structure (no nesting is supported). // + // The properties specified must either be required or have a default value, + // to ensure those properties are present for all list items. + // // +optional repeated string xKubernetesListMapKeys = 41; diff --git a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go index b51a3249969..1837723a080 100644 --- a/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go +++ b/staging/src/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go @@ -126,6 +126,9 @@ type JSONSchemaProps struct { // extension set to "map". Also, the values specified for this attribute must // be a scalar typed field of the child structure (no nesting is supported). // + // The properties specified must either be required or have a default value, + // to ensure those properties are present for all list items. + // // +optional XListMapKeys []string `json:"x-kubernetes-list-map-keys,omitempty" protobuf:"bytes,41,rep,name=xKubernetesListMapKeys"`