From 75206103e2dd1cc3f0c302825d736f61b532ec61 Mon Sep 17 00:00:00 2001 From: Andrew McDermott Date: Wed, 20 Nov 2024 10:58:51 +0000 Subject: [PATCH 1/3] test/http2: Add custom-response endpoint for flexible e2e testing Add a `/custom-response` endpoint that returns a configurable response via the `CUSTOM_RESPONSE` environment variable. --- test/http2/server.go | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/test/http2/server.go b/test/http2/server.go index d50c058974..b06acb6d55 100644 --- a/test/http2/server.go +++ b/test/http2/server.go @@ -24,6 +24,7 @@ func lookupEnv(key, defaultVal string) string { func Serve() { crtFile := lookupEnv("TLS_CRT", defaultTLSCrt) keyFile := lookupEnv("TLS_KEY", defaultTLSKey) + customResponse := lookupEnv("CUSTOM_RESPONSE", "custom response") http.HandleFunc("/", func(w http.ResponseWriter, req *http.Request) { fmt.Fprint(w, req.Proto) @@ -33,6 +34,10 @@ func Serve() { fmt.Fprint(w, "ready") }) + http.HandleFunc("/custom-response", func(w http.ResponseWriter, req *http.Request) { + fmt.Fprint(w, customResponse) + }) + go func() { port := lookupEnv("HTTP_PORT", defaultHTTPPort) log.Printf("Listening on port %v\n", port) From 63098d475a2d1799fe2a58aad7d8c18e77073d61 Mon Sep 17 00:00:00 2001 From: Andrew McDermott Date: Tue, 10 Dec 2024 14:40:36 +0000 Subject: [PATCH 2/3] DO NOT MERGE: github.com/openshift/api vendor bump Pickup openshift/api#2102 $ go mod edit -replace github.com/openshift/api=github.com/frobware/api@000e4bc7faace3e166e649c8bba32db0b1570c13 $ go mod tidy $ go mod vendor $ make update --- go.mod | 2 +- go.sum | 4 +- manifests/00-custom-resource-definition.yaml | 72 ++- .../github.com/openshift/api/.golangci.yaml | 16 + vendor/github.com/openshift/api/Makefile | 17 +- .../api/apiserver/v1/types_apirequestcount.go | 3 +- .../v1/zz_generated.swagger_doc_generated.go | 2 +- .../openshift/api/apps/v1/generated.proto | 160 +++--- .../github.com/openshift/api/apps/v1/types.go | 160 +++--- .../v1/zz_generated.swagger_doc_generated.go | 160 +++--- .../api/authorization/v1/generated.proto | 134 ++--- .../openshift/api/authorization/v1/types.go | 134 ++--- .../v1/zz_generated.swagger_doc_generated.go | 134 ++--- .../openshift/api/build/v1/generated.proto | 42 +- .../openshift/api/build/v1/types.go | 42 +- .../v1/zz_generated.swagger_doc_generated.go | 42 +- .../api/cloudnetwork/v1/generated.proto | 5 - .../openshift/api/cloudnetwork/v1/types.go | 5 - .../openshift/api/config/v1/types.go | 55 +- .../api/config/v1/types_apiserver.go | 3 - .../api/config/v1/types_authentication.go | 74 +-- .../openshift/api/config/v1/types_build.go | 31 +- .../api/config/v1/types_cluster_operator.go | 9 - .../api/config/v1/types_cluster_version.go | 55 +- .../openshift/api/config/v1/types_console.go | 1 - .../openshift/api/config/v1/types_dns.go | 3 +- .../openshift/api/config/v1/types_feature.go | 4 +- .../openshift/api/config/v1/types_image.go | 1 - .../config/v1/types_image_content_policy.go | 2 - .../v1/types_image_digest_mirror_set.go | 2 - .../config/v1/types_image_tag_mirror_set.go | 2 - .../api/config/v1/types_infrastructure.go | 264 ++++++--- .../openshift/api/config/v1/types_ingress.go | 10 +- .../openshift/api/config/v1/types_network.go | 21 +- .../openshift/api/config/v1/types_node.go | 24 +- .../openshift/api/config/v1/types_oauth.go | 1 - .../openshift/api/config/v1/types_project.go | 1 - .../openshift/api/config/v1/types_proxy.go | 3 +- .../api/config/v1/types_scheduling.go | 3 +- .../api/config/v1/types_testreporting.go | 9 +- .../api/config/v1/zz_generated.deepcopy.go | 63 +++ ..._generated.featuregated-crd-manifests.yaml | 6 +- .../v1/zz_generated.swagger_doc_generated.go | 308 +++++----- .../api/config/v1alpha1/types_backup.go | 29 +- .../v1alpha1/types_cluster_image_policy.go | 6 +- .../api/config/v1alpha1/types_image_policy.go | 30 +- .../api/config/v1alpha1/types_insights.go | 2 +- .../zz_generated.swagger_doc_generated.go | 16 +- .../api/console/v1/types_console_link.go | 2 +- .../api/console/v1/types_console_plugin.go | 155 +++++- .../console/v1/types_console_quick_start.go | 12 - .../api/console/v1/types_console_sample.go | 18 +- .../api/console/v1/zz_generated.deepcopy.go | 28 + ..._generated.featuregated-crd-manifests.yaml | 3 +- .../v1/zz_generated.swagger_doc_generated.go | 24 +- .../openshift/api/envtest-releases.yaml | 13 + vendor/github.com/openshift/api/features.md | 16 +- .../openshift/api/features/features.go | 147 ++++- .../api/features/legacyfeaturegates.go | 129 +++++ .../github.com/openshift/api/features/util.go | 31 ++ .../v1beta1/types_helm_chart_repository.go | 1 - .../types_project_helm_chart_repository.go | 1 - .../openshift/api/image/v1/generated.proto | 164 +++--- .../openshift/api/image/v1/types.go | 164 +++--- .../v1/zz_generated.swagger_doc_generated.go | 164 +++--- .../openshift/api/imageregistry/v1/types.go | 18 +- .../v1/zz_generated.swagger_doc_generated.go | 16 +- .../api/kubecontrolplane/v1/types.go | 25 +- .../v1/zz_generated.swagger_doc_generated.go | 7 +- .../openshift/api/legacyconfig/v1/types.go | 524 +++++++++--------- .../v1/zz_generated.swagger_doc_generated.go | 524 +++++++++--------- .../api/machine/v1/types_alibabaprovider.go | 42 +- .../openshift/api/machine/v1/types_aws.go | 16 +- .../v1/types_controlplanemachineset.go | 93 ++-- .../api/machine/v1/types_nutanixprovider.go | 36 +- .../api/machine/v1/types_powervsprovider.go | 14 +- ..._generated.featuregated-crd-manifests.yaml | 1 + .../v1/zz_generated.swagger_doc_generated.go | 119 ++-- .../api/machine/v1alpha1/types_openstack.go | 18 +- .../zz_generated.swagger_doc_generated.go | 10 +- .../api/machine/v1beta1/types_awsprovider.go | 64 +-- .../machine/v1beta1/types_azureprovider.go | 122 ++-- .../api/machine/v1beta1/types_gcpprovider.go | 100 ++-- .../api/machine/v1beta1/types_machine.go | 44 +- .../v1beta1/types_machinehealthcheck.go | 8 +- .../api/machine/v1beta1/types_machineset.go | 16 +- .../api/machine/v1beta1/types_provider.go | 17 +- .../machine/v1beta1/types_vsphereprovider.go | 50 +- .../zz_generated.swagger_doc_generated.go | 383 ++++++------- .../openshift/api/monitoring/v1/types.go | 22 +- .../openshift/api/network/v1/generated.proto | 44 +- .../openshift/api/network/v1/types.go | 44 +- .../v1/zz_generated.swagger_doc_generated.go | 42 +- .../network/v1alpha1/types_dnsnameresolver.go | 14 +- .../api/networkoperator/v1/generated.proto | 49 +- .../networkoperator/v1/types_egressrouter.go | 49 +- .../v1/zz_generated.swagger_doc_generated.go | 26 +- .../openshift/api/oauth/v1/generated.proto | 94 ++-- .../openshift/api/oauth/v1/types.go | 76 +-- .../v1/zz_generated.swagger_doc_generated.go | 76 +-- .../api/openshiftcontrolplane/v1/types.go | 38 +- .../v1/zz_generated.swagger_doc_generated.go | 20 +- .../openshift/api/operator/v1/register.go | 2 + .../openshift/api/operator/v1/types.go | 14 +- .../api/operator/v1/types_authentication.go | 5 +- .../api/operator/v1/types_cloudcredential.go | 3 +- .../openshift/api/operator/v1/types_config.go | 3 +- .../api/operator/v1/types_console.go | 35 +- .../operator/v1/types_csi_cluster_driver.go | 27 +- .../api/operator/v1/types_csi_snapshot.go | 1 - .../openshift/api/operator/v1/types_dns.go | 17 +- .../openshift/api/operator/v1/types_etcd.go | 4 +- .../api/operator/v1/types_ingress.go | 136 +++-- .../api/operator/v1/types_insights.go | 16 +- .../api/operator/v1/types_kubeapiserver.go | 3 +- .../v1/types_kubecontrollermanager.go | 3 +- .../v1/types_kubestorageversionmigrator.go | 3 +- .../operator/v1/types_machineconfiguration.go | 42 +- .../api/operator/v1/types_network.go | 46 +- .../openshift/api/operator/v1/types_olm.go | 61 ++ .../operator/v1/types_openshiftapiserver.go | 3 +- .../v1/types_openshiftcontrollermanager.go | 3 +- .../api/operator/v1/types_scheduler.go | 3 +- .../api/operator/v1/types_serviceca.go | 3 +- .../v1/types_servicecatalogapiserver.go | 3 +- .../types_servicecatalogcontrollermanager.go | 3 +- .../api/operator/v1/types_storage.go | 3 +- ...perator-lifecycle-manager_01_olms.crd.yaml | 214 +++++++ ...ud-credential_00_cloudcredentials.crd.yaml | 2 +- ...authentication_01_authentications.crd.yaml | 4 +- .../0000_50_console_01_consoles.crd.yaml | 6 +- ..._csi-driver_01_clustercsidrivers.crd.yaml} | 4 +- ..._50_ingress_00_ingresscontrollers.crd.yaml | 72 ++- .../0000_50_storage_01_storages.crd.yaml | 2 +- .../0000_70_dns_00_dnses.crd.yaml | 10 +- ...twork_01_networks-CustomNoUpgrade.crd.yaml | 40 +- ...00_70_network_01_networks-Default.crd.yaml | 73 ++- ...k_01_networks-DevPreviewNoUpgrade.crd.yaml | 40 +- ..._01_networks-TechPreviewNoUpgrade.crd.yaml | 40 +- .../api/operator/v1/zz_generated.deepcopy.go | 95 ++++ ..._generated.featuregated-crd-manifests.yaml | 27 +- .../v1/zz_generated.swagger_doc_generated.go | 148 ++--- .../openshift/api/operator/v1alpha1/types.go | 2 +- .../api/operator/v1alpha1/types_etcdbackup.go | 11 +- .../types_image_content_source_policy.go | 1 - .../api/operator/v1alpha1/types_olm.go | 6 +- ..._generated.featuregated-crd-manifests.yaml | 4 +- .../zz_generated.swagger_doc_generated.go | 6 +- .../v1alpha1/types_conditioncheck.go | 51 +- .../zz_generated.swagger_doc_generated.go | 42 +- .../openshift/api/operatoringress/v1/types.go | 8 +- .../github.com/openshift/api/osin/v1/types.go | 6 +- .../v1/zz_generated.swagger_doc_generated.go | 6 +- .../openshift/api/project/v1/generated.proto | 14 +- .../openshift/api/project/v1/types.go | 14 +- .../v1/zz_generated.swagger_doc_generated.go | 14 +- .../openshift/api/quota/v1/generated.proto | 24 +- .../openshift/api/quota/v1/types.go | 24 +- .../v1/zz_generated.swagger_doc_generated.go | 24 +- .../openshift/api/route/v1/generated.proto | 16 +- .../openshift/api/route/v1/types.go | 16 +- .../v1/zz_generated.swagger_doc_generated.go | 8 +- .../openshift/api/samples/v1/generated.proto | 1 - .../openshift/api/samples/v1/types_config.go | 1 - .../openshift/api/security/v1/generated.proto | 68 +-- .../openshift/api/security/v1/types.go | 68 +-- .../v1/zz_generated.swagger_doc_generated.go | 68 +-- .../api/servicecertsigner/v1alpha1/types.go | 2 +- .../zz_generated.swagger_doc_generated.go | 2 +- .../v1alpha1/types_shared_configmap.go | 25 +- .../v1alpha1/types_shared_secret.go | 25 +- .../zz_generated.swagger_doc_generated.go | 4 +- .../openshift/api/template/v1/generated.proto | 26 +- .../openshift/api/template/v1/types.go | 26 +- .../v1/zz_generated.swagger_doc_generated.go | 26 +- .../openshift/api/unidling/v1alpha1/types.go | 6 +- .../zz_generated.swagger_doc_generated.go | 6 +- .../openshift/api/user/v1/generated.proto | 26 +- .../github.com/openshift/api/user/v1/types.go | 26 +- .../v1/zz_generated.swagger_doc_generated.go | 26 +- vendor/modules.txt | 4 +- 181 files changed, 4644 insertions(+), 3413 deletions(-) create mode 100644 vendor/github.com/openshift/api/.golangci.yaml create mode 100644 vendor/github.com/openshift/api/features/legacyfeaturegates.go create mode 100644 vendor/github.com/openshift/api/operator/v1/types_olm.go create mode 100644 vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml rename vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/{0000_90_csi-driver_01_clustercsidrivers.crd.yaml => 0000_50_csi-driver_01_clustercsidrivers.crd.yaml} (99%) diff --git a/go.mod b/go.mod index 87934962dd..c08e8df2da 100644 --- a/go.mod +++ b/go.mod @@ -157,6 +157,6 @@ require ( // github.com/operator-framework/operator-sdk. replace ( bitbucket.org/ww/goautoneg => github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d - github.com/openshift/api => github.com/openshift/api v0.0.0-20241018083007-4f6053f954b0 + github.com/openshift/api => github.com/frobware/api v0.0.0-20241209160021-000e4bc7faac k8s.io/client-go => k8s.io/client-go v0.31.1 ) diff --git a/go.sum b/go.sum index 74e90f7afb..d17ea03ecc 100644 --- a/go.sum +++ b/go.sum @@ -341,6 +341,8 @@ github.com/fatih/structtag v1.1.0/go.mod h1:mBJUNpUnHmRKrKlQQlmCrh5PuhftFbNv8Ys4 github.com/florianl/go-nfqueue v1.3.2 h1:8DPzhKJHywpHJAE/4ktgcqveCL7qmMLsEsVD68C4x4I= github.com/florianl/go-nfqueue v1.3.2/go.mod h1:eSnAor2YCfMCVYrVNEhkLGN/r1L+J4uDjc0EUy0tfq4= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= +github.com/frobware/api v0.0.0-20241209160021-000e4bc7faac h1:LK11h8uaXrmIQxk2Dlikqie7zA87zrnO+lpIy6qdne0= +github.com/frobware/api v0.0.0-20241209160021-000e4bc7faac/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.7.0 h1:8JEhPFa5W2WU7YfeZzPNqzMP6Lwt7L2715Ggo0nosvA= @@ -993,8 +995,6 @@ github.com/opencontainers/runtime-spec v0.1.2-0.20190507144316-5b71a03e2700/go.m github.com/opencontainers/runtime-spec v0.1.2-0.20190618234442-a950415649c7/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-spec v1.0.0/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/runtime-tools v0.0.0-20181011054405-1d69bd0f9c39/go.mod h1:r3f7wjNzSs2extwzU3Y+6pKfobzPh+kKFJ3ofN+3nfs= -github.com/openshift/api v0.0.0-20241018083007-4f6053f954b0 h1:9CBNaPGycU2dDzq0XoRIqxH0vHZezKDfbINx8e5zH0I= -github.com/openshift/api v0.0.0-20241018083007-4f6053f954b0/go.mod h1:Shkl4HanLwDiiBzakv+con/aMGnVE2MAGvoKp5oyYUo= github.com/openshift/build-machinery-go v0.0.0-20200211121458-5e3d6e570160/go.mod h1:1CkcsT3aVebzRBzVTSbiKSkJMsC/CASqxesfqEMfJEc= github.com/openshift/client-go v0.0.0-20200116152001-92a2713fa240/go.mod h1:4riOwdj99Hd/q+iAcJZfNCsQQQMwURnZV6RL4WHYS5w= github.com/openshift/client-go v0.0.0-20240405120947-c67c8325cdd8 h1:HGfbllzRcrJBSiwzNjBCs7sExLUxC5/1evnvlNGB0Cg= diff --git a/manifests/00-custom-resource-definition.yaml b/manifests/00-custom-resource-definition.yaml index 2524b5a84a..10ca42895c 100644 --- a/manifests/00-custom-resource-definition.yaml +++ b/manifests/00-custom-resource-definition.yaml @@ -1255,6 +1255,76 @@ spec: type: string type: object type: object + idleConnectionTerminationPolicy: + default: Immediate + description: |- + idleConnectionTerminationPolicy maps directly to HAProxy's + idle-close-on-response option and controls whether HAProxy + keeps idle frontend connections open during a soft stop + (router reload). + + Allowed values for this field are "Immediate" and + "Deferred". The default value is "Immediate". + + When set to "Immediate", idle connections are closed + immediately during router reloads. This ensures immediate + propagation of route changes but may impact clients + sensitive to connection resets. + + When set to "Deferred", HAProxy will maintain idle + connections during a soft reload instead of closing them + immediately. These connections remain open until any of the + following occurs: + + - A new request is received on the connection, in which + case HAProxy handles it in the old process and closes + the connection after sending the response. + + - HAProxy's `timeout http-keep-alive` duration expires + (300 seconds in OpenShift's configuration, not + configurable). + + - The client's keep-alive timeout expires, causing the + client to close the connection. + + Setting Deferred can help prevent errors in clients or load + balancers that do not properly handle connection resets. + Additionally, this option allows you to retain the pre-2.4 + HAProxy behaviour: in HAProxy version 2.2 (OpenShift + versions < 4.14), maintaining idle connections during a + soft reload was the default behaviour, but starting with + HAProxy 2.4, the default changed to closing idle + connections immediately. + + Important Consideration: + + - Using Deferred will result in temporary inconsistencies + for the first request on each persistent connection + after a route update and router reload. This request + will be processed by the old HAProxy process using its + old configuration. Subsequent requests will use the + updated configuration. + + Operational Considerations: + + - Keeping idle connections open during reloads may lead + to an accumulation of old HAProxy processes if + connections remain idle for extended periods, + especially in environments where frequent reloads + occur. + + - Consider monitoring the number of HAProxy processes in + the router pods when Deferred is set. + + - You may need to enable or adjust the + `ingress.operator.openshift.io/hard-stop-after` + duration (configured via an annotation on the + IngressController resource) in environments with + frequent reloads to prevent resource exhaustion. + enum: + - Immediate + - Deferred + type: string logging: description: |- logging defines parameters for what should be logged where. If this @@ -2089,7 +2159,7 @@ spec: type: string connectTimeout: description: |- - ConnectTimeout defines the maximum time to wait for + connectTimeout defines the maximum time to wait for a connection attempt to a server/backend to succeed. This field expects an unsigned duration string of decimal numbers, each with optional diff --git a/vendor/github.com/openshift/api/.golangci.yaml b/vendor/github.com/openshift/api/.golangci.yaml new file mode 100644 index 0000000000..7f55bd1973 --- /dev/null +++ b/vendor/github.com/openshift/api/.golangci.yaml @@ -0,0 +1,16 @@ +linters-settings: + custom: + kal: + type: "module" + description: KAL is the Kube-API-Linter and lints Kube like APIs based on API conventions and best practices. + settings: + linters: {} +linters: + disable-all: true + enable: + - kal +issues: + # We have a lot of existing issues. + # Want to make sure that those adding new fields have an + # opportunity to fix them when running the linter locally. + max-issues-per-linter: 1000 diff --git a/vendor/github.com/openshift/api/Makefile b/vendor/github.com/openshift/api/Makefile index 5e6a6b1312..ad9edde5ec 100644 --- a/vendor/github.com/openshift/api/Makefile +++ b/vendor/github.com/openshift/api/Makefile @@ -39,6 +39,21 @@ update-codegen-crds: update-scripts # ##################### +# When not otherwise set, diff/lint against the local master branch +PULL_BASE_SHA ?= master + +.PHONY: lint +lint: + hack/golangci-lint.sh run --new-from-rev=${PULL_BASE_SHA} + +# While https://github.com/golangci/golangci-lint/issues/1779 is not fixed, +# we need to run the fix separately from the lint command. +# GolangCI-Lint will not actually run the fixer for us. +# In the future we can remove this and have the linter auto-fix. +.PHONY: lint-fix +lint-fix: + hack/lint-fix.sh + .PHONY: verify-scripts verify-scripts: bash -x hack/verify-deepcopy.sh @@ -56,7 +71,7 @@ verify-scripts: hack/verify-promoted-features-pass-tests.sh .PHONY: verify -verify: verify-scripts verify-crd-schema verify-codegen-crds +verify: verify-scripts lint verify-crd-schema verify-codegen-crds .PHONY: verify-codegen-crds verify-codegen-crds: diff --git a/vendor/github.com/openshift/api/apiserver/v1/types_apirequestcount.go b/vendor/github.com/openshift/api/apiserver/v1/types_apirequestcount.go index eb4918a661..645d796f77 100644 --- a/vendor/github.com/openshift/api/apiserver/v1/types_apirequestcount.go +++ b/vendor/github.com/openshift/api/apiserver/v1/types_apirequestcount.go @@ -35,7 +35,6 @@ type APIRequestCount struct { metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // spec defines the characteristics of the resource. - // +kubebuilder:validation:Required // +required Spec APIRequestCountSpec `json:"spec"` @@ -126,7 +125,7 @@ type PerNodeAPIRequestLog struct { // PerUserAPIRequestCount contains logs of a user's requests. type PerUserAPIRequestCount struct { - // userName that made the request. + // username that made the request. // +kubebuilder:validation:MaxLength=512 UserName string `json:"username"` diff --git a/vendor/github.com/openshift/api/apiserver/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/apiserver/v1/zz_generated.swagger_doc_generated.go index 27d74b6c19..b3d6b615fc 100644 --- a/vendor/github.com/openshift/api/apiserver/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/apiserver/v1/zz_generated.swagger_doc_generated.go @@ -74,7 +74,7 @@ func (PerResourceAPIRequestLog) SwaggerDoc() map[string]string { var map_PerUserAPIRequestCount = map[string]string{ "": "PerUserAPIRequestCount contains logs of a user's requests.", - "username": "userName that made the request.", + "username": "username that made the request.", "userAgent": "userAgent that made the request. The same user often has multiple binaries which connect (pods with many containers). The different binaries will have different userAgents, but the same user. In addition, we have userAgents with version information embedded and the userName isn't likely to change.", "requestCount": "requestCount of requests by the user across all verbs.", "byVerb": "byVerb details by verb.", diff --git a/vendor/github.com/openshift/api/apps/v1/generated.proto b/vendor/github.com/openshift/api/apps/v1/generated.proto index 010f36b955..6f50fcaf95 100644 --- a/vendor/github.com/openshift/api/apps/v1/generated.proto +++ b/vendor/github.com/openshift/api/apps/v1/generated.proto @@ -15,39 +15,39 @@ option go_package = "github.com/openshift/api/apps/v1"; // CustomDeploymentStrategyParams are the input to the Custom deployment strategy. message CustomDeploymentStrategyParams { - // Image specifies a container image which can carry out a deployment. + // image specifies a container image which can carry out a deployment. optional string image = 1; - // Environment holds the environment which will be given to the container for Image. + // environment holds the environment which will be given to the container for Image. repeated .k8s.io.api.core.v1.EnvVar environment = 2; - // Command is optional and overrides CMD in the container Image. + // command is optional and overrides CMD in the container Image. repeated string command = 3; } // DeploymentCause captures information about a particular cause of a deployment. message DeploymentCause { - // Type of the trigger that resulted in the creation of a new deployment + // type of the trigger that resulted in the creation of a new deployment optional string type = 1; - // ImageTrigger contains the image trigger details, if this trigger was fired based on an image change + // imageTrigger contains the image trigger details, if this trigger was fired based on an image change optional DeploymentCauseImageTrigger imageTrigger = 2; } // DeploymentCauseImageTrigger represents details about the cause of a deployment originating // from an image change trigger message DeploymentCauseImageTrigger { - // From is a reference to the changed object which triggered a deployment. The field may have + // from is a reference to the changed object which triggered a deployment. The field may have // the kinds DockerImage, ImageStreamTag, or ImageStreamImage. optional .k8s.io.api.core.v1.ObjectReference from = 1; } // DeploymentCondition describes the state of a deployment config at a certain point. message DeploymentCondition { - // Type of deployment condition. + // type of deployment condition. optional string type = 1; - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. optional string status = 2; // The last time this condition was updated. @@ -81,10 +81,10 @@ message DeploymentConfig { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec represents a desired deployment state and how to deploy to it. + // spec represents a desired deployment state and how to deploy to it. optional DeploymentConfigSpec spec = 2; - // Status represents the current deployment state. + // status represents the current deployment state. // +optional optional DeploymentConfigStatus status = 3; } @@ -98,7 +98,7 @@ message DeploymentConfigList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of deployment configs + // items is a list of deployment configs repeated DeploymentConfig items = 2; } @@ -107,108 +107,108 @@ message DeploymentConfigList { // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +openshift:compatibility-gen:level=1 message DeploymentConfigRollback { - // Name of the deployment config that will be rolled back. + // name of the deployment config that will be rolled back. optional string name = 1; - // UpdatedAnnotations is a set of new annotations that will be added in the deployment config. + // updatedAnnotations is a set of new annotations that will be added in the deployment config. map updatedAnnotations = 2; - // Spec defines the options to rollback generation. + // spec defines the options to rollback generation. optional DeploymentConfigRollbackSpec spec = 3; } // DeploymentConfigRollbackSpec represents the options for rollback generation. message DeploymentConfigRollbackSpec { - // From points to a ReplicationController which is a deployment. + // from points to a ReplicationController which is a deployment. optional .k8s.io.api.core.v1.ObjectReference from = 1; - // Revision to rollback to. If set to 0, rollback to the last revision. + // revision to rollback to. If set to 0, rollback to the last revision. optional int64 revision = 2; - // IncludeTriggers specifies whether to include config Triggers. + // includeTriggers specifies whether to include config Triggers. optional bool includeTriggers = 3; - // IncludeTemplate specifies whether to include the PodTemplateSpec. + // includeTemplate specifies whether to include the PodTemplateSpec. optional bool includeTemplate = 4; - // IncludeReplicationMeta specifies whether to include the replica count and selector. + // includeReplicationMeta specifies whether to include the replica count and selector. optional bool includeReplicationMeta = 5; - // IncludeStrategy specifies whether to include the deployment Strategy. + // includeStrategy specifies whether to include the deployment Strategy. optional bool includeStrategy = 6; } // DeploymentConfigSpec represents the desired state of the deployment. message DeploymentConfigSpec { - // Strategy describes how a deployment is executed. + // strategy describes how a deployment is executed. // +optional optional DeploymentStrategy strategy = 1; - // MinReadySeconds is the minimum number of seconds for which a newly created pod should + // minReadySeconds is the minimum number of seconds for which a newly created pod should // be ready without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) optional int32 minReadySeconds = 9; - // Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers + // triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers // are defined, a new deployment can only occur as a result of an explicit client update to the // DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger. // +optional optional DeploymentTriggerPolicies triggers = 2; - // Replicas is the number of desired replicas. + // replicas is the number of desired replicas. // +optional optional int32 replicas = 3; - // RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. + // revisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. // This field is a pointer to allow for differentiation between an explicit zero and not specified. // Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.) optional int32 revisionHistoryLimit = 4; - // Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the + // test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the // deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding // or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action. // +optional optional bool test = 5; - // Paused indicates that the deployment config is paused resulting in no new deployments on template + // paused indicates that the deployment config is paused resulting in no new deployments on template // changes or changes in the template caused by other triggers. optional bool paused = 6; - // Selector is a label query over pods that should match the Replicas count. + // selector is a label query over pods that should match the Replicas count. map selector = 7; - // Template is the object that describes the pod that will be created if + // template is the object that describes the pod that will be created if // insufficient replicas are detected. optional .k8s.io.api.core.v1.PodTemplateSpec template = 8; } // DeploymentConfigStatus represents the current deployment state. message DeploymentConfigStatus { - // LatestVersion is used to determine whether the current deployment associated with a deployment + // latestVersion is used to determine whether the current deployment associated with a deployment // config is out of sync. optional int64 latestVersion = 1; - // ObservedGeneration is the most recent generation observed by the deployment config controller. + // observedGeneration is the most recent generation observed by the deployment config controller. optional int64 observedGeneration = 2; - // Replicas is the total number of pods targeted by this deployment config. + // replicas is the total number of pods targeted by this deployment config. optional int32 replicas = 3; - // UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config + // updatedReplicas is the total number of non-terminated pods targeted by this deployment config // that have the desired template spec. optional int32 updatedReplicas = 4; - // AvailableReplicas is the total number of available pods targeted by this deployment config. + // availableReplicas is the total number of available pods targeted by this deployment config. optional int32 availableReplicas = 5; - // UnavailableReplicas is the total number of unavailable pods targeted by this deployment config. + // unavailableReplicas is the total number of unavailable pods targeted by this deployment config. optional int32 unavailableReplicas = 6; - // Details are the reasons for the update to this deployment config. + // details are the reasons for the update to this deployment config. // This could be based on a change made by the user or caused by an automatic trigger optional DeploymentDetails details = 7; - // Conditions represents the latest available observations of a deployment config's current state. + // conditions represents the latest available observations of a deployment config's current state. // +patchMergeKey=type // +patchStrategy=merge repeated DeploymentCondition conditions = 8; @@ -219,10 +219,10 @@ message DeploymentConfigStatus { // DeploymentDetails captures information about the causes of a deployment. message DeploymentDetails { - // Message is the user specified change message, if this deployment was triggered manually by the user + // message is the user specified change message, if this deployment was triggered manually by the user optional string message = 1; - // Causes are extended data associated with all the causes for creating a new deployment + // causes are extended data associated with all the causes for creating a new deployment repeated DeploymentCause causes = 2; } @@ -241,7 +241,7 @@ message DeploymentLogOptions { // The container for which to stream logs. Defaults to only container if there is one container in the pod. optional string container = 1; - // Follow if true indicates that the build log should be streamed until + // follow if true indicates that the build log should be streamed until // the build terminates. optional bool follow = 2; @@ -273,12 +273,12 @@ message DeploymentLogOptions { // slightly more or slightly less than the specified limit. optional int64 limitBytes = 8; - // NoWait if true causes the call to return immediately even if the deployment + // nowait if true causes the call to return immediately even if the deployment // is not available yet. Otherwise the server will wait until the deployment has started. // TODO: Fix the tag to 'noWait' in v2 optional bool nowait = 9; - // Version of the deployment for which to view logs. + // version of the deployment for which to view logs. optional int64 version = 10; } @@ -287,17 +287,17 @@ message DeploymentLogOptions { // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +openshift:compatibility-gen:level=1 message DeploymentRequest { - // Name of the deployment config for requesting a new deployment. + // name of the deployment config for requesting a new deployment. optional string name = 1; - // Latest will update the deployment config with the latest state from all triggers. + // latest will update the deployment config with the latest state from all triggers. optional bool latest = 2; - // Force will try to force a new deployment to run. If the deployment config is paused, + // force will try to force a new deployment to run. If the deployment config is paused, // then setting this to true will return an Invalid error. optional bool force = 3; - // ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. + // excludeTriggers instructs the instantiator to avoid processing the specified triggers. // This field overrides the triggers from latest and allows clients to control specific // logic. This field is ignored if not specified. repeated string excludeTriggers = 4; @@ -305,53 +305,53 @@ message DeploymentRequest { // DeploymentStrategy describes how to perform a deployment. message DeploymentStrategy { - // Type is the name of a deployment strategy. + // type is the name of a deployment strategy. // +optional optional string type = 1; - // CustomParams are the input to the Custom deployment strategy, and may also + // customParams are the input to the Custom deployment strategy, and may also // be specified for the Recreate and Rolling strategies to customize the execution // process that runs the deployment. optional CustomDeploymentStrategyParams customParams = 2; - // RecreateParams are the input to the Recreate deployment strategy. + // recreateParams are the input to the Recreate deployment strategy. optional RecreateDeploymentStrategyParams recreateParams = 3; - // RollingParams are the input to the Rolling deployment strategy. + // rollingParams are the input to the Rolling deployment strategy. optional RollingDeploymentStrategyParams rollingParams = 4; - // Resources contains resource requirements to execute the deployment and any hooks. + // resources contains resource requirements to execute the deployment and any hooks. optional .k8s.io.api.core.v1.ResourceRequirements resources = 5; - // Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + // labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. map labels = 6; - // Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + // annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. map annotations = 7; - // ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment + // activeDeadlineSeconds is the duration in seconds that the deployer pods for this deployment // config may be active on a node before the system actively tries to terminate them. optional int64 activeDeadlineSeconds = 8; } // DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger. message DeploymentTriggerImageChangeParams { - // Automatic means that the detection of a new tag value should result in an image update + // automatic means that the detection of a new tag value should result in an image update // inside the pod template. optional bool automatic = 1; - // ContainerNames is used to restrict tag updates to the specified set of container names in a pod. + // containerNames is used to restrict tag updates to the specified set of container names in a pod. // If multiple triggers point to the same containers, the resulting behavior is undefined. Future // API versions will make this a validation error. If ContainerNames does not point to a valid container, // the trigger will be ignored. Future API versions will make this a validation error. repeated string containerNames = 2; - // From is a reference to an image stream tag to watch for changes. From.Name is the only + // from is a reference to an image stream tag to watch for changes. From.Name is the only // required subfield - if From.Namespace is blank, the namespace of the current deployment // trigger will be used. optional .k8s.io.api.core.v1.ObjectReference from = 3; - // LastTriggeredImage is the last image to be triggered. + // lastTriggeredImage is the last image to be triggered. optional string lastTriggeredImage = 4; } @@ -366,10 +366,10 @@ message DeploymentTriggerPolicies { // DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment. message DeploymentTriggerPolicy { - // Type of the trigger + // type of the trigger optional string type = 1; - // ImageChangeParams represents the parameters for the ImageChange trigger. + // imageChangeParams represents the parameters for the ImageChange trigger. optional DeploymentTriggerImageChangeParams imageChangeParams = 2; } @@ -377,17 +377,17 @@ message DeploymentTriggerPolicy { // based on the specified container which is assumed to be part of the // deployment template. message ExecNewPodHook { - // Command is the action command and its arguments. + // command is the action command and its arguments. repeated string command = 1; - // Env is a set of environment variables to supply to the hook pod's container. + // env is a set of environment variables to supply to the hook pod's container. repeated .k8s.io.api.core.v1.EnvVar env = 2; - // ContainerName is the name of a container in the deployment pod template + // containerName is the name of a container in the deployment pod template // whose container image will be used for the hook pod's container. optional string containerName = 3; - // Volumes is a list of named volumes from the pod template which should be + // volumes is a list of named volumes from the pod template which should be // copied to the hook pod. Volumes names not found in pod spec are ignored. // An empty list means no volumes will be copied. repeated string volumes = 4; @@ -395,32 +395,32 @@ message ExecNewPodHook { // LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time. message LifecycleHook { - // FailurePolicy specifies what action to take if the hook fails. + // failurePolicy specifies what action to take if the hook fails. optional string failurePolicy = 1; - // ExecNewPod specifies the options for a lifecycle hook backed by a pod. + // execNewPod specifies the options for a lifecycle hook backed by a pod. optional ExecNewPodHook execNewPod = 2; - // TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. + // tagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. repeated TagImageHook tagImages = 3; } // RecreateDeploymentStrategyParams are the input to the Recreate deployment // strategy. message RecreateDeploymentStrategyParams { - // TimeoutSeconds is the time to wait for updates before giving up. If the + // timeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. optional int64 timeoutSeconds = 1; - // Pre is a lifecycle hook which is executed before the strategy manipulates + // pre is a lifecycle hook which is executed before the strategy manipulates // the deployment. All LifecycleHookFailurePolicy values are supported. optional LifecycleHook pre = 2; - // Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new + // mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new // pod is created. All LifecycleHookFailurePolicy values are supported. optional LifecycleHook mid = 3; - // Post is a lifecycle hook which is executed after the strategy has + // post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. All LifecycleHookFailurePolicy values are supported. optional LifecycleHook post = 4; } @@ -428,19 +428,19 @@ message RecreateDeploymentStrategyParams { // RollingDeploymentStrategyParams are the input to the Rolling deployment // strategy. message RollingDeploymentStrategyParams { - // UpdatePeriodSeconds is the time to wait between individual pod updates. + // updatePeriodSeconds is the time to wait between individual pod updates. // If the value is nil, a default will be used. optional int64 updatePeriodSeconds = 1; - // IntervalSeconds is the time to wait between polling deployment status + // intervalSeconds is the time to wait between polling deployment status // after update. If the value is nil, a default will be used. optional int64 intervalSeconds = 2; - // TimeoutSeconds is the time to wait for updates before giving up. If the + // timeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. optional int64 timeoutSeconds = 3; - // MaxUnavailable is the maximum number of pods that can be unavailable + // maxUnavailable is the maximum number of pods that can be unavailable // during the update. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of update (ex: 10%). Absolute // number is calculated from percentage by rounding down. @@ -454,7 +454,7 @@ message RollingDeploymentStrategyParams { // all times during the update. optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString maxUnavailable = 4; - // MaxSurge is the maximum number of pods that can be scheduled above the + // maxSurge is the maximum number of pods that can be scheduled above the // original number of pods. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of the update (ex: 10%). Absolute // number is calculated from percentage by rounding up. @@ -468,11 +468,11 @@ message RollingDeploymentStrategyParams { // pods. optional .k8s.io.apimachinery.pkg.util.intstr.IntOrString maxSurge = 5; - // Pre is a lifecycle hook which is executed before the deployment process + // pre is a lifecycle hook which is executed before the deployment process // begins. All LifecycleHookFailurePolicy values are supported. optional LifecycleHook pre = 7; - // Post is a lifecycle hook which is executed after the strategy has + // post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. All LifecycleHookFailurePolicy values // are supported. optional LifecycleHook post = 8; @@ -480,11 +480,11 @@ message RollingDeploymentStrategyParams { // TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag. message TagImageHook { - // ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single + // containerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single // container this value will be defaulted to the name of that container. optional string containerName = 1; - // To is the target ImageStreamTag to set the container's image onto. + // to is the target ImageStreamTag to set the container's image onto. optional .k8s.io.api.core.v1.ObjectReference to = 2; } diff --git a/vendor/github.com/openshift/api/apps/v1/types.go b/vendor/github.com/openshift/api/apps/v1/types.go index 1465aea278..619c30e828 100644 --- a/vendor/github.com/openshift/api/apps/v1/types.go +++ b/vendor/github.com/openshift/api/apps/v1/types.go @@ -38,81 +38,81 @@ type DeploymentConfig struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Spec represents a desired deployment state and how to deploy to it. + // spec represents a desired deployment state and how to deploy to it. Spec DeploymentConfigSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` - // Status represents the current deployment state. + // status represents the current deployment state. // +optional Status DeploymentConfigStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } // DeploymentConfigSpec represents the desired state of the deployment. type DeploymentConfigSpec struct { - // Strategy describes how a deployment is executed. + // strategy describes how a deployment is executed. // +optional Strategy DeploymentStrategy `json:"strategy" protobuf:"bytes,1,opt,name=strategy"` - // MinReadySeconds is the minimum number of seconds for which a newly created pod should + // minReadySeconds is the minimum number of seconds for which a newly created pod should // be ready without any of its container crashing, for it to be considered available. // Defaults to 0 (pod will be considered available as soon as it is ready) MinReadySeconds int32 `json:"minReadySeconds,omitempty" protobuf:"varint,9,opt,name=minReadySeconds"` - // Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers + // triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers // are defined, a new deployment can only occur as a result of an explicit client update to the // DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger. // +optional Triggers DeploymentTriggerPolicies `json:"triggers" protobuf:"bytes,2,rep,name=triggers"` - // Replicas is the number of desired replicas. + // replicas is the number of desired replicas. // +optional Replicas int32 `json:"replicas" protobuf:"varint,3,opt,name=replicas"` - // RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. + // revisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. // This field is a pointer to allow for differentiation between an explicit zero and not specified. // Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.) RevisionHistoryLimit *int32 `json:"revisionHistoryLimit,omitempty" protobuf:"varint,4,opt,name=revisionHistoryLimit"` - // Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the + // test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the // deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding // or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action. // +optional Test bool `json:"test" protobuf:"varint,5,opt,name=test"` - // Paused indicates that the deployment config is paused resulting in no new deployments on template + // paused indicates that the deployment config is paused resulting in no new deployments on template // changes or changes in the template caused by other triggers. Paused bool `json:"paused,omitempty" protobuf:"varint,6,opt,name=paused"` - // Selector is a label query over pods that should match the Replicas count. + // selector is a label query over pods that should match the Replicas count. Selector map[string]string `json:"selector,omitempty" protobuf:"bytes,7,rep,name=selector"` - // Template is the object that describes the pod that will be created if + // template is the object that describes the pod that will be created if // insufficient replicas are detected. Template *corev1.PodTemplateSpec `json:"template,omitempty" protobuf:"bytes,8,opt,name=template"` } // DeploymentStrategy describes how to perform a deployment. type DeploymentStrategy struct { - // Type is the name of a deployment strategy. + // type is the name of a deployment strategy. // +optional Type DeploymentStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=DeploymentStrategyType"` - // CustomParams are the input to the Custom deployment strategy, and may also + // customParams are the input to the Custom deployment strategy, and may also // be specified for the Recreate and Rolling strategies to customize the execution // process that runs the deployment. CustomParams *CustomDeploymentStrategyParams `json:"customParams,omitempty" protobuf:"bytes,2,opt,name=customParams"` - // RecreateParams are the input to the Recreate deployment strategy. + // recreateParams are the input to the Recreate deployment strategy. RecreateParams *RecreateDeploymentStrategyParams `json:"recreateParams,omitempty" protobuf:"bytes,3,opt,name=recreateParams"` - // RollingParams are the input to the Rolling deployment strategy. + // rollingParams are the input to the Rolling deployment strategy. RollingParams *RollingDeploymentStrategyParams `json:"rollingParams,omitempty" protobuf:"bytes,4,opt,name=rollingParams"` - // Resources contains resource requirements to execute the deployment and any hooks. + // resources contains resource requirements to execute the deployment and any hooks. Resources corev1.ResourceRequirements `json:"resources,omitempty" protobuf:"bytes,5,opt,name=resources"` - // Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + // labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. Labels map[string]string `json:"labels,omitempty" protobuf:"bytes,6,rep,name=labels"` - // Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. + // annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods. Annotations map[string]string `json:"annotations,omitempty" protobuf:"bytes,7,rep,name=annotations"` - // ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment + // activeDeadlineSeconds is the duration in seconds that the deployer pods for this deployment // config may be active on a node before the system actively tries to terminate them. ActiveDeadlineSeconds *int64 `json:"activeDeadlineSeconds,omitempty" protobuf:"varint,8,opt,name=activeDeadlineSeconds"` } @@ -131,27 +131,27 @@ const ( // CustomDeploymentStrategyParams are the input to the Custom deployment strategy. type CustomDeploymentStrategyParams struct { - // Image specifies a container image which can carry out a deployment. + // image specifies a container image which can carry out a deployment. Image string `json:"image,omitempty" protobuf:"bytes,1,opt,name=image"` - // Environment holds the environment which will be given to the container for Image. + // environment holds the environment which will be given to the container for Image. Environment []corev1.EnvVar `json:"environment,omitempty" protobuf:"bytes,2,rep,name=environment"` - // Command is optional and overrides CMD in the container Image. + // command is optional and overrides CMD in the container Image. Command []string `json:"command,omitempty" protobuf:"bytes,3,rep,name=command"` } // RecreateDeploymentStrategyParams are the input to the Recreate deployment // strategy. type RecreateDeploymentStrategyParams struct { - // TimeoutSeconds is the time to wait for updates before giving up. If the + // timeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" protobuf:"varint,1,opt,name=timeoutSeconds"` - // Pre is a lifecycle hook which is executed before the strategy manipulates + // pre is a lifecycle hook which is executed before the strategy manipulates // the deployment. All LifecycleHookFailurePolicy values are supported. Pre *LifecycleHook `json:"pre,omitempty" protobuf:"bytes,2,opt,name=pre"` - // Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new + // mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new // pod is created. All LifecycleHookFailurePolicy values are supported. Mid *LifecycleHook `json:"mid,omitempty" protobuf:"bytes,3,opt,name=mid"` - // Post is a lifecycle hook which is executed after the strategy has + // post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. All LifecycleHookFailurePolicy values are supported. Post *LifecycleHook `json:"post,omitempty" protobuf:"bytes,4,opt,name=post"` } @@ -159,16 +159,16 @@ type RecreateDeploymentStrategyParams struct { // RollingDeploymentStrategyParams are the input to the Rolling deployment // strategy. type RollingDeploymentStrategyParams struct { - // UpdatePeriodSeconds is the time to wait between individual pod updates. + // updatePeriodSeconds is the time to wait between individual pod updates. // If the value is nil, a default will be used. UpdatePeriodSeconds *int64 `json:"updatePeriodSeconds,omitempty" protobuf:"varint,1,opt,name=updatePeriodSeconds"` - // IntervalSeconds is the time to wait between polling deployment status + // intervalSeconds is the time to wait between polling deployment status // after update. If the value is nil, a default will be used. IntervalSeconds *int64 `json:"intervalSeconds,omitempty" protobuf:"varint,2,opt,name=intervalSeconds"` - // TimeoutSeconds is the time to wait for updates before giving up. If the + // timeoutSeconds is the time to wait for updates before giving up. If the // value is nil, a default will be used. TimeoutSeconds *int64 `json:"timeoutSeconds,omitempty" protobuf:"varint,3,opt,name=timeoutSeconds"` - // MaxUnavailable is the maximum number of pods that can be unavailable + // maxUnavailable is the maximum number of pods that can be unavailable // during the update. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of update (ex: 10%). Absolute // number is calculated from percentage by rounding down. @@ -181,7 +181,7 @@ type RollingDeploymentStrategyParams struct { // ensuring that at least 70% of original number of pods are available at // all times during the update. MaxUnavailable *intstr.IntOrString `json:"maxUnavailable,omitempty" protobuf:"bytes,4,opt,name=maxUnavailable"` - // MaxSurge is the maximum number of pods that can be scheduled above the + // maxSurge is the maximum number of pods that can be scheduled above the // original number of pods. Value can be an absolute number (ex: 5) or a // percentage of total pods at the start of the update (ex: 10%). Absolute // number is calculated from percentage by rounding up. @@ -194,10 +194,10 @@ type RollingDeploymentStrategyParams struct { // pods running at any time during the update is atmost 130% of original // pods. MaxSurge *intstr.IntOrString `json:"maxSurge,omitempty" protobuf:"bytes,5,opt,name=maxSurge"` - // Pre is a lifecycle hook which is executed before the deployment process + // pre is a lifecycle hook which is executed before the deployment process // begins. All LifecycleHookFailurePolicy values are supported. Pre *LifecycleHook `json:"pre,omitempty" protobuf:"bytes,7,opt,name=pre"` - // Post is a lifecycle hook which is executed after the strategy has + // post is a lifecycle hook which is executed after the strategy has // finished all deployment logic. All LifecycleHookFailurePolicy values // are supported. Post *LifecycleHook `json:"post,omitempty" protobuf:"bytes,8,opt,name=post"` @@ -205,13 +205,13 @@ type RollingDeploymentStrategyParams struct { // LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time. type LifecycleHook struct { - // FailurePolicy specifies what action to take if the hook fails. + // failurePolicy specifies what action to take if the hook fails. FailurePolicy LifecycleHookFailurePolicy `json:"failurePolicy" protobuf:"bytes,1,opt,name=failurePolicy,casttype=LifecycleHookFailurePolicy"` - // ExecNewPod specifies the options for a lifecycle hook backed by a pod. + // execNewPod specifies the options for a lifecycle hook backed by a pod. ExecNewPod *ExecNewPodHook `json:"execNewPod,omitempty" protobuf:"bytes,2,opt,name=execNewPod"` - // TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. + // tagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag. TagImages []TagImageHook `json:"tagImages,omitempty" protobuf:"bytes,3,rep,name=tagImages"` } @@ -231,14 +231,14 @@ const ( // based on the specified container which is assumed to be part of the // deployment template. type ExecNewPodHook struct { - // Command is the action command and its arguments. + // command is the action command and its arguments. Command []string `json:"command" protobuf:"bytes,1,rep,name=command"` - // Env is a set of environment variables to supply to the hook pod's container. + // env is a set of environment variables to supply to the hook pod's container. Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,2,rep,name=env"` - // ContainerName is the name of a container in the deployment pod template + // containerName is the name of a container in the deployment pod template // whose container image will be used for the hook pod's container. ContainerName string `json:"containerName" protobuf:"bytes,3,opt,name=containerName"` - // Volumes is a list of named volumes from the pod template which should be + // volumes is a list of named volumes from the pod template which should be // copied to the hook pod. Volumes names not found in pod spec are ignored. // An empty list means no volumes will be copied. Volumes []string `json:"volumes,omitempty" protobuf:"bytes,4,rep,name=volumes"` @@ -246,10 +246,10 @@ type ExecNewPodHook struct { // TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag. type TagImageHook struct { - // ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single + // containerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single // container this value will be defaulted to the name of that container. ContainerName string `json:"containerName" protobuf:"bytes,1,opt,name=containerName"` - // To is the target ImageStreamTag to set the container's image onto. + // to is the target ImageStreamTag to set the container's image onto. To corev1.ObjectReference `json:"to" protobuf:"bytes,2,opt,name=to"` } @@ -264,9 +264,9 @@ func (t DeploymentTriggerPolicies) String() string { // DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment. type DeploymentTriggerPolicy struct { - // Type of the trigger + // type of the trigger Type DeploymentTriggerType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=DeploymentTriggerType"` - // ImageChangeParams represents the parameters for the ImageChange trigger. + // imageChangeParams represents the parameters for the ImageChange trigger. ImageChangeParams *DeploymentTriggerImageChangeParams `json:"imageChangeParams,omitempty" protobuf:"bytes,2,opt,name=imageChangeParams"` } @@ -284,42 +284,42 @@ const ( // DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger. type DeploymentTriggerImageChangeParams struct { - // Automatic means that the detection of a new tag value should result in an image update + // automatic means that the detection of a new tag value should result in an image update // inside the pod template. Automatic bool `json:"automatic,omitempty" protobuf:"varint,1,opt,name=automatic"` - // ContainerNames is used to restrict tag updates to the specified set of container names in a pod. + // containerNames is used to restrict tag updates to the specified set of container names in a pod. // If multiple triggers point to the same containers, the resulting behavior is undefined. Future // API versions will make this a validation error. If ContainerNames does not point to a valid container, // the trigger will be ignored. Future API versions will make this a validation error. ContainerNames []string `json:"containerNames,omitempty" protobuf:"bytes,2,rep,name=containerNames"` - // From is a reference to an image stream tag to watch for changes. From.Name is the only + // from is a reference to an image stream tag to watch for changes. From.Name is the only // required subfield - if From.Namespace is blank, the namespace of the current deployment // trigger will be used. From corev1.ObjectReference `json:"from" protobuf:"bytes,3,opt,name=from"` - // LastTriggeredImage is the last image to be triggered. + // lastTriggeredImage is the last image to be triggered. LastTriggeredImage string `json:"lastTriggeredImage,omitempty" protobuf:"bytes,4,opt,name=lastTriggeredImage"` } // DeploymentConfigStatus represents the current deployment state. type DeploymentConfigStatus struct { - // LatestVersion is used to determine whether the current deployment associated with a deployment + // latestVersion is used to determine whether the current deployment associated with a deployment // config is out of sync. LatestVersion int64 `json:"latestVersion" protobuf:"varint,1,opt,name=latestVersion"` - // ObservedGeneration is the most recent generation observed by the deployment config controller. + // observedGeneration is the most recent generation observed by the deployment config controller. ObservedGeneration int64 `json:"observedGeneration" protobuf:"varint,2,opt,name=observedGeneration"` - // Replicas is the total number of pods targeted by this deployment config. + // replicas is the total number of pods targeted by this deployment config. Replicas int32 `json:"replicas" protobuf:"varint,3,opt,name=replicas"` - // UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config + // updatedReplicas is the total number of non-terminated pods targeted by this deployment config // that have the desired template spec. UpdatedReplicas int32 `json:"updatedReplicas" protobuf:"varint,4,opt,name=updatedReplicas"` - // AvailableReplicas is the total number of available pods targeted by this deployment config. + // availableReplicas is the total number of available pods targeted by this deployment config. AvailableReplicas int32 `json:"availableReplicas" protobuf:"varint,5,opt,name=availableReplicas"` - // UnavailableReplicas is the total number of unavailable pods targeted by this deployment config. + // unavailableReplicas is the total number of unavailable pods targeted by this deployment config. UnavailableReplicas int32 `json:"unavailableReplicas" protobuf:"varint,6,opt,name=unavailableReplicas"` - // Details are the reasons for the update to this deployment config. + // details are the reasons for the update to this deployment config. // This could be based on a change made by the user or caused by an automatic trigger Details *DeploymentDetails `json:"details,omitempty" protobuf:"bytes,7,opt,name=details"` - // Conditions represents the latest available observations of a deployment config's current state. + // conditions represents the latest available observations of a deployment config's current state. // +patchMergeKey=type // +patchStrategy=merge Conditions []DeploymentCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,8,rep,name=conditions"` @@ -329,24 +329,24 @@ type DeploymentConfigStatus struct { // DeploymentDetails captures information about the causes of a deployment. type DeploymentDetails struct { - // Message is the user specified change message, if this deployment was triggered manually by the user + // message is the user specified change message, if this deployment was triggered manually by the user Message string `json:"message,omitempty" protobuf:"bytes,1,opt,name=message"` - // Causes are extended data associated with all the causes for creating a new deployment + // causes are extended data associated with all the causes for creating a new deployment Causes []DeploymentCause `json:"causes" protobuf:"bytes,2,rep,name=causes"` } // DeploymentCause captures information about a particular cause of a deployment. type DeploymentCause struct { - // Type of the trigger that resulted in the creation of a new deployment + // type of the trigger that resulted in the creation of a new deployment Type DeploymentTriggerType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentTriggerType"` - // ImageTrigger contains the image trigger details, if this trigger was fired based on an image change + // imageTrigger contains the image trigger details, if this trigger was fired based on an image change ImageTrigger *DeploymentCauseImageTrigger `json:"imageTrigger,omitempty" protobuf:"bytes,2,opt,name=imageTrigger"` } // DeploymentCauseImageTrigger represents details about the cause of a deployment originating // from an image change trigger type DeploymentCauseImageTrigger struct { - // From is a reference to the changed object which triggered a deployment. The field may have + // from is a reference to the changed object which triggered a deployment. The field may have // the kinds DockerImage, ImageStreamTag, or ImageStreamImage. From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` } @@ -381,9 +381,9 @@ const ( // DeploymentCondition describes the state of a deployment config at a certain point. type DeploymentCondition struct { - // Type of deployment condition. + // type of deployment condition. Type DeploymentConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=DeploymentConditionType"` - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/kubernetes/pkg/api/v1.ConditionStatus"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"` @@ -411,7 +411,7 @@ type DeploymentConfigList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of deployment configs + // items is a list of deployment configs Items []DeploymentConfig `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -426,27 +426,27 @@ type DeploymentConfigList struct { // +openshift:compatibility-gen:level=1 type DeploymentConfigRollback struct { metav1.TypeMeta `json:",inline"` - // Name of the deployment config that will be rolled back. + // name of the deployment config that will be rolled back. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // UpdatedAnnotations is a set of new annotations that will be added in the deployment config. + // updatedAnnotations is a set of new annotations that will be added in the deployment config. UpdatedAnnotations map[string]string `json:"updatedAnnotations,omitempty" protobuf:"bytes,2,rep,name=updatedAnnotations"` - // Spec defines the options to rollback generation. + // spec defines the options to rollback generation. Spec DeploymentConfigRollbackSpec `json:"spec" protobuf:"bytes,3,opt,name=spec"` } // DeploymentConfigRollbackSpec represents the options for rollback generation. type DeploymentConfigRollbackSpec struct { - // From points to a ReplicationController which is a deployment. + // from points to a ReplicationController which is a deployment. From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` - // Revision to rollback to. If set to 0, rollback to the last revision. + // revision to rollback to. If set to 0, rollback to the last revision. Revision int64 `json:"revision,omitempty" protobuf:"varint,2,opt,name=revision"` - // IncludeTriggers specifies whether to include config Triggers. + // includeTriggers specifies whether to include config Triggers. IncludeTriggers bool `json:"includeTriggers" protobuf:"varint,3,opt,name=includeTriggers"` - // IncludeTemplate specifies whether to include the PodTemplateSpec. + // includeTemplate specifies whether to include the PodTemplateSpec. IncludeTemplate bool `json:"includeTemplate" protobuf:"varint,4,opt,name=includeTemplate"` - // IncludeReplicationMeta specifies whether to include the replica count and selector. + // includeReplicationMeta specifies whether to include the replica count and selector. IncludeReplicationMeta bool `json:"includeReplicationMeta" protobuf:"varint,5,opt,name=includeReplicationMeta"` - // IncludeStrategy specifies whether to include the deployment Strategy. + // includeStrategy specifies whether to include the deployment Strategy. IncludeStrategy bool `json:"includeStrategy" protobuf:"varint,6,opt,name=includeStrategy"` } @@ -461,14 +461,14 @@ type DeploymentConfigRollbackSpec struct { // +openshift:compatibility-gen:level=1 type DeploymentRequest struct { metav1.TypeMeta `json:",inline"` - // Name of the deployment config for requesting a new deployment. + // name of the deployment config for requesting a new deployment. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // Latest will update the deployment config with the latest state from all triggers. + // latest will update the deployment config with the latest state from all triggers. Latest bool `json:"latest" protobuf:"varint,2,opt,name=latest"` - // Force will try to force a new deployment to run. If the deployment config is paused, + // force will try to force a new deployment to run. If the deployment config is paused, // then setting this to true will return an Invalid error. Force bool `json:"force" protobuf:"varint,3,opt,name=force"` - // ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. + // excludeTriggers instructs the instantiator to avoid processing the specified triggers. // This field overrides the triggers from latest and allows clients to control specific // logic. This field is ignored if not specified. ExcludeTriggers []DeploymentTriggerType `json:"excludeTriggers,omitempty" protobuf:"bytes,4,rep,name=excludeTriggers,casttype=DeploymentTriggerType"` @@ -501,7 +501,7 @@ type DeploymentLogOptions struct { // The container for which to stream logs. Defaults to only container if there is one container in the pod. Container string `json:"container,omitempty" protobuf:"bytes,1,opt,name=container"` - // Follow if true indicates that the build log should be streamed until + // follow if true indicates that the build log should be streamed until // the build terminates. Follow bool `json:"follow,omitempty" protobuf:"varint,2,opt,name=follow"` // Return previous deployment logs. Defaults to false. @@ -527,11 +527,11 @@ type DeploymentLogOptions struct { // slightly more or slightly less than the specified limit. LimitBytes *int64 `json:"limitBytes,omitempty" protobuf:"varint,8,opt,name=limitBytes"` - // NoWait if true causes the call to return immediately even if the deployment + // nowait if true causes the call to return immediately even if the deployment // is not available yet. Otherwise the server will wait until the deployment has started. // TODO: Fix the tag to 'noWait' in v2 NoWait bool `json:"nowait,omitempty" protobuf:"varint,9,opt,name=nowait"` - // Version of the deployment for which to view logs. + // version of the deployment for which to view logs. Version *int64 `json:"version,omitempty" protobuf:"varint,10,opt,name=version"` } diff --git a/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go index ab137d59be..55b53c5daf 100644 --- a/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/apps/v1/zz_generated.swagger_doc_generated.go @@ -13,9 +13,9 @@ package v1 // AUTO-GENERATED FUNCTIONS START HERE var map_CustomDeploymentStrategyParams = map[string]string{ "": "CustomDeploymentStrategyParams are the input to the Custom deployment strategy.", - "image": "Image specifies a container image which can carry out a deployment.", - "environment": "Environment holds the environment which will be given to the container for Image.", - "command": "Command is optional and overrides CMD in the container Image.", + "image": "image specifies a container image which can carry out a deployment.", + "environment": "environment holds the environment which will be given to the container for Image.", + "command": "command is optional and overrides CMD in the container Image.", } func (CustomDeploymentStrategyParams) SwaggerDoc() map[string]string { @@ -24,8 +24,8 @@ func (CustomDeploymentStrategyParams) SwaggerDoc() map[string]string { var map_DeploymentCause = map[string]string{ "": "DeploymentCause captures information about a particular cause of a deployment.", - "type": "Type of the trigger that resulted in the creation of a new deployment", - "imageTrigger": "ImageTrigger contains the image trigger details, if this trigger was fired based on an image change", + "type": "type of the trigger that resulted in the creation of a new deployment", + "imageTrigger": "imageTrigger contains the image trigger details, if this trigger was fired based on an image change", } func (DeploymentCause) SwaggerDoc() map[string]string { @@ -34,7 +34,7 @@ func (DeploymentCause) SwaggerDoc() map[string]string { var map_DeploymentCauseImageTrigger = map[string]string{ "": "DeploymentCauseImageTrigger represents details about the cause of a deployment originating from an image change trigger", - "from": "From is a reference to the changed object which triggered a deployment. The field may have the kinds DockerImage, ImageStreamTag, or ImageStreamImage.", + "from": "from is a reference to the changed object which triggered a deployment. The field may have the kinds DockerImage, ImageStreamTag, or ImageStreamImage.", } func (DeploymentCauseImageTrigger) SwaggerDoc() map[string]string { @@ -43,8 +43,8 @@ func (DeploymentCauseImageTrigger) SwaggerDoc() map[string]string { var map_DeploymentCondition = map[string]string{ "": "DeploymentCondition describes the state of a deployment config at a certain point.", - "type": "Type of deployment condition.", - "status": "Status of the condition, one of True, False, Unknown.", + "type": "type of deployment condition.", + "status": "status of the condition, one of True, False, Unknown.", "lastUpdateTime": "The last time this condition was updated.", "lastTransitionTime": "The last time the condition transitioned from one status to another.", "reason": "The reason for the condition's last transition.", @@ -58,8 +58,8 @@ func (DeploymentCondition) SwaggerDoc() map[string]string { var map_DeploymentConfig = map[string]string{ "": "Deployment Configs define the template for a pod and manages deploying new images or configuration changes. A single deployment configuration is usually analogous to a single micro-service. Can support many different deployment patterns, including full restart, customizable rolling updates, and fully custom behaviors, as well as pre- and post- deployment hooks. Each individual deployment is represented as a replication controller.\n\nA deployment is \"triggered\" when its configuration is changed or a tag in an Image Stream is changed. Triggers can be disabled to allow manual control over a deployment. The \"strategy\" determines how the deployment is carried out and may be changed at any time. The `latestVersion` field is updated when a new deployment is triggered by any means.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). Deprecated: Use deployments or other means for declarative updates for pods instead.", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec represents a desired deployment state and how to deploy to it.", - "status": "Status represents the current deployment state.", + "spec": "spec represents a desired deployment state and how to deploy to it.", + "status": "status represents the current deployment state.", } func (DeploymentConfig) SwaggerDoc() map[string]string { @@ -69,7 +69,7 @@ func (DeploymentConfig) SwaggerDoc() map[string]string { var map_DeploymentConfigList = map[string]string{ "": "DeploymentConfigList is a collection of deployment configs.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of deployment configs", + "items": "items is a list of deployment configs", } func (DeploymentConfigList) SwaggerDoc() map[string]string { @@ -78,9 +78,9 @@ func (DeploymentConfigList) SwaggerDoc() map[string]string { var map_DeploymentConfigRollback = map[string]string{ "": "DeploymentConfigRollback provides the input to rollback generation.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "name": "Name of the deployment config that will be rolled back.", - "updatedAnnotations": "UpdatedAnnotations is a set of new annotations that will be added in the deployment config.", - "spec": "Spec defines the options to rollback generation.", + "name": "name of the deployment config that will be rolled back.", + "updatedAnnotations": "updatedAnnotations is a set of new annotations that will be added in the deployment config.", + "spec": "spec defines the options to rollback generation.", } func (DeploymentConfigRollback) SwaggerDoc() map[string]string { @@ -89,12 +89,12 @@ func (DeploymentConfigRollback) SwaggerDoc() map[string]string { var map_DeploymentConfigRollbackSpec = map[string]string{ "": "DeploymentConfigRollbackSpec represents the options for rollback generation.", - "from": "From points to a ReplicationController which is a deployment.", - "revision": "Revision to rollback to. If set to 0, rollback to the last revision.", - "includeTriggers": "IncludeTriggers specifies whether to include config Triggers.", - "includeTemplate": "IncludeTemplate specifies whether to include the PodTemplateSpec.", - "includeReplicationMeta": "IncludeReplicationMeta specifies whether to include the replica count and selector.", - "includeStrategy": "IncludeStrategy specifies whether to include the deployment Strategy.", + "from": "from points to a ReplicationController which is a deployment.", + "revision": "revision to rollback to. If set to 0, rollback to the last revision.", + "includeTriggers": "includeTriggers specifies whether to include config Triggers.", + "includeTemplate": "includeTemplate specifies whether to include the PodTemplateSpec.", + "includeReplicationMeta": "includeReplicationMeta specifies whether to include the replica count and selector.", + "includeStrategy": "includeStrategy specifies whether to include the deployment Strategy.", } func (DeploymentConfigRollbackSpec) SwaggerDoc() map[string]string { @@ -103,15 +103,15 @@ func (DeploymentConfigRollbackSpec) SwaggerDoc() map[string]string { var map_DeploymentConfigSpec = map[string]string{ "": "DeploymentConfigSpec represents the desired state of the deployment.", - "strategy": "Strategy describes how a deployment is executed.", - "minReadySeconds": "MinReadySeconds is the minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", - "triggers": "Triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers are defined, a new deployment can only occur as a result of an explicit client update to the DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger.", - "replicas": "Replicas is the number of desired replicas.", - "revisionHistoryLimit": "RevisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. This field is a pointer to allow for differentiation between an explicit zero and not specified. Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.)", - "test": "Test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action.", - "paused": "Paused indicates that the deployment config is paused resulting in no new deployments on template changes or changes in the template caused by other triggers.", - "selector": "Selector is a label query over pods that should match the Replicas count.", - "template": "Template is the object that describes the pod that will be created if insufficient replicas are detected.", + "strategy": "strategy describes how a deployment is executed.", + "minReadySeconds": "minReadySeconds is the minimum number of seconds for which a newly created pod should be ready without any of its container crashing, for it to be considered available. Defaults to 0 (pod will be considered available as soon as it is ready)", + "triggers": "triggers determine how updates to a DeploymentConfig result in new deployments. If no triggers are defined, a new deployment can only occur as a result of an explicit client update to the DeploymentConfig with a new LatestVersion. If null, defaults to having a config change trigger.", + "replicas": "replicas is the number of desired replicas.", + "revisionHistoryLimit": "revisionHistoryLimit is the number of old ReplicationControllers to retain to allow for rollbacks. This field is a pointer to allow for differentiation between an explicit zero and not specified. Defaults to 10. (This only applies to DeploymentConfigs created via the new group API resource, not the legacy resource.)", + "test": "test ensures that this deployment config will have zero replicas except while a deployment is running. This allows the deployment config to be used as a continuous deployment test - triggering on images, running the deployment, and then succeeding or failing. Post strategy hooks and After actions can be used to integrate successful deployment with an action.", + "paused": "paused indicates that the deployment config is paused resulting in no new deployments on template changes or changes in the template caused by other triggers.", + "selector": "selector is a label query over pods that should match the Replicas count.", + "template": "template is the object that describes the pod that will be created if insufficient replicas are detected.", } func (DeploymentConfigSpec) SwaggerDoc() map[string]string { @@ -120,14 +120,14 @@ func (DeploymentConfigSpec) SwaggerDoc() map[string]string { var map_DeploymentConfigStatus = map[string]string{ "": "DeploymentConfigStatus represents the current deployment state.", - "latestVersion": "LatestVersion is used to determine whether the current deployment associated with a deployment config is out of sync.", - "observedGeneration": "ObservedGeneration is the most recent generation observed by the deployment config controller.", - "replicas": "Replicas is the total number of pods targeted by this deployment config.", - "updatedReplicas": "UpdatedReplicas is the total number of non-terminated pods targeted by this deployment config that have the desired template spec.", - "availableReplicas": "AvailableReplicas is the total number of available pods targeted by this deployment config.", - "unavailableReplicas": "UnavailableReplicas is the total number of unavailable pods targeted by this deployment config.", - "details": "Details are the reasons for the update to this deployment config. This could be based on a change made by the user or caused by an automatic trigger", - "conditions": "Conditions represents the latest available observations of a deployment config's current state.", + "latestVersion": "latestVersion is used to determine whether the current deployment associated with a deployment config is out of sync.", + "observedGeneration": "observedGeneration is the most recent generation observed by the deployment config controller.", + "replicas": "replicas is the total number of pods targeted by this deployment config.", + "updatedReplicas": "updatedReplicas is the total number of non-terminated pods targeted by this deployment config that have the desired template spec.", + "availableReplicas": "availableReplicas is the total number of available pods targeted by this deployment config.", + "unavailableReplicas": "unavailableReplicas is the total number of unavailable pods targeted by this deployment config.", + "details": "details are the reasons for the update to this deployment config. This could be based on a change made by the user or caused by an automatic trigger", + "conditions": "conditions represents the latest available observations of a deployment config's current state.", "readyReplicas": "Total number of ready pods targeted by this deployment.", } @@ -137,8 +137,8 @@ func (DeploymentConfigStatus) SwaggerDoc() map[string]string { var map_DeploymentDetails = map[string]string{ "": "DeploymentDetails captures information about the causes of a deployment.", - "message": "Message is the user specified change message, if this deployment was triggered manually by the user", - "causes": "Causes are extended data associated with all the causes for creating a new deployment", + "message": "message is the user specified change message, if this deployment was triggered manually by the user", + "causes": "causes are extended data associated with all the causes for creating a new deployment", } func (DeploymentDetails) SwaggerDoc() map[string]string { @@ -156,15 +156,15 @@ func (DeploymentLog) SwaggerDoc() map[string]string { var map_DeploymentLogOptions = map[string]string{ "": "DeploymentLogOptions is the REST options for a deployment log\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "container": "The container for which to stream logs. Defaults to only container if there is one container in the pod.", - "follow": "Follow if true indicates that the build log should be streamed until the build terminates.", + "follow": "follow if true indicates that the build log should be streamed until the build terminates.", "previous": "Return previous deployment logs. Defaults to false.", "sinceSeconds": "A relative time in seconds before the current time from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", "sinceTime": "An RFC3339 timestamp from which to show logs. If this value precedes the time a pod was started, only logs since the pod start will be returned. If this value is in the future, no logs will be returned. Only one of sinceSeconds or sinceTime may be specified.", "timestamps": "If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", "tailLines": "If set, the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime", "limitBytes": "If set, the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", - "nowait": "NoWait if true causes the call to return immediately even if the deployment is not available yet. Otherwise the server will wait until the deployment has started.", - "version": "Version of the deployment for which to view logs.", + "nowait": "nowait if true causes the call to return immediately even if the deployment is not available yet. Otherwise the server will wait until the deployment has started.", + "version": "version of the deployment for which to view logs.", } func (DeploymentLogOptions) SwaggerDoc() map[string]string { @@ -173,10 +173,10 @@ func (DeploymentLogOptions) SwaggerDoc() map[string]string { var map_DeploymentRequest = map[string]string{ "": "DeploymentRequest is a request to a deployment config for a new deployment.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "name": "Name of the deployment config for requesting a new deployment.", - "latest": "Latest will update the deployment config with the latest state from all triggers.", - "force": "Force will try to force a new deployment to run. If the deployment config is paused, then setting this to true will return an Invalid error.", - "excludeTriggers": "ExcludeTriggers instructs the instantiator to avoid processing the specified triggers. This field overrides the triggers from latest and allows clients to control specific logic. This field is ignored if not specified.", + "name": "name of the deployment config for requesting a new deployment.", + "latest": "latest will update the deployment config with the latest state from all triggers.", + "force": "force will try to force a new deployment to run. If the deployment config is paused, then setting this to true will return an Invalid error.", + "excludeTriggers": "excludeTriggers instructs the instantiator to avoid processing the specified triggers. This field overrides the triggers from latest and allows clients to control specific logic. This field is ignored if not specified.", } func (DeploymentRequest) SwaggerDoc() map[string]string { @@ -185,14 +185,14 @@ func (DeploymentRequest) SwaggerDoc() map[string]string { var map_DeploymentStrategy = map[string]string{ "": "DeploymentStrategy describes how to perform a deployment.", - "type": "Type is the name of a deployment strategy.", - "customParams": "CustomParams are the input to the Custom deployment strategy, and may also be specified for the Recreate and Rolling strategies to customize the execution process that runs the deployment.", - "recreateParams": "RecreateParams are the input to the Recreate deployment strategy.", - "rollingParams": "RollingParams are the input to the Rolling deployment strategy.", - "resources": "Resources contains resource requirements to execute the deployment and any hooks.", - "labels": "Labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", - "annotations": "Annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", - "activeDeadlineSeconds": "ActiveDeadlineSeconds is the duration in seconds that the deployer pods for this deployment config may be active on a node before the system actively tries to terminate them.", + "type": "type is the name of a deployment strategy.", + "customParams": "customParams are the input to the Custom deployment strategy, and may also be specified for the Recreate and Rolling strategies to customize the execution process that runs the deployment.", + "recreateParams": "recreateParams are the input to the Recreate deployment strategy.", + "rollingParams": "rollingParams are the input to the Rolling deployment strategy.", + "resources": "resources contains resource requirements to execute the deployment and any hooks.", + "labels": "labels is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "annotations": "annotations is a set of key, value pairs added to custom deployer and lifecycle pre/post hook pods.", + "activeDeadlineSeconds": "activeDeadlineSeconds is the duration in seconds that the deployer pods for this deployment config may be active on a node before the system actively tries to terminate them.", } func (DeploymentStrategy) SwaggerDoc() map[string]string { @@ -201,10 +201,10 @@ func (DeploymentStrategy) SwaggerDoc() map[string]string { var map_DeploymentTriggerImageChangeParams = map[string]string{ "": "DeploymentTriggerImageChangeParams represents the parameters to the ImageChange trigger.", - "automatic": "Automatic means that the detection of a new tag value should result in an image update inside the pod template.", - "containerNames": "ContainerNames is used to restrict tag updates to the specified set of container names in a pod. If multiple triggers point to the same containers, the resulting behavior is undefined. Future API versions will make this a validation error. If ContainerNames does not point to a valid container, the trigger will be ignored. Future API versions will make this a validation error.", - "from": "From is a reference to an image stream tag to watch for changes. From.Name is the only required subfield - if From.Namespace is blank, the namespace of the current deployment trigger will be used.", - "lastTriggeredImage": "LastTriggeredImage is the last image to be triggered.", + "automatic": "automatic means that the detection of a new tag value should result in an image update inside the pod template.", + "containerNames": "containerNames is used to restrict tag updates to the specified set of container names in a pod. If multiple triggers point to the same containers, the resulting behavior is undefined. Future API versions will make this a validation error. If ContainerNames does not point to a valid container, the trigger will be ignored. Future API versions will make this a validation error.", + "from": "from is a reference to an image stream tag to watch for changes. From.Name is the only required subfield - if From.Namespace is blank, the namespace of the current deployment trigger will be used.", + "lastTriggeredImage": "lastTriggeredImage is the last image to be triggered.", } func (DeploymentTriggerImageChangeParams) SwaggerDoc() map[string]string { @@ -213,8 +213,8 @@ func (DeploymentTriggerImageChangeParams) SwaggerDoc() map[string]string { var map_DeploymentTriggerPolicy = map[string]string{ "": "DeploymentTriggerPolicy describes a policy for a single trigger that results in a new deployment.", - "type": "Type of the trigger", - "imageChangeParams": "ImageChangeParams represents the parameters for the ImageChange trigger.", + "type": "type of the trigger", + "imageChangeParams": "imageChangeParams represents the parameters for the ImageChange trigger.", } func (DeploymentTriggerPolicy) SwaggerDoc() map[string]string { @@ -223,10 +223,10 @@ func (DeploymentTriggerPolicy) SwaggerDoc() map[string]string { var map_ExecNewPodHook = map[string]string{ "": "ExecNewPodHook is a hook implementation which runs a command in a new pod based on the specified container which is assumed to be part of the deployment template.", - "command": "Command is the action command and its arguments.", - "env": "Env is a set of environment variables to supply to the hook pod's container.", - "containerName": "ContainerName is the name of a container in the deployment pod template whose container image will be used for the hook pod's container.", - "volumes": "Volumes is a list of named volumes from the pod template which should be copied to the hook pod. Volumes names not found in pod spec are ignored. An empty list means no volumes will be copied.", + "command": "command is the action command and its arguments.", + "env": "env is a set of environment variables to supply to the hook pod's container.", + "containerName": "containerName is the name of a container in the deployment pod template whose container image will be used for the hook pod's container.", + "volumes": "volumes is a list of named volumes from the pod template which should be copied to the hook pod. Volumes names not found in pod spec are ignored. An empty list means no volumes will be copied.", } func (ExecNewPodHook) SwaggerDoc() map[string]string { @@ -235,9 +235,9 @@ func (ExecNewPodHook) SwaggerDoc() map[string]string { var map_LifecycleHook = map[string]string{ "": "LifecycleHook defines a specific deployment lifecycle action. Only one type of action may be specified at any time.", - "failurePolicy": "FailurePolicy specifies what action to take if the hook fails.", - "execNewPod": "ExecNewPod specifies the options for a lifecycle hook backed by a pod.", - "tagImages": "TagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag.", + "failurePolicy": "failurePolicy specifies what action to take if the hook fails.", + "execNewPod": "execNewPod specifies the options for a lifecycle hook backed by a pod.", + "tagImages": "tagImages instructs the deployer to tag the current image referenced under a container onto an image stream tag.", } func (LifecycleHook) SwaggerDoc() map[string]string { @@ -246,10 +246,10 @@ func (LifecycleHook) SwaggerDoc() map[string]string { var map_RecreateDeploymentStrategyParams = map[string]string{ "": "RecreateDeploymentStrategyParams are the input to the Recreate deployment strategy.", - "timeoutSeconds": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", - "pre": "Pre is a lifecycle hook which is executed before the strategy manipulates the deployment. All LifecycleHookFailurePolicy values are supported.", - "mid": "Mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new pod is created. All LifecycleHookFailurePolicy values are supported.", - "post": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", + "timeoutSeconds": "timeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "pre": "pre is a lifecycle hook which is executed before the strategy manipulates the deployment. All LifecycleHookFailurePolicy values are supported.", + "mid": "mid is a lifecycle hook which is executed while the deployment is scaled down to zero before the first new pod is created. All LifecycleHookFailurePolicy values are supported.", + "post": "post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", } func (RecreateDeploymentStrategyParams) SwaggerDoc() map[string]string { @@ -258,13 +258,13 @@ func (RecreateDeploymentStrategyParams) SwaggerDoc() map[string]string { var map_RollingDeploymentStrategyParams = map[string]string{ "": "RollingDeploymentStrategyParams are the input to the Rolling deployment strategy.", - "updatePeriodSeconds": "UpdatePeriodSeconds is the time to wait between individual pod updates. If the value is nil, a default will be used.", - "intervalSeconds": "IntervalSeconds is the time to wait between polling deployment status after update. If the value is nil, a default will be used.", - "timeoutSeconds": "TimeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", - "maxUnavailable": "MaxUnavailable is the maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of update (ex: 10%). Absolute number is calculated from percentage by rounding down.\n\nThis cannot be 0 if MaxSurge is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the old RC can be scaled down by 30% immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that at least 70% of original number of pods are available at all times during the update.", - "maxSurge": "MaxSurge is the maximum number of pods that can be scheduled above the original number of pods. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up.\n\nThis cannot be 0 if MaxUnavailable is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the new RC can be scaled up by 30% immediately when the rolling update starts. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of original pods.", - "pre": "Pre is a lifecycle hook which is executed before the deployment process begins. All LifecycleHookFailurePolicy values are supported.", - "post": "Post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", + "updatePeriodSeconds": "updatePeriodSeconds is the time to wait between individual pod updates. If the value is nil, a default will be used.", + "intervalSeconds": "intervalSeconds is the time to wait between polling deployment status after update. If the value is nil, a default will be used.", + "timeoutSeconds": "timeoutSeconds is the time to wait for updates before giving up. If the value is nil, a default will be used.", + "maxUnavailable": "maxUnavailable is the maximum number of pods that can be unavailable during the update. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of update (ex: 10%). Absolute number is calculated from percentage by rounding down.\n\nThis cannot be 0 if MaxSurge is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the old RC can be scaled down by 30% immediately when the rolling update starts. Once new pods are ready, old RC can be scaled down further, followed by scaling up the new RC, ensuring that at least 70% of original number of pods are available at all times during the update.", + "maxSurge": "maxSurge is the maximum number of pods that can be scheduled above the original number of pods. Value can be an absolute number (ex: 5) or a percentage of total pods at the start of the update (ex: 10%). Absolute number is calculated from percentage by rounding up.\n\nThis cannot be 0 if MaxUnavailable is 0. By default, 25% is used.\n\nExample: when this is set to 30%, the new RC can be scaled up by 30% immediately when the rolling update starts. Once old pods have been killed, new RC can be scaled up further, ensuring that total number of pods running at any time during the update is atmost 130% of original pods.", + "pre": "pre is a lifecycle hook which is executed before the deployment process begins. All LifecycleHookFailurePolicy values are supported.", + "post": "post is a lifecycle hook which is executed after the strategy has finished all deployment logic. All LifecycleHookFailurePolicy values are supported.", } func (RollingDeploymentStrategyParams) SwaggerDoc() map[string]string { @@ -273,8 +273,8 @@ func (RollingDeploymentStrategyParams) SwaggerDoc() map[string]string { var map_TagImageHook = map[string]string{ "": "TagImageHook is a request to tag the image in a particular container onto an ImageStreamTag.", - "containerName": "ContainerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single container this value will be defaulted to the name of that container.", - "to": "To is the target ImageStreamTag to set the container's image onto.", + "containerName": "containerName is the name of a container in the deployment config whose image value will be used as the source of the tag. If there is only a single container this value will be defaulted to the name of that container.", + "to": "to is the target ImageStreamTag to set the container's image onto.", } func (TagImageHook) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/authorization/v1/generated.proto b/vendor/github.com/openshift/api/authorization/v1/generated.proto index 28e4e8ce62..f7d7b772a7 100644 --- a/vendor/github.com/openshift/api/authorization/v1/generated.proto +++ b/vendor/github.com/openshift/api/authorization/v1/generated.proto @@ -16,10 +16,10 @@ option go_package = "github.com/openshift/api/authorization/v1"; // Action describes a request to the API server message Action { - // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces + // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces optional string namespace = 1; - // Verb is one of: get, list, watch, create, update, delete + // verb is one of: get, list, watch, create, update, delete optional string verb = 2; // Group is the API group of the resource @@ -30,19 +30,19 @@ message Action { // Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined optional string resourceAPIVersion = 4; - // Resource is one of the existing resource types + // resource is one of the existing resource types optional string resource = 5; - // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" + // resourceName is the name of the resource being requested for a "get" or deleted for a "delete" optional string resourceName = 6; - // Path is the path of a non resource URL + // path is the path of a non resource URL optional string path = 8; - // IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy) + // isNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy) optional bool isNonResourceURL = 9; - // Content is the actual content of the request for create and update + // content is the actual content of the request for create and update // +kubebuilder:pruning:PreserveUnknownFields optional .k8s.io.apimachinery.pkg.runtime.RawExtension content = 7; } @@ -56,10 +56,10 @@ message ClusterRole { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Rules holds all the PolicyRules for this ClusterRole + // rules holds all the PolicyRules for this ClusterRole repeated PolicyRule rules = 2; - // AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. + // aggregationRule is an optional field that describes how to build the Rules for this ClusterRole. // If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be // stomped by the controller. optional .k8s.io.api.rbac.v1.AggregationRule aggregationRule = 3; @@ -76,28 +76,28 @@ message ClusterRoleBinding { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // UserNames holds all the usernames directly bound to the role. + // userNames holds all the usernames directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional optional OptionalNames userNames = 2; - // GroupNames holds all the groups directly bound to the role. + // groupNames holds all the groups directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional optional OptionalNames groupNames = 3; - // Subjects hold object references to authorize with this rule. + // subjects hold object references to authorize with this rule. // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. // Thus newer clients that do not need to support backwards compatibility should send // only fully qualified Subjects and should omit the UserNames and GroupNames fields. // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. repeated .k8s.io.api.core.v1.ObjectReference subjects = 4; - // RoleRef can only reference the current namespace and the global namespace. + // roleRef can only reference the current namespace and the global namespace. // If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. // Since Policy is a singleton, this is sufficient knowledge to locate a role. optional .k8s.io.api.core.v1.ObjectReference roleRef = 5; @@ -112,7 +112,7 @@ message ClusterRoleBindingList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of ClusterRoleBindings + // items is a list of ClusterRoleBindings repeated ClusterRoleBinding items = 2; } @@ -125,14 +125,14 @@ message ClusterRoleList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of ClusterRoles + // items is a list of ClusterRoles repeated ClusterRole items = 2; } // GroupRestriction matches a group either by a string match on the group name // or a label selector applied to group labels. message GroupRestriction { - // Groups is a list of groups used to match against an individual user's + // groups is a list of groups used to match against an individual user's // groups. If the user is a member of one of the whitelisted groups, the user // is allowed to be bound to a role. // +nullable @@ -175,14 +175,14 @@ message LocalSubjectAccessReview { // Action describes the action being tested. The Namespace element is FORCED to the current namespace. optional Action Action = 1; - // User is optional. If both User and Groups are empty, the current authenticated user is used. + // user is optional. If both User and Groups are empty, the current authenticated user is used. optional string user = 2; - // Groups is optional. Groups is the list of groups to which the User belongs. + // groups is optional. Groups is the list of groups to which the User belongs. // +k8s:conversion-gen=false repeated string groups = 3; - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil for a self-SAR, means "use the scopes on this request". // Nil for a regular SAR, means the same as empty. // +k8s:conversion-gen=false @@ -191,37 +191,37 @@ message LocalSubjectAccessReview { // NamedClusterRole relates a name with a cluster role message NamedClusterRole { - // Name is the name of the cluster role + // name is the name of the cluster role optional string name = 1; - // Role is the cluster role being named + // role is the cluster role being named optional ClusterRole role = 2; } // NamedClusterRoleBinding relates a name with a cluster role binding message NamedClusterRoleBinding { - // Name is the name of the cluster role binding + // name is the name of the cluster role binding optional string name = 1; - // RoleBinding is the cluster role binding being named + // roleBinding is the cluster role binding being named optional ClusterRoleBinding roleBinding = 2; } // NamedRole relates a Role with a name message NamedRole { - // Name is the name of the role + // name is the name of the role optional string name = 1; - // Role is the role being named + // role is the role being named optional Role role = 2; } // NamedRoleBinding relates a role binding with a name message NamedRoleBinding { - // Name is the name of the role binding + // name is the name of the role binding optional string name = 1; - // RoleBinding is the role binding being named + // roleBinding is the role binding being named optional RoleBinding roleBinding = 2; } @@ -246,25 +246,25 @@ message OptionalScopes { // PolicyRule holds information that describes a policy rule, but does not contain information // about who the rule applies to or which namespace the rule applies to. message PolicyRule { - // Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. + // verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. repeated string verbs = 1; - // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. + // attributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. // +kubebuilder:pruning:PreserveUnknownFields optional .k8s.io.apimachinery.pkg.runtime.RawExtension attributeRestrictions = 2; - // APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. + // apiGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. // That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request // will be allowed // +optional // +nullable repeated string apiGroups = 3; - // Resources is a list of resources this rule applies to. ResourceAll represents all resources. + // resources is a list of resources this rule applies to. ResourceAll represents all resources. repeated string resources = 4; - // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. + // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. repeated string resourceNames = 5; // NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path @@ -291,7 +291,7 @@ message ResourceAccessReview { // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +openshift:compatibility-gen:level=1 message ResourceAccessReviewResponse { - // Namespace is the namespace used for the access review + // namespace is the namespace used for the access review optional string namespace = 1; // UsersSlice is the list of users who can perform the action @@ -317,7 +317,7 @@ message Role { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Rules holds all the PolicyRules for this Role + // rules holds all the PolicyRules for this Role repeated PolicyRule rules = 2; } @@ -332,28 +332,28 @@ message RoleBinding { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // UserNames holds all the usernames directly bound to the role. + // userNames holds all the usernames directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional optional OptionalNames userNames = 2; - // GroupNames holds all the groups directly bound to the role. + // groupNames holds all the groups directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional optional OptionalNames groupNames = 3; - // Subjects hold object references to authorize with this rule. + // subjects hold object references to authorize with this rule. // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. // Thus newer clients that do not need to support backwards compatibility should send // only fully qualified Subjects and should omit the UserNames and GroupNames fields. // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. repeated .k8s.io.api.core.v1.ObjectReference subjects = 4; - // RoleRef can only reference the current namespace and the global namespace. + // roleRef can only reference the current namespace and the global namespace. // If the RoleRef cannot be resolved, the Authorizer must return an error. // Since Policy is a singleton, this is sufficient knowledge to locate a role. optional .k8s.io.api.core.v1.ObjectReference roleRef = 5; @@ -368,7 +368,7 @@ message RoleBindingList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of RoleBindings + // items is a list of RoleBindings repeated RoleBinding items = 2; } @@ -390,7 +390,7 @@ message RoleBindingRestriction { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec defines the matcher. + // spec defines the matcher. optional RoleBindingRestrictionSpec spec = 2; } @@ -403,22 +403,22 @@ message RoleBindingRestrictionList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of RoleBindingRestriction objects. + // items is a list of RoleBindingRestriction objects. repeated RoleBindingRestriction items = 2; } // RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one // field must be non-nil. message RoleBindingRestrictionSpec { - // UserRestriction matches against user subjects. + // userrestriction matches against user subjects. // +nullable optional UserRestriction userrestriction = 1; - // GroupRestriction matches against group subjects. + // grouprestriction matches against group subjects. // +nullable optional GroupRestriction grouprestriction = 2; - // ServiceAccountRestriction matches against service-account subjects. + // serviceaccountrestriction matches against service-account subjects. // +nullable optional ServiceAccountRestriction serviceaccountrestriction = 3; } @@ -432,7 +432,7 @@ message RoleList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of Roles + // items is a list of Roles repeated Role items = 2; } @@ -445,16 +445,16 @@ message SelfSubjectRulesReview { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 3; - // Spec adds information about how to conduct the check + // spec adds information about how to conduct the check optional SelfSubjectRulesReviewSpec spec = 1; - // Status is completed by the server to tell which permissions you have + // status is completed by the server to tell which permissions you have optional SubjectRulesReviewStatus status = 2; } // SelfSubjectRulesReviewSpec adds information about how to conduct the check message SelfSubjectRulesReviewSpec { - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil means "use the scopes on this request". // +k8s:conversion-gen=false optional OptionalScopes scopes = 1; @@ -463,10 +463,10 @@ message SelfSubjectRulesReviewSpec { // ServiceAccountReference specifies a service account and namespace by their // names. message ServiceAccountReference { - // Name is the name of the service account. + // name is the name of the service account. optional string name = 1; - // Namespace is the namespace of the service account. Service accounts from + // namespace is the namespace of the service account. Service accounts from // inside the whitelisted namespaces are allowed to be bound to roles. If // Namespace is empty, then the namespace of the RoleBindingRestriction in // which the ServiceAccountReference is embedded is used. @@ -477,10 +477,10 @@ message ServiceAccountReference { // either the service-account name or the name of the service account's // namespace. message ServiceAccountRestriction { - // ServiceAccounts specifies a list of literal service-account names. + // serviceaccounts specifies a list of literal service-account names. repeated ServiceAccountReference serviceaccounts = 1; - // Namespaces specifies a list of literal namespace names. + // namespaces specifies a list of literal namespace names. repeated string namespaces = 2; } @@ -496,14 +496,14 @@ message SubjectAccessReview { // Action describes the action being tested. optional Action Action = 1; - // User is optional. If both User and Groups are empty, the current authenticated user is used. + // user is optional. If both User and Groups are empty, the current authenticated user is used. optional string user = 2; // GroupsSlice is optional. Groups is the list of groups to which the User belongs. // +k8s:conversion-gen=false repeated string groups = 3; - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil for a self-SAR, means "use the scopes on this request". // Nil for a regular SAR, means the same as empty. // +k8s:conversion-gen=false @@ -515,16 +515,16 @@ message SubjectAccessReview { // Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). // +openshift:compatibility-gen:level=1 message SubjectAccessReviewResponse { - // Namespace is the namespace used for the access review + // namespace is the namespace used for the access review optional string namespace = 1; - // Allowed is required. True if the action would be allowed, false otherwise. + // allowed is required. True if the action would be allowed, false otherwise. optional bool allowed = 2; - // Reason is optional. It indicates why a request was allowed or denied. + // reason is optional. It indicates why a request was allowed or denied. optional string reason = 3; - // EvaluationError is an indication that some error occurred during the authorization check. + // evaluationError is an indication that some error occurred during the authorization check. // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. optional string evaluationError = 4; @@ -539,31 +539,31 @@ message SubjectRulesReview { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 3; - // Spec adds information about how to conduct the check + // spec adds information about how to conduct the check optional SubjectRulesReviewSpec spec = 1; - // Status is completed by the server to tell which permissions you have + // status is completed by the server to tell which permissions you have optional SubjectRulesReviewStatus status = 2; } // SubjectRulesReviewSpec adds information about how to conduct the check message SubjectRulesReviewSpec { - // User is optional. At least one of User and Groups must be specified. + // user is optional. At least one of User and Groups must be specified. optional string user = 1; - // Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. + // groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. repeated string groups = 2; - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". optional OptionalScopes scopes = 3; } // SubjectRulesReviewStatus is contains the result of a rules check message SubjectRulesReviewStatus { - // Rules is the list of rules (no particular sort) that are allowed for the subject + // rules is the list of rules (no particular sort) that are allowed for the subject repeated PolicyRule rules = 1; - // EvaluationError can appear in combination with Rules. It means some error happened during evaluation + // evaluationError can appear in combination with Rules. It means some error happened during evaluation // that may have prevented additional rules from being populated. optional string evaluationError = 2; } @@ -572,10 +572,10 @@ message SubjectRulesReviewStatus { // a string match on the name of a group to which the user belongs, or a label // selector applied to the user labels. message UserRestriction { - // Users specifies a list of literal user names. + // users specifies a list of literal user names. repeated string users = 1; - // Groups specifies a list of literal group names. + // groups specifies a list of literal group names. // +nullable repeated string groups = 2; diff --git a/vendor/github.com/openshift/api/authorization/v1/types.go b/vendor/github.com/openshift/api/authorization/v1/types.go index e8dd0c29fa..bf4071867f 100644 --- a/vendor/github.com/openshift/api/authorization/v1/types.go +++ b/vendor/github.com/openshift/api/authorization/v1/types.go @@ -28,21 +28,21 @@ const ( // PolicyRule holds information that describes a policy rule, but does not contain information // about who the rule applies to or which namespace the rule applies to. type PolicyRule struct { - // Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. + // verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds. Verbs []string `json:"verbs" protobuf:"bytes,1,rep,name=verbs"` - // AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. + // attributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. // If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error. // +kubebuilder:pruning:PreserveUnknownFields AttributeRestrictions kruntime.RawExtension `json:"attributeRestrictions,omitempty" protobuf:"bytes,2,opt,name=attributeRestrictions"` - // APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. + // apiGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. // That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request // will be allowed // +optional // +nullable APIGroups []string `json:"apiGroups,omitempty" protobuf:"bytes,3,rep,name=apiGroups"` - // Resources is a list of resources this rule applies to. ResourceAll represents all resources. + // resources is a list of resources this rule applies to. ResourceAll represents all resources. Resources []string `json:"resources" protobuf:"bytes,4,rep,name=resources"` - // ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. + // resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed. ResourceNames []string `json:"resourceNames,omitempty" protobuf:"bytes,5,rep,name=resourceNames"` // NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path // This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different. @@ -73,7 +73,7 @@ type Role struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Rules holds all the PolicyRules for this Role + // rules holds all the PolicyRules for this Role Rules []PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"` } @@ -102,26 +102,26 @@ type RoleBinding struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // UserNames holds all the usernames directly bound to the role. + // userNames holds all the usernames directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional UserNames OptionalNames `json:"userNames" protobuf:"bytes,2,rep,name=userNames"` - // GroupNames holds all the groups directly bound to the role. + // groupNames holds all the groups directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional GroupNames OptionalNames `json:"groupNames" protobuf:"bytes,3,rep,name=groupNames"` - // Subjects hold object references to authorize with this rule. + // subjects hold object references to authorize with this rule. // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. // Thus newer clients that do not need to support backwards compatibility should send // only fully qualified Subjects and should omit the UserNames and GroupNames fields. // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. Subjects []corev1.ObjectReference `json:"subjects" protobuf:"bytes,4,rep,name=subjects"` - // RoleRef can only reference the current namespace and the global namespace. + // roleRef can only reference the current namespace and the global namespace. // If the RoleRef cannot be resolved, the Authorizer must return an error. // Since Policy is a singleton, this is sufficient knowledge to locate a role. RoleRef corev1.ObjectReference `json:"roleRef" protobuf:"bytes,5,opt,name=roleRef"` @@ -129,17 +129,17 @@ type RoleBinding struct { // NamedRole relates a Role with a name type NamedRole struct { - // Name is the name of the role + // name is the name of the role Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // Role is the role being named + // role is the role being named Role Role `json:"role" protobuf:"bytes,2,opt,name=role"` } // NamedRoleBinding relates a role binding with a name type NamedRoleBinding struct { - // Name is the name of the role binding + // name is the name of the role binding Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // RoleBinding is the role binding being named + // roleBinding is the role binding being named RoleBinding RoleBinding `json:"roleBinding" protobuf:"bytes,2,opt,name=roleBinding"` } @@ -158,16 +158,16 @@ type SelfSubjectRulesReview struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,3,opt,name=metadata"` - // Spec adds information about how to conduct the check + // spec adds information about how to conduct the check Spec SelfSubjectRulesReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` - // Status is completed by the server to tell which permissions you have + // status is completed by the server to tell which permissions you have Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` } // SelfSubjectRulesReviewSpec adds information about how to conduct the check type SelfSubjectRulesReviewSpec struct { - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil means "use the scopes on this request". // +k8s:conversion-gen=false Scopes OptionalScopes `json:"scopes" protobuf:"bytes,1,rep,name=scopes"` @@ -188,28 +188,28 @@ type SubjectRulesReview struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,3,opt,name=metadata"` - // Spec adds information about how to conduct the check + // spec adds information about how to conduct the check Spec SubjectRulesReviewSpec `json:"spec" protobuf:"bytes,1,opt,name=spec"` - // Status is completed by the server to tell which permissions you have + // status is completed by the server to tell which permissions you have Status SubjectRulesReviewStatus `json:"status,omitempty" protobuf:"bytes,2,opt,name=status"` } // SubjectRulesReviewSpec adds information about how to conduct the check type SubjectRulesReviewSpec struct { - // User is optional. At least one of User and Groups must be specified. + // user is optional. At least one of User and Groups must be specified. User string `json:"user" protobuf:"bytes,1,opt,name=user"` - // Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. + // groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified. Groups []string `json:"groups" protobuf:"bytes,2,rep,name=groups"` - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". Scopes OptionalScopes `json:"scopes" protobuf:"bytes,3,opt,name=scopes"` } // SubjectRulesReviewStatus is contains the result of a rules check type SubjectRulesReviewStatus struct { - // Rules is the list of rules (no particular sort) that are allowed for the subject + // rules is the list of rules (no particular sort) that are allowed for the subject Rules []PolicyRule `json:"rules" protobuf:"bytes,1,rep,name=rules"` - // EvaluationError can appear in combination with Rules. It means some error happened during evaluation + // evaluationError can appear in combination with Rules. It means some error happened during evaluation // that may have prevented additional rules from being populated. EvaluationError string `json:"evaluationError,omitempty" protobuf:"bytes,2,opt,name=evaluationError"` } @@ -223,7 +223,7 @@ type SubjectRulesReviewStatus struct { type ResourceAccessReviewResponse struct { metav1.TypeMeta `json:",inline"` - // Namespace is the namespace used for the access review + // namespace is the namespace used for the access review Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"` // UsersSlice is the list of users who can perform the action // +k8s:conversion-gen=false @@ -269,13 +269,13 @@ type ResourceAccessReview struct { type SubjectAccessReviewResponse struct { metav1.TypeMeta `json:",inline"` - // Namespace is the namespace used for the access review + // namespace is the namespace used for the access review Namespace string `json:"namespace,omitempty" protobuf:"bytes,1,opt,name=namespace"` - // Allowed is required. True if the action would be allowed, false otherwise. + // allowed is required. True if the action would be allowed, false otherwise. Allowed bool `json:"allowed" protobuf:"varint,2,opt,name=allowed"` - // Reason is optional. It indicates why a request was allowed or denied. + // reason is optional. It indicates why a request was allowed or denied. Reason string `json:"reason,omitempty" protobuf:"bytes,3,opt,name=reason"` - // EvaluationError is an indication that some error occurred during the authorization check. + // evaluationError is an indication that some error occurred during the authorization check. // It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is // most common when a bound role is missing, but enough roles are still present and bound to reason about the request. EvaluationError string `json:"evaluationError,omitempty" protobuf:"bytes,4,opt,name=evaluationError"` @@ -309,12 +309,12 @@ type SubjectAccessReview struct { // Action describes the action being tested. Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` - // User is optional. If both User and Groups are empty, the current authenticated user is used. + // user is optional. If both User and Groups are empty, the current authenticated user is used. User string `json:"user" protobuf:"bytes,2,opt,name=user"` // GroupsSlice is optional. Groups is the list of groups to which the User belongs. // +k8s:conversion-gen=false GroupsSlice []string `json:"groups" protobuf:"bytes,3,rep,name=groups"` - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil for a self-SAR, means "use the scopes on this request". // Nil for a regular SAR, means the same as empty. // +k8s:conversion-gen=false @@ -359,12 +359,12 @@ type LocalSubjectAccessReview struct { // Action describes the action being tested. The Namespace element is FORCED to the current namespace. Action `json:",inline" protobuf:"bytes,1,opt,name=Action"` - // User is optional. If both User and Groups are empty, the current authenticated user is used. + // user is optional. If both User and Groups are empty, the current authenticated user is used. User string `json:"user" protobuf:"bytes,2,opt,name=user"` - // Groups is optional. Groups is the list of groups to which the User belongs. + // groups is optional. Groups is the list of groups to which the User belongs. // +k8s:conversion-gen=false GroupsSlice []string `json:"groups" protobuf:"bytes,3,rep,name=groups"` - // Scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". + // scopes to use for the evaluation. Empty means "use the unscoped (full) permissions of the user/groups". // Nil for a self-SAR, means "use the scopes on this request". // Nil for a regular SAR, means the same as empty. // +k8s:conversion-gen=false @@ -373,9 +373,9 @@ type LocalSubjectAccessReview struct { // Action describes a request to the API server type Action struct { - // Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces + // namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"` - // Verb is one of: get, list, watch, create, update, delete + // verb is one of: get, list, watch, create, update, delete Verb string `json:"verb" protobuf:"bytes,2,opt,name=verb"` // Group is the API group of the resource // Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined @@ -383,15 +383,15 @@ type Action struct { // Version is the API version of the resource // Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined Version string `json:"resourceAPIVersion" protobuf:"bytes,4,opt,name=resourceAPIVersion"` - // Resource is one of the existing resource types + // resource is one of the existing resource types Resource string `json:"resource" protobuf:"bytes,5,opt,name=resource"` - // ResourceName is the name of the resource being requested for a "get" or deleted for a "delete" + // resourceName is the name of the resource being requested for a "get" or deleted for a "delete" ResourceName string `json:"resourceName" protobuf:"bytes,6,opt,name=resourceName"` - // Path is the path of a non resource URL + // path is the path of a non resource URL Path string `json:"path" protobuf:"bytes,8,opt,name=path"` - // IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy) + // isNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy) IsNonResourceURL bool `json:"isNonResourceURL" protobuf:"varint,9,opt,name=isNonResourceURL"` - // Content is the actual content of the request for create and update + // content is the actual content of the request for create and update // +kubebuilder:pruning:PreserveUnknownFields Content kruntime.RawExtension `json:"content,omitempty" protobuf:"bytes,7,opt,name=content"` } @@ -409,7 +409,7 @@ type RoleBindingList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of RoleBindings + // items is a list of RoleBindings Items []RoleBinding `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -426,7 +426,7 @@ type RoleList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of Roles + // items is a list of Roles Items []Role `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -445,10 +445,10 @@ type ClusterRole struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Rules holds all the PolicyRules for this ClusterRole + // rules holds all the PolicyRules for this ClusterRole Rules []PolicyRule `json:"rules" protobuf:"bytes,2,rep,name=rules"` - // AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. + // aggregationRule is an optional field that describes how to build the Rules for this ClusterRole. // If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be // stomped by the controller. AggregationRule *rbacv1.AggregationRule `json:"aggregationRule,omitempty" protobuf:"bytes,3,opt,name=aggregationRule"` @@ -471,26 +471,26 @@ type ClusterRoleBinding struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // UserNames holds all the usernames directly bound to the role. + // userNames holds all the usernames directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional UserNames OptionalNames `json:"userNames" protobuf:"bytes,2,rep,name=userNames"` - // GroupNames holds all the groups directly bound to the role. + // groupNames holds all the groups directly bound to the role. // This field should only be specified when supporting legacy clients and servers. // See Subjects for further details. // +k8s:conversion-gen=false // +optional GroupNames OptionalNames `json:"groupNames" protobuf:"bytes,3,rep,name=groupNames"` - // Subjects hold object references to authorize with this rule. + // subjects hold object references to authorize with this rule. // This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. // Thus newer clients that do not need to support backwards compatibility should send // only fully qualified Subjects and should omit the UserNames and GroupNames fields. // Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames. Subjects []corev1.ObjectReference `json:"subjects" protobuf:"bytes,4,rep,name=subjects"` - // RoleRef can only reference the current namespace and the global namespace. + // roleRef can only reference the current namespace and the global namespace. // If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. // Since Policy is a singleton, this is sufficient knowledge to locate a role. RoleRef corev1.ObjectReference `json:"roleRef" protobuf:"bytes,5,opt,name=roleRef"` @@ -498,17 +498,17 @@ type ClusterRoleBinding struct { // NamedClusterRole relates a name with a cluster role type NamedClusterRole struct { - // Name is the name of the cluster role + // name is the name of the cluster role Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // Role is the cluster role being named + // role is the cluster role being named Role ClusterRole `json:"role" protobuf:"bytes,2,opt,name=role"` } // NamedClusterRoleBinding relates a name with a cluster role binding type NamedClusterRoleBinding struct { - // Name is the name of the cluster role binding + // name is the name of the cluster role binding Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // RoleBinding is the cluster role binding being named + // roleBinding is the cluster role binding being named RoleBinding ClusterRoleBinding `json:"roleBinding" protobuf:"bytes,2,opt,name=roleBinding"` } @@ -525,7 +525,7 @@ type ClusterRoleBindingList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of ClusterRoleBindings + // items is a list of ClusterRoleBindings Items []ClusterRoleBinding `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -542,7 +542,7 @@ type ClusterRoleList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of ClusterRoles + // items is a list of ClusterRoles Items []ClusterRole `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -569,22 +569,22 @@ type RoleBindingRestriction struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` - // Spec defines the matcher. + // spec defines the matcher. Spec RoleBindingRestrictionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` } // RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one // field must be non-nil. type RoleBindingRestrictionSpec struct { - // UserRestriction matches against user subjects. + // userrestriction matches against user subjects. // +nullable UserRestriction *UserRestriction `json:"userrestriction" protobuf:"bytes,1,opt,name=userrestriction"` - // GroupRestriction matches against group subjects. + // grouprestriction matches against group subjects. // +nullable GroupRestriction *GroupRestriction `json:"grouprestriction" protobuf:"bytes,2,opt,name=grouprestriction"` - // ServiceAccountRestriction matches against service-account subjects. + // serviceaccountrestriction matches against service-account subjects. // +nullable ServiceAccountRestriction *ServiceAccountRestriction `json:"serviceaccountrestriction" protobuf:"bytes,3,opt,name=serviceaccountrestriction"` } @@ -602,7 +602,7 @@ type RoleBindingRestrictionList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of RoleBindingRestriction objects. + // items is a list of RoleBindingRestriction objects. Items []RoleBindingRestriction `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -610,10 +610,10 @@ type RoleBindingRestrictionList struct { // a string match on the name of a group to which the user belongs, or a label // selector applied to the user labels. type UserRestriction struct { - // Users specifies a list of literal user names. + // users specifies a list of literal user names. Users []string `json:"users" protobuf:"bytes,1,rep,name=users"` - // Groups specifies a list of literal group names. + // groups specifies a list of literal group names. // +nullable Groups []string `json:"groups" protobuf:"bytes,2,rep,name=groups"` @@ -625,7 +625,7 @@ type UserRestriction struct { // GroupRestriction matches a group either by a string match on the group name // or a label selector applied to group labels. type GroupRestriction struct { - // Groups is a list of groups used to match against an individual user's + // groups is a list of groups used to match against an individual user's // groups. If the user is a member of one of the whitelisted groups, the user // is allowed to be bound to a role. // +nullable @@ -640,20 +640,20 @@ type GroupRestriction struct { // either the service-account name or the name of the service account's // namespace. type ServiceAccountRestriction struct { - // ServiceAccounts specifies a list of literal service-account names. + // serviceaccounts specifies a list of literal service-account names. ServiceAccounts []ServiceAccountReference `json:"serviceaccounts" protobuf:"bytes,1,rep,name=serviceaccounts"` - // Namespaces specifies a list of literal namespace names. + // namespaces specifies a list of literal namespace names. Namespaces []string `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"` } // ServiceAccountReference specifies a service account and namespace by their // names. type ServiceAccountReference struct { - // Name is the name of the service account. + // name is the name of the service account. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // Namespace is the namespace of the service account. Service accounts from + // namespace is the namespace of the service account. Service accounts from // inside the whitelisted namespaces are allowed to be bound to roles. If // Namespace is empty, then the namespace of the RoleBindingRestriction in // which the ServiceAccountReference is embedded is used. diff --git a/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go index a8f9b374e2..a1c28a3ec1 100644 --- a/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/authorization/v1/zz_generated.swagger_doc_generated.go @@ -13,15 +13,15 @@ package v1 // AUTO-GENERATED FUNCTIONS START HERE var map_Action = map[string]string{ "": "Action describes a request to the API server", - "namespace": "Namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", - "verb": "Verb is one of: get, list, watch, create, update, delete", + "namespace": "namespace is the namespace of the action being requested. Currently, there is no distinction between no namespace and all namespaces", + "verb": "verb is one of: get, list, watch, create, update, delete", "resourceAPIGroup": "Group is the API group of the resource Serialized as resourceAPIGroup to avoid confusion with the 'groups' field when inlined", "resourceAPIVersion": "Version is the API version of the resource Serialized as resourceAPIVersion to avoid confusion with TypeMeta.apiVersion and ObjectMeta.resourceVersion when inlined", - "resource": "Resource is one of the existing resource types", - "resourceName": "ResourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", - "path": "Path is the path of a non resource URL", - "isNonResourceURL": "IsNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", - "content": "Content is the actual content of the request for create and update", + "resource": "resource is one of the existing resource types", + "resourceName": "resourceName is the name of the resource being requested for a \"get\" or deleted for a \"delete\"", + "path": "path is the path of a non resource URL", + "isNonResourceURL": "isNonResourceURL is true if this is a request for a non-resource URL (outside of the resource hierarchy)", + "content": "content is the actual content of the request for create and update", } func (Action) SwaggerDoc() map[string]string { @@ -31,8 +31,8 @@ func (Action) SwaggerDoc() map[string]string { var map_ClusterRole = map[string]string{ "": "ClusterRole is a logical grouping of PolicyRules that can be referenced as a unit by ClusterRoleBindings.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "rules": "Rules holds all the PolicyRules for this ClusterRole", - "aggregationRule": "AggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.", + "rules": "rules holds all the PolicyRules for this ClusterRole", + "aggregationRule": "aggregationRule is an optional field that describes how to build the Rules for this ClusterRole. If AggregationRule is set, then the Rules are controller managed and direct changes to Rules will be stomped by the controller.", } func (ClusterRole) SwaggerDoc() map[string]string { @@ -42,10 +42,10 @@ func (ClusterRole) SwaggerDoc() map[string]string { var map_ClusterRoleBinding = map[string]string{ "": "ClusterRoleBinding references a ClusterRole, but not contain it. It can reference any ClusterRole in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. ClusterRoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "userNames": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "groupNames": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "subjects": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", - "roleRef": "RoleRef can only reference the current namespace and the global namespace. If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", + "userNames": "userNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "groupNames": "groupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "subjects": "subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "roleRef": "roleRef can only reference the current namespace and the global namespace. If the ClusterRoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", } func (ClusterRoleBinding) SwaggerDoc() map[string]string { @@ -55,7 +55,7 @@ func (ClusterRoleBinding) SwaggerDoc() map[string]string { var map_ClusterRoleBindingList = map[string]string{ "": "ClusterRoleBindingList is a collection of ClusterRoleBindings\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of ClusterRoleBindings", + "items": "items is a list of ClusterRoleBindings", } func (ClusterRoleBindingList) SwaggerDoc() map[string]string { @@ -65,7 +65,7 @@ func (ClusterRoleBindingList) SwaggerDoc() map[string]string { var map_ClusterRoleList = map[string]string{ "": "ClusterRoleList is a collection of ClusterRoles\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of ClusterRoles", + "items": "items is a list of ClusterRoles", } func (ClusterRoleList) SwaggerDoc() map[string]string { @@ -74,7 +74,7 @@ func (ClusterRoleList) SwaggerDoc() map[string]string { var map_GroupRestriction = map[string]string{ "": "GroupRestriction matches a group either by a string match on the group name or a label selector applied to group labels.", - "groups": "Groups is a list of groups used to match against an individual user's groups. If the user is a member of one of the whitelisted groups, the user is allowed to be bound to a role.", + "groups": "groups is a list of groups used to match against an individual user's groups. If the user is a member of one of the whitelisted groups, the user is allowed to be bound to a role.", "labels": "Selectors specifies a list of label selectors over group labels.", } @@ -102,9 +102,9 @@ func (LocalResourceAccessReview) SwaggerDoc() map[string]string { var map_LocalSubjectAccessReview = map[string]string{ "": "LocalSubjectAccessReview is an object for requesting information about whether a user or group can perform an action in a particular namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "user": "User is optional. If both User and Groups are empty, the current authenticated user is used.", - "groups": "Groups is optional. Groups is the list of groups to which the User belongs.", - "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", + "user": "user is optional. If both User and Groups are empty, the current authenticated user is used.", + "groups": "groups is optional. Groups is the list of groups to which the User belongs.", + "scopes": "scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", } func (LocalSubjectAccessReview) SwaggerDoc() map[string]string { @@ -113,8 +113,8 @@ func (LocalSubjectAccessReview) SwaggerDoc() map[string]string { var map_NamedClusterRole = map[string]string{ "": "NamedClusterRole relates a name with a cluster role", - "name": "Name is the name of the cluster role", - "role": "Role is the cluster role being named", + "name": "name is the name of the cluster role", + "role": "role is the cluster role being named", } func (NamedClusterRole) SwaggerDoc() map[string]string { @@ -123,8 +123,8 @@ func (NamedClusterRole) SwaggerDoc() map[string]string { var map_NamedClusterRoleBinding = map[string]string{ "": "NamedClusterRoleBinding relates a name with a cluster role binding", - "name": "Name is the name of the cluster role binding", - "roleBinding": "RoleBinding is the cluster role binding being named", + "name": "name is the name of the cluster role binding", + "roleBinding": "roleBinding is the cluster role binding being named", } func (NamedClusterRoleBinding) SwaggerDoc() map[string]string { @@ -133,8 +133,8 @@ func (NamedClusterRoleBinding) SwaggerDoc() map[string]string { var map_NamedRole = map[string]string{ "": "NamedRole relates a Role with a name", - "name": "Name is the name of the role", - "role": "Role is the role being named", + "name": "name is the name of the role", + "role": "role is the role being named", } func (NamedRole) SwaggerDoc() map[string]string { @@ -143,8 +143,8 @@ func (NamedRole) SwaggerDoc() map[string]string { var map_NamedRoleBinding = map[string]string{ "": "NamedRoleBinding relates a role binding with a name", - "name": "Name is the name of the role binding", - "roleBinding": "RoleBinding is the role binding being named", + "name": "name is the name of the role binding", + "roleBinding": "roleBinding is the role binding being named", } func (NamedRoleBinding) SwaggerDoc() map[string]string { @@ -153,11 +153,11 @@ func (NamedRoleBinding) SwaggerDoc() map[string]string { var map_PolicyRule = map[string]string{ "": "PolicyRule holds information that describes a policy rule, but does not contain information about who the rule applies to or which namespace the rule applies to.", - "verbs": "Verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.", - "attributeRestrictions": "AttributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error.", - "apiGroups": "APIGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request will be allowed", - "resources": "Resources is a list of resources this rule applies to. ResourceAll represents all resources.", - "resourceNames": "ResourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.", + "verbs": "verbs is a list of Verbs that apply to ALL the ResourceKinds and AttributeRestrictions contained in this rule. VerbAll represents all kinds.", + "attributeRestrictions": "attributeRestrictions will vary depending on what the Authorizer/AuthorizationAttributeBuilder pair supports. If the Authorizer does not recognize how to handle the AttributeRestrictions, the Authorizer should report an error.", + "apiGroups": "apiGroups is the name of the APIGroup that contains the resources. If this field is empty, then both kubernetes and origin API groups are assumed. That means that if an action is requested against one of the enumerated resources in either the kubernetes or the origin API group, the request will be allowed", + "resources": "resources is a list of resources this rule applies to. ResourceAll represents all resources.", + "resourceNames": "resourceNames is an optional white list of names that the rule applies to. An empty set means that everything is allowed.", "nonResourceURLs": "NonResourceURLsSlice is a set of partial urls that a user should have access to. *s are allowed, but only as the full, final step in the path This name is intentionally different than the internal type so that the DefaultConvert works nicely and because the ordering may be different.", } @@ -176,7 +176,7 @@ func (ResourceAccessReview) SwaggerDoc() map[string]string { var map_ResourceAccessReviewResponse = map[string]string{ "": "ResourceAccessReviewResponse describes who can perform the action\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespace": "Namespace is the namespace used for the access review", + "namespace": "namespace is the namespace used for the access review", "users": "UsersSlice is the list of users who can perform the action", "groups": "GroupsSlice is the list of groups who can perform the action", "evalutionError": "EvaluationError is an indication that some error occurred during resolution, but partial results can still be returned. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is most common when a bound role is missing, but enough roles are still present and bound to reason about the request.", @@ -189,7 +189,7 @@ func (ResourceAccessReviewResponse) SwaggerDoc() map[string]string { var map_Role = map[string]string{ "": "Role is a logical grouping of PolicyRules that can be referenced as a unit by RoleBindings.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "rules": "Rules holds all the PolicyRules for this Role", + "rules": "rules holds all the PolicyRules for this Role", } func (Role) SwaggerDoc() map[string]string { @@ -199,10 +199,10 @@ func (Role) SwaggerDoc() map[string]string { var map_RoleBinding = map[string]string{ "": "RoleBinding references a Role, but not contain it. It can reference any Role in the same namespace or in the global namespace. It adds who information via (Users and Groups) OR Subjects and namespace information by which namespace it exists in. RoleBindings in a given namespace only have effect in that namespace (excepting the master namespace which has power in all namespaces).\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "userNames": "UserNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "groupNames": "GroupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", - "subjects": "Subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", - "roleRef": "RoleRef can only reference the current namespace and the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", + "userNames": "userNames holds all the usernames directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "groupNames": "groupNames holds all the groups directly bound to the role. This field should only be specified when supporting legacy clients and servers. See Subjects for further details.", + "subjects": "subjects hold object references to authorize with this rule. This field is ignored if UserNames or GroupNames are specified to support legacy clients and servers. Thus newer clients that do not need to support backwards compatibility should send only fully qualified Subjects and should omit the UserNames and GroupNames fields. Clients that need to support backwards compatibility can use this field to build the UserNames and GroupNames.", + "roleRef": "roleRef can only reference the current namespace and the global namespace. If the RoleRef cannot be resolved, the Authorizer must return an error. Since Policy is a singleton, this is sufficient knowledge to locate a role.", } func (RoleBinding) SwaggerDoc() map[string]string { @@ -212,7 +212,7 @@ func (RoleBinding) SwaggerDoc() map[string]string { var map_RoleBindingList = map[string]string{ "": "RoleBindingList is a collection of RoleBindings\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of RoleBindings", + "items": "items is a list of RoleBindings", } func (RoleBindingList) SwaggerDoc() map[string]string { @@ -222,7 +222,7 @@ func (RoleBindingList) SwaggerDoc() map[string]string { var map_RoleBindingRestriction = map[string]string{ "": "RoleBindingRestriction is an object that can be matched against a subject (user, group, or service account) to determine whether rolebindings on that subject are allowed in the namespace to which the RoleBindingRestriction belongs. If any one of those RoleBindingRestriction objects matches a subject, rolebindings on that subject in the namespace are allowed.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec defines the matcher.", + "spec": "spec defines the matcher.", } func (RoleBindingRestriction) SwaggerDoc() map[string]string { @@ -232,7 +232,7 @@ func (RoleBindingRestriction) SwaggerDoc() map[string]string { var map_RoleBindingRestrictionList = map[string]string{ "": "RoleBindingRestrictionList is a collection of RoleBindingRestriction objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of RoleBindingRestriction objects.", + "items": "items is a list of RoleBindingRestriction objects.", } func (RoleBindingRestrictionList) SwaggerDoc() map[string]string { @@ -241,9 +241,9 @@ func (RoleBindingRestrictionList) SwaggerDoc() map[string]string { var map_RoleBindingRestrictionSpec = map[string]string{ "": "RoleBindingRestrictionSpec defines a rolebinding restriction. Exactly one field must be non-nil.", - "userrestriction": "UserRestriction matches against user subjects.", - "grouprestriction": "GroupRestriction matches against group subjects.", - "serviceaccountrestriction": "ServiceAccountRestriction matches against service-account subjects.", + "userrestriction": "userrestriction matches against user subjects.", + "grouprestriction": "grouprestriction matches against group subjects.", + "serviceaccountrestriction": "serviceaccountrestriction matches against service-account subjects.", } func (RoleBindingRestrictionSpec) SwaggerDoc() map[string]string { @@ -253,7 +253,7 @@ func (RoleBindingRestrictionSpec) SwaggerDoc() map[string]string { var map_RoleList = map[string]string{ "": "RoleList is a collection of Roles\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of Roles", + "items": "items is a list of Roles", } func (RoleList) SwaggerDoc() map[string]string { @@ -263,8 +263,8 @@ func (RoleList) SwaggerDoc() map[string]string { var map_SelfSubjectRulesReview = map[string]string{ "": "SelfSubjectRulesReview is a resource you can create to determine which actions you can perform in a namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec adds information about how to conduct the check", - "status": "Status is completed by the server to tell which permissions you have", + "spec": "spec adds information about how to conduct the check", + "status": "status is completed by the server to tell which permissions you have", } func (SelfSubjectRulesReview) SwaggerDoc() map[string]string { @@ -273,7 +273,7 @@ func (SelfSubjectRulesReview) SwaggerDoc() map[string]string { var map_SelfSubjectRulesReviewSpec = map[string]string{ "": "SelfSubjectRulesReviewSpec adds information about how to conduct the check", - "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil means \"use the scopes on this request\".", + "scopes": "scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil means \"use the scopes on this request\".", } func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string { @@ -282,8 +282,8 @@ func (SelfSubjectRulesReviewSpec) SwaggerDoc() map[string]string { var map_ServiceAccountReference = map[string]string{ "": "ServiceAccountReference specifies a service account and namespace by their names.", - "name": "Name is the name of the service account.", - "namespace": "Namespace is the namespace of the service account. Service accounts from inside the whitelisted namespaces are allowed to be bound to roles. If Namespace is empty, then the namespace of the RoleBindingRestriction in which the ServiceAccountReference is embedded is used.", + "name": "name is the name of the service account.", + "namespace": "namespace is the namespace of the service account. Service accounts from inside the whitelisted namespaces are allowed to be bound to roles. If Namespace is empty, then the namespace of the RoleBindingRestriction in which the ServiceAccountReference is embedded is used.", } func (ServiceAccountReference) SwaggerDoc() map[string]string { @@ -292,8 +292,8 @@ func (ServiceAccountReference) SwaggerDoc() map[string]string { var map_ServiceAccountRestriction = map[string]string{ "": "ServiceAccountRestriction matches a service account by a string match on either the service-account name or the name of the service account's namespace.", - "serviceaccounts": "ServiceAccounts specifies a list of literal service-account names.", - "namespaces": "Namespaces specifies a list of literal namespace names.", + "serviceaccounts": "serviceaccounts specifies a list of literal service-account names.", + "namespaces": "namespaces specifies a list of literal namespace names.", } func (ServiceAccountRestriction) SwaggerDoc() map[string]string { @@ -303,9 +303,9 @@ func (ServiceAccountRestriction) SwaggerDoc() map[string]string { var map_SubjectAccessReview = map[string]string{ "": "SubjectAccessReview is an object for requesting information about whether a user or group can perform an action\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "user": "User is optional. If both User and Groups are empty, the current authenticated user is used.", + "user": "user is optional. If both User and Groups are empty, the current authenticated user is used.", "groups": "GroupsSlice is optional. Groups is the list of groups to which the User belongs.", - "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", + "scopes": "scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\". Nil for a self-SAR, means \"use the scopes on this request\". Nil for a regular SAR, means the same as empty.", } func (SubjectAccessReview) SwaggerDoc() map[string]string { @@ -314,10 +314,10 @@ func (SubjectAccessReview) SwaggerDoc() map[string]string { var map_SubjectAccessReviewResponse = map[string]string{ "": "SubjectAccessReviewResponse describes whether or not a user or group can perform an action\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", - "namespace": "Namespace is the namespace used for the access review", - "allowed": "Allowed is required. True if the action would be allowed, false otherwise.", - "reason": "Reason is optional. It indicates why a request was allowed or denied.", - "evaluationError": "EvaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is most common when a bound role is missing, but enough roles are still present and bound to reason about the request.", + "namespace": "namespace is the namespace used for the access review", + "allowed": "allowed is required. True if the action would be allowed, false otherwise.", + "reason": "reason is optional. It indicates why a request was allowed or denied.", + "evaluationError": "evaluationError is an indication that some error occurred during the authorization check. It is entirely possible to get an error and be able to continue determine authorization status in spite of it. This is most common when a bound role is missing, but enough roles are still present and bound to reason about the request.", } func (SubjectAccessReviewResponse) SwaggerDoc() map[string]string { @@ -327,8 +327,8 @@ func (SubjectAccessReviewResponse) SwaggerDoc() map[string]string { var map_SubjectRulesReview = map[string]string{ "": "SubjectRulesReview is a resource you can create to determine which actions another user can perform in a namespace\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec adds information about how to conduct the check", - "status": "Status is completed by the server to tell which permissions you have", + "spec": "spec adds information about how to conduct the check", + "status": "status is completed by the server to tell which permissions you have", } func (SubjectRulesReview) SwaggerDoc() map[string]string { @@ -337,9 +337,9 @@ func (SubjectRulesReview) SwaggerDoc() map[string]string { var map_SubjectRulesReviewSpec = map[string]string{ "": "SubjectRulesReviewSpec adds information about how to conduct the check", - "user": "User is optional. At least one of User and Groups must be specified.", - "groups": "Groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified.", - "scopes": "Scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\".", + "user": "user is optional. At least one of User and Groups must be specified.", + "groups": "groups is optional. Groups is the list of groups to which the User belongs. At least one of User and Groups must be specified.", + "scopes": "scopes to use for the evaluation. Empty means \"use the unscoped (full) permissions of the user/groups\".", } func (SubjectRulesReviewSpec) SwaggerDoc() map[string]string { @@ -348,8 +348,8 @@ func (SubjectRulesReviewSpec) SwaggerDoc() map[string]string { var map_SubjectRulesReviewStatus = map[string]string{ "": "SubjectRulesReviewStatus is contains the result of a rules check", - "rules": "Rules is the list of rules (no particular sort) that are allowed for the subject", - "evaluationError": "EvaluationError can appear in combination with Rules. It means some error happened during evaluation that may have prevented additional rules from being populated.", + "rules": "rules is the list of rules (no particular sort) that are allowed for the subject", + "evaluationError": "evaluationError can appear in combination with Rules. It means some error happened during evaluation that may have prevented additional rules from being populated.", } func (SubjectRulesReviewStatus) SwaggerDoc() map[string]string { @@ -358,8 +358,8 @@ func (SubjectRulesReviewStatus) SwaggerDoc() map[string]string { var map_UserRestriction = map[string]string{ "": "UserRestriction matches a user either by a string match on the user name, a string match on the name of a group to which the user belongs, or a label selector applied to the user labels.", - "users": "Users specifies a list of literal user names.", - "groups": "Groups specifies a list of literal group names.", + "users": "users specifies a list of literal user names.", + "groups": "groups specifies a list of literal group names.", "labels": "Selectors specifies a list of label selectors over user labels.", } diff --git a/vendor/github.com/openshift/api/build/v1/generated.proto b/vendor/github.com/openshift/api/build/v1/generated.proto index b71670f4ec..92ae73426c 100644 --- a/vendor/github.com/openshift/api/build/v1/generated.proto +++ b/vendor/github.com/openshift/api/build/v1/generated.proto @@ -81,10 +81,10 @@ message Build { // BuildCondition describes the state of a build at a certain point. message BuildCondition { - // Type of build condition. + // type of build condition. optional string type = 1; - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. optional string status = 2; // The last time this condition was updated. @@ -141,7 +141,7 @@ message BuildConfigSpec { // +optional repeated BuildTriggerPolicy triggers = 1; - // RunPolicy describes how the new build created from this build + // runPolicy describes how the new build created from this build // configuration will be scheduled for execution. // This is optional, if not specified we default to "Serial". optional string runPolicy = 2; @@ -165,7 +165,7 @@ message BuildConfigStatus { // lastVersion is used to inform about number of last triggered build. optional int64 lastVersion = 1; - // ImageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, + // imageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, // including the value reconciled by the OpenShift APIServer for the lastTriggeredImageID. There is a single entry // in this array for each image change trigger in spec. Each trigger status references the ImageStreamTag that acts as the source of the trigger. repeated ImageChangeTriggerStatus imageChangeTriggers = 2; @@ -231,7 +231,7 @@ message BuildLogOptions { // slightly more or slightly less than the specified limit. optional int64 limitBytes = 8; - // noWait if true causes the call to return immediately even if the build + // nowait if true causes the call to return immediately even if the build // is not available yet. Otherwise the server will wait until the build has started. // TODO: Fix the tag to 'noWait' in v2 optional bool nowait = 9; @@ -259,7 +259,7 @@ message BuildOutput { // the build unless Namespace is specified. optional .k8s.io.api.core.v1.ObjectReference to = 1; - // PushSecret is the name of a Secret that would be used for setting + // pushSecret is the name of a Secret that would be used for setting // up the authentication for executing the Docker push to authentication // enabled Docker Registry (or Docker Hub). optional .k8s.io.api.core.v1.LocalObjectReference pushSecret = 2; @@ -392,10 +392,10 @@ message BuildRequest { // build configuration and contains information about those triggers. repeated BuildTriggerCause triggeredBy = 8; - // DockerStrategyOptions contains additional docker-strategy specific options for the build + // dockerStrategyOptions contains additional docker-strategy specific options for the build optional DockerStrategyOptions dockerStrategyOptions = 9; - // SourceStrategyOptions contains additional source-strategy specific options for the build + // sourceStrategyOptions contains additional source-strategy specific options for the build optional SourceStrategyOptions sourceStrategyOptions = 10; } @@ -510,7 +510,7 @@ message BuildStatus { // logSnippet is the last few lines of the build log. This value is only set for builds that failed. optional string logSnippet = 12; - // Conditions represents the latest available observations of a build's current state. + // conditions represents the latest available observations of a build's current state. // +patchMergeKey=type // +patchStrategy=merge repeated BuildCondition conditions = 13; @@ -550,7 +550,7 @@ message BuildStrategy { // customStrategy holds the parameters to the Custom build strategy optional CustomBuildStrategy customStrategy = 4; - // JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. + // jenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. // Deprecated: use OpenShift Pipelines optional JenkinsPipelineBuildStrategy jenkinsPipelineStrategy = 5; } @@ -567,7 +567,7 @@ message BuildTriggerCause { // genericWebHook holds data about a builds generic webhook trigger. optional GenericWebHookCause genericWebHook = 2; - // gitHubWebHook represents data for a GitHub webhook that fired a + // githubWebHook represents data for a GitHub webhook that fired a // specific build. optional GitHubWebHookCause githubWebHook = 3; @@ -575,11 +575,11 @@ message BuildTriggerCause { // that triggered a new build. optional ImageChangeCause imageChangeBuild = 4; - // GitLabWebHook represents data for a GitLab webhook that fired a specific + // gitlabWebHook represents data for a GitLab webhook that fired a specific // build. optional GitLabWebHookCause gitlabWebHook = 5; - // BitbucketWebHook represents data for a Bitbucket webhook that fired a + // bitbucketWebHook represents data for a Bitbucket webhook that fired a // specific build. optional BitbucketWebHookCause bitbucketWebHook = 6; } @@ -743,10 +743,10 @@ message CommonSpec { // causes into struct so we can share it in the specific causes; it is too late for // GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket. message CommonWebHookCause { - // Revision is the git source revision information of the trigger. + // revision is the git source revision information of the trigger. optional SourceRevision revision = 1; - // Secret is the obfuscated webhook secret that triggered a build. + // secret is the obfuscated webhook secret that triggered a build. optional string secret = 2; } @@ -884,7 +884,7 @@ message GenericWebHookEvent { // ValueFrom is not supported. repeated .k8s.io.api.core.v1.EnvVar env = 3; - // DockerStrategyOptions contains additional docker-strategy specific options for the build + // dockerStrategyOptions contains additional docker-strategy specific options for the build optional DockerStrategyOptions dockerStrategyOptions = 4; } @@ -918,7 +918,7 @@ message GitInfo { optional GitSourceRevision gitSourceRevision = 2; - // Refs is a list of GitRefs for the provided repo - generally sent + // refs is a list of GitRefs for the provided repo - generally sent // when used from a post-receive hook. This field is optional and is // used when sending multiple refs repeated GitRefInfo refs = 3; @@ -1061,12 +1061,12 @@ message ImageStreamTagReference { // JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. // Deprecated: use OpenShift Pipelines message JenkinsPipelineBuildStrategy { - // JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline + // jenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline // relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are // both not specified, this defaults to Jenkinsfile in the root of the specified contextDir. optional string jenkinsfilePath = 1; - // Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. + // jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. optional string jenkinsfile = 2; // env contains additional environment variables you want to pass into a build pipeline. @@ -1115,7 +1115,7 @@ message SecretBuildSource { // SecretLocalReference contains information that points to the local secret being used message SecretLocalReference { - // Name is the name of the resource in the same namespace being referenced + // name is the name of the resource in the same namespace being referenced optional string name = 1; } @@ -1176,7 +1176,7 @@ message SourceRevision { // +k8s:conversion-gen=false optional string type = 1; - // Git contains information about git-based build source + // git contains information about git-based build source optional GitSourceRevision git = 2; } diff --git a/vendor/github.com/openshift/api/build/v1/types.go b/vendor/github.com/openshift/api/build/v1/types.go index ba836aad81..12bf67db1a 100644 --- a/vendor/github.com/openshift/api/build/v1/types.go +++ b/vendor/github.com/openshift/api/build/v1/types.go @@ -116,7 +116,7 @@ type BuildTriggerCause struct { // genericWebHook holds data about a builds generic webhook trigger. GenericWebHook *GenericWebHookCause `json:"genericWebHook,omitempty" protobuf:"bytes,2,opt,name=genericWebHook"` - // gitHubWebHook represents data for a GitHub webhook that fired a + // githubWebHook represents data for a GitHub webhook that fired a //specific build. GitHubWebHook *GitHubWebHookCause `json:"githubWebHook,omitempty" protobuf:"bytes,3,opt,name=githubWebHook"` @@ -124,11 +124,11 @@ type BuildTriggerCause struct { // that triggered a new build. ImageChangeBuild *ImageChangeCause `json:"imageChangeBuild,omitempty" protobuf:"bytes,4,opt,name=imageChangeBuild"` - // GitLabWebHook represents data for a GitLab webhook that fired a specific + // gitlabWebHook represents data for a GitLab webhook that fired a specific // build. GitLabWebHook *GitLabWebHookCause `json:"gitlabWebHook,omitempty" protobuf:"bytes,5,opt,name=gitlabWebHook"` - // BitbucketWebHook represents data for a Bitbucket webhook that fired a + // bitbucketWebHook represents data for a Bitbucket webhook that fired a // specific build. BitbucketWebHook *BitbucketWebHookCause `json:"bitbucketWebHook,omitempty" protobuf:"bytes,6,opt,name=bitbucketWebHook"` } @@ -158,10 +158,10 @@ type GitHubWebHookCause struct { // causes into struct so we can share it in the specific causes; it is too late for // GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket. type CommonWebHookCause struct { - // Revision is the git source revision information of the trigger. + // revision is the git source revision information of the trigger. Revision *SourceRevision `json:"revision,omitempty" protobuf:"bytes,1,opt,name=revision"` - // Secret is the obfuscated webhook secret that triggered a build. + // secret is the obfuscated webhook secret that triggered a build. Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` } @@ -237,7 +237,7 @@ type BuildStatus struct { // logSnippet is the last few lines of the build log. This value is only set for builds that failed. LogSnippet string `json:"logSnippet,omitempty" protobuf:"bytes,12,opt,name=logSnippet"` - // Conditions represents the latest available observations of a build's current state. + // conditions represents the latest available observations of a build's current state. // +patchMergeKey=type // +patchStrategy=merge Conditions []BuildCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,13,rep,name=conditions"` @@ -358,9 +358,9 @@ type BuildConditionType string // BuildCondition describes the state of a build at a certain point. type BuildCondition struct { - // Type of build condition. + // type of build condition. Type BuildConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildConditionType"` - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/kubernetes/pkg/api/v1.ConditionStatus"` // The last time this condition was updated. LastUpdateTime metav1.Time `json:"lastUpdateTime,omitempty" protobuf:"bytes,6,opt,name=lastUpdateTime"` @@ -562,7 +562,7 @@ type SourceRevision struct { // +k8s:conversion-gen=false Type BuildSourceType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=BuildSourceType"` - // Git contains information about git-based build source + // git contains information about git-based build source Git *GitSourceRevision `json:"git,omitempty" protobuf:"bytes,2,opt,name=git"` } @@ -632,7 +632,7 @@ type BuildStrategy struct { // customStrategy holds the parameters to the Custom build strategy CustomStrategy *CustomBuildStrategy `json:"customStrategy,omitempty" protobuf:"bytes,4,opt,name=customStrategy"` - // JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. + // jenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. // Deprecated: use OpenShift Pipelines JenkinsPipelineStrategy *JenkinsPipelineBuildStrategy `json:"jenkinsPipelineStrategy,omitempty" protobuf:"bytes,5,opt,name=jenkinsPipelineStrategy"` } @@ -801,12 +801,12 @@ type SourceBuildStrategy struct { // JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. // Deprecated: use OpenShift Pipelines type JenkinsPipelineBuildStrategy struct { - // JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline + // jenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline // relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are // both not specified, this defaults to Jenkinsfile in the root of the specified contextDir. JenkinsfilePath string `json:"jenkinsfilePath,omitempty" protobuf:"bytes,1,opt,name=jenkinsfilePath"` - // Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. + // jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build. Jenkinsfile string `json:"jenkinsfile,omitempty" protobuf:"bytes,2,opt,name=jenkinsfile"` // env contains additional environment variables you want to pass into a build pipeline. @@ -911,7 +911,7 @@ type BuildOutput struct { // the build unless Namespace is specified. To *corev1.ObjectReference `json:"to,omitempty" protobuf:"bytes,1,opt,name=to"` - // PushSecret is the name of a Secret that would be used for setting + // pushSecret is the name of a Secret that would be used for setting // up the authentication for executing the Docker push to authentication // enabled Docker Registry (or Docker Hub). PushSecret *corev1.LocalObjectReference `json:"pushSecret,omitempty" protobuf:"bytes,2,opt,name=pushSecret"` @@ -964,7 +964,7 @@ type BuildConfigSpec struct { // +optional Triggers []BuildTriggerPolicy `json:"triggers,omitempty" protobuf:"bytes,1,rep,name=triggers"` - // RunPolicy describes how the new build created from this build + // runPolicy describes how the new build created from this build // configuration will be scheduled for execution. // This is optional, if not specified we default to "Serial". RunPolicy BuildRunPolicy `json:"runPolicy,omitempty" protobuf:"bytes,2,opt,name=runPolicy,casttype=BuildRunPolicy"` @@ -1007,7 +1007,7 @@ type BuildConfigStatus struct { // lastVersion is used to inform about number of last triggered build. LastVersion int64 `json:"lastVersion" protobuf:"varint,1,opt,name=lastVersion"` - // ImageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, + // imageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, // including the value reconciled by the OpenShift APIServer for the lastTriggeredImageID. There is a single entry // in this array for each image change trigger in spec. Each trigger status references the ImageStreamTag that acts as the source of the trigger. ImageChangeTriggers []ImageChangeTriggerStatus `json:"imageChangeTriggers,omitempty" protobuf:"bytes,2,rep,name=imageChangeTriggers"` @@ -1015,7 +1015,7 @@ type BuildConfigStatus struct { // SecretLocalReference contains information that points to the local secret being used type SecretLocalReference struct { - // Name is the name of the resource in the same namespace being referenced + // name is the name of the resource in the same namespace being referenced Name string `json:"name" protobuf:"bytes,1,opt,name=name"` } @@ -1203,7 +1203,7 @@ type GenericWebHookEvent struct { // ValueFrom is not supported. Env []corev1.EnvVar `json:"env,omitempty" protobuf:"bytes,3,rep,name=env"` - // DockerStrategyOptions contains additional docker-strategy specific options for the build + // dockerStrategyOptions contains additional docker-strategy specific options for the build DockerStrategyOptions *DockerStrategyOptions `json:"dockerStrategyOptions,omitempty" protobuf:"bytes,4,opt,name=dockerStrategyOptions"` } @@ -1212,7 +1212,7 @@ type GitInfo struct { GitBuildSource `json:",inline" protobuf:"bytes,1,opt,name=gitBuildSource"` GitSourceRevision `json:",inline" protobuf:"bytes,2,opt,name=gitSourceRevision"` - // Refs is a list of GitRefs for the provided repo - generally sent + // refs is a list of GitRefs for the provided repo - generally sent // when used from a post-receive hook. This field is optional and is // used when sending multiple refs Refs []GitRefInfo `json:"refs" protobuf:"bytes,3,rep,name=refs"` @@ -1287,10 +1287,10 @@ type BuildRequest struct { // build configuration and contains information about those triggers. TriggeredBy []BuildTriggerCause `json:"triggeredBy,omitempty" protobuf:"bytes,8,rep,name=triggeredBy"` - // DockerStrategyOptions contains additional docker-strategy specific options for the build + // dockerStrategyOptions contains additional docker-strategy specific options for the build DockerStrategyOptions *DockerStrategyOptions `json:"dockerStrategyOptions,omitempty" protobuf:"bytes,9,opt,name=dockerStrategyOptions"` - // SourceStrategyOptions contains additional source-strategy specific options for the build + // sourceStrategyOptions contains additional source-strategy specific options for the build SourceStrategyOptions *SourceStrategyOptions `json:"sourceStrategyOptions,omitempty" protobuf:"bytes,10,opt,name=sourceStrategyOptions"` } @@ -1368,7 +1368,7 @@ type BuildLogOptions struct { // slightly more or slightly less than the specified limit. LimitBytes *int64 `json:"limitBytes,omitempty" protobuf:"varint,8,opt,name=limitBytes"` - // noWait if true causes the call to return immediately even if the build + // nowait if true causes the call to return immediately even if the build // is not available yet. Otherwise the server will wait until the build has started. // TODO: Fix the tag to 'noWait' in v2 NoWait bool `json:"nowait,omitempty" protobuf:"varint,9,opt,name=nowait"` diff --git a/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go index 72ff507b7d..1da7843537 100644 --- a/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/build/v1/zz_generated.swagger_doc_generated.go @@ -57,8 +57,8 @@ func (Build) SwaggerDoc() map[string]string { var map_BuildCondition = map[string]string{ "": "BuildCondition describes the state of a build at a certain point.", - "type": "Type of build condition.", - "status": "Status of the condition, one of True, False, Unknown.", + "type": "type of build condition.", + "status": "status of the condition, one of True, False, Unknown.", "lastUpdateTime": "The last time this condition was updated.", "lastTransitionTime": "The last time the condition transitioned from one status to another.", "reason": "The reason for the condition's last transition.", @@ -93,7 +93,7 @@ func (BuildConfigList) SwaggerDoc() map[string]string { var map_BuildConfigSpec = map[string]string{ "": "BuildConfigSpec describes when and how builds are created", "triggers": "triggers determine how new Builds can be launched from a BuildConfig. If no triggers are defined, a new build can only occur as a result of an explicit client build creation.", - "runPolicy": "RunPolicy describes how the new build created from this build configuration will be scheduled for execution. This is optional, if not specified we default to \"Serial\".", + "runPolicy": "runPolicy describes how the new build created from this build configuration will be scheduled for execution. This is optional, if not specified we default to \"Serial\".", "successfulBuildsHistoryLimit": "successfulBuildsHistoryLimit is the number of old successful builds to retain. When a BuildConfig is created, the 5 most recent successful builds are retained unless this value is set. If removed after the BuildConfig has been created, all successful builds are retained.", "failedBuildsHistoryLimit": "failedBuildsHistoryLimit is the number of old failed builds to retain. When a BuildConfig is created, the 5 most recent failed builds are retained unless this value is set. If removed after the BuildConfig has been created, all failed builds are retained.", } @@ -105,7 +105,7 @@ func (BuildConfigSpec) SwaggerDoc() map[string]string { var map_BuildConfigStatus = map[string]string{ "": "BuildConfigStatus contains current state of the build config object.", "lastVersion": "lastVersion is used to inform about number of last triggered build.", - "imageChangeTriggers": "ImageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, including the value reconciled by the OpenShift APIServer for the lastTriggeredImageID. There is a single entry in this array for each image change trigger in spec. Each trigger status references the ImageStreamTag that acts as the source of the trigger.", + "imageChangeTriggers": "imageChangeTriggers captures the runtime state of any ImageChangeTrigger specified in the BuildConfigSpec, including the value reconciled by the OpenShift APIServer for the lastTriggeredImageID. There is a single entry in this array for each image change trigger in spec. Each trigger status references the ImageStreamTag that acts as the source of the trigger.", } func (BuildConfigStatus) SwaggerDoc() map[string]string { @@ -140,7 +140,7 @@ var map_BuildLogOptions = map[string]string{ "timestamps": "timestamps, If true, add an RFC3339 or RFC3339Nano timestamp at the beginning of every line of log output. Defaults to false.", "tailLines": "tailLines, If set, is the number of lines from the end of the logs to show. If not specified, logs are shown from the creation of the container or sinceSeconds or sinceTime", "limitBytes": "limitBytes, If set, is the number of bytes to read from the server before terminating the log output. This may not display a complete final line of logging, and may return slightly more or slightly less than the specified limit.", - "nowait": "noWait if true causes the call to return immediately even if the build is not available yet. Otherwise the server will wait until the build has started.", + "nowait": "nowait if true causes the call to return immediately even if the build is not available yet. Otherwise the server will wait until the build has started.", "version": "version of the build for which to view logs.", "insecureSkipTLSVerifyBackend": "insecureSkipTLSVerifyBackend indicates that the apiserver should not confirm the validity of the serving certificate of the backend it is connecting to. This will make the HTTPS connection between the apiserver and the backend insecure. This means the apiserver cannot verify the log data it is receiving came from the real kubelet. If the kubelet is configured to verify the apiserver's TLS credentials, it does not mean the connection to the real kubelet is vulnerable to a man in the middle attack (e.g. an attacker could not intercept the actual log data coming from the real kubelet).", } @@ -152,7 +152,7 @@ func (BuildLogOptions) SwaggerDoc() map[string]string { var map_BuildOutput = map[string]string{ "": "BuildOutput is input to a build strategy and describes the container image that the strategy should produce.", "to": "to defines an optional location to push the output of this build to. Kind must be one of 'ImageStreamTag' or 'DockerImage'. This value will be used to look up a container image repository to push to. In the case of an ImageStreamTag, the ImageStreamTag will be looked for in the namespace of the build unless Namespace is specified.", - "pushSecret": "PushSecret is the name of a Secret that would be used for setting up the authentication for executing the Docker push to authentication enabled Docker Registry (or Docker Hub).", + "pushSecret": "pushSecret is the name of a Secret that would be used for setting up the authentication for executing the Docker push to authentication enabled Docker Registry (or Docker Hub).", "imageLabels": "imageLabels define a list of labels that are applied to the resulting image. If there are multiple labels with the same name then the last one in the list is used.", } @@ -181,8 +181,8 @@ var map_BuildRequest = map[string]string{ "lastVersion": "lastVersion (optional) is the LastVersion of the BuildConfig that was used to generate the build. If the BuildConfig in the generator doesn't match, a build will not be generated.", "env": "env contains additional environment variables you want to pass into a builder container.", "triggeredBy": "triggeredBy describes which triggers started the most recent update to the build configuration and contains information about those triggers.", - "dockerStrategyOptions": "DockerStrategyOptions contains additional docker-strategy specific options for the build", - "sourceStrategyOptions": "SourceStrategyOptions contains additional source-strategy specific options for the build", + "dockerStrategyOptions": "dockerStrategyOptions contains additional docker-strategy specific options for the build", + "sourceStrategyOptions": "sourceStrategyOptions contains additional source-strategy specific options for the build", } func (BuildRequest) SwaggerDoc() map[string]string { @@ -229,7 +229,7 @@ var map_BuildStatus = map[string]string{ "output": "output describes the container image the build has produced.", "stages": "stages contains details about each stage that occurs during the build including start time, duration (in milliseconds), and the steps that occured within each stage.", "logSnippet": "logSnippet is the last few lines of the build log. This value is only set for builds that failed.", - "conditions": "Conditions represents the latest available observations of a build's current state.", + "conditions": "conditions represents the latest available observations of a build's current state.", } func (BuildStatus) SwaggerDoc() map[string]string { @@ -260,7 +260,7 @@ var map_BuildStrategy = map[string]string{ "dockerStrategy": "dockerStrategy holds the parameters to the container image build strategy.", "sourceStrategy": "sourceStrategy holds the parameters to the Source build strategy.", "customStrategy": "customStrategy holds the parameters to the Custom build strategy", - "jenkinsPipelineStrategy": "JenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. Deprecated: use OpenShift Pipelines", + "jenkinsPipelineStrategy": "jenkinsPipelineStrategy holds the parameters to the Jenkins Pipeline build strategy. Deprecated: use OpenShift Pipelines", } func (BuildStrategy) SwaggerDoc() map[string]string { @@ -271,10 +271,10 @@ var map_BuildTriggerCause = map[string]string{ "": "BuildTriggerCause holds information about a triggered build. It is used for displaying build trigger data for each build and build configuration in oc describe. It is also used to describe which triggers led to the most recent update in the build configuration.", "message": "message is used to store a human readable message for why the build was triggered. E.g.: \"Manually triggered by user\", \"Configuration change\",etc.", "genericWebHook": "genericWebHook holds data about a builds generic webhook trigger.", - "githubWebHook": "gitHubWebHook represents data for a GitHub webhook that fired a specific build.", + "githubWebHook": "githubWebHook represents data for a GitHub webhook that fired a specific build.", "imageChangeBuild": "imageChangeBuild stores information about an imagechange event that triggered a new build.", - "gitlabWebHook": "GitLabWebHook represents data for a GitLab webhook that fired a specific build.", - "bitbucketWebHook": "BitbucketWebHook represents data for a Bitbucket webhook that fired a specific build.", + "gitlabWebHook": "gitlabWebHook represents data for a GitLab webhook that fired a specific build.", + "bitbucketWebHook": "bitbucketWebHook represents data for a Bitbucket webhook that fired a specific build.", } func (BuildTriggerCause) SwaggerDoc() map[string]string { @@ -347,8 +347,8 @@ func (CommonSpec) SwaggerDoc() map[string]string { var map_CommonWebHookCause = map[string]string{ "": "CommonWebHookCause factors out the identical format of these webhook causes into struct so we can share it in the specific causes; it is too late for GitHub and Generic but we can leverage this pattern with GitLab and Bitbucket.", - "revision": "Revision is the git source revision information of the trigger.", - "secret": "Secret is the obfuscated webhook secret that triggered a build.", + "revision": "revision is the git source revision information of the trigger.", + "secret": "secret is the obfuscated webhook secret that triggered a build.", } func (CommonWebHookCause) SwaggerDoc() map[string]string { @@ -422,7 +422,7 @@ var map_GenericWebHookEvent = map[string]string{ "type": "type is the type of source repository", "git": "git is the git information if the Type is BuildSourceGit", "env": "env contains additional environment variables you want to pass into a builder container. ValueFrom is not supported.", - "dockerStrategyOptions": "DockerStrategyOptions contains additional docker-strategy specific options for the build", + "dockerStrategyOptions": "dockerStrategyOptions contains additional docker-strategy specific options for the build", } func (GenericWebHookEvent) SwaggerDoc() map[string]string { @@ -451,7 +451,7 @@ func (GitHubWebHookCause) SwaggerDoc() map[string]string { var map_GitInfo = map[string]string{ "": "GitInfo is the aggregated git information for a generic webhook post", - "refs": "Refs is a list of GitRefs for the provided repo - generally sent when used from a post-receive hook. This field is optional and is used when sending multiple refs", + "refs": "refs is a list of GitRefs for the provided repo - generally sent when used from a post-receive hook. This field is optional and is used when sending multiple refs", } func (GitInfo) SwaggerDoc() map[string]string { @@ -562,8 +562,8 @@ func (ImageStreamTagReference) SwaggerDoc() map[string]string { var map_JenkinsPipelineBuildStrategy = map[string]string{ "": "JenkinsPipelineBuildStrategy holds parameters specific to a Jenkins Pipeline build. Deprecated: use OpenShift Pipelines", - "jenkinsfilePath": "JenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to Jenkinsfile in the root of the specified contextDir.", - "jenkinsfile": "Jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build.", + "jenkinsfilePath": "jenkinsfilePath is the optional path of the Jenkinsfile that will be used to configure the pipeline relative to the root of the context (contextDir). If both JenkinsfilePath & Jenkinsfile are both not specified, this defaults to Jenkinsfile in the root of the specified contextDir.", + "jenkinsfile": "jenkinsfile defines the optional raw contents of a Jenkinsfile which defines a Jenkins pipeline build.", "env": "env contains additional environment variables you want to pass into a build pipeline.", } @@ -594,7 +594,7 @@ func (SecretBuildSource) SwaggerDoc() map[string]string { var map_SecretLocalReference = map[string]string{ "": "SecretLocalReference contains information that points to the local secret being used", - "name": "Name is the name of the resource in the same namespace being referenced", + "name": "name is the name of the resource in the same namespace being referenced", } func (SecretLocalReference) SwaggerDoc() map[string]string { @@ -639,7 +639,7 @@ func (SourceControlUser) SwaggerDoc() map[string]string { var map_SourceRevision = map[string]string{ "": "SourceRevision is the revision or commit information from the source for the build", "type": "type of the build source, may be one of 'Source', 'Dockerfile', 'Binary', or 'Images'", - "git": "Git contains information about git-based build source", + "git": "git contains information about git-based build source", } func (SourceRevision) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/cloudnetwork/v1/generated.proto b/vendor/github.com/openshift/api/cloudnetwork/v1/generated.proto index 085b49b25e..328de7c5a2 100644 --- a/vendor/github.com/openshift/api/cloudnetwork/v1/generated.proto +++ b/vendor/github.com/openshift/api/cloudnetwork/v1/generated.proto @@ -40,12 +40,10 @@ message CloudPrivateIPConfig { optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // spec is the definition of the desired private IP request. - // +kubebuilder:validation:Required // +required optional CloudPrivateIPConfigSpec spec = 2; // status is the observed status of the desired private IP request. Read-only. - // +kubebuilder:validation:Optional // +optional optional CloudPrivateIPConfigStatus status = 3; } @@ -68,7 +66,6 @@ message CloudPrivateIPConfigList { // +k8s:openapi-gen=true message CloudPrivateIPConfigSpec { // node is the node name, as specified by the Kubernetes field: node.metadata.name - // +kubebuilder:validation:Optional // +optional optional string node = 1; } @@ -77,12 +74,10 @@ message CloudPrivateIPConfigSpec { // +k8s:openapi-gen=true message CloudPrivateIPConfigStatus { // node is the node name, as specified by the Kubernetes field: node.metadata.name - // +kubebuilder:validation:Optional // +optional optional string node = 1; // condition is the assignment condition of the private IP and its status - // +kubebuilder:validation:Required // +required repeated .k8s.io.apimachinery.pkg.apis.meta.v1.Condition conditions = 2; } diff --git a/vendor/github.com/openshift/api/cloudnetwork/v1/types.go b/vendor/github.com/openshift/api/cloudnetwork/v1/types.go index 4c19e44c3f..de27f8eb60 100644 --- a/vendor/github.com/openshift/api/cloudnetwork/v1/types.go +++ b/vendor/github.com/openshift/api/cloudnetwork/v1/types.go @@ -33,11 +33,9 @@ type CloudPrivateIPConfig struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // spec is the definition of the desired private IP request. - // +kubebuilder:validation:Required // +required Spec CloudPrivateIPConfigSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` // status is the observed status of the desired private IP request. Read-only. - // +kubebuilder:validation:Optional // +optional Status CloudPrivateIPConfigStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } @@ -46,7 +44,6 @@ type CloudPrivateIPConfig struct { // +k8s:openapi-gen=true type CloudPrivateIPConfigSpec struct { // node is the node name, as specified by the Kubernetes field: node.metadata.name - // +kubebuilder:validation:Optional // +optional Node string `json:"node" protobuf:"bytes,1,opt,name=node"` } @@ -55,11 +52,9 @@ type CloudPrivateIPConfigSpec struct { // +k8s:openapi-gen=true type CloudPrivateIPConfigStatus struct { // node is the node name, as specified by the Kubernetes field: node.metadata.name - // +kubebuilder:validation:Optional // +optional Node string `json:"node" protobuf:"bytes,1,opt,name=node"` // condition is the assignment condition of the private IP and its status - // +kubebuilder:validation:Required // +required Conditions []metav1.Condition `json:"conditions" protobuf:"bytes,2,rep,name=conditions"` } diff --git a/vendor/github.com/openshift/api/config/v1/types.go b/vendor/github.com/openshift/api/config/v1/types.go index d4d09e7fee..3e17ca0ccb 100644 --- a/vendor/github.com/openshift/api/config/v1/types.go +++ b/vendor/github.com/openshift/api/config/v1/types.go @@ -9,7 +9,7 @@ import ( // The namespace must be specified at the point of use. type ConfigMapFileReference struct { Name string `json:"name"` - // Key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references. + // key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references. Key string `json:"key,omitempty"` } @@ -17,7 +17,6 @@ type ConfigMapFileReference struct { // The namespace must be specified at the point of use. type ConfigMapNameReference struct { // name is the metadata.name of the referenced config map - // +kubebuilder:validation:Required // +required Name string `json:"name"` } @@ -26,7 +25,6 @@ type ConfigMapNameReference struct { // The namespace must be specified at the point of use. type SecretNameReference struct { // name is the metadata.name of the referenced secret - // +kubebuilder:validation:Required // +required Name string `json:"name"` } @@ -35,47 +33,47 @@ type SecretNameReference struct { type HTTPServingInfo struct { // ServingInfo is the HTTP serving information ServingInfo `json:",inline"` - // MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. + // maxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. MaxRequestsInFlight int64 `json:"maxRequestsInFlight"` - // RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if + // requestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if // -1 there is no limit on requests. RequestTimeoutSeconds int64 `json:"requestTimeoutSeconds"` } // ServingInfo holds information about serving web pages type ServingInfo struct { - // BindAddress is the ip:port to serve on + // bindAddress is the ip:port to serve on BindAddress string `json:"bindAddress"` - // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // bindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", // "tcp4", and "tcp6" BindNetwork string `json:"bindNetwork"` // CertInfo is the TLS cert info for serving secure traffic. // this is anonymous so that we can inline it for serialization CertInfo `json:",inline"` - // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates + // clientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates // +optional ClientCA string `json:"clientCA,omitempty"` - // NamedCertificates is a list of certificates to use to secure requests to specific hostnames + // namedCertificates is a list of certificates to use to secure requests to specific hostnames NamedCertificates []NamedCertificate `json:"namedCertificates,omitempty"` - // MinTLSVersion is the minimum TLS version supported. + // minTLSVersion is the minimum TLS version supported. // Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants MinTLSVersion string `json:"minTLSVersion,omitempty"` - // CipherSuites contains an overridden list of ciphers for the server to support. + // cipherSuites contains an overridden list of ciphers for the server to support. // Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants CipherSuites []string `json:"cipherSuites,omitempty"` } // CertInfo relates a certificate with a private key type CertInfo struct { - // CertFile is a file containing a PEM-encoded certificate + // certFile is a file containing a PEM-encoded certificate CertFile string `json:"certFile"` - // KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile + // keyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile KeyFile string `json:"keyFile"` } // NamedCertificate specifies a certificate/key, and the names it should be served for type NamedCertificate struct { - // Names is a list of DNS names this certificate should be used to secure + // names is a list of DNS names this certificate should be used to secure // A name can be a normal DNS name, or can contain leading wildcard segments. Names []string `json:"names,omitempty"` // CertInfo is the TLS cert info for serving secure traffic @@ -121,24 +119,24 @@ type StringSource struct { // StringSourceSpec specifies a string value, or external location type StringSourceSpec struct { - // Value specifies the cleartext value, or an encrypted value if keyFile is specified. + // value specifies the cleartext value, or an encrypted value if keyFile is specified. Value string `json:"value"` - // Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. + // env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. Env string `json:"env"` - // File references a file containing the cleartext value, or an encrypted value if a keyFile is specified. + // file references a file containing the cleartext value, or an encrypted value if a keyFile is specified. File string `json:"file"` - // KeyFile references a file containing the key to use to decrypt the value. + // keyFile references a file containing the key to use to decrypt the value. KeyFile string `json:"keyFile"` } // RemoteConnectionInfo holds information necessary for establishing a remote connection type RemoteConnectionInfo struct { - // URL is the remote URL to connect to + // url is the remote URL to connect to URL string `json:"url"` - // CA is the CA for verifying TLS connections + // ca is the CA for verifying TLS connections CA string `json:"ca"` // CertInfo is the TLS client cert information to present // this is anonymous so that we can inline it for serialization @@ -160,11 +158,11 @@ type AdmissionConfig struct { // AdmissionPluginConfig holds the necessary configuration options for admission plugins type AdmissionPluginConfig struct { - // Location is the path to a configuration file that contains the plugin's + // location is the path to a configuration file that contains the plugin's // configuration Location string `json:"location"` - // Configuration is an embedded configuration object to be used as the plugin's + // configuration is an embedded configuration object to be used as the plugin's // configuration. If present, it will be used instead of the path to the configuration file. // +nullable // +kubebuilder:pruning:PreserveUnknownFields @@ -205,9 +203,9 @@ type AuditConfig struct { // Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB. MaximumFileSizeMegabytes int32 `json:"maximumFileSizeMegabytes"` - // PolicyFile is a path to the file that defines the audit policy configuration. + // policyFile is a path to the file that defines the audit policy configuration. PolicyFile string `json:"policyFile"` - // PolicyConfiguration is an embedded policy configuration object to be used + // policyConfiguration is an embedded policy configuration object to be used // as the audit policy configuration. If present, it will be used instead of // the path to the policy file. // +nullable @@ -225,9 +223,9 @@ type AuditConfig struct { // EtcdConnectionInfo holds information necessary for connecting to an etcd server type EtcdConnectionInfo struct { - // URLs are the URLs for etcd + // urls are the URLs for etcd URLs []string `json:"urls,omitempty"` - // CA is a file containing trusted roots for the etcd server certificates + // ca is a file containing trusted roots for the etcd server certificates CA string `json:"ca"` // CertInfo is the TLS client cert information for securing communication to etcd // this is anonymous so that we can inline it for serialization @@ -237,7 +235,7 @@ type EtcdConnectionInfo struct { type EtcdStorageConfig struct { EtcdConnectionInfo `json:",inline"` - // StoragePrefix is the path within etcd that the OpenShift resources will + // storagePrefix is the path within etcd that the OpenShift resources will // be rooted under. This value, if changed, will mean existing objects in etcd will // no longer be located. StoragePrefix string `json:"storagePrefix"` @@ -287,7 +285,7 @@ type ClientConnectionOverrides struct { // GenericControllerConfig provides information to configure a controller type GenericControllerConfig struct { - // ServingInfo is the HTTP serving information for the controller's endpoints + // servingInfo is the HTTP serving information for the controller's endpoints ServingInfo HTTPServingInfo `json:"servingInfo"` // leaderElection provides information to elect a leader. Only override this if you have a specific need @@ -324,7 +322,6 @@ type RequiredHSTSPolicy struct { // The use of wildcards is allowed like this: *.foo.com matches everything under foo.com. // foo.com only matches foo.com, so to cover foo.com and everything under it, you must specify *both*. // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:Required // +required DomainPatterns []string `json:"domainPatterns"` diff --git a/vendor/github.com/openshift/api/config/v1/types_apiserver.go b/vendor/github.com/openshift/api/config/v1/types_apiserver.go index d815556d28..75b647f745 100644 --- a/vendor/github.com/openshift/api/config/v1/types_apiserver.go +++ b/vendor/github.com/openshift/api/config/v1/types_apiserver.go @@ -27,7 +27,6 @@ type APIServer struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec APIServerSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -129,7 +128,6 @@ type Audit struct { type AuditCustomRule struct { // group is a name of group a request user must be member of in order to this profile to apply. // - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Group string `json:"group"` @@ -146,7 +144,6 @@ type AuditCustomRule struct { // // If unset, the 'Default' profile is used as the default. // - // +kubebuilder:validation:Required // +required Profile AuditProfileType `json:"profile,omitempty"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_authentication.go b/vendor/github.com/openshift/api/config/v1/types_authentication.go index f6f0c12a3b..65dffddb00 100644 --- a/vendor/github.com/openshift/api/config/v1/types_authentication.go +++ b/vendor/github.com/openshift/api/config/v1/types_authentication.go @@ -26,7 +26,6 @@ type Authentication struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec AuthenticationSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -81,7 +80,7 @@ type AuthenticationSpec struct { // +optional ServiceAccountIssuer string `json:"serviceAccountIssuer"` - // OIDCProviders are OIDC identity providers that can issue tokens + // oidcProviders are OIDC identity providers that can issue tokens // for this cluster // Can only be set if "Type" is set to "OIDC". // @@ -110,7 +109,7 @@ type AuthenticationStatus struct { // The namespace for this config map is openshift-config-managed. IntegratedOAuthMetadata ConfigMapNameReference `json:"integratedOAuthMetadata"` - // OIDCClients is where participating operators place the current OIDC client status + // oidcClients is where participating operators place the current OIDC client status // for OIDC clients that can be customized by the cluster-admin. // // +listType=map @@ -181,7 +180,6 @@ type WebhookTokenAuthenticator struct { // The key "kubeConfig" is used to locate the data. // If the secret or expected key is not found, the webhook is not honored. // If the specified kube config data is not valid, the webhook is not honored. - // +kubebuilder:validation:Required // +required KubeConfig SecretNameReference `json:"kubeConfig"` } @@ -195,19 +193,17 @@ const ( ) type OIDCProvider struct { - // Name of the OIDC provider + // name of the OIDC provider // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required Name string `json:"name"` - // Issuer describes atributes of the OIDC token issuer + // issuer describes atributes of the OIDC token issuer // - // +kubebuilder:validation:Required // +required Issuer TokenIssuer `json:"issuer"` - // OIDCClients contains configuration for the platform's clients that + // oidcClients contains configuration for the platform's clients that // need to request tokens from the issuer // // +listType=map @@ -216,11 +212,11 @@ type OIDCProvider struct { // +kubebuilder:validation:MaxItems=20 OIDCClients []OIDCClientConfig `json:"oidcClients"` - // ClaimMappings describes rules on how to transform information from an + // claimMappings describes rules on how to transform information from an // ID token into a cluster identity ClaimMappings TokenClaimMappings `json:"claimMappings"` - // ClaimValidationRules are rules that are applied to validate token claims to authenticate users. + // claimValidationRules are rules that are applied to validate token claims to authenticate users. // // +listType=atomic ClaimValidationRules []TokenClaimValidationRule `json:"claimValidationRules,omitempty"` @@ -234,17 +230,15 @@ type TokenIssuer struct { // Must use the https:// scheme. // // +kubebuilder:validation:Pattern=`^https:\/\/[^\s]` - // +kubebuilder:validation:Required // +required URL string `json:"issuerURL"` - // Audiences is an array of audiences that the token was issued for. + // audiences is an array of audiences that the token was issued for. // Valid tokens must include at least one of these values in their // "aud" claim. // Must be set to exactly one value. // // +listType=set - // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=10 // +required @@ -258,94 +252,88 @@ type TokenIssuer struct { } type TokenClaimMappings struct { - // Username is a name of the claim that should be used to construct + // username is a name of the claim that should be used to construct // usernames for the cluster identity. // // Default value: "sub" Username UsernameClaimMapping `json:"username,omitempty"` - // Groups is a name of the claim that should be used to construct + // groups is a name of the claim that should be used to construct // groups for the cluster identity. // The referenced claim must use array of strings values. Groups PrefixedClaimMapping `json:"groups,omitempty"` } type TokenClaimMapping struct { - // Claim is a JWT token claim to be used in the mapping + // claim is a JWT token claim to be used in the mapping // - // +kubebuilder:validation:Required // +required Claim string `json:"claim"` } type OIDCClientConfig struct { - // ComponentName is the name of the component that is supposed to consume this + // componentName is the name of the component that is supposed to consume this // client configuration // // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 - // +kubebuilder:validation:Required // +required ComponentName string `json:"componentName"` - // ComponentNamespace is the namespace of the component that is supposed to consume this + // componentNamespace is the namespace of the component that is supposed to consume this // client configuration // // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 - // +kubebuilder:validation:Required // +required ComponentNamespace string `json:"componentNamespace"` - // ClientID is the identifier of the OIDC client from the OIDC provider + // clientID is the identifier of the OIDC client from the OIDC provider // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required ClientID string `json:"clientID"` - // ClientSecret refers to a secret in the `openshift-config` namespace that + // clientSecret refers to a secret in the `openshift-config` namespace that // contains the client secret in the `clientSecret` key of the `.data` field ClientSecret SecretNameReference `json:"clientSecret"` - // ExtraScopes is an optional set of scopes to request tokens with. + // extraScopes is an optional set of scopes to request tokens with. // // +listType=set ExtraScopes []string `json:"extraScopes"` } type OIDCClientStatus struct { - // ComponentName is the name of the component that will consume a client configuration. + // componentName is the name of the component that will consume a client configuration. // // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 - // +kubebuilder:validation:Required // +required ComponentName string `json:"componentName"` - // ComponentNamespace is the namespace of the component that will consume a client configuration. + // componentNamespace is the namespace of the component that will consume a client configuration. // // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 - // +kubebuilder:validation:Required // +required ComponentNamespace string `json:"componentNamespace"` - // CurrentOIDCClients is a list of clients that the component is currently using. + // currentOIDCClients is a list of clients that the component is currently using. // // +listType=map // +listMapKey=issuerURL // +listMapKey=clientID CurrentOIDCClients []OIDCClientReference `json:"currentOIDCClients"` - // ConsumingUsers is a slice of ServiceAccounts that need to have read + // consumingUsers is a slice of ServiceAccounts that need to have read // permission on the `clientSecret` secret. // // +kubebuilder:validation:MaxItems=5 // +listType=set ConsumingUsers []ConsumingUser `json:"consumingUsers"` - // Conditions are used to communicate the state of the `oidcClients` entry. + // conditions are used to communicate the state of the `oidcClients` entry. // // Supported conditions include Available, Degraded and Progressing. // @@ -362,7 +350,6 @@ type OIDCClientReference struct { // OIDCName refers to the `name` of the provider from `oidcProviders` // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required OIDCProviderName string `json:"oidcProviderName"` @@ -370,14 +357,12 @@ type OIDCClientReference struct { // Must use the https:// scheme. // // +kubebuilder:validation:Pattern=`^https:\/\/[^\s]` - // +kubebuilder:validation:Required // +required IssuerURL string `json:"issuerURL"` - // ClientID is the identifier of the OIDC client from the OIDC provider + // clientID is the identifier of the OIDC client from the OIDC provider // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required ClientID string `json:"clientID"` } @@ -386,7 +371,7 @@ type OIDCClientReference struct { type UsernameClaimMapping struct { TokenClaimMapping `json:",inline"` - // PrefixPolicy specifies how a prefix should apply. + // prefixPolicy specifies how a prefix should apply. // // By default, claims other than `email` will be prefixed with the issuer URL to // prevent naming clashes with other plugins. @@ -427,7 +412,6 @@ var ( ) type UsernamePrefix struct { - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required PrefixString string `json:"prefixString"` @@ -436,7 +420,7 @@ type UsernamePrefix struct { type PrefixedClaimMapping struct { TokenClaimMapping `json:",inline"` - // Prefix is a string to prefix the value from the token in the result of the + // prefix is a string to prefix the value from the token in the result of the // claim mapping. // // By default, no prefixing occurs. @@ -454,30 +438,28 @@ const ( ) type TokenClaimValidationRule struct { - // Type sets the type of the validation rule + // type sets the type of the validation rule // // +kubebuilder:validation:Enum={"RequiredClaim"} // +kubebuilder:default="RequiredClaim" Type TokenValidationRuleType `json:"type"` - // RequiredClaim allows configuring a required claim name and its expected + // requiredClaim allows configuring a required claim name and its expected // value RequiredClaim *TokenRequiredClaim `json:"requiredClaim"` } type TokenRequiredClaim struct { - // Claim is a name of a required claim. Only claims with string values are + // claim is a name of a required claim. Only claims with string values are // supported. // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required Claim string `json:"claim"` - // RequiredValue is the required value for the claim. + // requiredValue is the required value for the claim. // // +kubebuilder:validation:MinLength=1 - // +kubebuilder:validation:Required // +required RequiredValue string `json:"requiredValue"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_build.go b/vendor/github.com/openshift/api/config/v1/types_build.go index dad47666db..dcde1fc5b8 100644 --- a/vendor/github.com/openshift/api/config/v1/types_build.go +++ b/vendor/github.com/openshift/api/config/v1/types_build.go @@ -29,14 +29,13 @@ type Build struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // Spec holds user-settable values for the build controller configuration - // +kubebuilder:validation:Required + // spec holds user-settable values for the build controller configuration // +required Spec BuildSpec `json:"spec"` } type BuildSpec struct { - // AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that + // additionalTrustedCA is a reference to a ConfigMap containing additional CAs that // should be trusted for image pushes and pulls during builds. // The namespace for this config map is openshift-config. // @@ -45,16 +44,16 @@ type BuildSpec struct { // // +optional AdditionalTrustedCA ConfigMapNameReference `json:"additionalTrustedCA"` - // BuildDefaults controls the default information for Builds + // buildDefaults controls the default information for Builds // +optional BuildDefaults BuildDefaults `json:"buildDefaults"` - // BuildOverrides controls override settings for builds + // buildOverrides controls override settings for builds // +optional BuildOverrides BuildOverrides `json:"buildOverrides"` } type BuildDefaults struct { - // DefaultProxy contains the default proxy settings for all build operations, including image pull/push + // defaultProxy contains the default proxy settings for all build operations, including image pull/push // and source download. // // Values can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables @@ -62,55 +61,55 @@ type BuildDefaults struct { // +optional DefaultProxy *ProxySpec `json:"defaultProxy,omitempty"` - // GitProxy contains the proxy settings for git operations only. If set, this will override + // gitProxy contains the proxy settings for git operations only. If set, this will override // any Proxy settings for all git commands, such as git clone. // // Values that are not set here will be inherited from DefaultProxy. // +optional GitProxy *ProxySpec `json:"gitProxy,omitempty"` - // Env is a set of default environment variables that will be applied to the + // env is a set of default environment variables that will be applied to the // build if the specified variables do not exist on the build // +optional Env []corev1.EnvVar `json:"env,omitempty"` - // ImageLabels is a list of docker labels that are applied to the resulting image. + // imageLabels is a list of docker labels that are applied to the resulting image. // User can override a default label by providing a label with the same name in their // Build/BuildConfig. // +optional ImageLabels []ImageLabel `json:"imageLabels,omitempty"` - // Resources defines resource requirements to execute the build. + // resources defines resource requirements to execute the build. // +optional Resources corev1.ResourceRequirements `json:"resources"` } type ImageLabel struct { - // Name defines the name of the label. It must have non-zero length. + // name defines the name of the label. It must have non-zero length. Name string `json:"name"` - // Value defines the literal value of the label. + // value defines the literal value of the label. // +optional Value string `json:"value,omitempty"` } type BuildOverrides struct { - // ImageLabels is a list of docker labels that are applied to the resulting image. + // imageLabels is a list of docker labels that are applied to the resulting image. // If user provided a label in their Build/BuildConfig with the same name as one in this // list, the user's label will be overwritten. // +optional ImageLabels []ImageLabel `json:"imageLabels,omitempty"` - // NodeSelector is a selector which must be true for the build pod to fit on a node + // nodeSelector is a selector which must be true for the build pod to fit on a node // +optional NodeSelector map[string]string `json:"nodeSelector,omitempty"` - // Tolerations is a list of Tolerations that will override any existing + // tolerations is a list of Tolerations that will override any existing // tolerations set on a build pod. // +optional Tolerations []corev1.Toleration `json:"tolerations,omitempty"` - // ForcePull overrides, if set, the equivalent value in the builds, + // forcePull overrides, if set, the equivalent value in the builds, // i.e. false disables force pull for all builds, // true enables force pull for all builds, // independently of what each build specifies itself diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go index 7951762ccd..4a6823640d 100644 --- a/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_operator.go @@ -34,7 +34,6 @@ type ClusterOperator struct { metav1.ObjectMeta `json:"metadata"` // spec holds configuration that could apply to any operator. - // +kubebuilder:validation:Required // +required Spec ClusterOperatorSpec `json:"spec"` @@ -80,14 +79,12 @@ type ClusterOperatorStatus struct { type OperandVersion struct { // name is the name of the particular operand this version is for. It usually matches container images, not operators. - // +kubebuilder:validation:Required // +required Name string `json:"name"` // version indicates which version of a particular operand is currently being managed. It must always match the Available // operand. If 1.0.0 is Available, then this must indicate 1.0.0 even if the operator is trying to rollout // 1.1.0 - // +kubebuilder:validation:Required // +required Version string `json:"version"` } @@ -95,18 +92,15 @@ type OperandVersion struct { // ObjectReference contains enough information to let you inspect or modify the referred object. type ObjectReference struct { // group of the referent. - // +kubebuilder:validation:Required // +required Group string `json:"group"` // resource of the referent. - // +kubebuilder:validation:Required // +required Resource string `json:"resource"` // namespace of the referent. // +optional Namespace string `json:"namespace,omitempty"` // name of the referent. - // +kubebuilder:validation:Required // +required Name string `json:"name"` } @@ -128,17 +122,14 @@ const ( // +k8s:deepcopy-gen=true type ClusterOperatorStatusCondition struct { // type specifies the aspect reported by this condition. - // +kubebuilder:validation:Required // +required Type ClusterStatusConditionType `json:"type"` // status of the condition, one of True, False, Unknown. - // +kubebuilder:validation:Required // +required Status ConditionStatus `json:"status"` // lastTransitionTime is the time of the last update to the current status property. - // +kubebuilder:validation:Required // +required LastTransitionTime metav1.Time `json:"lastTransitionTime"` diff --git a/vendor/github.com/openshift/api/config/v1/types_cluster_version.go b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go index 61386a72e4..8994ca97cd 100644 --- a/vendor/github.com/openshift/api/config/v1/types_cluster_version.go +++ b/vendor/github.com/openshift/api/config/v1/types_cluster_version.go @@ -34,7 +34,6 @@ type ClusterVersion struct { // spec is the desired state of the cluster version - the operator will work // to ensure that the desired version is applied to the cluster. - // +kubebuilder:validation:Required // +required Spec ClusterVersionSpec `json:"spec"` // status contains information about the available updates and any in-progress @@ -51,7 +50,6 @@ type ClusterVersionSpec struct { // clusterID uniquely identifies this cluster. This is expected to be // an RFC4122 UUID value (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx in // hexadecimal values). This is a required field. - // +kubebuilder:validation:Required // +required ClusterID ClusterID `json:"clusterID"` @@ -138,7 +136,6 @@ type ClusterVersionStatus struct { // desired is the version that the cluster is reconciling towards. // If the cluster is not yet fully initialized desired will be set // with the information available, which may be an image or a tag. - // +kubebuilder:validation:Required // +required Desired Release `json:"desired"` @@ -156,14 +153,12 @@ type ClusterVersionStatus struct { // observedGeneration reports which version of the spec is being synced. // If this value is not equal to metadata.generation, then the desired // and conditions fields may represent a previous version. - // +kubebuilder:validation:Required // +required ObservedGeneration int64 `json:"observedGeneration"` // versionHash is a fingerprint of the content that the cluster will be // updated with. It is used by the operator to avoid unnecessary work // and is for internal use only. - // +kubebuilder:validation:Required // +required VersionHash string `json:"versionHash"` @@ -190,7 +185,6 @@ type ClusterVersionStatus struct { // may be empty if no updates are recommended, if the update service // is unavailable, or if an invalid channel has been specified. // +nullable - // +kubebuilder:validation:Required // +listType=atomic // +required AvailableUpdates []Release `json:"availableUpdates"` @@ -226,12 +220,10 @@ type UpdateHistory struct { // indicates the update is not fully applied, while the Completed state // indicates the update was successfully rolled out at least once (all // parts of the update successfully applied). - // +kubebuilder:validation:Required // +required State UpdateState `json:"state"` // startedTime is the time at which the update was started. - // +kubebuilder:validation:Required // +required StartedTime metav1.Time `json:"startedTime"` @@ -239,7 +231,6 @@ type UpdateHistory struct { // that is currently being applied will have a null completion time. // Completion time will always be set for entries that are not the current // update (usually to the started time of the next update). - // +kubebuilder:validation:Required // +required // +nullable CompletionTime *metav1.Time `json:"completionTime"` @@ -253,7 +244,6 @@ type UpdateHistory struct { // image is a container image location that contains the update. This value // is always populated. - // +kubebuilder:validation:Required // +required Image string `json:"image"` @@ -261,7 +251,6 @@ type UpdateHistory struct { // before it was installed. If this is false the cluster may not be trusted. // Verified does not cover upgradeable checks that depend on the cluster // state at the time when the update target was accepted. - // +kubebuilder:validation:Required // +required Verified bool `json:"verified"` @@ -288,7 +277,7 @@ const ( ) // ClusterVersionCapability enumerates optional, core cluster components. -// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential;Ingress;CloudControllerManager +// +kubebuilder:validation:Enum=openshift-samples;baremetal;marketplace;Console;Insights;Storage;CSISnapshot;NodeTuning;MachineAPI;Build;DeploymentConfig;ImageRegistry;OperatorLifecycleManager;CloudCredential;Ingress;CloudControllerManager;OperatorLifecycleManagerV1 type ClusterVersionCapability string const ( @@ -379,10 +368,14 @@ const ( // allows to distribute Docker images ClusterVersionCapabilityImageRegistry ClusterVersionCapability = "ImageRegistry" - // ClusterVersionCapabilityOperatorLifecycleManager manages the Operator Lifecycle Manager + // ClusterVersionCapabilityOperatorLifecycleManager manages the Operator Lifecycle Manager (legacy) // which itself manages the lifecycle of operators ClusterVersionCapabilityOperatorLifecycleManager ClusterVersionCapability = "OperatorLifecycleManager" + // ClusterVersionCapabilityOperatorLifecycleManagerV1 manages the Operator Lifecycle Manager (v1) + // which itself manages the lifecycle of operators + ClusterVersionCapabilityOperatorLifecycleManagerV1 ClusterVersionCapability = "OperatorLifecycleManagerV1" + // ClusterVersionCapabilityCloudCredential manages credentials for cloud providers // in openshift cluster ClusterVersionCapabilityCloudCredential ClusterVersionCapability = "CloudCredential" @@ -422,6 +415,7 @@ var KnownClusterVersionCapabilities = []ClusterVersionCapability{ ClusterVersionCapabilityDeploymentConfig, ClusterVersionCapabilityImageRegistry, ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, @@ -600,6 +594,7 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers ClusterVersionCapabilityDeploymentConfig, ClusterVersionCapabilityImageRegistry, ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, @@ -618,6 +613,7 @@ var ClusterVersionCapabilitySets = map[ClusterVersionCapabilitySet][]ClusterVers ClusterVersionCapabilityDeploymentConfig, ClusterVersionCapabilityImageRegistry, ClusterVersionCapabilityOperatorLifecycleManager, + ClusterVersionCapabilityOperatorLifecycleManagerV1, ClusterVersionCapabilityCloudCredential, ClusterVersionCapabilityIngress, ClusterVersionCapabilityCloudControllerManager, @@ -664,28 +660,23 @@ type ClusterVersionCapabilitiesStatus struct { // +k8s:deepcopy-gen=true type ComponentOverride struct { // kind indentifies which object to override. - // +kubebuilder:validation:Required // +required Kind string `json:"kind"` // group identifies the API group that the kind is in. - // +kubebuilder:validation:Required // +required Group string `json:"group"` // namespace is the component's namespace. If the resource is cluster // scoped, the namespace should be empty. - // +kubebuilder:validation:Required // +required Namespace string `json:"namespace"` // name is the component's name. - // +kubebuilder:validation:Required // +required Name string `json:"name"` // unmanaged controls if cluster version operator should stop managing the // resources in this cluster. // Default: false - // +kubebuilder:validation:Required // +required Unmanaged bool `json:"unmanaged"` } @@ -694,8 +685,8 @@ type ComponentOverride struct { type URL string // Update represents an administrator update request. -// +kubebuilder:validation:XValidation:rule="has(self.architecture) && has(self.image) ? (self.architecture == '' || self.image == '') : true",message="cannot set both Architecture and Image" -// +kubebuilder:validation:XValidation:rule="has(self.architecture) && self.architecture != '' ? self.version != '' : true",message="Version must be set if Architecture is set" +// +kubebuilder:validation:XValidation:rule="has(self.architecture) && has(self.image) ? (self.architecture == \"\" || self.image == \"\") : true",message="cannot set both Architecture and Image" +// +kubebuilder:validation:XValidation:rule="has(self.architecture) && self.architecture != \"\" ? self.version != \"\" : true",message="Version must be set if Architecture is set" // +k8s:deepcopy-gen=true type Update struct { // architecture is an optional field that indicates the desired @@ -739,6 +730,16 @@ type Update struct { // Release represents an OpenShift release image and associated metadata. // +k8s:deepcopy-gen=true type Release struct { + // architecture is an optional field that indicates the + // value of the cluster architecture. In this context cluster + // architecture means either a single architecture or a multi + // architecture. + // Valid values are 'Multi' and empty. + // + // +openshift:enable:FeatureGate=ImageStreamImportMode + // +optional + Architecture ClusterVersionArchitecture `json:"architecture,omitempty"` + // version is a semantic version identifying the update version. When this // field is part of spec, version is optional if image is specified. // +required @@ -776,7 +777,6 @@ const RetrievedUpdates ClusterStatusConditionType = "RetrievedUpdates" // may not be recommended for the current cluster. type ConditionalUpdate struct { // release is the target of the update. - // +kubebuilder:validation:Required // +required Release Release `json:"release"` @@ -785,7 +785,6 @@ type ConditionalUpdate struct { // operator will evaluate all entries, and only recommend the // update if there is at least one entry and all entries // recommend the update. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +patchMergeKey=name // +patchStrategy=merge @@ -809,7 +808,6 @@ type ConditionalUpdate struct { // +k8s:deepcopy-gen=true type ConditionalUpdateRisk struct { // url contains information about this risk. - // +kubebuilder:validation:Required // +kubebuilder:validation:Format=uri // +kubebuilder:validation:MinLength=1 // +required @@ -818,7 +816,6 @@ type ConditionalUpdateRisk struct { // name is the CamelCase reason for not recommending a // conditional update, in the event that matchingRules match the // cluster state. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Name string `json:"name"` @@ -828,7 +825,6 @@ type ConditionalUpdateRisk struct { // state. This is only to be consumed by humans. It may // contain Line Feed characters (U+000A), which should be // rendered as new lines. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Message string `json:"message"` @@ -839,7 +835,6 @@ type ConditionalUpdateRisk struct { // operator will walk the slice in order, and stop after the // first it can successfully evaluate. If no condition can be // successfully evaluated, the update will not be recommended. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +listType=atomic // +required @@ -854,24 +849,22 @@ type ConditionalUpdateRisk struct { type ClusterCondition struct { // type represents the cluster-condition type. This defines // the members and semantics of any additional properties. - // +kubebuilder:validation:Required // +kubebuilder:validation:Enum={"Always","PromQL"} // +required Type string `json:"type"` - // promQL represents a cluster condition based on PromQL. + // promql represents a cluster condition based on PromQL. // +optional PromQL *PromQLClusterCondition `json:"promql,omitempty"` } // PromQLClusterCondition represents a cluster condition based on PromQL. type PromQLClusterCondition struct { - // PromQL is a PromQL query classifying clusters. This query + // promql is a PromQL query classifying clusters. This query // query should return a 1 in the match case and a 0 in the // does-not-match case. Queries which return no time // series, or which return values besides 0 or 1, are // evaluation failures. - // +kubebuilder:validation:Required // +required PromQL string `json:"promql"` } @@ -900,7 +893,7 @@ type SignatureStore struct { // // +kubebuilder:validation:Type=string // +kubebuilder:validation:XValidation:rule="isURL(self)",message="url must be a valid absolute URL" - // +kubebuilder:validation:Required + // +required URL string `json:"url"` // ca is an optional reference to a config map by name containing the PEM-encoded CA bundle. diff --git a/vendor/github.com/openshift/api/config/v1/types_console.go b/vendor/github.com/openshift/api/config/v1/types_console.go index e8f197b344..0ccc4a8f85 100644 --- a/vendor/github.com/openshift/api/config/v1/types_console.go +++ b/vendor/github.com/openshift/api/config/v1/types_console.go @@ -28,7 +28,6 @@ type Console struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ConsoleSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. diff --git a/vendor/github.com/openshift/api/config/v1/types_dns.go b/vendor/github.com/openshift/api/config/v1/types_dns.go index 5daa5d78d2..06eb75ccf7 100644 --- a/vendor/github.com/openshift/api/config/v1/types_dns.go +++ b/vendor/github.com/openshift/api/config/v1/types_dns.go @@ -24,7 +24,6 @@ type DNS struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec DNSSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -121,7 +120,7 @@ type DNSPlatformSpec struct { // and must handle unrecognized platforms with best-effort defaults. // // +unionDiscriminator - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:XValidation:rule="self in ['','AWS']",message="allowed values are '' and 'AWS'" Type PlatformType `json:"type"` diff --git a/vendor/github.com/openshift/api/config/v1/types_feature.go b/vendor/github.com/openshift/api/config/v1/types_feature.go index 88d94ac527..81bc14f2c7 100644 --- a/vendor/github.com/openshift/api/config/v1/types_feature.go +++ b/vendor/github.com/openshift/api/config/v1/types_feature.go @@ -26,7 +26,6 @@ type FeatureGate struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required // +kubebuilder:validation:XValidation:rule="has(oldSelf.featureSet) ? has(self.featureSet) : true",message=".spec.featureSet cannot be removed" Spec FeatureGateSpec `json:"spec"` @@ -117,7 +116,6 @@ type FeatureGateStatus struct { type FeatureGateDetails struct { // version matches the version provided by the ClusterVersion and in the ClusterOperator.Status.Versions field. - // +kubebuilder:validation:Required // +required Version string `json:"version"` // enabled is a list of all feature gates that are enabled in the cluster for the named version. @@ -130,7 +128,7 @@ type FeatureGateDetails struct { type FeatureGateAttributes struct { // name is the name of the FeatureGate. - // +kubebuilder:validation:Required + // +required Name FeatureGateName `json:"name"` // possible (probable?) future additions include diff --git a/vendor/github.com/openshift/api/config/v1/types_image.go b/vendor/github.com/openshift/api/config/v1/types_image.go index d3c694a56f..3db935c7fe 100644 --- a/vendor/github.com/openshift/api/config/v1/types_image.go +++ b/vendor/github.com/openshift/api/config/v1/types_image.go @@ -29,7 +29,6 @@ type Image struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ImageSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. diff --git a/vendor/github.com/openshift/api/config/v1/types_image_content_policy.go b/vendor/github.com/openshift/api/config/v1/types_image_content_policy.go index 74df4027f9..0bd0d77705 100644 --- a/vendor/github.com/openshift/api/config/v1/types_image_content_policy.go +++ b/vendor/github.com/openshift/api/config/v1/types_image_content_policy.go @@ -25,7 +25,6 @@ type ImageContentPolicy struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ImageContentPolicySpec `json:"spec"` } @@ -76,7 +75,6 @@ type ImageContentPolicyList struct { type RepositoryDigestMirrors struct { // source is the repository that users refer to, e.g. in image pull specifications. // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^(([a-zA-Z]|[a-zA-Z][a-zA-Z0-9\-]*[a-zA-Z0-9])\.)*([A-Za-z]|[A-Za-z][A-Za-z0-9\-]*[A-Za-z0-9])(:[0-9]+)?(\/[^\/:\n]+)*(\/[^\/:\n]+((:[^\/:\n]+)|(@[^\n]+)))?$` Source string `json:"source"` // allowMirrorByTags if true, the mirrors can be used to pull the images that are referenced by their tags. Default is false, the mirrors only work when pulling the images that are referenced by their digests. diff --git a/vendor/github.com/openshift/api/config/v1/types_image_digest_mirror_set.go b/vendor/github.com/openshift/api/config/v1/types_image_digest_mirror_set.go index 43d748c0c3..df2258d12f 100644 --- a/vendor/github.com/openshift/api/config/v1/types_image_digest_mirror_set.go +++ b/vendor/github.com/openshift/api/config/v1/types_image_digest_mirror_set.go @@ -25,7 +25,6 @@ type ImageDigestMirrorSet struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ImageDigestMirrorSetSpec `json:"spec"` // status contains the observed state of the resource. @@ -110,7 +109,6 @@ type ImageDigestMirrors struct { // for more information about the format, see the document about the location field: // https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md#choosing-a-registry-toml-table // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^\*(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+$|^((?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(?::[0-9]+)?)(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?$` Source string `json:"source"` // mirrors is zero or more locations that may also contain the same images. No mirror will be configured if not specified. diff --git a/vendor/github.com/openshift/api/config/v1/types_image_tag_mirror_set.go b/vendor/github.com/openshift/api/config/v1/types_image_tag_mirror_set.go index ca8d35515e..b7e1a6a873 100644 --- a/vendor/github.com/openshift/api/config/v1/types_image_tag_mirror_set.go +++ b/vendor/github.com/openshift/api/config/v1/types_image_tag_mirror_set.go @@ -25,7 +25,6 @@ type ImageTagMirrorSet struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ImageTagMirrorSetSpec `json:"spec"` // status contains the observed state of the resource. @@ -95,7 +94,6 @@ type ImageTagMirrors struct { // for more information about the format, see the document about the location field: // https://github.com/containers/image/blob/main/docs/containers-registries.conf.5.md#choosing-a-registry-toml-table // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^\*(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+$|^((?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9])(?:(?:\.(?:[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9-]*[a-zA-Z0-9]))+)?(?::[0-9]+)?)(?:(?:/[a-z0-9]+(?:(?:(?:[._]|__|[-]*)[a-z0-9]+)+)?)+)?$` Source string `json:"source"` // mirrors is zero or more locations that may also contain the same images. No mirror will be configured if not specified. diff --git a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go index 0daa62d309..bd0ed64945 100644 --- a/vendor/github.com/openshift/api/config/v1/types_infrastructure.go +++ b/vendor/github.com/openshift/api/config/v1/types_infrastructure.go @@ -27,7 +27,6 @@ type Infrastructure struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec InfrastructureSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -257,7 +256,7 @@ const ( // ExternalPlatformSpec holds the desired state for the generic External infrastructure provider. type ExternalPlatformSpec struct { - // PlatformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time. + // platformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time. // This field is solely for informational and reporting purposes and is not expected to be used for decision-making. // +kubebuilder:default:="Unknown" // +default="Unknown" @@ -283,55 +282,55 @@ type PlatformSpec struct { // +unionDiscriminator Type PlatformType `json:"type"` - // AWS contains settings specific to the Amazon Web Services infrastructure provider. + // aws contains settings specific to the Amazon Web Services infrastructure provider. // +optional AWS *AWSPlatformSpec `json:"aws,omitempty"` - // Azure contains settings specific to the Azure infrastructure provider. + // azure contains settings specific to the Azure infrastructure provider. // +optional Azure *AzurePlatformSpec `json:"azure,omitempty"` - // GCP contains settings specific to the Google Cloud Platform infrastructure provider. + // gcp contains settings specific to the Google Cloud Platform infrastructure provider. // +optional GCP *GCPPlatformSpec `json:"gcp,omitempty"` - // BareMetal contains settings specific to the BareMetal platform. + // baremetal contains settings specific to the BareMetal platform. // +optional BareMetal *BareMetalPlatformSpec `json:"baremetal,omitempty"` - // OpenStack contains settings specific to the OpenStack infrastructure provider. + // openstack contains settings specific to the OpenStack infrastructure provider. // +optional OpenStack *OpenStackPlatformSpec `json:"openstack,omitempty"` - // Ovirt contains settings specific to the oVirt infrastructure provider. + // ovirt contains settings specific to the oVirt infrastructure provider. // +optional Ovirt *OvirtPlatformSpec `json:"ovirt,omitempty"` - // VSphere contains settings specific to the VSphere infrastructure provider. + // vsphere contains settings specific to the VSphere infrastructure provider. // +optional VSphere *VSpherePlatformSpec `json:"vsphere,omitempty"` - // IBMCloud contains settings specific to the IBMCloud infrastructure provider. + // ibmcloud contains settings specific to the IBMCloud infrastructure provider. // +optional IBMCloud *IBMCloudPlatformSpec `json:"ibmcloud,omitempty"` - // Kubevirt contains settings specific to the kubevirt infrastructure provider. + // kubevirt contains settings specific to the kubevirt infrastructure provider. // +optional Kubevirt *KubevirtPlatformSpec `json:"kubevirt,omitempty"` - // EquinixMetal contains settings specific to the Equinix Metal infrastructure provider. + // equinixMetal contains settings specific to the Equinix Metal infrastructure provider. // +optional EquinixMetal *EquinixMetalPlatformSpec `json:"equinixMetal,omitempty"` - // PowerVS contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider. + // powervs contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider. // +optional PowerVS *PowerVSPlatformSpec `json:"powervs,omitempty"` - // AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. + // alibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. // +optional AlibabaCloud *AlibabaCloudPlatformSpec `json:"alibabaCloud,omitempty"` - // Nutanix contains settings specific to the Nutanix infrastructure provider. + // nutanix contains settings specific to the Nutanix infrastructure provider. // +optional Nutanix *NutanixPlatformSpec `json:"nutanix,omitempty"` @@ -401,59 +400,59 @@ type PlatformStatus struct { // Currently this value cannot be changed once set. Type PlatformType `json:"type"` - // AWS contains settings specific to the Amazon Web Services infrastructure provider. + // aws contains settings specific to the Amazon Web Services infrastructure provider. // +optional AWS *AWSPlatformStatus `json:"aws,omitempty"` - // Azure contains settings specific to the Azure infrastructure provider. + // azure contains settings specific to the Azure infrastructure provider. // +optional Azure *AzurePlatformStatus `json:"azure,omitempty"` - // GCP contains settings specific to the Google Cloud Platform infrastructure provider. + // gcp contains settings specific to the Google Cloud Platform infrastructure provider. // +optional GCP *GCPPlatformStatus `json:"gcp,omitempty"` - // BareMetal contains settings specific to the BareMetal platform. + // baremetal contains settings specific to the BareMetal platform. // +optional BareMetal *BareMetalPlatformStatus `json:"baremetal,omitempty"` - // OpenStack contains settings specific to the OpenStack infrastructure provider. + // openstack contains settings specific to the OpenStack infrastructure provider. // +optional OpenStack *OpenStackPlatformStatus `json:"openstack,omitempty"` - // Ovirt contains settings specific to the oVirt infrastructure provider. + // ovirt contains settings specific to the oVirt infrastructure provider. // +optional Ovirt *OvirtPlatformStatus `json:"ovirt,omitempty"` - // VSphere contains settings specific to the VSphere infrastructure provider. + // vsphere contains settings specific to the VSphere infrastructure provider. // +optional VSphere *VSpherePlatformStatus `json:"vsphere,omitempty"` - // IBMCloud contains settings specific to the IBMCloud infrastructure provider. + // ibmcloud contains settings specific to the IBMCloud infrastructure provider. // +optional IBMCloud *IBMCloudPlatformStatus `json:"ibmcloud,omitempty"` - // Kubevirt contains settings specific to the kubevirt infrastructure provider. + // kubevirt contains settings specific to the kubevirt infrastructure provider. // +optional Kubevirt *KubevirtPlatformStatus `json:"kubevirt,omitempty"` - // EquinixMetal contains settings specific to the Equinix Metal infrastructure provider. + // equinixMetal contains settings specific to the Equinix Metal infrastructure provider. // +optional EquinixMetal *EquinixMetalPlatformStatus `json:"equinixMetal,omitempty"` - // PowerVS contains settings specific to the Power Systems Virtual Servers infrastructure provider. + // powervs contains settings specific to the Power Systems Virtual Servers infrastructure provider. // +optional PowerVS *PowerVSPlatformStatus `json:"powervs,omitempty"` - // AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. + // alibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider. // +optional AlibabaCloud *AlibabaCloudPlatformStatus `json:"alibabaCloud,omitempty"` - // Nutanix contains settings specific to the Nutanix infrastructure provider. + // nutanix contains settings specific to the Nutanix infrastructure provider. // +optional Nutanix *NutanixPlatformStatus `json:"nutanix,omitempty"` - // External contains settings specific to the generic External infrastructure provider. + // external contains settings specific to the generic External infrastructure provider. // +optional External *ExternalPlatformStatus `json:"external,omitempty"` } @@ -492,7 +491,7 @@ type AWSPlatformStatus struct { // region holds the default AWS region for new AWS resources created by the cluster. Region string `json:"region"` - // ServiceEndpoints list contains custom endpoints which will override default + // serviceEndpoints list contains custom endpoints which will override default // service endpoint of AWS Services. // There must be only one ServiceEndpoint for a service. // +listType=atomic @@ -526,7 +525,6 @@ type AWSPlatformStatus struct { // AWSResourceTag is a tag to apply to AWS resources created for the cluster. type AWSResourceTag struct { // key is the key of the tag - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +kubebuilder:validation:Pattern=`^[0-9A-Za-z_.:/=+-@]+$` @@ -535,7 +533,6 @@ type AWSResourceTag struct { // value is the value of the tag. // Some AWS service do not support empty values. Since tags are added to resources in many services, the // length of the tag value must meet the requirements of all services. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 // +kubebuilder:validation:Pattern=`^[0-9A-Za-z_.:/=+-@]+$` @@ -584,14 +581,14 @@ type AzureResourceTag struct { // key is the key part of the tag. A tag key can have a maximum of 128 characters and cannot be empty. Key // must begin with a letter, end with a letter, number or underscore, and must contain only alphanumeric // characters and the following special characters `_ . -`. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +kubebuilder:validation:Pattern=`^[a-zA-Z]([0-9A-Za-z_.-]*[0-9A-Za-z_])?$` Key string `json:"key"` // value is the value part of the tag. A tag value can have a maximum of 256 characters and cannot be empty. Value // must contain only alphanumeric characters and the following special characters `_ + , - . / : ; < = > ? @`. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 // +kubebuilder:validation:Pattern=`^[0-9A-Za-z_.=+-@]+$` @@ -683,7 +680,7 @@ type GCPResourceLabel struct { // and the following special characters `_-`. Label key must not have the reserved prefixes `kubernetes-io` // and `openshift-io`. // +kubebuilder:validation:XValidation:rule="!self.startsWith('openshift-io') && !self.startsWith('kubernetes-io')",message="label keys must not start with either `openshift-io` or `kubernetes-io`" - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[a-z][0-9a-z_-]{0,62}$` @@ -691,7 +688,7 @@ type GCPResourceLabel struct { // value is the value part of the label. A label value can have a maximum of 63 characters and cannot be empty. // Value must contain only lowercase letters, numeric characters, and the following special characters `_-`. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[0-9a-z_-]{1,63}$` @@ -707,7 +704,7 @@ type GCPResourceTag struct { // An OrganizationID must consist of decimal numbers, and cannot have leading zeroes. // A ProjectID must be 6 to 30 characters in length, can only contain lowercase letters, numbers, // and hyphens, and must start with a letter, and cannot end with a hyphen. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 // +kubebuilder:validation:Pattern=`(^[1-9][0-9]{0,31}$)|(^[a-z][a-z0-9-]{4,28}[a-z0-9]$)` @@ -716,7 +713,7 @@ type GCPResourceTag struct { // key is the key part of the tag. A tag key can have a maximum of 63 characters and cannot be empty. // Tag key must begin and end with an alphanumeric character, and must contain only uppercase, lowercase // alphanumeric characters, and the following special characters `._-`. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([0-9A-Za-z_.-]{0,61}[a-zA-Z0-9])?$` @@ -725,7 +722,7 @@ type GCPResourceTag struct { // value is the value part of the tag. A tag value can have a maximum of 63 characters and cannot be empty. // Tag value must begin and end with an alphanumeric character, and must contain only uppercase, lowercase // alphanumeric characters, and the following special characters `_-.@%=+:,*#&(){}[]` and spaces. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([0-9A-Za-z_.@%=+:,*#&()\[\]{}\-\s]{0,61}[a-zA-Z0-9])?$` @@ -1162,12 +1159,34 @@ type VSpherePlatformLoadBalancer struct { Type PlatformLoadBalancerType `json:"type,omitempty"` } -// VSpherePlatformFailureDomainSpec holds the region and zone failure domain and -// the vCenter topology of that failure domain. +// The VSphereFailureDomainZoneType is a string representation of a failure domain +// zone type. There are two supportable types HostGroup and ComputeCluster +// +enum +type VSphereFailureDomainZoneType string + +// The VSphereFailureDomainRegionType is a string representation of a failure domain +// region type. There are two supportable types ComputeCluster and Datacenter +// +enum +type VSphereFailureDomainRegionType string + +const ( + // HostGroupFailureDomainZone is a failure domain zone for a vCenter vm-host group. + HostGroupFailureDomainZone VSphereFailureDomainZoneType = "HostGroup" + // ComputeClusterFailureDomainZone is a failure domain zone for a vCenter compute cluster. + ComputeClusterFailureDomainZone VSphereFailureDomainZoneType = "ComputeCluster" + // DatacenterFailureDomainRegion is a failure domain region for a vCenter datacenter. + DatacenterFailureDomainRegion VSphereFailureDomainRegionType = "Datacenter" + // ComputeClusterFailureDomainRegion is a failure domain region for a vCenter compute cluster. + ComputeClusterFailureDomainRegion VSphereFailureDomainRegionType = "ComputeCluster" +) + +// VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology of that failure domain. +// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereHostVMGroupZonal,rule="has(self.zoneAffinity) && self.zoneAffinity.type == 'HostGroup' ? has(self.regionAffinity) && self.regionAffinity.type == 'ComputeCluster' : true",message="when zoneAffinity type is HostGroup, regionAffinity type must be ComputeCluster" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=VSphereHostVMGroupZonal,rule="has(self.zoneAffinity) && self.zoneAffinity.type == 'ComputeCluster' ? has(self.regionAffinity) && self.regionAffinity.type == 'Datacenter' : true",message="when zoneAffinity type is ComputeCluster, regionAffinity type must be Datacenter" type VSpherePlatformFailureDomainSpec struct { // name defines the arbitrary but unique name // of a failure domain. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 Name string `json:"name"` @@ -1177,7 +1196,7 @@ type VSpherePlatformFailureDomainSpec struct { // category in vCenter must be named openshift-region. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=80 - // +kubebuilder:validation:Required + // +required Region string `json:"region"` // zone defines the name of a zone tag that will @@ -1185,19 +1204,34 @@ type VSpherePlatformFailureDomainSpec struct { // category in vCenter must be named openshift-zone. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=80 - // +kubebuilder:validation:Required + // +required Zone string `json:"zone"` + // regionAffinity holds the type of region, Datacenter or ComputeCluster. + // When set to Datacenter, this means the region is a vCenter Datacenter as defined in topology. + // When set to ComputeCluster, this means the region is a vCenter Cluster as defined in topology. + // +openshift:validation:featureGate=VSphereHostVMGroupZonal + // +optional + RegionAffinity *VSphereFailureDomainRegionAffinity `json:"regionAffinity,omitempty"` + + // zoneAffinity holds the type of the zone and the hostGroup which + // vmGroup and the hostGroup names in vCenter corresponds to + // a vm-host group of type Virtual Machine and Host respectively. Is also + // contains the vmHostRule which is an affinity vm-host rule in vCenter. + // +openshift:validation:featureGate=VSphereHostVMGroupZonal + // +optional + ZoneAffinity *VSphereFailureDomainZoneAffinity `json:"zoneAffinity,omitempty"` + // server is the fully-qualified domain name or the IP address of the vCenter server. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 // --- // + Validation is applied via a patch, we validate the format as either ipv4, ipv6 or hostname Server string `json:"server"` - // Topology describes a given failure domain using vSphere constructs - // +kubebuilder:validation:Required + // topology describes a given failure domain using vSphere constructs + // +required Topology VSpherePlatformTopology `json:"topology"` } @@ -1206,7 +1240,7 @@ type VSpherePlatformFailureDomainSpec struct { type VSpherePlatformTopology struct { // datacenter is the name of vCenter datacenter in which virtual machines will be located. // The maximum length of the datacenter name is 80 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=80 Datacenter string `json:"datacenter"` @@ -1214,7 +1248,7 @@ type VSpherePlatformTopology struct { // in which virtual machine will be located. // The absolute path is of the form //host/. // The maximum length of the path is 2048 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=2048 // +kubebuilder:validation:Pattern=`^/.*?/host/.*?` ComputeCluster string `json:"computeCluster"` @@ -1227,7 +1261,7 @@ type VSpherePlatformTopology struct { // `govc ls 'network/*'` // Networks should be in the form of an absolute path: // //network/. - // +kubebuilder:validation:Required + // +required // +openshift:validation:FeatureGateAwareMaxItems:featureGate="",maxItems=1 // +openshift:validation:FeatureGateAwareMaxItems:featureGate=VSphereMultiNetworks,maxItems=10 // +kubebuilder:validation:MinItems=1 @@ -1238,7 +1272,7 @@ type VSpherePlatformTopology struct { // virtual machine is located. // The absolute path is of the form //datastore/ // The maximum length of the path is 2048 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=2048 // +kubebuilder:validation:Pattern=`^/.*?/datastore/.*?` Datastore string `json:"datastore"` @@ -1277,12 +1311,80 @@ type VSpherePlatformTopology struct { Template string `json:"template,omitempty"` } +// VSphereFailureDomainZoneAffinity contains the vCenter cluster vm-host group (virtual machine and host types) +// and the vm-host affinity rule that together creates an affinity configuration for vm-host based zonal. +// This configuration within vCenter creates the required association between a failure domain, virtual machines +// and ESXi hosts to create a vm-host based zone. +// +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'HostGroup' ? has(self.hostGroup) : !has(self.hostGroup)",message="hostGroup is required when type is HostGroup, and forbidden otherwise" +// +union +type VSphereFailureDomainZoneAffinity struct { + // type determines the vSphere object type for a zone within this failure domain. + // Available types are ComputeCluster and HostGroup. + // When set to ComputeCluster, this means the vCenter cluster defined is the zone. + // When set to HostGroup, hostGroup must be configured with hostGroup, vmGroup and vmHostRule and + // this means the zone is defined by the grouping of those fields. + // +kubebuilder:validation:Enum:=HostGroup;ComputeCluster + // +required + // +unionDiscriminator + Type VSphereFailureDomainZoneType `json:"type"` + + // hostGroup holds the vmGroup and the hostGroup names in vCenter + // corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also + // contains the vmHostRule which is an affinity vm-host rule in vCenter. + // +unionMember + // +optional + HostGroup *VSphereFailureDomainHostGroup `json:"hostGroup,omitempty"` +} + +// VSphereFailureDomainRegionAffinity contains the region type which is the string representation of the +// VSphereFailureDomainRegionType with available options of Datacenter and ComputeCluster. +// +union +type VSphereFailureDomainRegionAffinity struct { + // type determines the vSphere object type for a region within this failure domain. + // Available types are Datacenter and ComputeCluster. + // When set to Datacenter, this means the vCenter Datacenter defined is the region. + // When set to ComputeCluster, this means the vCenter cluster defined is the region. + // +kubebuilder:validation:Enum:=ComputeCluster;Datacenter + // +required + // +unionDiscriminator + Type VSphereFailureDomainRegionType `json:"type"` +} + +// VSphereFailureDomainHostGroup holds the vmGroup and the hostGroup names in vCenter +// corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also +// contains the vmHostRule which is an affinity vm-host rule in vCenter. +type VSphereFailureDomainHostGroup struct { + // vmGroup is the name of the vm-host group of type virtual machine within vCenter for this failure domain. + // vmGroup is limited to 80 characters. + // This field is required when the VSphereFailureDomain ZoneType is HostGroup + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=80 + // +required + VMGroup string `json:"vmGroup"` + + // hostGroup is the name of the vm-host group of type host within vCenter for this failure domain. + // hostGroup is limited to 80 characters. + // This field is required when the VSphereFailureDomain ZoneType is HostGroup + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=80 + // +required + HostGroup string `json:"hostGroup"` + + // vmHostRule is the name of the affinity vm-host rule within vCenter for this failure domain. + // vmHostRule is limited to 80 characters. + // This field is required when the VSphereFailureDomain ZoneType is HostGroup + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=80 + // +required + VMHostRule string `json:"vmHostRule"` +} + // VSpherePlatformVCenterSpec stores the vCenter connection fields. // This is used by the vSphere CCM. type VSpherePlatformVCenterSpec struct { // server is the fully-qualified domain name or the IP address of the vCenter server. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=255 // --- // + Validation is applied via a patch, we validate the format as either ipv4, ipv6 or hostname @@ -1303,7 +1405,7 @@ type VSpherePlatformVCenterSpec struct { // be used by the Cloud Controller Manager. // Each datacenter listed here should be used within // a topology. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinItems=1 // +listType=set Datacenters []string `json:"datacenters"` @@ -1504,14 +1606,14 @@ type IBMCloudServiceEndpoint struct { // Whereas the IBM Cloud Private VPC service for US South (Dallas) could be configured // with the service `name` of `VPC` and `url` of `https://us.south.private.iaas.cloud.ibm.com` // - // +kubebuilder:validation:Required + // +required Name IBMCloudServiceName `json:"name"` // url is fully qualified URI with scheme https, that overrides the default generated // endpoint for a client. // This must be provided and cannot be empty. // - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Type=string // +kubebuilder:validation:XValidation:rule="isURL(self)",message="url must be a valid absolute URL" URL string `json:"url"` @@ -1523,20 +1625,20 @@ type IBMCloudPlatformSpec struct{} // IBMCloudPlatformStatus holds the current status of the IBMCloud infrastructure provider. type IBMCloudPlatformStatus struct { - // Location is where the cluster has been deployed + // location is where the cluster has been deployed Location string `json:"location,omitempty"` - // ResourceGroupName is the Resource Group for new IBMCloud resources created for the cluster. + // resourceGroupName is the Resource Group for new IBMCloud resources created for the cluster. ResourceGroupName string `json:"resourceGroupName,omitempty"` - // ProviderType indicates the type of cluster that was created + // providerType indicates the type of cluster that was created ProviderType IBMCloudProviderType `json:"providerType,omitempty"` - // CISInstanceCRN is the CRN of the Cloud Internet Services instance managing + // cisInstanceCRN is the CRN of the Cloud Internet Services instance managing // the DNS zone for the cluster's base domain CISInstanceCRN string `json:"cisInstanceCRN,omitempty"` - // DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone + // dnsInstanceCRN is the CRN of the DNS Services instance managing the DNS zone // for the cluster's base domain DNSInstanceCRN string `json:"dnsInstanceCRN,omitempty"` @@ -1592,15 +1694,15 @@ type PowerVSServiceEndpoint struct { // ResourceController - https://cloud.ibm.com/apidocs/resource-controller/resource-controller // Power Cloud - https://cloud.ibm.com/apidocs/power-cloud // - // +kubebuilder:validation:Required - // +kubebuilder:validation:Pattern=`^[a-z0-9-]+$` + // +required + // +kubebuilder:validation:Enum=CIS;COS;COSConfig;DNSServices;GlobalCatalog;GlobalSearch;GlobalTagging;HyperProtect;IAM;KeyProtect;Power;ResourceController;ResourceManager;VPC Name string `json:"name"` // url is fully qualified URI with scheme https, that overrides the default generated // endpoint for a client. // This must be provided and cannot be empty. // - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Format=uri // +kubebuilder:validation:Pattern=`^https://` @@ -1647,11 +1749,11 @@ type PowerVSPlatformStatus struct { // +optional ServiceEndpoints []PowerVSServiceEndpoint `json:"serviceEndpoints,omitempty"` - // CISInstanceCRN is the CRN of the Cloud Internet Services instance managing + // cisInstanceCRN is the CRN of the Cloud Internet Services instance managing // the DNS zone for the cluster's base domain CISInstanceCRN string `json:"cisInstanceCRN,omitempty"` - // DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone + // dnsInstanceCRN is the CRN of the DNS Services instance managing the DNS zone // for the cluster's base domain DNSInstanceCRN string `json:"dnsInstanceCRN,omitempty"` } @@ -1663,7 +1765,6 @@ type AlibabaCloudPlatformSpec struct{} // AlibabaCloudPlatformStatus holds the current status of the Alibaba Cloud infrastructure provider. type AlibabaCloudPlatformStatus struct { // region specifies the region for Alibaba Cloud resources created for the cluster. - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^[0-9A-Za-z-]+$` // +required Region string `json:"region"` @@ -1682,13 +1783,11 @@ type AlibabaCloudPlatformStatus struct { // AlibabaCloudResourceTag is the set of tags to add to apply to resources. type AlibabaCloudResourceTag struct { // key is the key of the tag. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +required Key string `json:"key"` // value is the value of the tag. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +required @@ -1723,7 +1822,7 @@ type NutanixPlatformSpec struct { // When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy. // Should you wish for communication with this endpoint not to be proxied, please add the endpoint to the // proxy spec.noProxy list. - // +kubebuilder:validation:Required + // +required PrismCentral NutanixPrismEndpoint `json:"prismCentral"` // prismElements holds one or more endpoint address and port data to access the Nutanix @@ -1731,7 +1830,7 @@ type NutanixPlatformSpec struct { // Prism Element (cluster) for an OpenShift cluster, where all the Nutanix resources (VMs, subnets, volumes, etc.) // used in the OpenShift cluster are located. In the future, we may support Nutanix resources (VMs, etc.) // spread over multiple Prism Elements (clusters) of the Prism Central. - // +kubebuilder:validation:Required + // +required // +listType=map // +listMapKey=name PrismElements []NutanixPrismElementEndpoint `json:"prismElements"` @@ -1739,6 +1838,7 @@ type NutanixPlatformSpec struct { // failureDomains configures failure domains information for the Nutanix platform. // When set, the failure domains defined here may be used to spread Machines across // prism element clusters to improve fault tolerance of the cluster. + // +openshift:validation:FeatureGateAwareMaxItems:featureGate=NutanixMultiSubnets,maxItems=32 // +listType=map // +listMapKey=name // +optional @@ -1752,7 +1852,7 @@ type NutanixFailureDomain struct { // It must consist of only lower case alphanumeric characters and hyphens (-). // It must start and end with an alphanumeric character. // This value is arbitrary and is used to identify the failure domain within the platform. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:Pattern=`[a-z0-9]([-a-z0-9]*[a-z0-9])?` @@ -1761,17 +1861,19 @@ type NutanixFailureDomain struct { // cluster is to identify the cluster (the Prism Element under management of the Prism Central), // in which the Machine's VM will be created. The cluster identifier (uuid or name) can be obtained // from the Prism Central console or using the prism_central API. - // +kubebuilder:validation:Required + // +required Cluster NutanixResourceIdentifier `json:"cluster"` // subnets holds a list of identifiers (one or more) of the cluster's network subnets + // If the feature gate NutanixMultiSubnets is enabled, up to 32 subnets may be configured. // for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be // obtained from the Prism Central console or using the prism_central API. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:MaxItems=1 - // +listType=map - // +listMapKey=type + // +openshift:validation:FeatureGateAwareMaxItems:featureGate="",maxItems=1 + // +openshift:validation:FeatureGateAwareMaxItems:featureGate=NutanixMultiSubnets,maxItems=32 + // +openshift:validation:FeatureGateAwareXValidation:featureGate=NutanixMultiSubnets,rule="self.all(x, self.exists_one(y, x == y))",message="each subnet must be unique" + // +listType=atomic Subnets []NutanixResourceIdentifier `json:"subnets"` } @@ -1794,7 +1896,7 @@ const ( type NutanixResourceIdentifier struct { // type is the identifier type to use for this resource. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Type NutanixIdentifierType `json:"type"` // uuid is the UUID of the resource in the PC. It cannot be empty if the type is UUID. @@ -1809,12 +1911,12 @@ type NutanixResourceIdentifier struct { // NutanixPrismEndpoint holds the endpoint address and port to access the Nutanix Prism Central or Element (cluster) type NutanixPrismEndpoint struct { // address is the endpoint address (DNS name or IP address) of the Nutanix Prism Central or Element (cluster) - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=256 Address string `json:"address"` // port is the port number to access the Nutanix Prism Central or Element (cluster) - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 Port int32 `json:"port"` @@ -1824,7 +1926,7 @@ type NutanixPrismEndpoint struct { type NutanixPrismElementEndpoint struct { // name is the name of the Prism Element (cluster). This value will correspond with // the cluster field configured on other resources (eg Machines, PVCs, etc). - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=256 Name string `json:"name"` @@ -1832,7 +1934,7 @@ type NutanixPrismElementEndpoint struct { // When a cluster-wide proxy is installed, by default, this endpoint will be accessed via the proxy. // Should you wish for communication with this endpoint not to be proxied, please add the endpoint to the // proxy spec.noProxy list. - // +kubebuilder:validation:Required + // +required Endpoint NutanixPrismEndpoint `json:"endpoint"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_ingress.go b/vendor/github.com/openshift/api/config/v1/types_ingress.go index 302913a16f..9492e08a72 100644 --- a/vendor/github.com/openshift/api/config/v1/types_ingress.go +++ b/vendor/github.com/openshift/api/config/v1/types_ingress.go @@ -27,7 +27,6 @@ type Ingress struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec IngressSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -150,7 +149,7 @@ type AWSIngressSpec struct { // https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb // +unionDiscriminator // +kubebuilder:validation:Enum:=NLB;Classic - // +kubebuilder:validation:Required + // +required Type AWSLBType `json:"type,omitempty"` } @@ -223,7 +222,6 @@ type ComponentRouteSpec struct { // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 - // +kubebuilder:validation:Required // +required Namespace string `json:"namespace"` @@ -233,12 +231,10 @@ type ComponentRouteSpec struct { // entry in the list of status.componentRoutes if the route is to be customized. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 - // +kubebuilder:validation:Required // +required Name string `json:"name"` // hostname is the hostname that should be used by the route. - // +kubebuilder:validation:Required // +required Hostname Hostname `json:"hostname"` @@ -260,7 +256,6 @@ type ComponentRouteStatus struct { // +kubebuilder:validation:Pattern=^[a-z0-9]([-a-z0-9]*[a-z0-9])?$ // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 - // +kubebuilder:validation:Required // +required Namespace string `json:"namespace"` @@ -271,12 +266,10 @@ type ComponentRouteStatus struct { // entry in the list of spec.componentRoutes if the route is to be customized. // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 - // +kubebuilder:validation:Required // +required Name string `json:"name"` // defaultHostname is the hostname of this route prior to customization. - // +kubebuilder:validation:Required // +required DefaultHostname Hostname `json:"defaultHostname"` @@ -310,7 +303,6 @@ type ComponentRouteStatus struct { // relatedObjects is a list of resources which are useful when debugging or inspecting how spec.componentRoutes is applied. // +kubebuilder:validation:MinItems=1 - // +kubebuilder:validation:Required // +required RelatedObjects []ObjectReference `json:"relatedObjects"` } diff --git a/vendor/github.com/openshift/api/config/v1/types_network.go b/vendor/github.com/openshift/api/config/v1/types_network.go index 1eeae69dac..95e55a7ffc 100644 --- a/vendor/github.com/openshift/api/config/v1/types_network.go +++ b/vendor/github.com/openshift/api/config/v1/types_network.go @@ -30,7 +30,6 @@ type Network struct { // As a general rule, this SHOULD NOT be read directly. Instead, you should // consume the NetworkStatus, as it indicates the currently deployed configuration. // Currently, most spec fields are immutable after installation. Please view the individual ones for further details on each. - // +kubebuilder:validation:Required // +required Spec NetworkSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -55,7 +54,7 @@ type NetworkSpec struct { // +listType=atomic ServiceNetwork []string `json:"serviceNetwork"` - // NetworkType is the plugin that is to be deployed (e.g. OVNKubernetes). + // networkType is the plugin that is to be deployed (e.g. OVNKubernetes). // This should match a value that the cluster-network-operator understands, // or else no networking will be installed. // Currently supported values are: @@ -101,13 +100,13 @@ type NetworkStatus struct { // +listType=atomic ServiceNetwork []string `json:"serviceNetwork,omitempty"` - // NetworkType is the plugin that is deployed (e.g. OVNKubernetes). + // networkType is the plugin that is deployed (e.g. OVNKubernetes). NetworkType string `json:"networkType,omitempty"` - // ClusterNetworkMTU is the MTU for inter-pod networking. + // clusterNetworkMTU is the MTU for inter-pod networking. ClusterNetworkMTU int `json:"clusterNetworkMTU,omitempty"` - // Migration contains the cluster network migration configuration. + // migration contains the cluster network migration configuration. Migration *NetworkMigration `json:"migration,omitempty"` // conditions represents the observations of a network.config current state. @@ -185,35 +184,35 @@ type NetworkList struct { // NetworkMigration represents the network migration status. type NetworkMigration struct { - // NetworkType is the target plugin that is being deployed. + // networkType is the target plugin that is being deployed. // DEPRECATED: network type migration is no longer supported, // so this should always be unset. // +optional NetworkType string `json:"networkType,omitempty"` - // MTU is the MTU configuration that is being deployed. + // mtu is the MTU configuration that is being deployed. // +optional MTU *MTUMigration `json:"mtu,omitempty"` } // MTUMigration contains infomation about MTU migration. type MTUMigration struct { - // Network contains MTU migration configuration for the default network. + // network contains MTU migration configuration for the default network. // +optional Network *MTUMigrationValues `json:"network,omitempty"` - // Machine contains MTU migration configuration for the machine's uplink. + // machine contains MTU migration configuration for the machine's uplink. // +optional Machine *MTUMigrationValues `json:"machine,omitempty"` } // MTUMigrationValues contains the values for a MTU migration. type MTUMigrationValues struct { - // To is the MTU to migrate to. + // to is the MTU to migrate to. // +kubebuilder:validation:Minimum=0 To *uint32 `json:"to"` - // From is the MTU to migrate from. + // from is the MTU to migrate from. // +kubebuilder:validation:Minimum=0 // +optional From *uint32 `json:"from,omitempty"` diff --git a/vendor/github.com/openshift/api/config/v1/types_node.go b/vendor/github.com/openshift/api/config/v1/types_node.go index b3b1b62c4d..3fc7bc0c39 100644 --- a/vendor/github.com/openshift/api/config/v1/types_node.go +++ b/vendor/github.com/openshift/api/config/v1/types_node.go @@ -28,7 +28,6 @@ type Node struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec NodeSpec `json:"spec"` @@ -38,14 +37,33 @@ type Node struct { } type NodeSpec struct { - // CgroupMode determines the cgroups version on the node + // cgroupMode determines the cgroups version on the node // +optional CgroupMode CgroupMode `json:"cgroupMode,omitempty"` - // WorkerLatencyProfile determins the how fast the kubelet is updating + // workerLatencyProfile determins the how fast the kubelet is updating // the status and corresponding reaction of the cluster // +optional WorkerLatencyProfile WorkerLatencyProfileType `json:"workerLatencyProfile,omitempty"` + + // minimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + // Specifically, the apiserver will deny most authorization requests of kubelets that are older + // than the specified version, only allowing the kubelet to get and update its node object, and perform + // subjectaccessreviews. + // This means any kubelet that attempts to join the cluster will not be able to run any assigned workloads, + // and will eventually be marked as not ready. + // Its max length is 8, so maximum version allowed is either "9.999.99" or "99.99.99". + // Since the kubelet reports the version of the kubernetes release, not Openshift, this field references + // the underlying kubernetes version this version of Openshift is based off of. + // In other words: if an admin wishes to ensure no nodes run an older version than Openshift 4.17, then + // they should set the minimumKubeletVersion to 1.30.0. + // When comparing versions, the kubelet's version is stripped of any contents outside of major.minor.patch version. + // Thus, a kubelet with version "1.0.0-ec.0" will be compatible with minimumKubeletVersion "1.0.0" or earlier. + // +kubebuilder:validation:XValidation:rule="self == \"\" || self.matches('^[0-9]*.[0-9]*.[0-9]*$')",message="minmumKubeletVersion must be in a semver compatible format of x.y.z, or empty" + // +kubebuilder:validation:MaxLength:=8 + // +openshift:enable:FeatureGate=MinimumKubeletVersion + // +optional + MinimumKubeletVersion string `json:"minimumKubeletVersion"` } type NodeStatus struct { diff --git a/vendor/github.com/openshift/api/config/v1/types_oauth.go b/vendor/github.com/openshift/api/config/v1/types_oauth.go index dce08a17f5..20845e4dbe 100644 --- a/vendor/github.com/openshift/api/config/v1/types_oauth.go +++ b/vendor/github.com/openshift/api/config/v1/types_oauth.go @@ -27,7 +27,6 @@ type OAuth struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec OAuthSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. diff --git a/vendor/github.com/openshift/api/config/v1/types_project.go b/vendor/github.com/openshift/api/config/v1/types_project.go index 78fd3f41a0..3d219862be 100644 --- a/vendor/github.com/openshift/api/config/v1/types_project.go +++ b/vendor/github.com/openshift/api/config/v1/types_project.go @@ -24,7 +24,6 @@ type Project struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ProjectSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. diff --git a/vendor/github.com/openshift/api/config/v1/types_proxy.go b/vendor/github.com/openshift/api/config/v1/types_proxy.go index 2dfc66b1cd..ed40176ce3 100644 --- a/vendor/github.com/openshift/api/config/v1/types_proxy.go +++ b/vendor/github.com/openshift/api/config/v1/types_proxy.go @@ -25,8 +25,7 @@ type Proxy struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // Spec holds user-settable values for the proxy configuration - // +kubebuilder:validation:Required + // spec holds user-settable values for the proxy configuration // +required Spec ProxySpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. diff --git a/vendor/github.com/openshift/api/config/v1/types_scheduling.go b/vendor/github.com/openshift/api/config/v1/types_scheduling.go index 2749f4f70d..c90d5633f6 100644 --- a/vendor/github.com/openshift/api/config/v1/types_scheduling.go +++ b/vendor/github.com/openshift/api/config/v1/types_scheduling.go @@ -25,7 +25,6 @@ type Scheduler struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec SchedulerSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -74,7 +73,7 @@ type SchedulerSpec struct { // would not be applied. // +optional DefaultNodeSelector string `json:"defaultNodeSelector,omitempty"` - // MastersSchedulable allows masters nodes to be schedulable. When this flag is + // mastersSchedulable allows masters nodes to be schedulable. When this flag is // turned on, all the master nodes in the cluster will be made schedulable, // so that workload pods can run on them. The default value for this field is false, // meaning none of the master nodes are schedulable. diff --git a/vendor/github.com/openshift/api/config/v1/types_testreporting.go b/vendor/github.com/openshift/api/config/v1/types_testreporting.go index 4d642e060b..00953957f4 100644 --- a/vendor/github.com/openshift/api/config/v1/types_testreporting.go +++ b/vendor/github.com/openshift/api/config/v1/types_testreporting.go @@ -15,7 +15,6 @@ type TestReporting struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec TestReportingSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -24,20 +23,20 @@ type TestReporting struct { } type TestReportingSpec struct { - // TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing. + // testsForFeatureGates is a list, indexed by FeatureGate and includes information about testing. TestsForFeatureGates []FeatureGateTests `json:"testsForFeatureGates"` } type FeatureGateTests struct { - // FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance. + // featureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance. FeatureGate string `json:"featureGate"` - // Tests contains an item for every TestName + // tests contains an item for every TestName Tests []TestDetails `json:"tests"` } type TestDetails struct { - // TestName is the name of the test as it appears in junit XMLs. + // testName is the name of the test as it appears in junit XMLs. // It does not include the suite name since the same test can be executed in many suites. TestName string `json:"testName"` } diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go index 1b7fa44aad..b013d4595e 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.deepcopy.go @@ -5827,9 +5827,72 @@ func (in *UsernamePrefix) DeepCopy() *UsernamePrefix { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VSphereFailureDomainHostGroup) DeepCopyInto(out *VSphereFailureDomainHostGroup) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomainHostGroup. +func (in *VSphereFailureDomainHostGroup) DeepCopy() *VSphereFailureDomainHostGroup { + if in == nil { + return nil + } + out := new(VSphereFailureDomainHostGroup) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VSphereFailureDomainRegionAffinity) DeepCopyInto(out *VSphereFailureDomainRegionAffinity) { + *out = *in + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomainRegionAffinity. +func (in *VSphereFailureDomainRegionAffinity) DeepCopy() *VSphereFailureDomainRegionAffinity { + if in == nil { + return nil + } + out := new(VSphereFailureDomainRegionAffinity) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *VSphereFailureDomainZoneAffinity) DeepCopyInto(out *VSphereFailureDomainZoneAffinity) { + *out = *in + if in.HostGroup != nil { + in, out := &in.HostGroup, &out.HostGroup + *out = new(VSphereFailureDomainHostGroup) + **out = **in + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new VSphereFailureDomainZoneAffinity. +func (in *VSphereFailureDomainZoneAffinity) DeepCopy() *VSphereFailureDomainZoneAffinity { + if in == nil { + return nil + } + out := new(VSphereFailureDomainZoneAffinity) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *VSpherePlatformFailureDomainSpec) DeepCopyInto(out *VSpherePlatformFailureDomainSpec) { *out = *in + if in.RegionAffinity != nil { + in, out := &in.RegionAffinity, &out.RegionAffinity + *out = new(VSphereFailureDomainRegionAffinity) + **out = **in + } + if in.ZoneAffinity != nil { + in, out := &in.ZoneAffinity, &out.ZoneAffinity + *out = new(VSphereFailureDomainZoneAffinity) + (*in).DeepCopyInto(*out) + } in.Topology.DeepCopyInto(&out.Topology) return } diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml index 6b8dfd3f00..b2bc82e1a9 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.featuregated-crd-manifests.yaml @@ -115,6 +115,7 @@ clusterversions.config.openshift.io: Capability: "" Category: "" FeatureGates: + - ImageStreamImportMode - SignatureStores FilenameOperatorName: cluster-version-operator FilenameOperatorOrdering: "01" @@ -314,7 +315,9 @@ infrastructures.config.openshift.io: - BareMetalLoadBalancer - GCPClusterHostedDNS - GCPLabelsTags + - NutanixMultiSubnets - VSphereControlPlaneMachineSet + - VSphereHostVMGroupZonal - VSphereMultiNetworks - VSphereMultiVCenters FilenameOperatorName: config-operator @@ -383,7 +386,8 @@ nodes.config.openshift.io: CRDName: nodes.config.openshift.io Capability: "" Category: "" - FeatureGates: [] + FeatureGates: + - MinimumKubeletVersion FilenameOperatorName: config-operator FilenameOperatorOrdering: "01" FilenameRunLevel: "0000_10" diff --git a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go index ea3a424046..0ac9c7ccd2 100644 --- a/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1/zz_generated.swagger_doc_generated.go @@ -22,8 +22,8 @@ func (AdmissionConfig) SwaggerDoc() map[string]string { var map_AdmissionPluginConfig = map[string]string{ "": "AdmissionPluginConfig holds the necessary configuration options for admission plugins", - "location": "Location is the path to a configuration file that contains the plugin's configuration", - "configuration": "Configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", + "location": "location is the path to a configuration file that contains the plugin's configuration", + "configuration": "configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", } func (AdmissionPluginConfig) SwaggerDoc() map[string]string { @@ -37,8 +37,8 @@ var map_AuditConfig = map[string]string{ "maximumFileRetentionDays": "Maximum number of days to retain old log files based on the timestamp encoded in their filename.", "maximumRetainedFiles": "Maximum number of old log files to retain.", "maximumFileSizeMegabytes": "Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB.", - "policyFile": "PolicyFile is a path to the file that defines the audit policy configuration.", - "policyConfiguration": "PolicyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", + "policyFile": "policyFile is a path to the file that defines the audit policy configuration.", + "policyConfiguration": "policyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", "logFormat": "Format of saved audits (legacy or json).", "webHookKubeConfig": "Path to a .kubeconfig formatted file that defines the audit webhook configuration.", "webHookMode": "Strategy for sending audit events (block or batch).", @@ -50,8 +50,8 @@ func (AuditConfig) SwaggerDoc() map[string]string { var map_CertInfo = map[string]string{ "": "CertInfo relates a certificate with a private key", - "certFile": "CertFile is a file containing a PEM-encoded certificate", - "keyFile": "KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", + "certFile": "certFile is a file containing a PEM-encoded certificate", + "keyFile": "keyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", } func (CertInfo) SwaggerDoc() map[string]string { @@ -71,7 +71,7 @@ func (ClientConnectionOverrides) SwaggerDoc() map[string]string { var map_ConfigMapFileReference = map[string]string{ "": "ConfigMapFileReference references a config map in a specific namespace. The namespace must be specified at the point of use.", - "key": "Key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references.", + "key": "key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references.", } func (ConfigMapFileReference) SwaggerDoc() map[string]string { @@ -107,8 +107,8 @@ func (DelegatedAuthorization) SwaggerDoc() map[string]string { var map_EtcdConnectionInfo = map[string]string{ "": "EtcdConnectionInfo holds information necessary for connecting to an etcd server", - "urls": "URLs are the URLs for etcd", - "ca": "CA is a file containing trusted roots for the etcd server certificates", + "urls": "urls are the URLs for etcd", + "ca": "ca is a file containing trusted roots for the etcd server certificates", } func (EtcdConnectionInfo) SwaggerDoc() map[string]string { @@ -116,7 +116,7 @@ func (EtcdConnectionInfo) SwaggerDoc() map[string]string { } var map_EtcdStorageConfig = map[string]string{ - "storagePrefix": "StoragePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located.", + "storagePrefix": "storagePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located.", } func (EtcdStorageConfig) SwaggerDoc() map[string]string { @@ -138,7 +138,7 @@ func (GenericAPIServerConfig) SwaggerDoc() map[string]string { var map_GenericControllerConfig = map[string]string{ "": "GenericControllerConfig provides information to configure a controller", - "servingInfo": "ServingInfo is the HTTP serving information for the controller's endpoints", + "servingInfo": "servingInfo is the HTTP serving information for the controller's endpoints", "leaderElection": "leaderElection provides information to elect a leader. Only override this if you have a specific need", "authentication": "authentication allows configuration of authentication for the endpoints", "authorization": "authorization allows configuration of authentication for the endpoints", @@ -150,8 +150,8 @@ func (GenericControllerConfig) SwaggerDoc() map[string]string { var map_HTTPServingInfo = map[string]string{ "": "HTTPServingInfo holds configuration for serving HTTP", - "maxRequestsInFlight": "MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", - "requestTimeoutSeconds": "RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", + "maxRequestsInFlight": "maxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", + "requestTimeoutSeconds": "requestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", } func (HTTPServingInfo) SwaggerDoc() map[string]string { @@ -193,7 +193,7 @@ func (MaxAgePolicy) SwaggerDoc() map[string]string { var map_NamedCertificate = map[string]string{ "": "NamedCertificate specifies a certificate/key, and the names it should be served for", - "names": "Names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", + "names": "names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", } func (NamedCertificate) SwaggerDoc() map[string]string { @@ -202,8 +202,8 @@ func (NamedCertificate) SwaggerDoc() map[string]string { var map_RemoteConnectionInfo = map[string]string{ "": "RemoteConnectionInfo holds information necessary for establishing a remote connection", - "url": "URL is the remote URL to connect to", - "ca": "CA is the CA for verifying TLS connections", + "url": "url is the remote URL to connect to", + "ca": "ca is the CA for verifying TLS connections", } func (RemoteConnectionInfo) SwaggerDoc() map[string]string { @@ -233,12 +233,12 @@ func (SecretNameReference) SwaggerDoc() map[string]string { var map_ServingInfo = map[string]string{ "": "ServingInfo holds information about serving web pages", - "bindAddress": "BindAddress is the ip:port to serve on", - "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", - "clientCA": "ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", - "namedCertificates": "NamedCertificates is a list of certificates to use to secure requests to specific hostnames", - "minTLSVersion": "MinTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", - "cipherSuites": "CipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", + "bindAddress": "bindAddress is the ip:port to serve on", + "bindNetwork": "bindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "clientCA": "clientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", + "namedCertificates": "namedCertificates is a list of certificates to use to secure requests to specific hostnames", + "minTLSVersion": "minTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", + "cipherSuites": "cipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", } func (ServingInfo) SwaggerDoc() map[string]string { @@ -255,10 +255,10 @@ func (StringSource) SwaggerDoc() map[string]string { var map_StringSourceSpec = map[string]string{ "": "StringSourceSpec specifies a string value, or external location", - "value": "Value specifies the cleartext value, or an encrypted value if keyFile is specified.", - "env": "Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", - "file": "File references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", - "keyFile": "KeyFile references a file containing the key to use to decrypt the value.", + "value": "value specifies the cleartext value, or an encrypted value if keyFile is specified.", + "env": "env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", + "file": "file references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", + "keyFile": "keyFile references a file containing the key to use to decrypt the value.", } func (StringSourceSpec) SwaggerDoc() map[string]string { @@ -369,7 +369,7 @@ var map_AuthenticationSpec = map[string]string{ "webhookTokenAuthenticators": "webhookTokenAuthenticators is DEPRECATED, setting it has no effect.", "webhookTokenAuthenticator": "webhookTokenAuthenticator configures a remote token reviewer. These remote authentication webhooks can be used to verify bearer tokens via the tokenreviews.authentication.k8s.io REST API. This is required to honor bearer tokens that are provisioned by an external authentication service.\n\nCan only be set if \"Type\" is set to \"None\".", "serviceAccountIssuer": "serviceAccountIssuer is the identifier of the bound service account token issuer. The default is https://kubernetes.default.svc WARNING: Updating this field will not result in immediate invalidation of all bound tokens with the previous issuer value. Instead, the tokens issued by previous service account issuer will continue to be trusted for a time period chosen by the platform (currently set to 24h). This time period is subject to change over time. This allows internal components to transition to use new service account issuer without service distruption.", - "oidcProviders": "OIDCProviders are OIDC identity providers that can issue tokens for this cluster Can only be set if \"Type\" is set to \"OIDC\".\n\nAt most one provider can be configured.", + "oidcProviders": "oidcProviders are OIDC identity providers that can issue tokens for this cluster Can only be set if \"Type\" is set to \"OIDC\".\n\nAt most one provider can be configured.", } func (AuthenticationSpec) SwaggerDoc() map[string]string { @@ -378,7 +378,7 @@ func (AuthenticationSpec) SwaggerDoc() map[string]string { var map_AuthenticationStatus = map[string]string{ "integratedOAuthMetadata": "integratedOAuthMetadata contains the discovery endpoint data for OAuth 2.0 Authorization Server Metadata for the in-cluster integrated OAuth server. This discovery document can be viewed from its served location: oc get --raw '/.well-known/oauth-authorization-server' For further details, see the IETF Draft: https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This contains the observed value based on cluster state. An explicitly set value in spec.oauthMetadata has precedence over this field. This field has no meaning if authentication spec.type is not set to IntegratedOAuth. The key \"oauthMetadata\" is used to locate the data. If the config map or expected key is not found, no metadata is served. If the specified metadata is not valid, no metadata is served. The namespace for this config map is openshift-config-managed.", - "oidcClients": "OIDCClients is where participating operators place the current OIDC client status for OIDC clients that can be customized by the cluster-admin.", + "oidcClients": "oidcClients is where participating operators place the current OIDC client status for OIDC clients that can be customized by the cluster-admin.", } func (AuthenticationStatus) SwaggerDoc() map[string]string { @@ -395,11 +395,11 @@ func (DeprecatedWebhookTokenAuthenticator) SwaggerDoc() map[string]string { } var map_OIDCClientConfig = map[string]string{ - "componentName": "ComponentName is the name of the component that is supposed to consume this client configuration", - "componentNamespace": "ComponentNamespace is the namespace of the component that is supposed to consume this client configuration", - "clientID": "ClientID is the identifier of the OIDC client from the OIDC provider", - "clientSecret": "ClientSecret refers to a secret in the `openshift-config` namespace that contains the client secret in the `clientSecret` key of the `.data` field", - "extraScopes": "ExtraScopes is an optional set of scopes to request tokens with.", + "componentName": "componentName is the name of the component that is supposed to consume this client configuration", + "componentNamespace": "componentNamespace is the namespace of the component that is supposed to consume this client configuration", + "clientID": "clientID is the identifier of the OIDC client from the OIDC provider", + "clientSecret": "clientSecret refers to a secret in the `openshift-config` namespace that contains the client secret in the `clientSecret` key of the `.data` field", + "extraScopes": "extraScopes is an optional set of scopes to request tokens with.", } func (OIDCClientConfig) SwaggerDoc() map[string]string { @@ -409,7 +409,7 @@ func (OIDCClientConfig) SwaggerDoc() map[string]string { var map_OIDCClientReference = map[string]string{ "oidcProviderName": "OIDCName refers to the `name` of the provider from `oidcProviders`", "issuerURL": "URL is the serving URL of the token issuer. Must use the https:// scheme.", - "clientID": "ClientID is the identifier of the OIDC client from the OIDC provider", + "clientID": "clientID is the identifier of the OIDC client from the OIDC provider", } func (OIDCClientReference) SwaggerDoc() map[string]string { @@ -417,11 +417,11 @@ func (OIDCClientReference) SwaggerDoc() map[string]string { } var map_OIDCClientStatus = map[string]string{ - "componentName": "ComponentName is the name of the component that will consume a client configuration.", - "componentNamespace": "ComponentNamespace is the namespace of the component that will consume a client configuration.", - "currentOIDCClients": "CurrentOIDCClients is a list of clients that the component is currently using.", - "consumingUsers": "ConsumingUsers is a slice of ServiceAccounts that need to have read permission on the `clientSecret` secret.", - "conditions": "Conditions are used to communicate the state of the `oidcClients` entry.\n\nSupported conditions include Available, Degraded and Progressing.\n\nIf Available is true, the component is successfully using the configured client. If Degraded is true, that means something has gone wrong trying to handle the client configuration. If Progressing is true, that means the component is taking some action related to the `oidcClients` entry.", + "componentName": "componentName is the name of the component that will consume a client configuration.", + "componentNamespace": "componentNamespace is the namespace of the component that will consume a client configuration.", + "currentOIDCClients": "currentOIDCClients is a list of clients that the component is currently using.", + "consumingUsers": "consumingUsers is a slice of ServiceAccounts that need to have read permission on the `clientSecret` secret.", + "conditions": "conditions are used to communicate the state of the `oidcClients` entry.\n\nSupported conditions include Available, Degraded and Progressing.\n\nIf Available is true, the component is successfully using the configured client. If Degraded is true, that means something has gone wrong trying to handle the client configuration. If Progressing is true, that means the component is taking some action related to the `oidcClients` entry.", } func (OIDCClientStatus) SwaggerDoc() map[string]string { @@ -429,11 +429,11 @@ func (OIDCClientStatus) SwaggerDoc() map[string]string { } var map_OIDCProvider = map[string]string{ - "name": "Name of the OIDC provider", - "issuer": "Issuer describes atributes of the OIDC token issuer", - "oidcClients": "OIDCClients contains configuration for the platform's clients that need to request tokens from the issuer", - "claimMappings": "ClaimMappings describes rules on how to transform information from an ID token into a cluster identity", - "claimValidationRules": "ClaimValidationRules are rules that are applied to validate token claims to authenticate users.", + "name": "name of the OIDC provider", + "issuer": "issuer describes atributes of the OIDC token issuer", + "oidcClients": "oidcClients contains configuration for the platform's clients that need to request tokens from the issuer", + "claimMappings": "claimMappings describes rules on how to transform information from an ID token into a cluster identity", + "claimValidationRules": "claimValidationRules are rules that are applied to validate token claims to authenticate users.", } func (OIDCProvider) SwaggerDoc() map[string]string { @@ -441,7 +441,7 @@ func (OIDCProvider) SwaggerDoc() map[string]string { } var map_PrefixedClaimMapping = map[string]string{ - "prefix": "Prefix is a string to prefix the value from the token in the result of the claim mapping.\n\nBy default, no prefixing occurs.\n\nExample: if `prefix` is set to \"myoidc:\"\" and the `claim` in JWT contains an array of strings \"a\", \"b\" and \"c\", the mapping will result in an array of string \"myoidc:a\", \"myoidc:b\" and \"myoidc:c\".", + "prefix": "prefix is a string to prefix the value from the token in the result of the claim mapping.\n\nBy default, no prefixing occurs.\n\nExample: if `prefix` is set to \"myoidc:\"\" and the `claim` in JWT contains an array of strings \"a\", \"b\" and \"c\", the mapping will result in an array of string \"myoidc:a\", \"myoidc:b\" and \"myoidc:c\".", } func (PrefixedClaimMapping) SwaggerDoc() map[string]string { @@ -449,7 +449,7 @@ func (PrefixedClaimMapping) SwaggerDoc() map[string]string { } var map_TokenClaimMapping = map[string]string{ - "claim": "Claim is a JWT token claim to be used in the mapping", + "claim": "claim is a JWT token claim to be used in the mapping", } func (TokenClaimMapping) SwaggerDoc() map[string]string { @@ -457,8 +457,8 @@ func (TokenClaimMapping) SwaggerDoc() map[string]string { } var map_TokenClaimMappings = map[string]string{ - "username": "Username is a name of the claim that should be used to construct usernames for the cluster identity.\n\nDefault value: \"sub\"", - "groups": "Groups is a name of the claim that should be used to construct groups for the cluster identity. The referenced claim must use array of strings values.", + "username": "username is a name of the claim that should be used to construct usernames for the cluster identity.\n\nDefault value: \"sub\"", + "groups": "groups is a name of the claim that should be used to construct groups for the cluster identity. The referenced claim must use array of strings values.", } func (TokenClaimMappings) SwaggerDoc() map[string]string { @@ -466,8 +466,8 @@ func (TokenClaimMappings) SwaggerDoc() map[string]string { } var map_TokenClaimValidationRule = map[string]string{ - "type": "Type sets the type of the validation rule", - "requiredClaim": "RequiredClaim allows configuring a required claim name and its expected value", + "type": "type sets the type of the validation rule", + "requiredClaim": "requiredClaim allows configuring a required claim name and its expected value", } func (TokenClaimValidationRule) SwaggerDoc() map[string]string { @@ -476,7 +476,7 @@ func (TokenClaimValidationRule) SwaggerDoc() map[string]string { var map_TokenIssuer = map[string]string{ "issuerURL": "URL is the serving URL of the token issuer. Must use the https:// scheme.", - "audiences": "Audiences is an array of audiences that the token was issued for. Valid tokens must include at least one of these values in their \"aud\" claim. Must be set to exactly one value.", + "audiences": "audiences is an array of audiences that the token was issued for. Valid tokens must include at least one of these values in their \"aud\" claim. Must be set to exactly one value.", "issuerCertificateAuthority": "CertificateAuthority is a reference to a config map in the configuration namespace. The .data of the configMap must contain the \"ca-bundle.crt\" key. If unset, system trust is used instead.", } @@ -485,8 +485,8 @@ func (TokenIssuer) SwaggerDoc() map[string]string { } var map_TokenRequiredClaim = map[string]string{ - "claim": "Claim is a name of a required claim. Only claims with string values are supported.", - "requiredValue": "RequiredValue is the required value for the claim.", + "claim": "claim is a name of a required claim. Only claims with string values are supported.", + "requiredValue": "requiredValue is the required value for the claim.", } func (TokenRequiredClaim) SwaggerDoc() map[string]string { @@ -494,7 +494,7 @@ func (TokenRequiredClaim) SwaggerDoc() map[string]string { } var map_UsernameClaimMapping = map[string]string{ - "prefixPolicy": "PrefixPolicy specifies how a prefix should apply.\n\nBy default, claims other than `email` will be prefixed with the issuer URL to prevent naming clashes with other plugins.\n\nSet to \"NoPrefix\" to disable prefixing.\n\nExample:\n (1) `prefix` is set to \"myoidc:\" and `claim` is set to \"username\".\n If the JWT claim `username` contains value `userA`, the resulting\n mapped value will be \"myoidc:userA\".\n (2) `prefix` is set to \"myoidc:\" and `claim` is set to \"email\". If the\n JWT `email` claim contains value \"userA@myoidc.tld\", the resulting\n mapped value will be \"myoidc:userA@myoidc.tld\".\n (3) `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`,\n the JWT claims include \"username\":\"userA\" and \"email\":\"userA@myoidc.tld\",\n and `claim` is set to:\n (a) \"username\": the mapped value will be \"https://myoidc.tld#userA\"\n (b) \"email\": the mapped value will be \"userA@myoidc.tld\"", + "prefixPolicy": "prefixPolicy specifies how a prefix should apply.\n\nBy default, claims other than `email` will be prefixed with the issuer URL to prevent naming clashes with other plugins.\n\nSet to \"NoPrefix\" to disable prefixing.\n\nExample:\n (1) `prefix` is set to \"myoidc:\" and `claim` is set to \"username\".\n If the JWT claim `username` contains value `userA`, the resulting\n mapped value will be \"myoidc:userA\".\n (2) `prefix` is set to \"myoidc:\" and `claim` is set to \"email\". If the\n JWT `email` claim contains value \"userA@myoidc.tld\", the resulting\n mapped value will be \"myoidc:userA@myoidc.tld\".\n (3) `prefix` is unset, `issuerURL` is set to `https://myoidc.tld`,\n the JWT claims include \"username\":\"userA\" and \"email\":\"userA@myoidc.tld\",\n and `claim` is set to:\n (a) \"username\": the mapped value will be \"https://myoidc.tld#userA\"\n (b) \"email\": the mapped value will be \"userA@myoidc.tld\"", } func (UsernameClaimMapping) SwaggerDoc() map[string]string { @@ -513,7 +513,7 @@ func (WebhookTokenAuthenticator) SwaggerDoc() map[string]string { var map_Build = map[string]string{ "": "Build configures the behavior of OpenShift builds for the entire cluster. This includes default settings that can be overridden in BuildConfig objects, and overrides which are applied to all builds.\n\nThe canonical name is \"cluster\"\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec holds user-settable values for the build controller configuration", + "spec": "spec holds user-settable values for the build controller configuration", } func (Build) SwaggerDoc() map[string]string { @@ -521,11 +521,11 @@ func (Build) SwaggerDoc() map[string]string { } var map_BuildDefaults = map[string]string{ - "defaultProxy": "DefaultProxy contains the default proxy settings for all build operations, including image pull/push and source download.\n\nValues can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables in the build config's strategy.", - "gitProxy": "GitProxy contains the proxy settings for git operations only. If set, this will override any Proxy settings for all git commands, such as git clone.\n\nValues that are not set here will be inherited from DefaultProxy.", - "env": "Env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", - "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", - "resources": "Resources defines resource requirements to execute the build.", + "defaultProxy": "defaultProxy contains the default proxy settings for all build operations, including image pull/push and source download.\n\nValues can be overrode by setting the `HTTP_PROXY`, `HTTPS_PROXY`, and `NO_PROXY` environment variables in the build config's strategy.", + "gitProxy": "gitProxy contains the proxy settings for git operations only. If set, this will override any Proxy settings for all git commands, such as git clone.\n\nValues that are not set here will be inherited from DefaultProxy.", + "env": "env is a set of default environment variables that will be applied to the build if the specified variables do not exist on the build", + "imageLabels": "imageLabels is a list of docker labels that are applied to the resulting image. User can override a default label by providing a label with the same name in their Build/BuildConfig.", + "resources": "resources defines resource requirements to execute the build.", } func (BuildDefaults) SwaggerDoc() map[string]string { @@ -542,10 +542,10 @@ func (BuildList) SwaggerDoc() map[string]string { } var map_BuildOverrides = map[string]string{ - "imageLabels": "ImageLabels is a list of docker labels that are applied to the resulting image. If user provided a label in their Build/BuildConfig with the same name as one in this list, the user's label will be overwritten.", - "nodeSelector": "NodeSelector is a selector which must be true for the build pod to fit on a node", - "tolerations": "Tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.", - "forcePull": "ForcePull overrides, if set, the equivalent value in the builds, i.e. false disables force pull for all builds, true enables force pull for all builds, independently of what each build specifies itself", + "imageLabels": "imageLabels is a list of docker labels that are applied to the resulting image. If user provided a label in their Build/BuildConfig with the same name as one in this list, the user's label will be overwritten.", + "nodeSelector": "nodeSelector is a selector which must be true for the build pod to fit on a node", + "tolerations": "tolerations is a list of Tolerations that will override any existing tolerations set on a build pod.", + "forcePull": "forcePull overrides, if set, the equivalent value in the builds, i.e. false disables force pull for all builds, true enables force pull for all builds, independently of what each build specifies itself", } func (BuildOverrides) SwaggerDoc() map[string]string { @@ -553,9 +553,9 @@ func (BuildOverrides) SwaggerDoc() map[string]string { } var map_BuildSpec = map[string]string{ - "additionalTrustedCA": "AdditionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted for image pushes and pulls during builds. The namespace for this config map is openshift-config.\n\nDEPRECATED: Additional CAs for image pull and push should be set on image.config.openshift.io/cluster instead.", - "buildDefaults": "BuildDefaults controls the default information for Builds", - "buildOverrides": "BuildOverrides controls override settings for builds", + "additionalTrustedCA": "additionalTrustedCA is a reference to a ConfigMap containing additional CAs that should be trusted for image pushes and pulls during builds. The namespace for this config map is openshift-config.\n\nDEPRECATED: Additional CAs for image pull and push should be set on image.config.openshift.io/cluster instead.", + "buildDefaults": "buildDefaults controls the default information for Builds", + "buildOverrides": "buildOverrides controls override settings for builds", } func (BuildSpec) SwaggerDoc() map[string]string { @@ -563,8 +563,8 @@ func (BuildSpec) SwaggerDoc() map[string]string { } var map_ImageLabel = map[string]string{ - "name": "Name defines the name of the label. It must have non-zero length.", - "value": "Value defines the literal value of the label.", + "name": "name defines the name of the label. It must have non-zero length.", + "value": "value defines the literal value of the label.", } func (ImageLabel) SwaggerDoc() map[string]string { @@ -648,7 +648,7 @@ func (OperandVersion) SwaggerDoc() map[string]string { var map_ClusterCondition = map[string]string{ "": "ClusterCondition is a union of typed cluster conditions. The 'type' property determines which of the type-specific properties are relevant. When evaluated on a cluster, the condition may match, not match, or fail to evaluate.", "type": "type represents the cluster-condition type. This defines the members and semantics of any additional properties.", - "promql": "promQL represents a cluster condition based on PromQL.", + "promql": "promql represents a cluster condition based on PromQL.", } func (ClusterCondition) SwaggerDoc() map[string]string { @@ -764,7 +764,7 @@ func (ConditionalUpdateRisk) SwaggerDoc() map[string]string { var map_PromQLClusterCondition = map[string]string{ "": "PromQLClusterCondition represents a cluster condition based on PromQL.", - "promql": "PromQL is a PromQL query classifying clusters. This query query should return a 1 in the match case and a 0 in the does-not-match case. Queries which return no time series, or which return values besides 0 or 1, are evaluation failures.", + "promql": "promql is a PromQL query classifying clusters. This query query should return a 1 in the match case and a 0 in the does-not-match case. Queries which return no time series, or which return values besides 0 or 1, are evaluation failures.", } func (PromQLClusterCondition) SwaggerDoc() map[string]string { @@ -772,11 +772,12 @@ func (PromQLClusterCondition) SwaggerDoc() map[string]string { } var map_Release = map[string]string{ - "": "Release represents an OpenShift release image and associated metadata.", - "version": "version is a semantic version identifying the update version. When this field is part of spec, version is optional if image is specified.", - "image": "image is a container image location that contains the update. When this field is part of spec, image is optional if version is specified and the availableUpdates field contains a matching version.", - "url": "url contains information about this release. This URL is set by the 'url' metadata property on a release or the metadata returned by the update API and should be displayed as a link in user interfaces. The URL field may not be set for test or nightly releases.", - "channels": "channels is the set of Cincinnati channels to which the release currently belongs.", + "": "Release represents an OpenShift release image and associated metadata.", + "architecture": "architecture is an optional field that indicates the value of the cluster architecture. In this context cluster architecture means either a single architecture or a multi architecture. Valid values are 'Multi' and empty.", + "version": "version is a semantic version identifying the update version. When this field is part of spec, version is optional if image is specified.", + "image": "image is a container image location that contains the update. When this field is part of spec, image is optional if version is specified and the availableUpdates field contains a matching version.", + "url": "url contains information about this release. This URL is set by the 'url' metadata property on a release or the metadata returned by the update API and should be displayed as a link in user interfaces. The URL field may not be set for test or nightly releases.", + "channels": "channels is the set of Cincinnati channels to which the release currently belongs.", } func (Release) SwaggerDoc() map[string]string { @@ -1186,7 +1187,7 @@ func (AWSPlatformSpec) SwaggerDoc() map[string]string { var map_AWSPlatformStatus = map[string]string{ "": "AWSPlatformStatus holds the current status of the Amazon Web Services infrastructure provider.", "region": "region holds the default AWS region for new AWS resources created by the cluster.", - "serviceEndpoints": "ServiceEndpoints list contains custom endpoints which will override default service endpoint of AWS Services. There must be only one ServiceEndpoint for a service.", + "serviceEndpoints": "serviceEndpoints list contains custom endpoints which will override default service endpoint of AWS Services. There must be only one ServiceEndpoint for a service.", "resourceTags": "resourceTags is a list of additional tags to apply to AWS resources created for the cluster. See https://docs.aws.amazon.com/general/latest/gr/aws_tagging.html for information on tagging AWS resources. AWS supports a maximum of 50 tags per resource. OpenShift reserves 25 tags for its use, leaving 25 tags available for the user.", "cloudLoadBalancerConfig": "cloudLoadBalancerConfig holds configuration related to DNS and cloud load balancers. It allows configuration of in-cluster DNS as an alternative to the platform default DNS implementation. When using the ClusterHosted DNS type, Load Balancer IP addresses must be provided for the API and internal API load balancers as well as the ingress load balancer.", } @@ -1360,7 +1361,7 @@ func (EquinixMetalPlatformStatus) SwaggerDoc() map[string]string { var map_ExternalPlatformSpec = map[string]string{ "": "ExternalPlatformSpec holds the desired state for the generic External infrastructure provider.", - "platformName": "PlatformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time. This field is solely for informational and reporting purposes and is not expected to be used for decision-making.", + "platformName": "platformName holds the arbitrary string representing the infrastructure provider name, expected to be set at the installation time. This field is solely for informational and reporting purposes and is not expected to be used for decision-making.", } func (ExternalPlatformSpec) SwaggerDoc() map[string]string { @@ -1428,11 +1429,11 @@ func (IBMCloudPlatformSpec) SwaggerDoc() map[string]string { var map_IBMCloudPlatformStatus = map[string]string{ "": "IBMCloudPlatformStatus holds the current status of the IBMCloud infrastructure provider.", - "location": "Location is where the cluster has been deployed", - "resourceGroupName": "ResourceGroupName is the Resource Group for new IBMCloud resources created for the cluster.", - "providerType": "ProviderType indicates the type of cluster that was created", - "cisInstanceCRN": "CISInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain", - "dnsInstanceCRN": "DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain", + "location": "location is where the cluster has been deployed", + "resourceGroupName": "resourceGroupName is the Resource Group for new IBMCloud resources created for the cluster.", + "providerType": "providerType indicates the type of cluster that was created", + "cisInstanceCRN": "cisInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain", + "dnsInstanceCRN": "dnsInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain", "serviceEndpoints": "serviceEndpoints is a list of custom endpoints which will override the default service endpoints of an IBM Cloud service. These endpoints are consumed by components within the cluster to reach the respective IBM Cloud Services.", } @@ -1519,7 +1520,7 @@ var map_NutanixFailureDomain = map[string]string{ "": "NutanixFailureDomain configures failure domain information for the Nutanix platform.", "name": "name defines the unique name of a failure domain. Name is required and must be at most 64 characters in length. It must consist of only lower case alphanumeric characters and hyphens (-). It must start and end with an alphanumeric character. This value is arbitrary and is used to identify the failure domain within the platform.", "cluster": "cluster is to identify the cluster (the Prism Element under management of the Prism Central), in which the Machine's VM will be created. The cluster identifier (uuid or name) can be obtained from the Prism Central console or using the prism_central API.", - "subnets": "subnets holds a list of identifiers (one or more) of the cluster's network subnets for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be obtained from the Prism Central console or using the prism_central API.", + "subnets": "subnets holds a list of identifiers (one or more) of the cluster's network subnets If the feature gate NutanixMultiSubnets is enabled, up to 32 subnets may be configured. for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be obtained from the Prism Central console or using the prism_central API.", } func (NutanixFailureDomain) SwaggerDoc() map[string]string { @@ -1660,19 +1661,19 @@ func (OvirtPlatformStatus) SwaggerDoc() map[string]string { var map_PlatformSpec = map[string]string{ "": "PlatformSpec holds the desired state specific to the underlying infrastructure provider of the current cluster. Since these are used at spec-level for the underlying cluster, it is supposed that only one of the spec structs is set.", "type": "type is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"KubeVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.", - "aws": "AWS contains settings specific to the Amazon Web Services infrastructure provider.", - "azure": "Azure contains settings specific to the Azure infrastructure provider.", - "gcp": "GCP contains settings specific to the Google Cloud Platform infrastructure provider.", - "baremetal": "BareMetal contains settings specific to the BareMetal platform.", - "openstack": "OpenStack contains settings specific to the OpenStack infrastructure provider.", - "ovirt": "Ovirt contains settings specific to the oVirt infrastructure provider.", - "vsphere": "VSphere contains settings specific to the VSphere infrastructure provider.", - "ibmcloud": "IBMCloud contains settings specific to the IBMCloud infrastructure provider.", - "kubevirt": "Kubevirt contains settings specific to the kubevirt infrastructure provider.", - "equinixMetal": "EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.", - "powervs": "PowerVS contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider.", - "alibabaCloud": "AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", - "nutanix": "Nutanix contains settings specific to the Nutanix infrastructure provider.", + "aws": "aws contains settings specific to the Amazon Web Services infrastructure provider.", + "azure": "azure contains settings specific to the Azure infrastructure provider.", + "gcp": "gcp contains settings specific to the Google Cloud Platform infrastructure provider.", + "baremetal": "baremetal contains settings specific to the BareMetal platform.", + "openstack": "openstack contains settings specific to the OpenStack infrastructure provider.", + "ovirt": "ovirt contains settings specific to the oVirt infrastructure provider.", + "vsphere": "vsphere contains settings specific to the VSphere infrastructure provider.", + "ibmcloud": "ibmcloud contains settings specific to the IBMCloud infrastructure provider.", + "kubevirt": "kubevirt contains settings specific to the kubevirt infrastructure provider.", + "equinixMetal": "equinixMetal contains settings specific to the Equinix Metal infrastructure provider.", + "powervs": "powervs contains settings specific to the IBM Power Systems Virtual Servers infrastructure provider.", + "alibabaCloud": "alibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", + "nutanix": "nutanix contains settings specific to the Nutanix infrastructure provider.", "external": "ExternalPlatformType represents generic infrastructure provider. Platform-specific components should be supplemented separately.", } @@ -1683,20 +1684,20 @@ func (PlatformSpec) SwaggerDoc() map[string]string { var map_PlatformStatus = map[string]string{ "": "PlatformStatus holds the current status specific to the underlying infrastructure provider of the current cluster. Since these are used at status-level for the underlying cluster, it is supposed that only one of the status structs is set.", "type": "type is the underlying infrastructure provider for the cluster. This value controls whether infrastructure automation such as service load balancers, dynamic volume provisioning, machine creation and deletion, and other integrations are enabled. If None, no infrastructure automation is enabled. Allowed values are \"AWS\", \"Azure\", \"BareMetal\", \"GCP\", \"Libvirt\", \"OpenStack\", \"VSphere\", \"oVirt\", \"EquinixMetal\", \"PowerVS\", \"AlibabaCloud\", \"Nutanix\" and \"None\". Individual components may not support all platforms, and must handle unrecognized platforms as None if they do not support that platform.\n\nThis value will be synced with to the `status.platform` and `status.platformStatus.type`. Currently this value cannot be changed once set.", - "aws": "AWS contains settings specific to the Amazon Web Services infrastructure provider.", - "azure": "Azure contains settings specific to the Azure infrastructure provider.", - "gcp": "GCP contains settings specific to the Google Cloud Platform infrastructure provider.", - "baremetal": "BareMetal contains settings specific to the BareMetal platform.", - "openstack": "OpenStack contains settings specific to the OpenStack infrastructure provider.", - "ovirt": "Ovirt contains settings specific to the oVirt infrastructure provider.", - "vsphere": "VSphere contains settings specific to the VSphere infrastructure provider.", - "ibmcloud": "IBMCloud contains settings specific to the IBMCloud infrastructure provider.", - "kubevirt": "Kubevirt contains settings specific to the kubevirt infrastructure provider.", - "equinixMetal": "EquinixMetal contains settings specific to the Equinix Metal infrastructure provider.", - "powervs": "PowerVS contains settings specific to the Power Systems Virtual Servers infrastructure provider.", - "alibabaCloud": "AlibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", - "nutanix": "Nutanix contains settings specific to the Nutanix infrastructure provider.", - "external": "External contains settings specific to the generic External infrastructure provider.", + "aws": "aws contains settings specific to the Amazon Web Services infrastructure provider.", + "azure": "azure contains settings specific to the Azure infrastructure provider.", + "gcp": "gcp contains settings specific to the Google Cloud Platform infrastructure provider.", + "baremetal": "baremetal contains settings specific to the BareMetal platform.", + "openstack": "openstack contains settings specific to the OpenStack infrastructure provider.", + "ovirt": "ovirt contains settings specific to the oVirt infrastructure provider.", + "vsphere": "vsphere contains settings specific to the VSphere infrastructure provider.", + "ibmcloud": "ibmcloud contains settings specific to the IBMCloud infrastructure provider.", + "kubevirt": "kubevirt contains settings specific to the kubevirt infrastructure provider.", + "equinixMetal": "equinixMetal contains settings specific to the Equinix Metal infrastructure provider.", + "powervs": "powervs contains settings specific to the Power Systems Virtual Servers infrastructure provider.", + "alibabaCloud": "alibabaCloud contains settings specific to the Alibaba Cloud infrastructure provider.", + "nutanix": "nutanix contains settings specific to the Nutanix infrastructure provider.", + "external": "external contains settings specific to the generic External infrastructure provider.", } func (PlatformStatus) SwaggerDoc() map[string]string { @@ -1718,8 +1719,8 @@ var map_PowerVSPlatformStatus = map[string]string{ "zone": "zone holds the default zone for the new Power VS resources created by the cluster. Note: Currently only single-zone OCP clusters are supported", "resourceGroup": "resourceGroup is the resource group name for new IBMCloud resources created for a cluster. The resource group specified here will be used by cluster-image-registry-operator to set up a COS Instance in IBMCloud for the cluster registry. More about resource groups can be found here: https://cloud.ibm.com/docs/account?topic=account-rgs. When omitted, the image registry operator won't be able to configure storage, which results in the image registry cluster operator not being in an available state.", "serviceEndpoints": "serviceEndpoints is a list of custom endpoints which will override the default service endpoints of a Power VS service.", - "cisInstanceCRN": "CISInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain", - "dnsInstanceCRN": "DNSInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain", + "cisInstanceCRN": "cisInstanceCRN is the CRN of the Cloud Internet Services instance managing the DNS zone for the cluster's base domain", + "dnsInstanceCRN": "dnsInstanceCRN is the CRN of the DNS Services instance managing the DNS zone for the cluster's base domain", } func (PowerVSPlatformStatus) SwaggerDoc() map[string]string { @@ -1736,13 +1737,45 @@ func (PowerVSServiceEndpoint) SwaggerDoc() map[string]string { return map_PowerVSServiceEndpoint } +var map_VSphereFailureDomainHostGroup = map[string]string{ + "": "VSphereFailureDomainHostGroup holds the vmGroup and the hostGroup names in vCenter corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also contains the vmHostRule which is an affinity vm-host rule in vCenter.", + "vmGroup": "vmGroup is the name of the vm-host group of type virtual machine within vCenter for this failure domain. vmGroup is limited to 80 characters. This field is required when the VSphereFailureDomain ZoneType is HostGroup", + "hostGroup": "hostGroup is the name of the vm-host group of type host within vCenter for this failure domain. hostGroup is limited to 80 characters. This field is required when the VSphereFailureDomain ZoneType is HostGroup", + "vmHostRule": "vmHostRule is the name of the affinity vm-host rule within vCenter for this failure domain. vmHostRule is limited to 80 characters. This field is required when the VSphereFailureDomain ZoneType is HostGroup", +} + +func (VSphereFailureDomainHostGroup) SwaggerDoc() map[string]string { + return map_VSphereFailureDomainHostGroup +} + +var map_VSphereFailureDomainRegionAffinity = map[string]string{ + "": "VSphereFailureDomainRegionAffinity contains the region type which is the string representation of the VSphereFailureDomainRegionType with available options of Datacenter and ComputeCluster.", + "type": "type determines the vSphere object type for a region within this failure domain. Available types are Datacenter and ComputeCluster. When set to Datacenter, this means the vCenter Datacenter defined is the region. When set to ComputeCluster, this means the vCenter cluster defined is the region.", +} + +func (VSphereFailureDomainRegionAffinity) SwaggerDoc() map[string]string { + return map_VSphereFailureDomainRegionAffinity +} + +var map_VSphereFailureDomainZoneAffinity = map[string]string{ + "": "VSphereFailureDomainZoneAffinity contains the vCenter cluster vm-host group (virtual machine and host types) and the vm-host affinity rule that together creates an affinity configuration for vm-host based zonal. This configuration within vCenter creates the required association between a failure domain, virtual machines and ESXi hosts to create a vm-host based zone.", + "type": "type determines the vSphere object type for a zone within this failure domain. Available types are ComputeCluster and HostGroup. When set to ComputeCluster, this means the vCenter cluster defined is the zone. When set to HostGroup, hostGroup must be configured with hostGroup, vmGroup and vmHostRule and this means the zone is defined by the grouping of those fields.", + "hostGroup": "hostGroup holds the vmGroup and the hostGroup names in vCenter corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also contains the vmHostRule which is an affinity vm-host rule in vCenter.", +} + +func (VSphereFailureDomainZoneAffinity) SwaggerDoc() map[string]string { + return map_VSphereFailureDomainZoneAffinity +} + var map_VSpherePlatformFailureDomainSpec = map[string]string{ - "": "VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology of that failure domain.", - "name": "name defines the arbitrary but unique name of a failure domain.", - "region": "region defines the name of a region tag that will be attached to a vCenter datacenter. The tag category in vCenter must be named openshift-region.", - "zone": "zone defines the name of a zone tag that will be attached to a vCenter cluster. The tag category in vCenter must be named openshift-zone.", - "server": "server is the fully-qualified domain name or the IP address of the vCenter server.", - "topology": "Topology describes a given failure domain using vSphere constructs", + "": "VSpherePlatformFailureDomainSpec holds the region and zone failure domain and the vCenter topology of that failure domain.", + "name": "name defines the arbitrary but unique name of a failure domain.", + "region": "region defines the name of a region tag that will be attached to a vCenter datacenter. The tag category in vCenter must be named openshift-region.", + "zone": "zone defines the name of a zone tag that will be attached to a vCenter cluster. The tag category in vCenter must be named openshift-zone.", + "regionAffinity": "regionAffinity holds the type of region, Datacenter or ComputeCluster. When set to Datacenter, this means the region is a vCenter Datacenter as defined in topology. When set to ComputeCluster, this means the region is a vCenter Cluster as defined in topology.", + "zoneAffinity": "zoneAffinity holds the type of the zone and the hostGroup which vmGroup and the hostGroup names in vCenter corresponds to a vm-host group of type Virtual Machine and Host respectively. Is also contains the vmHostRule which is an affinity vm-host rule in vCenter.", + "server": "server is the fully-qualified domain name or the IP address of the vCenter server.", + "topology": "topology describes a given failure domain using vSphere constructs", } func (VSpherePlatformFailureDomainSpec) SwaggerDoc() map[string]string { @@ -1961,8 +1994,8 @@ func (ExternalIPPolicy) SwaggerDoc() map[string]string { var map_MTUMigration = map[string]string{ "": "MTUMigration contains infomation about MTU migration.", - "network": "Network contains MTU migration configuration for the default network.", - "machine": "Machine contains MTU migration configuration for the machine's uplink.", + "network": "network contains MTU migration configuration for the default network.", + "machine": "machine contains MTU migration configuration for the machine's uplink.", } func (MTUMigration) SwaggerDoc() map[string]string { @@ -1971,8 +2004,8 @@ func (MTUMigration) SwaggerDoc() map[string]string { var map_MTUMigrationValues = map[string]string{ "": "MTUMigrationValues contains the values for a MTU migration.", - "to": "To is the MTU to migrate to.", - "from": "From is the MTU to migrate from.", + "to": "to is the MTU to migrate to.", + "from": "from is the MTU to migrate from.", } func (MTUMigrationValues) SwaggerDoc() map[string]string { @@ -2031,8 +2064,8 @@ func (NetworkList) SwaggerDoc() map[string]string { var map_NetworkMigration = map[string]string{ "": "NetworkMigration represents the network migration status.", - "networkType": "NetworkType is the target plugin that is being deployed. DEPRECATED: network type migration is no longer supported, so this should always be unset.", - "mtu": "MTU is the MTU configuration that is being deployed.", + "networkType": "networkType is the target plugin that is being deployed. DEPRECATED: network type migration is no longer supported, so this should always be unset.", + "mtu": "mtu is the MTU configuration that is being deployed.", } func (NetworkMigration) SwaggerDoc() map[string]string { @@ -2043,7 +2076,7 @@ var map_NetworkSpec = map[string]string{ "": "NetworkSpec is the desired network configuration. As a general rule, this SHOULD NOT be read directly. Instead, you should consume the NetworkStatus, as it indicates the currently deployed configuration. Currently, most spec fields are immutable after installation. Please view the individual ones for further details on each.", "clusterNetwork": "IP address pool to use for pod IPs. This field is immutable after installation.", "serviceNetwork": "IP address pool for services. Currently, we only support a single entry here. This field is immutable after installation.", - "networkType": "NetworkType is the plugin that is to be deployed (e.g. OVNKubernetes). This should match a value that the cluster-network-operator understands, or else no networking will be installed. Currently supported values are: - OVNKubernetes This field is immutable after installation.", + "networkType": "networkType is the plugin that is to be deployed (e.g. OVNKubernetes). This should match a value that the cluster-network-operator understands, or else no networking will be installed. Currently supported values are: - OVNKubernetes This field is immutable after installation.", "externalIP": "externalIP defines configuration for controllers that affect Service.ExternalIP. If nil, then ExternalIP is not allowed to be set.", "serviceNodePortRange": "The port range allowed for Services of type NodePort. If not specified, the default of 30000-32767 will be used. Such Services without a NodePort specified will have one automatically allocated from this range. This parameter can be updated after the cluster is installed.", "networkDiagnostics": "networkDiagnostics defines network diagnostics configuration.\n\nTakes precedence over spec.disableNetworkDiagnostics in network.operator.openshift.io. If networkDiagnostics is not specified or is empty, and the spec.disableNetworkDiagnostics flag in network.operator.openshift.io is set to true, the network diagnostics feature will be disabled.", @@ -2057,9 +2090,9 @@ var map_NetworkStatus = map[string]string{ "": "NetworkStatus is the current network configuration.", "clusterNetwork": "IP address pool to use for pod IPs.", "serviceNetwork": "IP address pool for services. Currently, we only support a single entry here.", - "networkType": "NetworkType is the plugin that is deployed (e.g. OVNKubernetes).", - "clusterNetworkMTU": "ClusterNetworkMTU is the MTU for inter-pod networking.", - "migration": "Migration contains the cluster network migration configuration.", + "networkType": "networkType is the plugin that is deployed (e.g. OVNKubernetes).", + "clusterNetworkMTU": "clusterNetworkMTU is the MTU for inter-pod networking.", + "migration": "migration contains the cluster network migration configuration.", "conditions": "conditions represents the observations of a network.config current state. Known .status.conditions.type are: \"NetworkDiagnosticsAvailable\"", } @@ -2088,8 +2121,9 @@ func (NodeList) SwaggerDoc() map[string]string { } var map_NodeSpec = map[string]string{ - "cgroupMode": "CgroupMode determines the cgroups version on the node", - "workerLatencyProfile": "WorkerLatencyProfile determins the how fast the kubelet is updating the status and corresponding reaction of the cluster", + "cgroupMode": "cgroupMode determines the cgroups version on the node", + "workerLatencyProfile": "workerLatencyProfile determins the how fast the kubelet is updating the status and corresponding reaction of the cluster", + "minimumKubeletVersion": "minimumKubeletVersion is the lowest version of a kubelet that can join the cluster. Specifically, the apiserver will deny most authorization requests of kubelets that are older than the specified version, only allowing the kubelet to get and update its node object, and perform subjectaccessreviews. This means any kubelet that attempts to join the cluster will not be able to run any assigned workloads, and will eventually be marked as not ready. Its max length is 8, so maximum version allowed is either \"9.999.99\" or \"99.99.99\". Since the kubelet reports the version of the kubernetes release, not Openshift, this field references the underlying kubernetes version this version of Openshift is based off of. In other words: if an admin wishes to ensure no nodes run an older version than Openshift 4.17, then they should set the minimumKubeletVersion to 1.30.0. When comparing versions, the kubelet's version is stripped of any contents outside of major.minor.patch version. Thus, a kubelet with version \"1.0.0-ec.0\" will be compatible with minimumKubeletVersion \"1.0.0\" or earlier.", } func (NodeSpec) SwaggerDoc() map[string]string { @@ -2436,7 +2470,7 @@ func (TemplateReference) SwaggerDoc() map[string]string { var map_Proxy = map[string]string{ "": "Proxy holds cluster-wide information on how to configure default proxies for the cluster. The canonical name is `cluster`\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec holds user-settable values for the proxy configuration", + "spec": "spec holds user-settable values for the proxy configuration", "status": "status holds observed values from the cluster. They may not be overridden.", } @@ -2511,7 +2545,7 @@ var map_SchedulerSpec = map[string]string{ "profile": "profile sets which scheduling profile should be set in order to configure scheduling decisions for new pods.\n\nValid values are \"LowNodeUtilization\", \"HighNodeUtilization\", \"NoScoring\" Defaults to \"LowNodeUtilization\"", "profileCustomizations": "profileCustomizations contains configuration for modifying the default behavior of existing scheduler profiles.", "defaultNodeSelector": "defaultNodeSelector helps set the cluster-wide default node selector to restrict pod placement to specific nodes. This is applied to the pods created in all namespaces and creates an intersection with any existing nodeSelectors already set on a pod, additionally constraining that pod's selector. For example, defaultNodeSelector: \"type=user-node,region=east\" would set nodeSelector field in pod spec to \"type=user-node,region=east\" to all pods created in all namespaces. Namespaces having project-wide node selectors won't be impacted even if this field is set. This adds an annotation section to the namespace. For example, if a new namespace is created with node-selector='type=user-node,region=east', the annotation openshift.io/node-selector: type=user-node,region=east gets added to the project. When the openshift.io/node-selector annotation is set on the project the value is used in preference to the value we are setting for defaultNodeSelector field. For instance, openshift.io/node-selector: \"type=user-node,region=west\" means that the default of \"type=user-node,region=east\" set in defaultNodeSelector would not be applied.", - "mastersSchedulable": "MastersSchedulable allows masters nodes to be schedulable. When this flag is turned on, all the master nodes in the cluster will be made schedulable, so that workload pods can run on them. The default value for this field is false, meaning none of the master nodes are schedulable. Important Note: Once the workload pods start running on the master nodes, extreme care must be taken to ensure that cluster-critical control plane components are not impacted. Please turn on this field after doing due diligence.", + "mastersSchedulable": "mastersSchedulable allows masters nodes to be schedulable. When this flag is turned on, all the master nodes in the cluster will be made schedulable, so that workload pods can run on them. The default value for this field is false, meaning none of the master nodes are schedulable. Important Note: Once the workload pods start running on the master nodes, extreme care must be taken to ensure that cluster-critical control plane components are not impacted. Please turn on this field after doing due diligence.", } func (SchedulerSpec) SwaggerDoc() map[string]string { @@ -2519,8 +2553,8 @@ func (SchedulerSpec) SwaggerDoc() map[string]string { } var map_FeatureGateTests = map[string]string{ - "featureGate": "FeatureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance.", - "tests": "Tests contains an item for every TestName", + "featureGate": "featureGate is the name of the FeatureGate as it appears in The FeatureGate CR instance.", + "tests": "tests contains an item for every TestName", } func (FeatureGateTests) SwaggerDoc() map[string]string { @@ -2528,7 +2562,7 @@ func (FeatureGateTests) SwaggerDoc() map[string]string { } var map_TestDetails = map[string]string{ - "testName": "TestName is the name of the test as it appears in junit XMLs. It does not include the suite name since the same test can be executed in many suites.", + "testName": "testName is the name of the test as it appears in junit XMLs. It does not include the suite name since the same test can be executed in many suites.", } func (TestDetails) SwaggerDoc() map[string]string { @@ -2546,7 +2580,7 @@ func (TestReporting) SwaggerDoc() map[string]string { } var map_TestReportingSpec = map[string]string{ - "testsForFeatureGates": "TestsForFeatureGates is a list, indexed by FeatureGate and includes information about testing.", + "testsForFeatureGates": "testsForFeatureGates is a list, indexed by FeatureGate and includes information about testing.", } func (TestReportingSpec) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_backup.go b/vendor/github.com/openshift/api/config/v1alpha1/types_backup.go index 65eb5c1f75..e52a2e5c53 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_backup.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/types_backup.go @@ -24,18 +24,16 @@ type Backup struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec BackupSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. - // +kubebuilder:validation:Optional // +optional Status BackupStatus `json:"status"` } type BackupSpec struct { // etcd specifies the configuration for periodic backups of the etcd cluster - // +kubebuilder:validation:Required + // +required EtcdBackupSpec EtcdBackupSpec `json:"etcd"` } @@ -45,12 +43,11 @@ type BackupStatus struct { // EtcdBackupSpec provides configuration for automated etcd backups to the cluster-etcd-operator type EtcdBackupSpec struct { - // Schedule defines the recurring backup schedule in Cron format + // schedule defines the recurring backup schedule in Cron format // every 2 hours: 0 */2 * * * // every day at 3am: 0 3 * * * // Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. // The current default is "no backups", but will change in the future. - // +kubebuilder:validation:Optional // +optional // +kubebuilder:validation:Pattern:=`^(@(annually|yearly|monthly|weekly|daily|hourly))|(\*|(?:\*|(?:[0-9]|(?:[1-5][0-9])))\/(?:[0-9]|(?:[1-5][0-9]))|(?:[0-9]|(?:[1-5][0-9]))(?:(?:\-[0-9]|\-(?:[1-5][0-9]))?|(?:\,(?:[0-9]|(?:[1-5][0-9])))*)) (\*|(?:\*|(?:\*|(?:[0-9]|1[0-9]|2[0-3])))\/(?:[0-9]|1[0-9]|2[0-3])|(?:[0-9]|1[0-9]|2[0-3])(?:(?:\-(?:[0-9]|1[0-9]|2[0-3]))?|(?:\,(?:[0-9]|1[0-9]|2[0-3]))*)) (\*|(?:[1-9]|(?:[12][0-9])|3[01])(?:(?:\-(?:[1-9]|(?:[12][0-9])|3[01]))?|(?:\,(?:[1-9]|(?:[12][0-9])|3[01]))*)) (\*|(?:[1-9]|1[012]|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC)(?:(?:\-(?:[1-9]|1[012]|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))?|(?:\,(?:[1-9]|1[012]|JAN|FEB|MAR|APR|MAY|JUN|JUL|AUG|SEP|OCT|NOV|DEC))*)) (\*|(?:[0-6]|SUN|MON|TUE|WED|THU|FRI|SAT)(?:(?:\-(?:[0-6]|SUN|MON|TUE|WED|THU|FRI|SAT))?|(?:\,(?:[0-6]|SUN|MON|TUE|WED|THU|FRI|SAT))*))$` Schedule string `json:"schedule"` @@ -73,7 +70,6 @@ type EtcdBackupSpec struct { // The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. // If not specified, this will default to the time zone of the kube-controller-manager process. // See https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones - // +kubebuilder:validation:Optional // +optional // +kubebuilder:validation:Pattern:=`^([A-Za-z_]+([+-]*0)*|[A-Za-z_]+(\/[A-Za-z_]+){1,2})(\/GMT[+-]\d{1,2})?$` TimeZone string `json:"timeZone"` @@ -84,17 +80,15 @@ type EtcdBackupSpec struct { // [A-Za-z_]+(/[A-Za-z_]+){1,2} - One or more alphabetical characters (uppercase or lowercase) or underscores, followed by one or two occurrences of a forward slash followed by one or more alphabetical characters or underscores. This allows for matching timezone identifiers with 2 or 3 parts, e.g America/Argentina/Buenos_Aires // (/GMT[+-]\d{1,2})? - Makes the GMT offset suffix optional. It matches "/GMT" followed by either a plus ("+") or minus ("-") sign and one or two digits (the GMT offset) - // RetentionPolicy defines the retention policy for retaining and deleting existing backups. - // +kubebuilder:validation:Optional + // retentionPolicy defines the retention policy for retaining and deleting existing backups. // +optional RetentionPolicy RetentionPolicy `json:"retentionPolicy"` - // PVCName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the + // pvcName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the // etcd backup files would be saved // The PVC itself must always be created in the "openshift-etcd" namespace // If the PVC is left unspecified "" then the platform will choose a reasonable default location to save the backup. // In the future this would be backups saved across the control-plane master nodes. - // +kubebuilder:validation:Optional // +optional PVCName string `json:"pvcName"` } @@ -115,45 +109,40 @@ const ( // This struct is a discriminated union that allows users to select the type of retention policy from the supported types. // +union type RetentionPolicy struct { - // RetentionType sets the type of retention policy. + // retentionType sets the type of retention policy. // Currently, the only valid policies are retention by number of backups (RetentionNumber), by the size of backups (RetentionSize). More policies or types may be added in the future. // Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. // The current default is RetentionNumber with 15 backups kept. // +unionDiscriminator // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Enum:="";"RetentionNumber";"RetentionSize" RetentionType RetentionType `json:"retentionType"` - // RetentionNumber configures the retention policy based on the number of backups - // +kubebuilder:validation:Optional + // retentionNumber configures the retention policy based on the number of backups // +optional RetentionNumber *RetentionNumberConfig `json:"retentionNumber,omitempty"` - // RetentionSize configures the retention policy based on the size of backups - // +kubebuilder:validation:Optional + // retentionSize configures the retention policy based on the size of backups // +optional RetentionSize *RetentionSizeConfig `json:"retentionSize,omitempty"` } // RetentionNumberConfig specifies the configuration of the retention policy on the number of backups type RetentionNumberConfig struct { - // MaxNumberOfBackups defines the maximum number of backups to retain. + // maxNumberOfBackups defines the maximum number of backups to retain. // If the existing number of backups saved is equal to MaxNumberOfBackups then // the oldest backup will be removed before a new backup is initiated. // +kubebuilder:validation:Minimum=1 - // +kubebuilder:validation:Required // +required MaxNumberOfBackups int `json:"maxNumberOfBackups,omitempty"` } // RetentionSizeConfig specifies the configuration of the retention policy on the total size of backups type RetentionSizeConfig struct { - // MaxSizeOfBackupsGb defines the total size in GB of backups to retain. + // maxSizeOfBackupsGb defines the total size in GB of backups to retain. // If the current total size backups exceeds MaxSizeOfBackupsGb then // the oldest backup will be removed before a new backup is initiated. // +kubebuilder:validation:Minimum=1 - // +kubebuilder:validation:Required // +required MaxSizeOfBackupsGb int `json:"maxSizeOfBackupsGb,omitempty"` } diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go b/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go index 14650fd48f..5eaeeea736 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/types_cluster_image_policy.go @@ -24,7 +24,7 @@ type ClusterImagePolicy struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec contains the configuration for the cluster image policy. - // +kubebuilder:validation:Required + // +required Spec ClusterImagePolicySpec `json:"spec"` // status contains the observed state of the resource. // +optional @@ -44,13 +44,13 @@ type ClusterImagePolicySpec struct { // If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. // For additional details about the format, please refer to the document explaining the docker transport field, // which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxItems=256 // +listType=set Scopes []ImageScope `json:"scopes"` // policy contains configuration to allow scopes to be verified, and defines how // images not matching the verification policy will be treated. - // +kubebuilder:validation:Required + // +required Policy Policy `json:"policy"` } diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go b/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go index a177ddb0d6..7f57d88f91 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/types_image_policy.go @@ -23,7 +23,7 @@ type ImagePolicy struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required + // +required Spec ImagePolicySpec `json:"spec"` // status contains the observed state of the resource. // +optional @@ -43,13 +43,13 @@ type ImagePolicySpec struct { // If a scope is configured in both the ClusterImagePolicy and the ImagePolicy, or if the scope in ImagePolicy is nested under one of the scopes from the ClusterImagePolicy, only the policy from the ClusterImagePolicy will be applied. // For additional details about the format, please refer to the document explaining the docker transport field, // which can be found at: https://github.com/containers/image/blob/main/docs/containers-policy.json.5.md#docker - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxItems=256 // +listType=set Scopes []ImageScope `json:"scopes"` // policy contains configuration to allow scopes to be verified, and defines how // images not matching the verification policy will be treated. - // +kubebuilder:validation:Required + // +required Policy Policy `json:"policy"` } @@ -62,7 +62,7 @@ type ImageScope string // Policy defines the verification policy for the items in the scopes list. type Policy struct { // rootOfTrust specifies the root of trust for the policy. - // +kubebuilder:validation:Required + // +required RootOfTrust PolicyRootOfTrust `json:"rootOfTrust"` // signedIdentity specifies what image identity the signature claims about the image. The required matchPolicy field specifies the approach used in the verification process to verify the identity in the signature and the actual image identity, the default matchPolicy is "MatchRepoDigestOrExact". // +optional @@ -78,7 +78,7 @@ type PolicyRootOfTrust struct { // "PublicKey" indicates that the policy relies on a sigstore publicKey and may optionally use a Rekor verification. // "FulcioCAWithRekor" indicates that the policy is based on the Fulcio certification and incorporates a Rekor verification. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required PolicyType PolicyType `json:"policyType"` // publicKey defines the root of trust based on a sigstore public key. // +optional @@ -102,7 +102,7 @@ const ( type PublicKey struct { // keyData contains inline base64-encoded data for the PEM format public key. // KeyData must be at most 8192 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=8192 KeyData []byte `json:"keyData"` // rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. @@ -116,16 +116,16 @@ type PublicKey struct { type FulcioCAWithRekor struct { // fulcioCAData contains inline base64-encoded data for the PEM format fulcio CA. // fulcioCAData must be at most 8192 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=8192 FulcioCAData []byte `json:"fulcioCAData"` // rekorKeyData contains inline base64-encoded data for the PEM format from the Rekor public key. // rekorKeyData must be at most 8192 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=8192 RekorKeyData []byte `json:"rekorKeyData"` // fulcioSubject specifies OIDC issuer and the email of the Fulcio authentication configuration. - // +kubebuilder:validation:Required + // +required FulcioSubject PolicyFulcioSubject `json:"fulcioSubject,omitempty"` } @@ -133,12 +133,12 @@ type FulcioCAWithRekor struct { type PolicyFulcioSubject struct { // oidcIssuer contains the expected OIDC issuer. It will be verified that the Fulcio-issued certificate contains a (Fulcio-defined) certificate extension pointing at this OIDC issuer URL. When Fulcio issues certificates, it includes a value based on an URL inside the client-provided ID token. // Example: "https://expected.OIDC.issuer/" - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:XValidation:rule="isURL(self)",message="oidcIssuer must be a valid URL" OIDCIssuer string `json:"oidcIssuer"` // signedEmail holds the email address the the Fulcio certificate is issued for. // Example: "expected-signing-user@example.com" - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:XValidation:rule=`self.matches('^\\S+@\\S+$')`,message="invalid email address" SignedEmail string `json:"signedEmail"` } @@ -157,7 +157,7 @@ type PolicyIdentity struct { // "ExactRepository" means that the identity in the signature must be in the same repository as a specific identity specified by "repository". // "RemapIdentity" means that the signature must be in the same as the remapped image identity. Remapped image identity is obtained by replacing the "prefix" with the specified “signedPrefix” if the the image identity matches the specified remapPrefix. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required MatchPolicy IdentityMatchPolicy `json:"matchPolicy"` // exactRepository is required if matchPolicy is set to "ExactRepository". // +optional @@ -175,7 +175,7 @@ type IdentityRepositoryPrefix string type PolicyMatchExactRepository struct { // repository is the reference of the image identity to be matched. // The value should be a repository name (by omitting the tag or digest) in a registry implementing the "Docker Registry HTTP API V2". For example, docker.io/library/busybox - // +kubebuilder:validation:Required + // +required Repository IdentityRepositoryPrefix `json:"repository"` } @@ -186,12 +186,12 @@ type PolicyMatchRemapIdentity struct { // The prefix and signedPrefix values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, // or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. // For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox. - // +kubebuilder:validation:Required + // +required Prefix IdentityRepositoryPrefix `json:"prefix"` // signedPrefix is the prefix of the image identity to be matched in the signature. The format is the same as "prefix". The values can be either host[:port] values (matching exactly the same host[:port], string), repository namespaces, // or repositories (i.e. they must not contain tags/digests), and match as prefixes of the fully expanded form. // For example, docker.io/library/busybox (not busybox) to specify that single repository, or docker.io/library (not an empty string) to specify the parent namespace of docker.io/library/busybox. - // +kubebuilder:validation:Required + // +required SignedPrefix IdentityRepositoryPrefix `json:"signedPrefix"` } diff --git a/vendor/github.com/openshift/api/config/v1alpha1/types_insights.go b/vendor/github.com/openshift/api/config/v1alpha1/types_insights.go index 171e96d5b8..3ae4de157c 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/types_insights.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/types_insights.go @@ -24,7 +24,7 @@ type InsightsDataGather struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required + // +required Spec InsightsDataGatherSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. // +optional diff --git a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go index 55468f38da..e6accce0d7 100644 --- a/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/config/v1alpha1/zz_generated.swagger_doc_generated.go @@ -41,10 +41,10 @@ func (BackupSpec) SwaggerDoc() map[string]string { var map_EtcdBackupSpec = map[string]string{ "": "EtcdBackupSpec provides configuration for automated etcd backups to the cluster-etcd-operator", - "schedule": "Schedule defines the recurring backup schedule in Cron format every 2 hours: 0 */2 * * * every day at 3am: 0 3 * * * Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. The current default is \"no backups\", but will change in the future.", + "schedule": "schedule defines the recurring backup schedule in Cron format every 2 hours: 0 */2 * * * every day at 3am: 0 3 * * * Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. The current default is \"no backups\", but will change in the future.", "timeZone": "The time zone name for the given schedule, see https://en.wikipedia.org/wiki/List_of_tz_database_time_zones. If not specified, this will default to the time zone of the kube-controller-manager process. See https://kubernetes.io/docs/concepts/workloads/controllers/cron-jobs/#time-zones", - "retentionPolicy": "RetentionPolicy defines the retention policy for retaining and deleting existing backups.", - "pvcName": "PVCName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the etcd backup files would be saved The PVC itself must always be created in the \"openshift-etcd\" namespace If the PVC is left unspecified \"\" then the platform will choose a reasonable default location to save the backup. In the future this would be backups saved across the control-plane master nodes.", + "retentionPolicy": "retentionPolicy defines the retention policy for retaining and deleting existing backups.", + "pvcName": "pvcName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the etcd backup files would be saved The PVC itself must always be created in the \"openshift-etcd\" namespace If the PVC is left unspecified \"\" then the platform will choose a reasonable default location to save the backup. In the future this would be backups saved across the control-plane master nodes.", } func (EtcdBackupSpec) SwaggerDoc() map[string]string { @@ -53,7 +53,7 @@ func (EtcdBackupSpec) SwaggerDoc() map[string]string { var map_RetentionNumberConfig = map[string]string{ "": "RetentionNumberConfig specifies the configuration of the retention policy on the number of backups", - "maxNumberOfBackups": "MaxNumberOfBackups defines the maximum number of backups to retain. If the existing number of backups saved is equal to MaxNumberOfBackups then the oldest backup will be removed before a new backup is initiated.", + "maxNumberOfBackups": "maxNumberOfBackups defines the maximum number of backups to retain. If the existing number of backups saved is equal to MaxNumberOfBackups then the oldest backup will be removed before a new backup is initiated.", } func (RetentionNumberConfig) SwaggerDoc() map[string]string { @@ -62,9 +62,9 @@ func (RetentionNumberConfig) SwaggerDoc() map[string]string { var map_RetentionPolicy = map[string]string{ "": "RetentionPolicy defines the retention policy for retaining and deleting existing backups. This struct is a discriminated union that allows users to select the type of retention policy from the supported types.", - "retentionType": "RetentionType sets the type of retention policy. Currently, the only valid policies are retention by number of backups (RetentionNumber), by the size of backups (RetentionSize). More policies or types may be added in the future. Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. The current default is RetentionNumber with 15 backups kept.", - "retentionNumber": "RetentionNumber configures the retention policy based on the number of backups", - "retentionSize": "RetentionSize configures the retention policy based on the size of backups", + "retentionType": "retentionType sets the type of retention policy. Currently, the only valid policies are retention by number of backups (RetentionNumber), by the size of backups (RetentionSize). More policies or types may be added in the future. Empty string means no opinion and the platform is left to choose a reasonable default which is subject to change without notice. The current default is RetentionNumber with 15 backups kept.", + "retentionNumber": "retentionNumber configures the retention policy based on the number of backups", + "retentionSize": "retentionSize configures the retention policy based on the size of backups", } func (RetentionPolicy) SwaggerDoc() map[string]string { @@ -73,7 +73,7 @@ func (RetentionPolicy) SwaggerDoc() map[string]string { var map_RetentionSizeConfig = map[string]string{ "": "RetentionSizeConfig specifies the configuration of the retention policy on the total size of backups", - "maxSizeOfBackupsGb": "MaxSizeOfBackupsGb defines the total size in GB of backups to retain. If the current total size backups exceeds MaxSizeOfBackupsGb then the oldest backup will be removed before a new backup is initiated.", + "maxSizeOfBackupsGb": "maxSizeOfBackupsGb defines the total size in GB of backups to retain. If the current total size backups exceeds MaxSizeOfBackupsGb then the oldest backup will be removed before a new backup is initiated.", } func (RetentionSizeConfig) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/console/v1/types_console_link.go b/vendor/github.com/openshift/api/console/v1/types_console_link.go index 24a5dbadcd..977fcbda97 100644 --- a/vendor/github.com/openshift/api/console/v1/types_console_link.go +++ b/vendor/github.com/openshift/api/console/v1/types_console_link.go @@ -56,7 +56,7 @@ type ApplicationMenuSpec struct { // This can be any text that will appear as a subheading in the application menu dropdown. // A new section will be created if the text does not match text of an existing section. Section string `json:"section"` - // imageUrl is the URL for the icon used in front of the link in the application menu. + // imageURL is the URL for the icon used in front of the link in the application menu. // The URL must be an HTTPS URL or a Data URI. The image should be square and will be shown at 24x24 pixels. // +optional ImageURL string `json:"imageURL,omitempty"` diff --git a/vendor/github.com/openshift/api/console/v1/types_console_plugin.go b/vendor/github.com/openshift/api/console/v1/types_console_plugin.go index 24954687d5..632e13c722 100644 --- a/vendor/github.com/openshift/api/console/v1/types_console_plugin.go +++ b/vendor/github.com/openshift/api/console/v1/types_console_plugin.go @@ -26,7 +26,8 @@ type ConsolePlugin struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required + // spec contains the desired configuration for the console plugin. + // +required Spec ConsolePluginSpec `json:"spec"` } @@ -34,20 +35,146 @@ type ConsolePlugin struct { type ConsolePluginSpec struct { // displayName is the display name of the plugin. // The dispalyName should be between 1 and 128 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 DisplayName string `json:"displayName"` // backend holds the configuration of backend which is serving console's plugin . - // +kubebuilder:validation:Required + // +required Backend ConsolePluginBackend `json:"backend"` // proxy is a list of proxies that describe various service type // to which the plugin needs to connect to. + // +listType=atomic // +optional Proxy []ConsolePluginProxy `json:"proxy,omitempty"` // i18n is the configuration of plugin's localization resources. // +optional I18n ConsolePluginI18n `json:"i18n"` + // contentSecurityPolicy is a list of Content-Security-Policy (CSP) directives for the plugin. + // Each directive specifies a list of values, appropriate for the given directive type, + // for example a list of remote endpoints for fetch directives such as ScriptSrc. + // Console web application uses CSP to detect and mitigate certain types of attacks, + // such as cross-site scripting (XSS) and data injection attacks. + // Dynamic plugins should specify this field if need to load assets from outside + // the cluster or if violation reports are observed. Dynamic plugins should always prefer + // loading their assets from within the cluster, either by vendoring them, or fetching + // from a cluster service. + // CSP violation reports can be viewed in the browser's console logs during development and + // testing of the plugin in the OpenShift web console. + // Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc. + // Each of the available directives may be defined only once in the list. + // The value 'self' is automatically included in all fetch directives by the OpenShift web + // console's backend. + // For more information about the CSP directives, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy + // + // The OpenShift web console server aggregates the CSP directives and values across + // its own default values and all enabled ConsolePlugin CRs, merging them into a single + // policy string that is sent to the browser via `Content-Security-Policy` HTTP response header. + // + // Example: + // ConsolePlugin A directives: + // script-src: https://script1.com/, https://script2.com/ + // font-src: https://font1.com/ + // + // ConsolePlugin B directives: + // script-src: https://script2.com/, https://script3.com/ + // font-src: https://font2.com/ + // img-src: https://img1.com/ + // + // Unified set of CSP directives, passed to the OpenShift web console server: + // script-src: https://script1.com/, https://script2.com/, https://script3.com/ + // font-src: https://font1.com/, https://font2.com/ + // img-src: https://img1.com/ + // + // OpenShift web console server CSP response header: + // Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none' + // + // +openshift:enable:FeatureGate=ConsolePluginContentSecurityPolicy + // +kubebuilder:validation:MaxItems=5 + // +kubebuilder:validation:XValidation:rule="self.map(x, x.values.map(y, y.size()).sum()).sum() < 8192",message="the total combined size of values of all directives must not exceed 8192 (8kb)" + // +listType=map + // +listMapKey=directive + // +optional + ContentSecurityPolicy []ConsolePluginCSP `json:"contentSecurityPolicy"` +} + +// DirectiveType is an enumeration of OpenShift web console supported CSP directives. +// LoadType is an enumeration of i18n loading types. +// +kubebuilder:validation:Enum:="DefaultSrc";"ScriptSrc";"StyleSrc";"ImgSrc";"FontSrc" +// +enum +type DirectiveType string + +const ( + // DefaultSrc directive serves as a fallback for the other CSP fetch directives. + // For more information about the DefaultSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src + DefaultSrc DirectiveType = "DefaultSrc" + // ScriptSrc directive specifies valid sources for JavaScript. + // For more information about the ScriptSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src + ScriptSrc DirectiveType = "ScriptSrc" + // StyleSrc directive specifies valid sources for stylesheets. + // For more information about the StyleSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src + StyleSrc DirectiveType = "StyleSrc" + // ImgSrc directive specifies a valid sources of images and favicons. + // For more information about the ImgSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src + ImgSrc DirectiveType = "ImgSrc" + // FontSrc directive specifies valid sources for fonts loaded using @font-face. + // For more information about the FontSrcdirective, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src + FontSrc DirectiveType = "FontSrc" +) + +// CSPDirectiveValue is single value for a Content-Security-Policy directive. +// Each directive value must have a maximum length of 1024 characters and must not contain +// whitespace, commas (,), semicolons (;) or single quotes ('). The value '*' is not permitted. +// +kubebuilder:validation:MinLength=1 +// +kubebuilder:validation:MaxLength=1024 +// +kubebuilder:validation:XValidation:rule="!self.contains(\"'\")",message="CSP directive value cannot contain a quote" +// +kubebuilder:validation:XValidation:rule="!self.matches('\\\\s')",message="CSP directive value cannot contain a whitespace" +// +kubebuilder:validation:XValidation:rule="!self.contains(',')",message="CSP directive value cannot contain a comma" +// +kubebuilder:validation:XValidation:rule="!self.contains(';')",message="CSP directive value cannot contain a semi-colon" +// +kubebuilder:validation:XValidation:rule="self != '*'",message="CSP directive value cannot be a wildcard" +type CSPDirectiveValue string + +// ConsolePluginCSP holds configuration for a specific CSP directive +type ConsolePluginCSP struct { + // directive specifies which Content-Security-Policy directive to configure. + // Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc. + // DefaultSrc directive serves as a fallback for the other CSP fetch directives. + // For more information about the DefaultSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src + // ScriptSrc directive specifies valid sources for JavaScript. + // For more information about the ScriptSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src + // StyleSrc directive specifies valid sources for stylesheets. + // For more information about the StyleSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src + // ImgSrc directive specifies a valid sources of images and favicons. + // For more information about the ImgSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src + // FontSrc directive specifies valid sources for fonts loaded using @font-face. + // For more information about the FontSrc directive, see: + // https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src + // +required + Directive DirectiveType `json:"directive"` + // values defines an array of values to append to the console defaults for this directive. + // Each ConsolePlugin may define their own directives with their values. These will be set + // by the OpenShift web console's backend, as part of its Content-Security-Policy header. + // The array can contain at most 16 values. Each directive value must have a maximum length + // of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single + // quotes ('). The value '*' is not permitted. + // Each value in the array must be unique. + // + // +required + // +kubebuilder:validation:MinItems=1 + // +kubebuilder:validation:MaxItems=16 + // +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))",message="each CSP directive value must be unique" + // +listType=atomic + Values []CSPDirectiveValue `json:"values"` } // LoadType is an enumeration of i18n loading types @@ -75,7 +202,7 @@ type ConsolePluginI18n struct { // When set to Preload, all localization resources are fetched when the plugin is loaded. // When set to Lazy, localization resources are lazily loaded as and when they are required by the console. // When omitted or set to the empty string, the behaviour is equivalent to Lazy type. - // +kubebuilder:validation:Required + // +required LoadType LoadType `json:"loadType"` } @@ -83,7 +210,7 @@ type ConsolePluginI18n struct { // to which console's backend will proxy the plugin's requests. type ConsolePluginProxy struct { // endpoint provides information about endpoint to which the request is proxied to. - // +kubebuilder:validation:Required + // +required Endpoint ConsolePluginProxyEndpoint `json:"endpoint"` // alias is a proxy name that identifies the plugin's proxy. An alias name // should be unique per plugin. The console backend exposes following @@ -95,7 +222,7 @@ type ConsolePluginProxy struct { // // /api/proxy/plugin/acm/search/pods?namespace=openshift-apiserver // - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$` @@ -122,7 +249,7 @@ type ConsolePluginProxyEndpoint struct { // --- // + When handling unknown values, consumers should report an error and stop processing the plugin. // - // +kubebuilder:validation:Required + // +required // +unionDiscriminator Type ConsolePluginProxyType `json:"type"` // service is an in-cluster Service that the plugin will connect to. @@ -162,18 +289,18 @@ const ( // console's backend will proxy the plugin's requests. type ConsolePluginProxyServiceConfig struct { // name of Service that the plugin needs to connect to. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Name string `json:"name"` // namespace of Service that the plugin needs to connect to - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Namespace string `json:"namespace"` // port on which the Service that the plugin needs to connect to // is listening on. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 Port int32 `json:"port"` @@ -197,7 +324,7 @@ type ConsolePluginBackend struct { // --- // + When handling unknown values, consumers should report an error and stop processing the plugin. // - // +kubebuilder:validation:Required + // +required // +unionDiscriminator Type ConsolePluginBackendType `json:"type"` // service is a Kubernetes Service that exposes the plugin using a @@ -212,17 +339,17 @@ type ConsolePluginBackend struct { // console dynamic plugin assets. type ConsolePluginService struct { // name of Service that is serving the plugin assets. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Name string `json:"name"` // namespace of Service that is serving the plugin assets. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 Namespace string `json:"namespace"` // port on which the Service that is serving the plugin is listening to. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 Port int32 `json:"port"` diff --git a/vendor/github.com/openshift/api/console/v1/types_console_quick_start.go b/vendor/github.com/openshift/api/console/v1/types_console_quick_start.go index bb62fb8fc8..1eef701e8b 100644 --- a/vendor/github.com/openshift/api/console/v1/types_console_quick_start.go +++ b/vendor/github.com/openshift/api/console/v1/types_console_quick_start.go @@ -28,7 +28,6 @@ type ConsoleQuickStart struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec ConsoleQuickStartSpec `json:"spec"` } @@ -36,7 +35,6 @@ type ConsoleQuickStart struct { // ConsoleQuickStartSpec is the desired quick start configuration. type ConsoleQuickStartSpec struct { // displayName is the display name of the Quick Start. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required DisplayName string `json:"displayName"` @@ -48,12 +46,10 @@ type ConsoleQuickStartSpec struct { // +optional Tags []string `json:"tags,omitempty"` // durationMinutes describes approximately how many minutes it will take to complete the Quick Start. - // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +required DurationMinutes int `json:"durationMinutes"` // description is the description of the Quick Start. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 // +required @@ -62,12 +58,10 @@ type ConsoleQuickStartSpec struct { // +optional Prerequisites []string `json:"prerequisites,omitempty"` // introduction describes the purpose of the Quick Start. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Introduction string `json:"introduction"` // tasks is the list of steps the user has to perform to complete the Quick Start. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +required Tasks []ConsoleQuickStartTask `json:"tasks"` @@ -87,12 +81,10 @@ type ConsoleQuickStartSpec struct { // ConsoleQuickStartTask is a single step in a Quick Start. type ConsoleQuickStartTask struct { // title describes the task and is displayed as a step heading. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Title string `json:"title"` // description describes the steps needed to complete the task. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Description string `json:"description"` @@ -109,12 +101,10 @@ type ConsoleQuickStartTask struct { type ConsoleQuickStartTaskReview struct { // instructions contains steps that user needs to take in order // to validate his work after going through a task. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Instructions string `json:"instructions"` // failedTaskHelp contains suggestions for a failed task review and is shown at the end of task. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required FailedTaskHelp string `json:"failedTaskHelp"` @@ -123,12 +113,10 @@ type ConsoleQuickStartTaskReview struct { // ConsoleQuickStartTaskSummary contains information about a passed step. type ConsoleQuickStartTaskSummary struct { // success describes the succesfully passed task. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Success string `json:"success"` // failed briefly describes the unsuccessfully passed task. (includes markdown) - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=128 // +required diff --git a/vendor/github.com/openshift/api/console/v1/types_console_sample.go b/vendor/github.com/openshift/api/console/v1/types_console_sample.go index c0175bf9ba..bd0f656969 100644 --- a/vendor/github.com/openshift/api/console/v1/types_console_sample.go +++ b/vendor/github.com/openshift/api/console/v1/types_console_sample.go @@ -25,7 +25,7 @@ type ConsoleSample struct { metav1.ObjectMeta `json:"metadata"` // spec contains configuration for a console sample. - // +kubebuilder:validation:Required + // +required Spec ConsoleSampleSpec `json:"spec"` } @@ -35,7 +35,7 @@ type ConsoleSampleSpec struct { // title is the display name of the sample. // // It is required and must be no more than 50 characters in length. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=50 Title string `json:"title"` @@ -46,7 +46,7 @@ type ConsoleSampleSpec struct { // // The abstract is shown on the sample card tile below the title and provider // and is limited to three lines of content. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=100 Abstract string `json:"abstract"` @@ -56,7 +56,7 @@ type ConsoleSampleSpec struct { // // It is a README.md-like content for additional information, links, pre-conditions, and other instructions. // It will be rendered as Markdown so that it can contain line breaks, links, and other simple formatting. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=4096 Description string `json:"description"` @@ -119,7 +119,7 @@ type ConsoleSampleSpec struct { // source defines where to deploy the sample service from. // The sample may be sourced from an external git repository or container image. - // +kubebuilder:validation:Required + // +required Source ConsoleSampleSource `json:"source"` } @@ -143,7 +143,7 @@ const ( type ConsoleSampleSource struct { // type of the sample, currently supported: "GitImport";"ContainerImport" // +unionDiscriminator - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Enum:="GitImport";"ContainerImport" Type ConsoleSampleSourceType `json:"type"` @@ -161,7 +161,7 @@ type ConsoleSampleSource struct { // ConsoleSampleGitImportSource let the user import code from a public Git repository. type ConsoleSampleGitImportSource struct { // repository contains the reference to the actual Git repository. - // +kubebuilder:validation:Required + // +required Repository ConsoleSampleGitImportSourceRepository `json:"repository"` // service contains configuration for the Service resource created for this sample. // +optional @@ -183,7 +183,7 @@ type ConsoleSampleGitImportSourceRepository struct { // - https://bitbucket.org// // // The url must have a maximum length of 256 characters. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 // +kubebuilder:validation:Pattern=`^https:\/\/(github.com|gitlab.com|bitbucket.org)\/[a-zA-Z0-9-]+\/[a-zA-Z0-9-]+(.git)?$` @@ -232,7 +232,7 @@ type ConsoleSampleContainerImportSource struct { // - quay.io// // - quay.io//@sha256: // - quay.io//: - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=256 Image string `json:"image"` diff --git a/vendor/github.com/openshift/api/console/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/console/v1/zz_generated.deepcopy.go index b7cd66da0c..d4fefaa37c 100644 --- a/vendor/github.com/openshift/api/console/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/console/v1/zz_generated.deepcopy.go @@ -416,6 +416,27 @@ func (in *ConsolePluginBackend) DeepCopy() *ConsolePluginBackend { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *ConsolePluginCSP) DeepCopyInto(out *ConsolePluginCSP) { + *out = *in + if in.Values != nil { + in, out := &in.Values, &out.Values + *out = make([]CSPDirectiveValue, len(*in)) + copy(*out, *in) + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConsolePluginCSP. +func (in *ConsolePluginCSP) DeepCopy() *ConsolePluginCSP { + if in == nil { + return nil + } + out := new(ConsolePluginCSP) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *ConsolePluginI18n) DeepCopyInto(out *ConsolePluginI18n) { *out = *in @@ -547,6 +568,13 @@ func (in *ConsolePluginSpec) DeepCopyInto(out *ConsolePluginSpec) { } } out.I18n = in.I18n + if in.ContentSecurityPolicy != nil { + in, out := &in.ContentSecurityPolicy, &out.ContentSecurityPolicy + *out = make([]ConsolePluginCSP, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } return } diff --git a/vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml index 98abc7147b..250f873a09 100644 --- a/vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/console/v1/zz_generated.featuregated-crd-manifests.yaml @@ -137,7 +137,8 @@ consoleplugins.console.openshift.io: CRDName: consoleplugins.console.openshift.io Capability: Console Category: "" - FeatureGates: [] + FeatureGates: + - ConsolePluginContentSecurityPolicy FilenameOperatorName: "" FilenameOperatorOrdering: "90" FilenameRunLevel: "" diff --git a/vendor/github.com/openshift/api/console/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/console/v1/zz_generated.swagger_doc_generated.go index c6f2070fa4..9207500fbd 100644 --- a/vendor/github.com/openshift/api/console/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/console/v1/zz_generated.swagger_doc_generated.go @@ -91,7 +91,7 @@ func (ConsoleExternalLogLinkSpec) SwaggerDoc() map[string]string { var map_ApplicationMenuSpec = map[string]string{ "": "ApplicationMenuSpec is the specification of the desired section and icon used for the link in the application menu.", "section": "section is the section of the application menu in which the link should appear. This can be any text that will appear as a subheading in the application menu dropdown. A new section will be created if the text does not match text of an existing section.", - "imageURL": "imageUrl is the URL for the icon used in front of the link in the application menu. The URL must be an HTTPS URL or a Data URI. The image should be square and will be shown at 24x24 pixels.", + "imageURL": "imageURL is the URL for the icon used in front of the link in the application menu. The URL must be an HTTPS URL or a Data URI. The image should be square and will be shown at 24x24 pixels.", } func (ApplicationMenuSpec) SwaggerDoc() map[string]string { @@ -171,6 +171,7 @@ func (ConsoleNotificationSpec) SwaggerDoc() map[string]string { var map_ConsolePlugin = map[string]string{ "": "ConsolePlugin is an extension for customizing OpenShift web console by dynamically loading code from another service running on the cluster.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "spec": "spec contains the desired configuration for the console plugin.", } func (ConsolePlugin) SwaggerDoc() map[string]string { @@ -187,6 +188,16 @@ func (ConsolePluginBackend) SwaggerDoc() map[string]string { return map_ConsolePluginBackend } +var map_ConsolePluginCSP = map[string]string{ + "": "ConsolePluginCSP holds configuration for a specific CSP directive", + "directive": "directive specifies which Content-Security-Policy directive to configure. Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc. DefaultSrc directive serves as a fallback for the other CSP fetch directives. For more information about the DefaultSrc directive, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/default-src ScriptSrc directive specifies valid sources for JavaScript. For more information about the ScriptSrc directive, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/script-src StyleSrc directive specifies valid sources for stylesheets. For more information about the StyleSrc directive, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/style-src ImgSrc directive specifies a valid sources of images and favicons. For more information about the ImgSrc directive, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/img-src FontSrc directive specifies valid sources for fonts loaded using @font-face. For more information about the FontSrc directive, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy/font-src", + "values": "values defines an array of values to append to the console defaults for this directive. Each ConsolePlugin may define their own directives with their values. These will be set by the OpenShift web console's backend, as part of its Content-Security-Policy header. The array can contain at most 16 values. Each directive value must have a maximum length of 1024 characters and must not contain whitespace, commas (,), semicolons (;) or single quotes ('). The value '*' is not permitted. Each value in the array must be unique.", +} + +func (ConsolePluginCSP) SwaggerDoc() map[string]string { + return map_ConsolePluginCSP +} + var map_ConsolePluginI18n = map[string]string{ "": "ConsolePluginI18n holds information on localization resources that are served by the dynamic plugin.", "loadType": "loadType indicates how the plugin's localization resource should be loaded. Valid values are Preload, Lazy and the empty string. When set to Preload, all localization resources are fetched when the plugin is loaded. When set to Lazy, localization resources are lazily loaded as and when they are required by the console. When omitted or set to the empty string, the behaviour is equivalent to Lazy type.", @@ -251,11 +262,12 @@ func (ConsolePluginService) SwaggerDoc() map[string]string { } var map_ConsolePluginSpec = map[string]string{ - "": "ConsolePluginSpec is the desired plugin configuration.", - "displayName": "displayName is the display name of the plugin. The dispalyName should be between 1 and 128 characters.", - "backend": "backend holds the configuration of backend which is serving console's plugin .", - "proxy": "proxy is a list of proxies that describe various service type to which the plugin needs to connect to.", - "i18n": "i18n is the configuration of plugin's localization resources.", + "": "ConsolePluginSpec is the desired plugin configuration.", + "displayName": "displayName is the display name of the plugin. The dispalyName should be between 1 and 128 characters.", + "backend": "backend holds the configuration of backend which is serving console's plugin .", + "proxy": "proxy is a list of proxies that describe various service type to which the plugin needs to connect to.", + "i18n": "i18n is the configuration of plugin's localization resources.", + "contentSecurityPolicy": "contentSecurityPolicy is a list of Content-Security-Policy (CSP) directives for the plugin. Each directive specifies a list of values, appropriate for the given directive type, for example a list of remote endpoints for fetch directives such as ScriptSrc. Console web application uses CSP to detect and mitigate certain types of attacks, such as cross-site scripting (XSS) and data injection attacks. Dynamic plugins should specify this field if need to load assets from outside the cluster or if violation reports are observed. Dynamic plugins should always prefer loading their assets from within the cluster, either by vendoring them, or fetching from a cluster service. CSP violation reports can be viewed in the browser's console logs during development and testing of the plugin in the OpenShift web console. Available directive types are DefaultSrc, ScriptSrc, StyleSrc, ImgSrc and FontSrc. Each of the available directives may be defined only once in the list. The value 'self' is automatically included in all fetch directives by the OpenShift web console's backend. For more information about the CSP directives, see: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Security-Policy\n\nThe OpenShift web console server aggregates the CSP directives and values across its own default values and all enabled ConsolePlugin CRs, merging them into a single policy string that is sent to the browser via `Content-Security-Policy` HTTP response header.\n\nExample:\n ConsolePlugin A directives:\n script-src: https://script1.com/, https://script2.com/\n font-src: https://font1.com/\n\n ConsolePlugin B directives:\n script-src: https://script2.com/, https://script3.com/\n font-src: https://font2.com/\n img-src: https://img1.com/\n\n Unified set of CSP directives, passed to the OpenShift web console server:\n script-src: https://script1.com/, https://script2.com/, https://script3.com/\n font-src: https://font1.com/, https://font2.com/\n img-src: https://img1.com/\n\n OpenShift web console server CSP response header:\n Content-Security-Policy: default-src 'self'; base-uri 'self'; script-src 'self' https://script1.com/ https://script2.com/ https://script3.com/; font-src 'self' https://font1.com/ https://font2.com/; img-src 'self' https://img1.com/; style-src 'self'; frame-src 'none'; object-src 'none'", } func (ConsolePluginSpec) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/envtest-releases.yaml b/vendor/github.com/openshift/api/envtest-releases.yaml index 5651bbcc9d..a0e3f0ebdf 100644 --- a/vendor/github.com/openshift/api/envtest-releases.yaml +++ b/vendor/github.com/openshift/api/envtest-releases.yaml @@ -25,3 +25,16 @@ releases: envtest-v1.31.1-linux-arm64.tar.gz: hash: 86fa42c6a3d92e438e35d6066587d0e4f36b910885e10520868959ece2fe740d99abc735f69d6ebe8920291f70d3819b169ad5ddd2db805f8f56a3b83eee3893 selfLink: https://storage.googleapis.com/openshift-kubebuilder-tools/envtest-v1.31.1-linux-arm64.tar.gz + v1.31.2: + envtest-v1.31.2-darwin-amd64.tar.gz: + hash: 4356c4495be7adc311868569bd69c5c17bfdabc243db3c656ac598be87698647e59d030a5f3c659b5ee0084bb0a9d33ea1faa2f5abfe0d762ec3368877cfd17f + selfLink: https://storage.googleapis.com/openshift-kubebuilder-tools/envtest-v1.31.2-darwin-amd64.tar.gz + envtest-v1.31.2-darwin-arm64.tar.gz: + hash: e1a759927343dfbbdff2909b7ea0046eb5c6840aea763b8d5d8229931fa35dcdcd5659fdace7a4eab1e41bc0b04c683aa96508f26aa38b3b5d3945799cb02324 + selfLink: https://storage.googleapis.com/openshift-kubebuilder-tools/envtest-v1.31.2-darwin-arm64.tar.gz + envtest-v1.31.2-linux-amd64.tar.gz: + hash: c9efa849326afc471aff9ee17109491fe3e4d6d76b6d24e6ee8787ef44776abdc57ce6e96f013abf86c91d4ee94660e617a1623d9a71dd95238b6b6bd800aef7 + selfLink: https://storage.googleapis.com/openshift-kubebuilder-tools/envtest-v1.31.2-linux-amd64.tar.gz + envtest-v1.31.2-linux-arm64.tar.gz: + hash: f6ad42b701537ddfd6873e9700f8e73927763878eaf36a5437d71fb62bffda91ce7f502e13f9ef4b508d37973ccddd3d847eba0d7150f7acb5495fd82558fbad + selfLink: https://storage.googleapis.com/openshift-kubebuilder-tools/envtest-v1.31.2-linux-arm64.tar.gz diff --git a/vendor/github.com/openshift/api/features.md b/vendor/github.com/openshift/api/features.md index 863039fcbd..1bb9262f81 100644 --- a/vendor/github.com/openshift/api/features.md +++ b/vendor/github.com/openshift/api/features.md @@ -7,12 +7,13 @@ | MachineAPIOperatorDisableMachineHealthCheckController| | | | | | | | MultiArchInstallAzure| | | | | | | | GatewayAPI| | | Enabled | Enabled | | | +| NewOLM| | Enabled | | Enabled | | Enabled | | AWSClusterHostedDNS| | | Enabled | Enabled | Enabled | Enabled | -| AdditionalRoutingCapabilities| | | Enabled | Enabled | Enabled | Enabled | | AutomatedEtcdBackup| | | Enabled | Enabled | Enabled | Enabled | | BootcNodeManagement| | | Enabled | Enabled | Enabled | Enabled | -| CSIDriverSharedResource| | | Enabled | Enabled | Enabled | Enabled | +| CPMSMachineNamePrefix| | | Enabled | Enabled | Enabled | Enabled | | ClusterMonitoringConfig| | | Enabled | Enabled | Enabled | Enabled | +| ConsolePluginContentSecurityPolicy| | | Enabled | Enabled | Enabled | Enabled | | DNSNameResolver| | | Enabled | Enabled | Enabled | Enabled | | DynamicResourceAllocation| | | Enabled | Enabled | Enabled | Enabled | | EtcdBackendQuota| | | Enabled | Enabled | Enabled | Enabled | @@ -26,13 +27,13 @@ | InsightsRuntimeExtractor| | | Enabled | Enabled | Enabled | Enabled | | MachineAPIProviderOpenStack| | | Enabled | Enabled | Enabled | Enabled | | MachineConfigNodes| | | Enabled | Enabled | Enabled | Enabled | -| ManagedBootImagesAWS| | | Enabled | Enabled | Enabled | Enabled | | MaxUnavailableStatefulSet| | | Enabled | Enabled | Enabled | Enabled | | MetricsCollectionProfiles| | | Enabled | Enabled | Enabled | Enabled | +| MinimumKubeletVersion| | | Enabled | Enabled | Enabled | Enabled | | MixedCPUsAllocation| | | Enabled | Enabled | Enabled | Enabled | | NetworkSegmentation| | | Enabled | Enabled | Enabled | Enabled | -| NewOLM| | | Enabled | Enabled | Enabled | Enabled | | NodeSwap| | | Enabled | Enabled | Enabled | Enabled | +| NutanixMultiSubnets| | | Enabled | Enabled | Enabled | Enabled | | OVNObservability| | | Enabled | Enabled | Enabled | Enabled | | OnClusterBuild| | | Enabled | Enabled | Enabled | Enabled | | PersistentIPsForVirtualization| | | Enabled | Enabled | Enabled | Enabled | @@ -48,11 +49,13 @@ | UpgradeStatus| | | Enabled | Enabled | Enabled | Enabled | | UserNamespacesPodSecurityStandards| | | Enabled | Enabled | Enabled | Enabled | | UserNamespacesSupport| | | Enabled | Enabled | Enabled | Enabled | +| VSphereHostVMGroupZonal| | | Enabled | Enabled | Enabled | Enabled | | VSphereMultiNetworks| | | Enabled | Enabled | Enabled | Enabled | -| VSphereMultiVCenters| | | Enabled | Enabled | Enabled | Enabled | +| VolumeAttributesClass| | | Enabled | Enabled | Enabled | Enabled | | VolumeGroupSnapshot| | | Enabled | Enabled | Enabled | Enabled | | ExternalOIDC| Enabled | | Enabled | Enabled | Enabled | Enabled | | AWSEFSDriverVolumeMetrics| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| AdditionalRoutingCapabilities| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | AdminNetworkPolicy| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | AlibabaPlatform| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | AzureWorkloadIdentity| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | @@ -66,7 +69,7 @@ | IngressControllerLBSubnetsAWS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | KMSv1| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ManagedBootImages| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | -| MetricsServer| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| ManagedBootImagesAWS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | MultiArchInstallAWS| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | MultiArchInstallGCP| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | NetworkDiagnosticsConfig| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | @@ -77,5 +80,6 @@ | SetEIPForNLBIngressController| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | VSphereControlPlaneMachineSet| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | VSphereDriverConfiguration| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | +| VSphereMultiVCenters| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | VSphereStaticIPs| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | | ValidatingAdmissionPolicy| Enabled | Enabled | Enabled | Enabled | Enabled | Enabled | diff --git a/vendor/github.com/openshift/api/features/features.go b/vendor/github.com/openshift/api/features/features.go index 2119c6cf6e..532c09fd31 100644 --- a/vendor/github.com/openshift/api/features/features.go +++ b/vendor/github.com/openshift/api/features/features.go @@ -36,10 +36,19 @@ func AllFeatureSets() map[ClusterProfileName]map[configv1.FeatureSet]*FeatureGat var ( allFeatureGates = map[ClusterProfileName]map[configv1.FeatureSet]*FeatureGateEnabledDisabled{} + FeatureGateConsolePluginCSP = newFeatureGate("ConsolePluginContentSecurityPolicy"). + reportProblemsToJiraComponent("Management Console"). + contactPerson("jhadvig"). + productScope(ocpSpecific). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR("https://github.com/openshift/enhancements/pull/1706"). + mustRegister() + FeatureGateServiceAccountTokenNodeBinding = newFeatureGate("ServiceAccountTokenNodeBinding"). reportProblemsToJiraComponent("apiserver-auth"). contactPerson("stlaz"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/4193"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -47,6 +56,7 @@ var ( reportProblemsToJiraComponent("kube-apiserver"). contactPerson("benluddy"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/3488"). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -54,6 +64,7 @@ var ( reportProblemsToJiraComponent("Routing"). contactPerson("miciah"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade). mustRegister() @@ -61,6 +72,7 @@ var ( reportProblemsToJiraComponent("Networking / router"). contactPerson("miheer"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -68,20 +80,15 @@ var ( reportProblemsToJiraComponent("auth"). contactPerson("ibihim"). productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/899"). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() - FeatureGateCSIDriverSharedResource = newFeatureGate("CSIDriverSharedResource"). - reportProblemsToJiraComponent("builds"). - contactPerson("adkaplan"). - productScope(ocpSpecific). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). - mustRegister() - FeatureGateBuildCSIVolumes = newFeatureGate("BuildCSIVolumes"). reportProblemsToJiraComponent("builds"). contactPerson("adkaplan"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -89,6 +96,7 @@ var ( reportProblemsToJiraComponent("node"). contactPerson("ehashman"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/2400"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -96,6 +104,7 @@ var ( reportProblemsToJiraComponent("openstack"). contactPerson("egarcia"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -103,6 +112,7 @@ var ( reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -110,6 +120,7 @@ var ( reportProblemsToJiraComponent("insights"). contactPerson("jmesnil"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -117,6 +128,7 @@ var ( reportProblemsToJiraComponent("scheduling"). contactPerson("jchaloup"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/4381"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -124,6 +136,7 @@ var ( reportProblemsToJiraComponent("cloud-credential-operator"). contactPerson("abutcher"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -131,6 +144,7 @@ var ( reportProblemsToJiraComponent("apps"). contactPerson("atiratree"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/961"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -138,12 +152,14 @@ var ( reportProblemsToJiraComponent("node"). contactPerson("sairameshv"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/3386"). mustRegister() FeatureGatePrivateHostedZoneAWS = newFeatureGate("PrivateHostedZoneAWS"). reportProblemsToJiraComponent("Routing"). contactPerson("miciah"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -151,6 +167,7 @@ var ( reportProblemsToJiraComponent("node"). contactPerson("sgrunert"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -158,6 +175,7 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("bhb"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -165,6 +183,7 @@ var ( reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -172,20 +191,31 @@ var ( reportProblemsToJiraComponent("machine-config-operator/platform-baremetal"). contactPerson("mkowalsk"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/3705"). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() + FeatureGateVSphereHostVMGroupZonal = newFeatureGate("VSphereHostVMGroupZonal"). + reportProblemsToJiraComponent("splat"). + contactPerson("jcpowermac"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1677"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + FeatureGateVSphereMultiVCenters = newFeatureGate("VSphereMultiVCenters"). reportProblemsToJiraComponent("splat"). contactPerson("vr4manta"). productScope(ocpSpecific). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR(legacyFeatureGateWithoutEnhancement). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateVSphereStaticIPs = newFeatureGate("VSphereStaticIPs"). reportProblemsToJiraComponent("splat"). contactPerson("rvanderp3"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -193,6 +223,15 @@ var ( reportProblemsToJiraComponent("router"). contactPerson("thejasn"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + + FeatureGateCPMSMachineNamePrefix = newFeatureGate("CPMSMachineNamePrefix"). + reportProblemsToJiraComponent("Cloud Compute / ControlPlaneMachineSet"). + contactPerson("chiragkyal"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1714"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -200,6 +239,7 @@ var ( reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("tssurya"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -207,6 +247,7 @@ var ( reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("tssurya"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -214,13 +255,15 @@ var ( reportProblemsToJiraComponent("Networking/cluster-network-operator"). contactPerson("jcaamano"). productScope(ocpSpecific). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR(legacyFeatureGateWithoutEnhancement). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateRouteAdvertisements = newFeatureGate("RouteAdvertisements"). reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("jcaamano"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -228,6 +271,7 @@ var ( reportProblemsToJiraComponent("Networking/ovn-kubernetes"). contactPerson("pliu"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -235,6 +279,7 @@ var ( reportProblemsToJiraComponent("Networking/cluster-network-operator"). contactPerson("kyrtapz"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -242,6 +287,7 @@ var ( reportProblemsToJiraComponent("Networking"). contactPerson("npinaeva"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -249,6 +295,7 @@ var ( reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -256,6 +303,7 @@ var ( reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -263,6 +311,7 @@ var ( reportProblemsToJiraComponent("etcd"). contactPerson("hasbro17"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -270,12 +319,14 @@ var ( reportProblemsToJiraComponent("ecoproject"). contactPerson("msluiter"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). mustRegister() FeatureGateDNSNameResolver = newFeatureGate("DNSNameResolver"). reportProblemsToJiraComponent("dns"). contactPerson("miciah"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -283,6 +334,7 @@ var ( reportProblemsToJiraComponent("splat"). contactPerson("rvanderp3"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -290,6 +342,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("cdoern"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -297,19 +350,14 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("vincepri"). productScope(ocpSpecific). - mustRegister() - - FeatureGateMetricsServer = newFeatureGate("MetricsServer"). - reportProblemsToJiraComponent("Monitoring"). - contactPerson("slashpai"). - productScope(ocpSpecific). - enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR(legacyFeatureGateWithoutEnhancement). mustRegister() FeatureGateGCPClusterHostedDNS = newFeatureGate("GCPClusterHostedDNS"). reportProblemsToJiraComponent("Installer"). contactPerson("barbacbd"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -317,6 +365,7 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("barbacbd"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -324,6 +373,7 @@ var ( reportProblemsToJiraComponent("NodeTuningOperator"). contactPerson("titzhak"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -331,6 +381,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("djoshy"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -338,13 +389,15 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("djoshy"). productScope(ocpSpecific). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR(legacyFeatureGateWithoutEnhancement). + enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() FeatureGateDisableKubeletCloudCredentialProviders = newFeatureGate("DisableKubeletCloudCredentialProviders"). reportProblemsToJiraComponent("cloud-provider"). contactPerson("jspeed"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/2395"). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -352,6 +405,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("dkhater"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -359,6 +413,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("inesqyx"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -366,6 +421,7 @@ var ( reportProblemsToJiraComponent("Cluster Version Operator"). contactPerson("lmohanty"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -373,6 +429,7 @@ var ( reportProblemsToJiraComponent("kube-apiserver"). contactPerson("dgrisonnet"). productScope(kubernetes). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -380,6 +437,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("jhernand"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -387,6 +445,7 @@ var ( reportProblemsToJiraComponent("Cluster Version Operator"). contactPerson("pmuller"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -394,13 +453,23 @@ var ( reportProblemsToJiraComponent("kube-apiserver"). contactPerson("akashem"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/4006"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() + FeatureGateVolumeAttributesClass = newFeatureGate("VolumeAttributesClass"). + reportProblemsToJiraComponent("Storage / Kubernetes External Components"). + contactPerson("dfajmon"). + productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/3751"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() + FeatureGateVolumeGroupSnapshot = newFeatureGate("VolumeGroupSnapshot"). reportProblemsToJiraComponent("Storage / Kubernetes External Components"). contactPerson("fbertina"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/3476"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -408,6 +477,7 @@ var ( reportProblemsToJiraComponent("authentication"). contactPerson("liouk"). productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1596"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). enableForClusterProfile(Hypershift, configv1.Default, configv1.TechPreviewNoUpgrade). mustRegister() @@ -416,6 +486,7 @@ var ( reportProblemsToJiraComponent("cluster-config"). contactPerson("deads"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -423,6 +494,7 @@ var ( reportProblemsToJiraComponent("olm"). contactPerson("joe"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -430,13 +502,15 @@ var ( reportProblemsToJiraComponent("olm"). contactPerson("joe"). productScope(ocpSpecific). - enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR(legacyFeatureGateWithoutEnhancement). + enableForClusterProfile(SelfManaged, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade, configv1.Default). mustRegister() FeatureGateInsightsOnDemandDataGather = newFeatureGate("InsightsOnDemandDataGather"). reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -444,6 +518,7 @@ var ( reportProblemsToJiraComponent("metal"). contactPerson("EmilienM"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -451,6 +526,7 @@ var ( reportProblemsToJiraComponent("insights"). contactPerson("tremes"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -458,6 +534,7 @@ var ( reportProblemsToJiraComponent("MachineConfigOperator"). contactPerson("jerzhang"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -465,6 +542,7 @@ var ( reportProblemsToJiraComponent("Monitoring"). contactPerson("rexagod"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -472,6 +550,7 @@ var ( reportProblemsToJiraComponent("Storage / Kubernetes External Components"). contactPerson("rbednar"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -479,12 +558,14 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("cjschaef"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). mustRegister() FeatureGateChunkSizeMiB = newFeatureGate("ChunkSizeMiB"). reportProblemsToJiraComponent("Image Registry"). contactPerson("flavianmissi"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -492,12 +573,14 @@ var ( reportProblemsToJiraComponent("OCPCLOUD"). contactPerson("jspeed"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). mustRegister() FeatureGatePersistentIPsForVirtualization = newFeatureGate("PersistentIPsForVirtualization"). reportProblemsToJiraComponent("CNV Network"). contactPerson("mduarted"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -505,6 +588,7 @@ var ( reportProblemsToJiraComponent("Monitoring"). contactPerson("marioferh"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -512,6 +596,7 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("r4f4"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -519,12 +604,14 @@ var ( reportProblemsToJiraComponent("Installer"). contactPerson("r4f4"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). mustRegister() FeatureGateMultiArchInstallGCP = newFeatureGate("MultiArchInstallGCP"). reportProblemsToJiraComponent("Installer"). contactPerson("r4f4"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -532,6 +619,7 @@ var ( reportProblemsToJiraComponent("Routing"). contactPerson("miciah"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -539,6 +627,7 @@ var ( reportProblemsToJiraComponent("Storage / Kubernetes External Components"). contactPerson("fbertina"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.Default, configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -546,6 +635,7 @@ var ( reportProblemsToJiraComponent("Multi-Arch"). contactPerson("psundara"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -553,6 +643,7 @@ var ( reportProblemsToJiraComponent("Node"). contactPerson("haircommander"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/127"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -560,6 +651,7 @@ var ( reportProblemsToJiraComponent("Node"). contactPerson("haircommander"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/127"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -567,6 +659,7 @@ var ( reportProblemsToJiraComponent("Node"). contactPerson("haircommander"). productScope(kubernetes). + enhancementPR("https://github.com/kubernetes/enhancements/issues/4265"). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -574,6 +667,7 @@ var ( reportProblemsToJiraComponent("SPLAT"). contactPerson("rvanderp"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() @@ -581,6 +675,23 @@ var ( reportProblemsToJiraComponent("Networking/router"). contactPerson("miciah"). productScope(ocpSpecific). + enhancementPR(legacyFeatureGateWithoutEnhancement). enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). mustRegister() + + FeatureGateMinimumKubeletVersion = newFeatureGate("MinimumKubeletVersion"). + reportProblemsToJiraComponent("Node"). + contactPerson("haircommander"). + productScope(ocpSpecific). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + enhancementPR("https://github.com/openshift/enhancements/pull/1697"). + mustRegister() + + FeatureGateNutanixMultiSubnets = newFeatureGate("NutanixMultiSubnets"). + reportProblemsToJiraComponent("Cloud Compute / Nutanix Provider"). + contactPerson("yanhli"). + productScope(ocpSpecific). + enhancementPR("https://github.com/openshift/enhancements/pull/1711"). + enableIn(configv1.DevPreviewNoUpgrade, configv1.TechPreviewNoUpgrade). + mustRegister() ) diff --git a/vendor/github.com/openshift/api/features/legacyfeaturegates.go b/vendor/github.com/openshift/api/features/legacyfeaturegates.go new file mode 100644 index 0000000000..06e1600e0d --- /dev/null +++ b/vendor/github.com/openshift/api/features/legacyfeaturegates.go @@ -0,0 +1,129 @@ +package features + +import "k8s.io/apimachinery/pkg/util/sets" + +var legacyFeatureGates = sets.New( + "AWSClusterHostedDNS", + // never add to this list, if you think you have an exception ask @deads2k + "AWSEFSDriverVolumeMetrics", + // never add to this list, if you think you have an exception ask @deads2k + "AdditionalRoutingCapabilities", + // never add to this list, if you think you have an exception ask @deads2k + "AdminNetworkPolicy", + // never add to this list, if you think you have an exception ask @deads2k + "AlibabaPlatform", + // never add to this list, if you think you have an exception ask @deads2k + "AutomatedEtcdBackup", + // never add to this list, if you think you have an exception ask @deads2k + "AzureWorkloadIdentity", + // never add to this list, if you think you have an exception ask @deads2k + "BareMetalLoadBalancer", + // never add to this list, if you think you have an exception ask @deads2k + "BootcNodeManagement", + // never add to this list, if you think you have an exception ask @deads2k + "BuildCSIVolumes", + // never add to this list, if you think you have an exception ask @deads2k + "ChunkSizeMiB", + // never add to this list, if you think you have an exception ask @deads2k + "ClusterAPIInstall", + // never add to this list, if you think you have an exception ask @deads2k + "ClusterAPIInstallIBMCloud", + // never add to this list, if you think you have an exception ask @deads2k + "ClusterMonitoringConfig", + // never add to this list, if you think you have an exception ask @deads2k + "DNSNameResolver", + // never add to this list, if you think you have an exception ask @deads2k + "EtcdBackendQuota", + // never add to this list, if you think you have an exception ask @deads2k + "Example", + // never add to this list, if you think you have an exception ask @deads2k + "GCPClusterHostedDNS", + // never add to this list, if you think you have an exception ask @deads2k + "GCPLabelsTags", + // never add to this list, if you think you have an exception ask @deads2k + "GatewayAPI", + // never add to this list, if you think you have an exception ask @deads2k + "HardwareSpeed", + // never add to this list, if you think you have an exception ask @deads2k + "ImageStreamImportMode", + // never add to this list, if you think you have an exception ask @deads2k + "IngressControllerDynamicConfigurationManager", + // never add to this list, if you think you have an exception ask @deads2k + "IngressControllerLBSubnetsAWS", + // never add to this list, if you think you have an exception ask @deads2k + "InsightsConfig", + // never add to this list, if you think you have an exception ask @deads2k + "InsightsConfigAPI", + // never add to this list, if you think you have an exception ask @deads2k + "InsightsOnDemandDataGather", + // never add to this list, if you think you have an exception ask @deads2k + "InsightsRuntimeExtractor", + // never add to this list, if you think you have an exception ask @deads2k + "KMSv1", + // never add to this list, if you think you have an exception ask @deads2k + "MachineAPIMigration", + // never add to this list, if you think you have an exception ask @deads2k + "MachineAPIOperatorDisableMachineHealthCheckController", + // never add to this list, if you think you have an exception ask @deads2k + "MachineAPIProviderOpenStack", + // never add to this list, if you think you have an exception ask @deads2k + "MachineConfigNodes", + // never add to this list, if you think you have an exception ask @deads2k + "ManagedBootImages", + // never add to this list, if you think you have an exception ask @deads2k + "ManagedBootImagesAWS", + // never add to this list, if you think you have an exception ask @deads2k + "MetricsCollectionProfiles", + // never add to this list, if you think you have an exception ask @deads2k + "MixedCPUsAllocation", + // never add to this list, if you think you have an exception ask @deads2k + "MultiArchInstallAWS", + // never add to this list, if you think you have an exception ask @deads2k + "MultiArchInstallAzure", + // never add to this list, if you think you have an exception ask @deads2k + "MultiArchInstallGCP", + // never add to this list, if you think you have an exception ask @deads2k + "NetworkDiagnosticsConfig", + // never add to this list, if you think you have an exception ask @deads2k + "NetworkLiveMigration", + // never add to this list, if you think you have an exception ask @deads2k + "NetworkSegmentation", + // never add to this list, if you think you have an exception ask @deads2k + "NewOLM", + // never add to this list, if you think you have an exception ask @deads2k + "NodeDisruptionPolicy", + // never add to this list, if you think you have an exception ask @deads2k + "OVNObservability", + // never add to this list, if you think you have an exception ask @deads2k + "OnClusterBuild", + // never add to this list, if you think you have an exception ask @deads2k + "PersistentIPsForVirtualization", + // never add to this list, if you think you have an exception ask @deads2k + "PinnedImages", + // never add to this list, if you think you have an exception ask @deads2k + "PlatformOperators", + // never add to this list, if you think you have an exception ask @deads2k + "PrivateHostedZoneAWS", + // never add to this list, if you think you have an exception ask @deads2k + "RouteAdvertisements", + // never add to this list, if you think you have an exception ask @deads2k + "RouteExternalCertificate", + // never add to this list, if you think you have an exception ask @deads2k + "SetEIPForNLBIngressController", + // never add to this list, if you think you have an exception ask @deads2k + "SignatureStores", + // never add to this list, if you think you have an exception ask @deads2k + "SigstoreImageVerification", + // never add to this list, if you think you have an exception ask @deads2k + "UpgradeStatus", + // never add to this list, if you think you have an exception ask @deads2k + "VSphereControlPlaneMachineSet", + // never add to this list, if you think you have an exception ask @deads2k + "VSphereDriverConfiguration", + // never add to this list, if you think you have an exception ask @deads2k + "VSphereMultiNetworks", + // never add to this list, if you think you have an exception ask @deads2k + "VSphereMultiVCenters", + // never add to this list, if you think you have an exception ask @deads2k + "VSphereStaticIPs", +) diff --git a/vendor/github.com/openshift/api/features/util.go b/vendor/github.com/openshift/api/features/util.go index d8d8e94a0e..59bb7bff40 100644 --- a/vendor/github.com/openshift/api/features/util.go +++ b/vendor/github.com/openshift/api/features/util.go @@ -3,6 +3,8 @@ package features import ( "fmt" configv1 "github.com/openshift/api/config/v1" + "net/url" + "strings" ) // FeatureGateDescription is a golang-only interface used to contains details for a feature gate. @@ -18,6 +20,8 @@ type FeatureGateDescription struct { ResponsiblePerson string // OwningProduct is the product that owns the lifecycle of the gate. OwningProduct OwningProduct + // EnhancementPR is the PR for the enhancement. + EnhancementPR string } type FeatureGateEnabledDisabled struct { @@ -45,10 +49,15 @@ type featureGateBuilder struct { owningJiraComponent string responsiblePerson string owningProduct OwningProduct + enhancementPRURL string statusByClusterProfileByFeatureSet map[ClusterProfileName]map[configv1.FeatureSet]bool } +const ( + legacyFeatureGateWithoutEnhancement = "FeatureGate predates 4.18" +) + // newFeatureGate featuregate are disabled in every FeatureSet and selectively enabled func newFeatureGate(name string) *featureGateBuilder { b := &featureGateBuilder{ @@ -80,6 +89,11 @@ func (b *featureGateBuilder) productScope(owningProduct OwningProduct) *featureG return b } +func (b *featureGateBuilder) enhancementPR(url string) *featureGateBuilder { + b.enhancementPRURL = url + return b +} + func (b *featureGateBuilder) enableIn(featureSets ...configv1.FeatureSet) *featureGateBuilder { for clusterProfile := range b.statusByClusterProfileByFeatureSet { for _, featureSet := range featureSets { @@ -109,6 +123,22 @@ func (b *featureGateBuilder) register() (configv1.FeatureGateName, error) { if len(b.owningProduct) == 0 { return "", fmt.Errorf("missing owningProduct") } + _, enhancementPRErr := url.Parse(b.enhancementPRURL) + switch { + case b.enhancementPRURL == legacyFeatureGateWithoutEnhancement: + if !legacyFeatureGates.Has(b.name) { + return "", fmt.Errorf("FeatureGate/%s is a new feature gate, not an existing one. It must have an enhancementPR with GA Graduation Criteria like https://github.com/openshift/enhancements/pull/#### or https://github.com/kubernetes/enhancements/issues/####", b.name) + } + + case len(b.enhancementPRURL) == 0: + return "", fmt.Errorf("FeatureGate/%s is missing an enhancementPR with GA Graduation Criteria like https://github.com/openshift/enhancements/pull/#### or https://github.com/kubernetes/enhancements/issues/####", b.name) + + case !strings.HasPrefix(b.enhancementPRURL, "https://github.com/openshift/enhancements/pull/") && !strings.HasPrefix(b.enhancementPRURL, "https://github.com/kubernetes/enhancements/issues/"): + return "", fmt.Errorf("FeatureGate/%s enhancementPR format is incorrect; must be like https://github.com/openshift/enhancements/pull/#### or https://github.com/kubernetes/enhancements/issues/####", b.name) + + case enhancementPRErr != nil: + return "", fmt.Errorf("FeatureGate/%s is enhancementPR is invalid: %w", b.name, enhancementPRErr) + } featureGateName := configv1.FeatureGateName(b.name) description := FeatureGateDescription{ @@ -118,6 +148,7 @@ func (b *featureGateBuilder) register() (configv1.FeatureGateName, error) { OwningJiraComponent: b.owningJiraComponent, ResponsiblePerson: b.responsiblePerson, OwningProduct: b.owningProduct, + EnhancementPR: b.enhancementPRURL, } // statusByClusterProfileByFeatureSet is initialized by constructor to be false for every combination diff --git a/vendor/github.com/openshift/api/helm/v1beta1/types_helm_chart_repository.go b/vendor/github.com/openshift/api/helm/v1beta1/types_helm_chart_repository.go index 91f25fb673..4700f91140 100644 --- a/vendor/github.com/openshift/api/helm/v1beta1/types_helm_chart_repository.go +++ b/vendor/github.com/openshift/api/helm/v1beta1/types_helm_chart_repository.go @@ -27,7 +27,6 @@ type HelmChartRepository struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec HelmChartRepositorySpec `json:"spec"` diff --git a/vendor/github.com/openshift/api/helm/v1beta1/types_project_helm_chart_repository.go b/vendor/github.com/openshift/api/helm/v1beta1/types_project_helm_chart_repository.go index 37ff581c14..8049c4fe5e 100644 --- a/vendor/github.com/openshift/api/helm/v1beta1/types_project_helm_chart_repository.go +++ b/vendor/github.com/openshift/api/helm/v1beta1/types_project_helm_chart_repository.go @@ -26,7 +26,6 @@ type ProjectHelmChartRepository struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ProjectHelmChartRepositorySpec `json:"spec"` diff --git a/vendor/github.com/openshift/api/image/v1/generated.proto b/vendor/github.com/openshift/api/image/v1/generated.proto index 6b5f24cb21..dabdc6d84a 100644 --- a/vendor/github.com/openshift/api/image/v1/generated.proto +++ b/vendor/github.com/openshift/api/image/v1/generated.proto @@ -47,39 +47,39 @@ message Image { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // DockerImageReference is the string that can be used to pull this image. + // dockerImageReference is the string that can be used to pull this image. optional string dockerImageReference = 2; - // DockerImageMetadata contains metadata about this image + // dockerImageMetadata contains metadata about this image // +patchStrategy=replace // +kubebuilder:pruning:PreserveUnknownFields optional .k8s.io.apimachinery.pkg.runtime.RawExtension dockerImageMetadata = 3; - // DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" + // dockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" optional string dockerImageMetadataVersion = 4; - // DockerImageManifest is the raw JSON of the manifest + // dockerImageManifest is the raw JSON of the manifest optional string dockerImageManifest = 5; - // DockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list. + // dockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list. repeated ImageLayer dockerImageLayers = 6; - // Signatures holds all signatures of the image. + // signatures holds all signatures of the image. // +patchMergeKey=name // +patchStrategy=merge repeated ImageSignature signatures = 7; - // DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. + // dockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. repeated bytes dockerImageSignatures = 8; - // DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. + // dockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. optional string dockerImageManifestMediaType = 9; - // DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. + // dockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. // Will not be set when the image represents a manifest list. optional string dockerImageConfig = 10; - // DockerImageManifests holds information about sub-manifests when the image represents a manifest list. + // dockerImageManifests holds information about sub-manifests when the image represents a manifest list. // When this field is present, no DockerImageLayers should be specified. repeated ImageManifest dockerImageManifests = 11; } @@ -114,56 +114,56 @@ message ImageBlobReferences { // ImageImportSpec describes a request to import a specific image. message ImageImportSpec { - // From is the source of an image to import; only kind DockerImage is allowed + // from is the source of an image to import; only kind DockerImage is allowed optional .k8s.io.api.core.v1.ObjectReference from = 1; - // To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used + // to is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used optional .k8s.io.api.core.v1.LocalObjectReference to = 2; - // ImportPolicy is the policy controlling how the image is imported + // importPolicy is the policy controlling how the image is imported optional TagImportPolicy importPolicy = 3; - // ReferencePolicy defines how other components should consume the image + // referencePolicy defines how other components should consume the image optional TagReferencePolicy referencePolicy = 5; - // IncludeManifest determines if the manifest for each image is returned in the response + // includeManifest determines if the manifest for each image is returned in the response optional bool includeManifest = 4; } // ImageImportStatus describes the result of an image import. message ImageImportStatus { - // Status is the status of the image import, including errors encountered while retrieving the image + // status is the status of the image import, including errors encountered while retrieving the image optional .k8s.io.apimachinery.pkg.apis.meta.v1.Status status = 1; - // Image is the metadata of that image, if the image was located + // image is the metadata of that image, if the image was located optional Image image = 2; - // Tag is the tag this image was located under, if any + // tag is the tag this image was located under, if any optional string tag = 3; - // Manifests holds sub-manifests metadata when importing a manifest list + // manifests holds sub-manifests metadata when importing a manifest list repeated Image manifests = 4; } // ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none. message ImageLayer { - // Name of the layer as defined by the underlying store. + // name of the layer as defined by the underlying store. optional string name = 1; - // Size of the layer in bytes as defined by the underlying store. + // size of the layer in bytes as defined by the underlying store. optional int64 size = 2; - // MediaType of the referenced object. + // mediaType of the referenced object. optional string mediaType = 3; } // ImageLayerData contains metadata about an image layer. message ImageLayerData { - // Size of the layer in bytes as defined by the underlying store. This field is + // size of the layer in bytes as defined by the underlying store. This field is // optional if the necessary information about size is not available. optional int64 size = 1; - // MediaType of the referenced object. + // mediaType of the referenced object. optional string mediaType = 2; } @@ -176,7 +176,7 @@ message ImageList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of images + // items is a list of images repeated Image items = 2; } @@ -194,23 +194,23 @@ message ImageLookupPolicy { // ImageManifest represents sub-manifests of a manifest list. The Digest field points to a regular // Image object. message ImageManifest { - // Digest is the unique identifier for the manifest. It refers to an Image object. + // digest is the unique identifier for the manifest. It refers to an Image object. optional string digest = 1; - // MediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, + // mediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, // application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.v1+json. optional string mediaType = 2; - // ManifestSize represents the size of the raw object contents, in bytes. + // manifestSize represents the size of the raw object contents, in bytes. optional int64 manifestSize = 3; - // Architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`. + // architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`. optional string architecture = 4; - // OS specifies the operating system, for example `linux`. + // os specifies the operating system, for example `linux`. optional string os = 5; - // Variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU + // variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU // variant of the ARM CPU. optional string variant = 6; } @@ -234,7 +234,7 @@ message ImageSignature { // Required: An opaque binary string which is an image's signature. optional bytes content = 3; - // Conditions represent the latest available observations of a signature's current state. + // conditions represent the latest available observations of a signature's current state. // +patchMergeKey=type // +patchStrategy=merge repeated SignatureCondition conditions = 4; @@ -280,11 +280,11 @@ message ImageStream { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec describes the desired state of this stream + // spec describes the desired state of this stream // +optional optional ImageStreamSpec spec = 2; - // Status describes the current state of this stream + // status describes the current state of this stream // +optional optional ImageStreamStatus status = 3; } @@ -309,7 +309,7 @@ message ImageStreamImage { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Image associated with the ImageStream and image name. + // image associated with the ImageStream and image name. optional Image image = 2; } @@ -329,36 +329,36 @@ message ImageStreamImport { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec is a description of the images that the user wishes to import + // spec is a description of the images that the user wishes to import optional ImageStreamImportSpec spec = 2; - // Status is the result of importing the image + // status is the result of importing the image optional ImageStreamImportStatus status = 3; } // ImageStreamImportSpec defines what images should be imported. message ImageStreamImportSpec { - // Import indicates whether to perform an import - if so, the specified tags are set on the spec + // import indicates whether to perform an import - if so, the specified tags are set on the spec // and status of the image stream defined by the type meta. optional bool import = 1; - // Repository is an optional import of an entire container image repository. A maximum limit on the + // repository is an optional import of an entire container image repository. A maximum limit on the // number of tags imported this way is imposed by the server. optional RepositoryImportSpec repository = 2; - // Images are a list of individual images to import. + // images are a list of individual images to import. repeated ImageImportSpec images = 3; } // ImageStreamImportStatus contains information about the status of an image stream import. message ImageStreamImportStatus { - // Import is the image stream that was successfully updated or created when 'to' was set. + // import is the image stream that was successfully updated or created when 'to' was set. optional ImageStream import = 1; - // Repository is set if spec.repository was set to the outcome of the import + // repository is set if spec.repository was set to the outcome of the import optional RepositoryImportStatus repository = 2; - // Images is set with the result of importing spec.images + // images is set with the result of importing spec.images repeated ImageImportStatus images = 3; } @@ -389,7 +389,7 @@ message ImageStreamList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of imageStreams + // items is a list of imageStreams repeated ImageStream items = 2; } @@ -409,10 +409,10 @@ message ImageStreamMapping { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Image is a container image. + // image is a container image. optional Image image = 2; - // Tag is a string value this image can be located with inside the stream. + // tag is a string value this image can be located with inside the stream. optional string tag = 3; } @@ -434,16 +434,16 @@ message ImageStreamSpec { // ImageStreamStatus contains information about the state of this image stream. message ImageStreamStatus { - // DockerImageRepository represents the effective location this stream may be accessed at. + // dockerImageRepository represents the effective location this stream may be accessed at. // May be empty until the server determines where the repository is located optional string dockerImageRepository = 1; - // PublicDockerImageRepository represents the public location from where the image can + // publicDockerImageRepository represents the public location from where the image can // be pulled outside the cluster. This field may be empty if the administrator // has not exposed the integrated registry externally. optional string publicDockerImageRepository = 3; - // Tags are a historical record of images associated with each tag. The first entry in the + // tags are a historical record of images associated with each tag. The first entry in the // TagEvent array is the currently tagged image. // +patchMergeKey=tag // +patchStrategy=merge @@ -496,7 +496,7 @@ message ImageStreamTagList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of image stream tags + // items is the list of image stream tags repeated ImageStreamTag items = 2; } @@ -543,46 +543,46 @@ message ImageTagList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of image stream tags + // items is the list of image stream tags repeated ImageTag items = 2; } // NamedTagEventList relates a tag to its image history. message NamedTagEventList { - // Tag is the tag for which the history is recorded + // tag is the tag for which the history is recorded optional string tag = 1; // Standard object's metadata. repeated TagEvent items = 2; - // Conditions is an array of conditions that apply to the tag event list. + // conditions is an array of conditions that apply to the tag event list. repeated TagEventCondition conditions = 3; } // RepositoryImportSpec describes a request to import images from a container image repository. message RepositoryImportSpec { - // From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed + // from is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed optional .k8s.io.api.core.v1.ObjectReference from = 1; - // ImportPolicy is the policy controlling how the image is imported + // importPolicy is the policy controlling how the image is imported optional TagImportPolicy importPolicy = 2; - // ReferencePolicy defines how other components should consume the image + // referencePolicy defines how other components should consume the image optional TagReferencePolicy referencePolicy = 4; - // IncludeManifest determines if the manifest for each image is returned in the response + // includeManifest determines if the manifest for each image is returned in the response optional bool includeManifest = 3; } // RepositoryImportStatus describes the result of an image repository import message RepositoryImportStatus { - // Status reflects whether any failure occurred during import + // status reflects whether any failure occurred during import optional .k8s.io.apimachinery.pkg.apis.meta.v1.Status status = 1; - // Images is a list of images successfully retrieved by the import of the repository. + // images is a list of images successfully retrieved by the import of the repository. repeated ImageImportStatus images = 2; - // AdditionalTags are tags that exist in the repository but were not imported because + // additionalTags are tags that exist in the repository but were not imported because // a maximum limit of automatic imports was applied. repeated string additionalTags = 3; } @@ -602,10 +602,10 @@ message SecretList { // SignatureCondition describes an image signature condition of particular kind at particular probe time. message SignatureCondition { - // Type of signature condition, Complete or Failed. + // type of signature condition, Complete or Failed. optional string type = 1; - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. optional string status = 2; // Last time the condition was checked. @@ -624,7 +624,7 @@ message SignatureCondition { // SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject // of signing certificate or key. message SignatureGenericEntity { - // Organization name. + // organization name. optional string organization = 1; // Common name (e.g. openshift-signing-service). @@ -648,55 +648,55 @@ message SignatureSubject { // TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag. message TagEvent { - // Created holds the time the TagEvent was created + // created holds the time the TagEvent was created optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time created = 1; - // DockerImageReference is the string that can be used to pull this image + // dockerImageReference is the string that can be used to pull this image optional string dockerImageReference = 2; - // Image is the image + // image is the image optional string image = 3; - // Generation is the spec tag generation that resulted in this tag being updated + // generation is the spec tag generation that resulted in this tag being updated optional int64 generation = 4; } // TagEventCondition contains condition information for a tag event. message TagEventCondition { - // Type of tag event condition, currently only ImportSuccess + // type of tag event condition, currently only ImportSuccess optional string type = 1; - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. optional string status = 2; - // LastTransitionTIme is the time the condition transitioned from one status to another. + // lastTransitionTime is the time the condition transitioned from one status to another. optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; - // Reason is a brief machine readable explanation for the condition's last transition. + // reason is a brief machine readable explanation for the condition's last transition. optional string reason = 4; - // Message is a human readable description of the details about last transition, complementing reason. + // message is a human readable description of the details about last transition, complementing reason. optional string message = 5; - // Generation is the spec tag generation that this status corresponds to + // generation is the spec tag generation that this status corresponds to optional int64 generation = 6; } // TagImportPolicy controls how images related to this tag will be imported. message TagImportPolicy { - // Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. + // insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. optional bool insecure = 1; - // Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported + // scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported optional bool scheduled = 2; - // ImportMode describes how to import an image manifest. + // importMode describes how to import an image manifest. optional string importMode = 3; } // TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track. message TagReference { - // Name of the tag + // name of the tag optional string name = 1; // Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags. @@ -708,11 +708,11 @@ message TagReference { // can only reference a tag within this same ImageStream. optional .k8s.io.api.core.v1.ObjectReference from = 3; - // Reference states if the tag will be imported. Default value is false, which means the tag will + // reference states if the tag will be imported. Default value is false, which means the tag will // be imported. optional bool reference = 4; - // Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference + // generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference // is changed the generation is set to match the current stream generation (which is incremented every // time spec is changed). Other processes in the system like the image importer observe that the // generation of spec tag is newer than the generation recorded in the status and use that as a trigger @@ -722,10 +722,10 @@ message TagReference { // +optional optional int64 generation = 5; - // ImportPolicy is information that controls how images may be imported by the server. + // importPolicy is information that controls how images may be imported by the server. optional TagImportPolicy importPolicy = 6; - // ReferencePolicy defines how other components should consume the image. + // referencePolicy defines how other components should consume the image. optional TagReferencePolicy referencePolicy = 7; } @@ -733,7 +733,7 @@ message TagReference { // image change triggers in deployment configs or builds are resolved. This allows the image stream // author to control how images are accessed. message TagReferencePolicy { - // Type determines how the image pull spec should be transformed when the image stream tag is used in + // type determines how the image pull spec should be transformed when the image stream tag is used in // deployment config triggers or new builds. The default value is `Source`, indicating the original // location of the image should be used (if imported). The user may also specify `Local`, indicating // that the pull spec should point to the integrated container image registry and leverage the registry's diff --git a/vendor/github.com/openshift/api/image/v1/types.go b/vendor/github.com/openshift/api/image/v1/types.go index 9919c0fe76..d4ee4bff69 100644 --- a/vendor/github.com/openshift/api/image/v1/types.go +++ b/vendor/github.com/openshift/api/image/v1/types.go @@ -19,7 +19,7 @@ type ImageList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of images + // items is a list of images Items []Image `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -45,30 +45,30 @@ type Image struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // DockerImageReference is the string that can be used to pull this image. + // dockerImageReference is the string that can be used to pull this image. DockerImageReference string `json:"dockerImageReference,omitempty" protobuf:"bytes,2,opt,name=dockerImageReference"` - // DockerImageMetadata contains metadata about this image + // dockerImageMetadata contains metadata about this image // +patchStrategy=replace // +kubebuilder:pruning:PreserveUnknownFields DockerImageMetadata runtime.RawExtension `json:"dockerImageMetadata,omitempty" patchStrategy:"replace" protobuf:"bytes,3,opt,name=dockerImageMetadata"` - // DockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" + // dockerImageMetadataVersion conveys the version of the object, which if empty defaults to "1.0" DockerImageMetadataVersion string `json:"dockerImageMetadataVersion,omitempty" protobuf:"bytes,4,opt,name=dockerImageMetadataVersion"` - // DockerImageManifest is the raw JSON of the manifest + // dockerImageManifest is the raw JSON of the manifest DockerImageManifest string `json:"dockerImageManifest,omitempty" protobuf:"bytes,5,opt,name=dockerImageManifest"` - // DockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list. + // dockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list. DockerImageLayers []ImageLayer `json:"dockerImageLayers,omitempty" protobuf:"bytes,6,rep,name=dockerImageLayers"` - // Signatures holds all signatures of the image. + // signatures holds all signatures of the image. // +patchMergeKey=name // +patchStrategy=merge Signatures []ImageSignature `json:"signatures,omitempty" patchStrategy:"merge" patchMergeKey:"name" protobuf:"bytes,7,rep,name=signatures"` - // DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. + // dockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1. DockerImageSignatures [][]byte `json:"dockerImageSignatures,omitempty" protobuf:"bytes,8,rep,name=dockerImageSignatures"` - // DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. + // dockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2. DockerImageManifestMediaType string `json:"dockerImageManifestMediaType,omitempty" protobuf:"bytes,9,opt,name=dockerImageManifestMediaType"` - // DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. + // dockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. // Will not be set when the image represents a manifest list. DockerImageConfig string `json:"dockerImageConfig,omitempty" protobuf:"bytes,10,opt,name=dockerImageConfig"` - // DockerImageManifests holds information about sub-manifests when the image represents a manifest list. + // dockerImageManifests holds information about sub-manifests when the image represents a manifest list. // When this field is present, no DockerImageLayers should be specified. DockerImageManifests []ImageManifest `json:"dockerImageManifests,omitempty" protobuf:"bytes,11,rep,name=dockerImageManifests"` } @@ -76,29 +76,29 @@ type Image struct { // ImageManifest represents sub-manifests of a manifest list. The Digest field points to a regular // Image object. type ImageManifest struct { - // Digest is the unique identifier for the manifest. It refers to an Image object. + // digest is the unique identifier for the manifest. It refers to an Image object. Digest string `json:"digest" protobuf:"bytes,1,opt,name=digest"` - // MediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, + // mediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, // application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.v1+json. MediaType string `json:"mediaType" protobuf:"bytes,2,opt,name=mediaType"` - // ManifestSize represents the size of the raw object contents, in bytes. + // manifestSize represents the size of the raw object contents, in bytes. ManifestSize int64 `json:"manifestSize" protobuf:"varint,3,opt,name=manifestSize"` - // Architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`. + // architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`. Architecture string `json:"architecture" protobuf:"bytes,4,opt,name=architecture"` - // OS specifies the operating system, for example `linux`. + // os specifies the operating system, for example `linux`. OS string `json:"os" protobuf:"bytes,5,opt,name=os"` - // Variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU + // variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU // variant of the ARM CPU. Variant string `json:"variant,omitempty" protobuf:"bytes,6,opt,name=variant"` } // ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none. type ImageLayer struct { - // Name of the layer as defined by the underlying store. + // name of the layer as defined by the underlying store. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` - // Size of the layer in bytes as defined by the underlying store. + // size of the layer in bytes as defined by the underlying store. LayerSize int64 `json:"size" protobuf:"varint,2,opt,name=size"` - // MediaType of the referenced object. + // mediaType of the referenced object. MediaType string `json:"mediaType" protobuf:"bytes,3,opt,name=mediaType"` } @@ -126,7 +126,7 @@ type ImageSignature struct { Type string `json:"type" protobuf:"bytes,2,opt,name=type"` // Required: An opaque binary string which is an image's signature. Content []byte `json:"content" protobuf:"bytes,3,opt,name=content"` - // Conditions represent the latest available observations of a signature's current state. + // conditions represent the latest available observations of a signature's current state. // +patchMergeKey=type // +patchStrategy=merge Conditions []SignatureCondition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type" protobuf:"bytes,4,rep,name=conditions"` @@ -154,9 +154,9 @@ type SignatureConditionType string // SignatureCondition describes an image signature condition of particular kind at particular probe time. type SignatureCondition struct { - // Type of signature condition, Complete or Failed. + // type of signature condition, Complete or Failed. Type SignatureConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=SignatureConditionType"` - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` // Last time the condition was checked. LastProbeTime metav1.Time `json:"lastProbeTime,omitempty" protobuf:"bytes,3,opt,name=lastProbeTime"` @@ -171,7 +171,7 @@ type SignatureCondition struct { // SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject // of signing certificate or key. type SignatureGenericEntity struct { - // Organization name. + // organization name. Organization string `json:"organization,omitempty" protobuf:"bytes,1,opt,name=organization"` // Common name (e.g. openshift-signing-service). CommonName string `json:"commonName,omitempty" protobuf:"bytes,2,opt,name=commonName"` @@ -204,7 +204,7 @@ type ImageStreamList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of imageStreams + // items is a list of imageStreams Items []ImageStream `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -237,10 +237,10 @@ type ImageStream struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Spec describes the desired state of this stream + // spec describes the desired state of this stream // +optional Spec ImageStreamSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` - // Status describes the current state of this stream + // status describes the current state of this stream // +optional Status ImageStreamStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } @@ -272,7 +272,7 @@ type ImageLookupPolicy struct { // TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track. type TagReference struct { - // Name of the tag + // name of the tag Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags. // +optional @@ -281,10 +281,10 @@ type TagReference struct { // are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references // can only reference a tag within this same ImageStream. From *corev1.ObjectReference `json:"from,omitempty" protobuf:"bytes,3,opt,name=from"` - // Reference states if the tag will be imported. Default value is false, which means the tag will + // reference states if the tag will be imported. Default value is false, which means the tag will // be imported. Reference bool `json:"reference,omitempty" protobuf:"varint,4,opt,name=reference"` - // Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference + // generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference // is changed the generation is set to match the current stream generation (which is incremented every // time spec is changed). Other processes in the system like the image importer observe that the // generation of spec tag is newer than the generation recorded in the status and use that as a trigger @@ -293,19 +293,19 @@ type TagReference struct { // nil which will be merged with the current tag generation. // +optional Generation *int64 `json:"generation" protobuf:"varint,5,opt,name=generation"` - // ImportPolicy is information that controls how images may be imported by the server. + // importPolicy is information that controls how images may be imported by the server. ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,6,opt,name=importPolicy"` - // ReferencePolicy defines how other components should consume the image. + // referencePolicy defines how other components should consume the image. ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,7,opt,name=referencePolicy"` } // TagImportPolicy controls how images related to this tag will be imported. type TagImportPolicy struct { - // Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. + // insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import. Insecure bool `json:"insecure,omitempty" protobuf:"varint,1,opt,name=insecure"` - // Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported + // scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported Scheduled bool `json:"scheduled,omitempty" protobuf:"varint,2,opt,name=scheduled"` - // ImportMode describes how to import an image manifest. + // importMode describes how to import an image manifest. ImportMode ImportModeType `json:"importMode,omitempty" protobuf:"bytes,3,opt,name=importMode,casttype=ImportModeType"` } @@ -342,7 +342,7 @@ const ( // image change triggers in deployment configs or builds are resolved. This allows the image stream // author to control how images are accessed. type TagReferencePolicy struct { - // Type determines how the image pull spec should be transformed when the image stream tag is used in + // type determines how the image pull spec should be transformed when the image stream tag is used in // deployment config triggers or new builds. The default value is `Source`, indicating the original // location of the image should be used (if imported). The user may also specify `Local`, indicating // that the pull spec should point to the integrated container image registry and leverage the registry's @@ -355,14 +355,14 @@ type TagReferencePolicy struct { // ImageStreamStatus contains information about the state of this image stream. type ImageStreamStatus struct { - // DockerImageRepository represents the effective location this stream may be accessed at. + // dockerImageRepository represents the effective location this stream may be accessed at. // May be empty until the server determines where the repository is located DockerImageRepository string `json:"dockerImageRepository" protobuf:"bytes,1,opt,name=dockerImageRepository"` - // PublicDockerImageRepository represents the public location from where the image can + // publicDockerImageRepository represents the public location from where the image can // be pulled outside the cluster. This field may be empty if the administrator // has not exposed the integrated registry externally. PublicDockerImageRepository string `json:"publicDockerImageRepository,omitempty" protobuf:"bytes,3,opt,name=publicDockerImageRepository"` - // Tags are a historical record of images associated with each tag. The first entry in the + // tags are a historical record of images associated with each tag. The first entry in the // TagEvent array is the currently tagged image. // +patchMergeKey=tag // +patchStrategy=merge @@ -371,23 +371,23 @@ type ImageStreamStatus struct { // NamedTagEventList relates a tag to its image history. type NamedTagEventList struct { - // Tag is the tag for which the history is recorded + // tag is the tag for which the history is recorded Tag string `json:"tag" protobuf:"bytes,1,opt,name=tag"` // Standard object's metadata. Items []TagEvent `json:"items" protobuf:"bytes,2,rep,name=items"` - // Conditions is an array of conditions that apply to the tag event list. + // conditions is an array of conditions that apply to the tag event list. Conditions []TagEventCondition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"` } // TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag. type TagEvent struct { - // Created holds the time the TagEvent was created + // created holds the time the TagEvent was created Created metav1.Time `json:"created" protobuf:"bytes,1,opt,name=created"` - // DockerImageReference is the string that can be used to pull this image + // dockerImageReference is the string that can be used to pull this image DockerImageReference string `json:"dockerImageReference" protobuf:"bytes,2,opt,name=dockerImageReference"` - // Image is the image + // image is the image Image string `json:"image" protobuf:"bytes,3,opt,name=image"` - // Generation is the spec tag generation that resulted in this tag being updated + // generation is the spec tag generation that resulted in this tag being updated Generation int64 `json:"generation" protobuf:"varint,4,opt,name=generation"` } @@ -401,17 +401,17 @@ const ( // TagEventCondition contains condition information for a tag event. type TagEventCondition struct { - // Type of tag event condition, currently only ImportSuccess + // type of tag event condition, currently only ImportSuccess Type TagEventConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TagEventConditionType"` - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` - // LastTransitionTIme is the time the condition transitioned from one status to another. + // lastTransitionTime is the time the condition transitioned from one status to another. LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` - // Reason is a brief machine readable explanation for the condition's last transition. + // reason is a brief machine readable explanation for the condition's last transition. Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` - // Message is a human readable description of the details about last transition, complementing reason. + // message is a human readable description of the details about last transition, complementing reason. Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` - // Generation is the spec tag generation that this status corresponds to + // generation is the spec tag generation that this status corresponds to Generation int64 `json:"generation" protobuf:"varint,6,opt,name=generation"` } @@ -438,9 +438,9 @@ type ImageStreamMapping struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Image is a container image. + // image is a container image. Image Image `json:"image" protobuf:"bytes,2,opt,name=image"` - // Tag is a string value this image can be located with inside the stream. + // tag is a string value this image can be located with inside the stream. Tag string `json:"tag" protobuf:"bytes,3,opt,name=tag"` } @@ -500,7 +500,7 @@ type ImageStreamTagList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of image stream tags + // items is the list of image stream tags Items []ImageStreamTag `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -555,7 +555,7 @@ type ImageTagList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of image stream tags + // items is the list of image stream tags Items []ImageTag `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -585,7 +585,7 @@ type ImageStreamImage struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Image associated with the ImageStream and image name. + // image associated with the ImageStream and image name. Image Image `json:"image" protobuf:"bytes,2,opt,name=image"` } @@ -651,10 +651,10 @@ type ImageBlobReferences struct { // ImageLayerData contains metadata about an image layer. type ImageLayerData struct { - // Size of the layer in bytes as defined by the underlying store. This field is + // size of the layer in bytes as defined by the underlying store. This field is // optional if the necessary information about size is not available. LayerSize *int64 `json:"size" protobuf:"varint,1,opt,name=size"` - // MediaType of the referenced object. + // mediaType of the referenced object. MediaType string `json:"mediaType" protobuf:"bytes,2,opt,name=mediaType"` } @@ -680,82 +680,82 @@ type ImageStreamImport struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Spec is a description of the images that the user wishes to import + // spec is a description of the images that the user wishes to import Spec ImageStreamImportSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` - // Status is the result of importing the image + // status is the result of importing the image Status ImageStreamImportStatus `json:"status" protobuf:"bytes,3,opt,name=status"` } // ImageStreamImportSpec defines what images should be imported. type ImageStreamImportSpec struct { - // Import indicates whether to perform an import - if so, the specified tags are set on the spec + // import indicates whether to perform an import - if so, the specified tags are set on the spec // and status of the image stream defined by the type meta. Import bool `json:"import" protobuf:"varint,1,opt,name=import"` - // Repository is an optional import of an entire container image repository. A maximum limit on the + // repository is an optional import of an entire container image repository. A maximum limit on the // number of tags imported this way is imposed by the server. Repository *RepositoryImportSpec `json:"repository,omitempty" protobuf:"bytes,2,opt,name=repository"` - // Images are a list of individual images to import. + // images are a list of individual images to import. Images []ImageImportSpec `json:"images,omitempty" protobuf:"bytes,3,rep,name=images"` } // ImageStreamImportStatus contains information about the status of an image stream import. type ImageStreamImportStatus struct { - // Import is the image stream that was successfully updated or created when 'to' was set. + // import is the image stream that was successfully updated or created when 'to' was set. Import *ImageStream `json:"import,omitempty" protobuf:"bytes,1,opt,name=import"` - // Repository is set if spec.repository was set to the outcome of the import + // repository is set if spec.repository was set to the outcome of the import Repository *RepositoryImportStatus `json:"repository,omitempty" protobuf:"bytes,2,opt,name=repository"` - // Images is set with the result of importing spec.images + // images is set with the result of importing spec.images Images []ImageImportStatus `json:"images,omitempty" protobuf:"bytes,3,rep,name=images"` } // RepositoryImportSpec describes a request to import images from a container image repository. type RepositoryImportSpec struct { - // From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed + // from is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` - // ImportPolicy is the policy controlling how the image is imported + // importPolicy is the policy controlling how the image is imported ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,2,opt,name=importPolicy"` - // ReferencePolicy defines how other components should consume the image + // referencePolicy defines how other components should consume the image ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,4,opt,name=referencePolicy"` - // IncludeManifest determines if the manifest for each image is returned in the response + // includeManifest determines if the manifest for each image is returned in the response IncludeManifest bool `json:"includeManifest,omitempty" protobuf:"varint,3,opt,name=includeManifest"` } // RepositoryImportStatus describes the result of an image repository import type RepositoryImportStatus struct { - // Status reflects whether any failure occurred during import + // status reflects whether any failure occurred during import Status metav1.Status `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` - // Images is a list of images successfully retrieved by the import of the repository. + // images is a list of images successfully retrieved by the import of the repository. Images []ImageImportStatus `json:"images,omitempty" protobuf:"bytes,2,rep,name=images"` - // AdditionalTags are tags that exist in the repository but were not imported because + // additionalTags are tags that exist in the repository but were not imported because // a maximum limit of automatic imports was applied. AdditionalTags []string `json:"additionalTags,omitempty" protobuf:"bytes,3,rep,name=additionalTags"` } // ImageImportSpec describes a request to import a specific image. type ImageImportSpec struct { - // From is the source of an image to import; only kind DockerImage is allowed + // from is the source of an image to import; only kind DockerImage is allowed From corev1.ObjectReference `json:"from" protobuf:"bytes,1,opt,name=from"` - // To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used + // to is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used To *corev1.LocalObjectReference `json:"to,omitempty" protobuf:"bytes,2,opt,name=to"` - // ImportPolicy is the policy controlling how the image is imported + // importPolicy is the policy controlling how the image is imported ImportPolicy TagImportPolicy `json:"importPolicy,omitempty" protobuf:"bytes,3,opt,name=importPolicy"` - // ReferencePolicy defines how other components should consume the image + // referencePolicy defines how other components should consume the image ReferencePolicy TagReferencePolicy `json:"referencePolicy,omitempty" protobuf:"bytes,5,opt,name=referencePolicy"` - // IncludeManifest determines if the manifest for each image is returned in the response + // includeManifest determines if the manifest for each image is returned in the response IncludeManifest bool `json:"includeManifest,omitempty" protobuf:"varint,4,opt,name=includeManifest"` } // ImageImportStatus describes the result of an image import. type ImageImportStatus struct { - // Status is the status of the image import, including errors encountered while retrieving the image + // status is the status of the image import, including errors encountered while retrieving the image Status metav1.Status `json:"status" protobuf:"bytes,1,opt,name=status"` - // Image is the metadata of that image, if the image was located + // image is the metadata of that image, if the image was located Image *Image `json:"image,omitempty" protobuf:"bytes,2,opt,name=image"` - // Tag is the tag this image was located under, if any + // tag is the tag this image was located under, if any Tag string `json:"tag,omitempty" protobuf:"bytes,3,opt,name=tag"` - // Manifests holds sub-manifests metadata when importing a manifest list + // manifests holds sub-manifests metadata when importing a manifest list Manifests []Image `json:"manifests,omitempty" protobuf:"bytes,4,rep,name=manifests"` } diff --git a/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go index ec7fc2b457..e0720bec77 100644 --- a/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/image/v1/zz_generated.swagger_doc_generated.go @@ -27,16 +27,16 @@ func (DockerImageReference) SwaggerDoc() map[string]string { var map_Image = map[string]string{ "": "Image is an immutable representation of a container image and metadata at a point in time. Images are named by taking a hash of their contents (metadata and content) and any change in format, content, or metadata results in a new name. The images resource is primarily for use by cluster administrators and integrations like the cluster image registry - end users instead access images via the imagestreamtags or imagestreamimages resources. While image metadata is stored in the API, any integration that implements the container image registry API must provide its own storage for the raw manifest data, image config, and layer contents.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "dockerImageReference": "DockerImageReference is the string that can be used to pull this image.", - "dockerImageMetadata": "DockerImageMetadata contains metadata about this image", - "dockerImageMetadataVersion": "DockerImageMetadataVersion conveys the version of the object, which if empty defaults to \"1.0\"", - "dockerImageManifest": "DockerImageManifest is the raw JSON of the manifest", - "dockerImageLayers": "DockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list.", - "signatures": "Signatures holds all signatures of the image.", - "dockerImageSignatures": "DockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.", - "dockerImageManifestMediaType": "DockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.", - "dockerImageConfig": "DockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. Will not be set when the image represents a manifest list.", - "dockerImageManifests": "DockerImageManifests holds information about sub-manifests when the image represents a manifest list. When this field is present, no DockerImageLayers should be specified.", + "dockerImageReference": "dockerImageReference is the string that can be used to pull this image.", + "dockerImageMetadata": "dockerImageMetadata contains metadata about this image", + "dockerImageMetadataVersion": "dockerImageMetadataVersion conveys the version of the object, which if empty defaults to \"1.0\"", + "dockerImageManifest": "dockerImageManifest is the raw JSON of the manifest", + "dockerImageLayers": "dockerImageLayers represents the layers in the image. May not be set if the image does not define that data or if the image represents a manifest list.", + "signatures": "signatures holds all signatures of the image.", + "dockerImageSignatures": "dockerImageSignatures provides the signatures as opaque blobs. This is a part of manifest schema v1.", + "dockerImageManifestMediaType": "dockerImageManifestMediaType specifies the mediaType of manifest. This is a part of manifest schema v2.", + "dockerImageConfig": "dockerImageConfig is a JSON blob that the runtime uses to set up the container. This is a part of manifest schema v2. Will not be set when the image represents a manifest list.", + "dockerImageManifests": "dockerImageManifests holds information about sub-manifests when the image represents a manifest list. When this field is present, no DockerImageLayers should be specified.", } func (Image) SwaggerDoc() map[string]string { @@ -57,11 +57,11 @@ func (ImageBlobReferences) SwaggerDoc() map[string]string { var map_ImageImportSpec = map[string]string{ "": "ImageImportSpec describes a request to import a specific image.", - "from": "From is the source of an image to import; only kind DockerImage is allowed", - "to": "To is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used", - "importPolicy": "ImportPolicy is the policy controlling how the image is imported", - "referencePolicy": "ReferencePolicy defines how other components should consume the image", - "includeManifest": "IncludeManifest determines if the manifest for each image is returned in the response", + "from": "from is the source of an image to import; only kind DockerImage is allowed", + "to": "to is a tag in the current image stream to assign the imported image to, if name is not specified the default tag from from.name will be used", + "importPolicy": "importPolicy is the policy controlling how the image is imported", + "referencePolicy": "referencePolicy defines how other components should consume the image", + "includeManifest": "includeManifest determines if the manifest for each image is returned in the response", } func (ImageImportSpec) SwaggerDoc() map[string]string { @@ -70,10 +70,10 @@ func (ImageImportSpec) SwaggerDoc() map[string]string { var map_ImageImportStatus = map[string]string{ "": "ImageImportStatus describes the result of an image import.", - "status": "Status is the status of the image import, including errors encountered while retrieving the image", - "image": "Image is the metadata of that image, if the image was located", - "tag": "Tag is the tag this image was located under, if any", - "manifests": "Manifests holds sub-manifests metadata when importing a manifest list", + "status": "status is the status of the image import, including errors encountered while retrieving the image", + "image": "image is the metadata of that image, if the image was located", + "tag": "tag is the tag this image was located under, if any", + "manifests": "manifests holds sub-manifests metadata when importing a manifest list", } func (ImageImportStatus) SwaggerDoc() map[string]string { @@ -82,9 +82,9 @@ func (ImageImportStatus) SwaggerDoc() map[string]string { var map_ImageLayer = map[string]string{ "": "ImageLayer represents a single layer of the image. Some images may have multiple layers. Some may have none.", - "name": "Name of the layer as defined by the underlying store.", - "size": "Size of the layer in bytes as defined by the underlying store.", - "mediaType": "MediaType of the referenced object.", + "name": "name of the layer as defined by the underlying store.", + "size": "size of the layer in bytes as defined by the underlying store.", + "mediaType": "mediaType of the referenced object.", } func (ImageLayer) SwaggerDoc() map[string]string { @@ -93,8 +93,8 @@ func (ImageLayer) SwaggerDoc() map[string]string { var map_ImageLayerData = map[string]string{ "": "ImageLayerData contains metadata about an image layer.", - "size": "Size of the layer in bytes as defined by the underlying store. This field is optional if the necessary information about size is not available.", - "mediaType": "MediaType of the referenced object.", + "size": "size of the layer in bytes as defined by the underlying store. This field is optional if the necessary information about size is not available.", + "mediaType": "mediaType of the referenced object.", } func (ImageLayerData) SwaggerDoc() map[string]string { @@ -104,7 +104,7 @@ func (ImageLayerData) SwaggerDoc() map[string]string { var map_ImageList = map[string]string{ "": "ImageList is a list of Image objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of images", + "items": "items is a list of images", } func (ImageList) SwaggerDoc() map[string]string { @@ -122,12 +122,12 @@ func (ImageLookupPolicy) SwaggerDoc() map[string]string { var map_ImageManifest = map[string]string{ "": "ImageManifest represents sub-manifests of a manifest list. The Digest field points to a regular Image object.", - "digest": "Digest is the unique identifier for the manifest. It refers to an Image object.", - "mediaType": "MediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.v1+json.", - "manifestSize": "ManifestSize represents the size of the raw object contents, in bytes.", - "architecture": "Architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`.", - "os": "OS specifies the operating system, for example `linux`.", - "variant": "Variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU variant of the ARM CPU.", + "digest": "digest is the unique identifier for the manifest. It refers to an Image object.", + "mediaType": "mediaType defines the type of the manifest, possible values are application/vnd.oci.image.manifest.v1+json, application/vnd.docker.distribution.manifest.v2+json or application/vnd.docker.distribution.manifest.v1+json.", + "manifestSize": "manifestSize represents the size of the raw object contents, in bytes.", + "architecture": "architecture specifies the supported CPU architecture, for example `amd64` or `ppc64le`.", + "os": "os specifies the operating system, for example `linux`.", + "variant": "variant is an optional field repreenting a variant of the CPU, for example v6 to specify a particular CPU variant of the ARM CPU.", } func (ImageManifest) SwaggerDoc() map[string]string { @@ -139,7 +139,7 @@ var map_ImageSignature = map[string]string{ "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "type": "Required: Describes a type of stored blob.", "content": "Required: An opaque binary string which is an image's signature.", - "conditions": "Conditions represent the latest available observations of a signature's current state.", + "conditions": "conditions represent the latest available observations of a signature's current state.", "imageIdentity": "A human readable string representing image's identity. It could be a product name and version, or an image pull spec (e.g. \"registry.access.redhat.com/rhel7/rhel:7.2\").", "signedClaims": "Contains claims from the signature.", "created": "If specified, it is the time of signature's creation.", @@ -154,8 +154,8 @@ func (ImageSignature) SwaggerDoc() map[string]string { var map_ImageStream = map[string]string{ "": "An ImageStream stores a mapping of tags to images, metadata overrides that are applied when images are tagged in a stream, and an optional reference to a container image repository on a registry. Users typically update the spec.tags field to point to external images which are imported from container registries using credentials in your namespace with the pull secret type, or to existing image stream tags and images which are immediately accessible for tagging or pulling. The history of images applied to a tag is visible in the status.tags field and any user who can view an image stream is allowed to tag that image into their own image streams. Access to pull images from the integrated registry is granted by having the \"get imagestreams/layers\" permission on a given image stream. Users may remove a tag by deleting the imagestreamtag resource, which causes both spec and status for that tag to be removed. Image stream history is retained until an administrator runs the prune operation, which removes references that are no longer in use. To preserve a historical image, ensure there is a tag in spec pointing to that image by its digest.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec describes the desired state of this stream", - "status": "Status describes the current state of this stream", + "spec": "spec describes the desired state of this stream", + "status": "status describes the current state of this stream", } func (ImageStream) SwaggerDoc() map[string]string { @@ -165,7 +165,7 @@ func (ImageStream) SwaggerDoc() map[string]string { var map_ImageStreamImage = map[string]string{ "": "ImageStreamImage represents an Image that is retrieved by image name from an ImageStream. User interfaces and regular users can use this resource to access the metadata details of a tagged image in the image stream history for viewing, since Image resources are not directly accessible to end users. A not found error will be returned if no such image is referenced by a tag within the ImageStream. Images are created when spec tags are set on an image stream that represent an image in an external registry, when pushing to the integrated registry, or when tagging an existing image from one image stream to another. The name of an image stream image is in the form \"@\", where the digest is the content addressible identifier for the image (sha256:xxxxx...). You can use ImageStreamImages as the from.kind of an image stream spec tag to reference an image exactly. The only operations supported on the imagestreamimage endpoint are retrieving the image.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "image": "Image associated with the ImageStream and image name.", + "image": "image associated with the ImageStream and image name.", } func (ImageStreamImage) SwaggerDoc() map[string]string { @@ -175,8 +175,8 @@ func (ImageStreamImage) SwaggerDoc() map[string]string { var map_ImageStreamImport = map[string]string{ "": "The image stream import resource provides an easy way for a user to find and import container images from other container image registries into the server. Individual images or an entire image repository may be imported, and users may choose to see the results of the import prior to tagging the resulting images into the specified image stream.\n\nThis API is intended for end-user tools that need to see the metadata of the image prior to import (for instance, to generate an application from it). Clients that know the desired image can continue to create spec.tags directly into their image streams.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec is a description of the images that the user wishes to import", - "status": "Status is the result of importing the image", + "spec": "spec is a description of the images that the user wishes to import", + "status": "status is the result of importing the image", } func (ImageStreamImport) SwaggerDoc() map[string]string { @@ -185,9 +185,9 @@ func (ImageStreamImport) SwaggerDoc() map[string]string { var map_ImageStreamImportSpec = map[string]string{ "": "ImageStreamImportSpec defines what images should be imported.", - "import": "Import indicates whether to perform an import - if so, the specified tags are set on the spec and status of the image stream defined by the type meta.", - "repository": "Repository is an optional import of an entire container image repository. A maximum limit on the number of tags imported this way is imposed by the server.", - "images": "Images are a list of individual images to import.", + "import": "import indicates whether to perform an import - if so, the specified tags are set on the spec and status of the image stream defined by the type meta.", + "repository": "repository is an optional import of an entire container image repository. A maximum limit on the number of tags imported this way is imposed by the server.", + "images": "images are a list of individual images to import.", } func (ImageStreamImportSpec) SwaggerDoc() map[string]string { @@ -196,9 +196,9 @@ func (ImageStreamImportSpec) SwaggerDoc() map[string]string { var map_ImageStreamImportStatus = map[string]string{ "": "ImageStreamImportStatus contains information about the status of an image stream import.", - "import": "Import is the image stream that was successfully updated or created when 'to' was set.", - "repository": "Repository is set if spec.repository was set to the outcome of the import", - "images": "Images is set with the result of importing spec.images", + "import": "import is the image stream that was successfully updated or created when 'to' was set.", + "repository": "repository is set if spec.repository was set to the outcome of the import", + "images": "images is set with the result of importing spec.images", } func (ImageStreamImportStatus) SwaggerDoc() map[string]string { @@ -219,7 +219,7 @@ func (ImageStreamLayers) SwaggerDoc() map[string]string { var map_ImageStreamList = map[string]string{ "": "ImageStreamList is a list of ImageStream objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of imageStreams", + "items": "items is a list of imageStreams", } func (ImageStreamList) SwaggerDoc() map[string]string { @@ -229,8 +229,8 @@ func (ImageStreamList) SwaggerDoc() map[string]string { var map_ImageStreamMapping = map[string]string{ "": "ImageStreamMapping represents a mapping from a single image stream tag to a container image as well as the reference to the container image stream the image came from. This resource is used by privileged integrators to create an image resource and to associate it with an image stream in the status tags field. Creating an ImageStreamMapping will allow any user who can view the image stream to tag or pull that image, so only create mappings where the user has proven they have access to the image contents directly. The only operation supported for this resource is create and the metadata name and namespace should be set to the image stream containing the tag that should be updated.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "image": "Image is a container image.", - "tag": "Tag is a string value this image can be located with inside the stream.", + "image": "image is a container image.", + "tag": "tag is a string value this image can be located with inside the stream.", } func (ImageStreamMapping) SwaggerDoc() map[string]string { @@ -250,9 +250,9 @@ func (ImageStreamSpec) SwaggerDoc() map[string]string { var map_ImageStreamStatus = map[string]string{ "": "ImageStreamStatus contains information about the state of this image stream.", - "dockerImageRepository": "DockerImageRepository represents the effective location this stream may be accessed at. May be empty until the server determines where the repository is located", - "publicDockerImageRepository": "PublicDockerImageRepository represents the public location from where the image can be pulled outside the cluster. This field may be empty if the administrator has not exposed the integrated registry externally.", - "tags": "Tags are a historical record of images associated with each tag. The first entry in the TagEvent array is the currently tagged image.", + "dockerImageRepository": "dockerImageRepository represents the effective location this stream may be accessed at. May be empty until the server determines where the repository is located", + "publicDockerImageRepository": "publicDockerImageRepository represents the public location from where the image can be pulled outside the cluster. This field may be empty if the administrator has not exposed the integrated registry externally.", + "tags": "tags are a historical record of images associated with each tag. The first entry in the TagEvent array is the currently tagged image.", } func (ImageStreamStatus) SwaggerDoc() map[string]string { @@ -276,7 +276,7 @@ func (ImageStreamTag) SwaggerDoc() map[string]string { var map_ImageStreamTagList = map[string]string{ "": "ImageStreamTagList is a list of ImageStreamTag objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of image stream tags", + "items": "items is the list of image stream tags", } func (ImageStreamTagList) SwaggerDoc() map[string]string { @@ -298,7 +298,7 @@ func (ImageTag) SwaggerDoc() map[string]string { var map_ImageTagList = map[string]string{ "": "ImageTagList is a list of ImageTag objects. When listing image tags, the image field is not populated. Tags are returned in alphabetical order by image stream and then tag.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of image stream tags", + "items": "items is the list of image stream tags", } func (ImageTagList) SwaggerDoc() map[string]string { @@ -307,9 +307,9 @@ func (ImageTagList) SwaggerDoc() map[string]string { var map_NamedTagEventList = map[string]string{ "": "NamedTagEventList relates a tag to its image history.", - "tag": "Tag is the tag for which the history is recorded", + "tag": "tag is the tag for which the history is recorded", "items": "Standard object's metadata.", - "conditions": "Conditions is an array of conditions that apply to the tag event list.", + "conditions": "conditions is an array of conditions that apply to the tag event list.", } func (NamedTagEventList) SwaggerDoc() map[string]string { @@ -318,10 +318,10 @@ func (NamedTagEventList) SwaggerDoc() map[string]string { var map_RepositoryImportSpec = map[string]string{ "": "RepositoryImportSpec describes a request to import images from a container image repository.", - "from": "From is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed", - "importPolicy": "ImportPolicy is the policy controlling how the image is imported", - "referencePolicy": "ReferencePolicy defines how other components should consume the image", - "includeManifest": "IncludeManifest determines if the manifest for each image is returned in the response", + "from": "from is the source for the image repository to import; only kind DockerImage and a name of a container image repository is allowed", + "importPolicy": "importPolicy is the policy controlling how the image is imported", + "referencePolicy": "referencePolicy defines how other components should consume the image", + "includeManifest": "includeManifest determines if the manifest for each image is returned in the response", } func (RepositoryImportSpec) SwaggerDoc() map[string]string { @@ -330,9 +330,9 @@ func (RepositoryImportSpec) SwaggerDoc() map[string]string { var map_RepositoryImportStatus = map[string]string{ "": "RepositoryImportStatus describes the result of an image repository import", - "status": "Status reflects whether any failure occurred during import", - "images": "Images is a list of images successfully retrieved by the import of the repository.", - "additionalTags": "AdditionalTags are tags that exist in the repository but were not imported because a maximum limit of automatic imports was applied.", + "status": "status reflects whether any failure occurred during import", + "images": "images is a list of images successfully retrieved by the import of the repository.", + "additionalTags": "additionalTags are tags that exist in the repository but were not imported because a maximum limit of automatic imports was applied.", } func (RepositoryImportStatus) SwaggerDoc() map[string]string { @@ -341,8 +341,8 @@ func (RepositoryImportStatus) SwaggerDoc() map[string]string { var map_SignatureCondition = map[string]string{ "": "SignatureCondition describes an image signature condition of particular kind at particular probe time.", - "type": "Type of signature condition, Complete or Failed.", - "status": "Status of the condition, one of True, False, Unknown.", + "type": "type of signature condition, Complete or Failed.", + "status": "status of the condition, one of True, False, Unknown.", "lastProbeTime": "Last time the condition was checked.", "lastTransitionTime": "Last time the condition transit from one status to another.", "reason": "(brief) reason for the condition's last transition.", @@ -355,7 +355,7 @@ func (SignatureCondition) SwaggerDoc() map[string]string { var map_SignatureGenericEntity = map[string]string{ "": "SignatureGenericEntity holds a generic information about a person or entity who is an issuer or a subject of signing certificate or key.", - "organization": "Organization name.", + "organization": "organization name.", "commonName": "Common name (e.g. openshift-signing-service).", } @@ -382,10 +382,10 @@ func (SignatureSubject) SwaggerDoc() map[string]string { var map_TagEvent = map[string]string{ "": "TagEvent is used by ImageStreamStatus to keep a historical record of images associated with a tag.", - "created": "Created holds the time the TagEvent was created", - "dockerImageReference": "DockerImageReference is the string that can be used to pull this image", - "image": "Image is the image", - "generation": "Generation is the spec tag generation that resulted in this tag being updated", + "created": "created holds the time the TagEvent was created", + "dockerImageReference": "dockerImageReference is the string that can be used to pull this image", + "image": "image is the image", + "generation": "generation is the spec tag generation that resulted in this tag being updated", } func (TagEvent) SwaggerDoc() map[string]string { @@ -394,12 +394,12 @@ func (TagEvent) SwaggerDoc() map[string]string { var map_TagEventCondition = map[string]string{ "": "TagEventCondition contains condition information for a tag event.", - "type": "Type of tag event condition, currently only ImportSuccess", - "status": "Status of the condition, one of True, False, Unknown.", - "lastTransitionTime": "LastTransitionTIme is the time the condition transitioned from one status to another.", - "reason": "Reason is a brief machine readable explanation for the condition's last transition.", - "message": "Message is a human readable description of the details about last transition, complementing reason.", - "generation": "Generation is the spec tag generation that this status corresponds to", + "type": "type of tag event condition, currently only ImportSuccess", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time the condition transitioned from one status to another.", + "reason": "reason is a brief machine readable explanation for the condition's last transition.", + "message": "message is a human readable description of the details about last transition, complementing reason.", + "generation": "generation is the spec tag generation that this status corresponds to", } func (TagEventCondition) SwaggerDoc() map[string]string { @@ -408,9 +408,9 @@ func (TagEventCondition) SwaggerDoc() map[string]string { var map_TagImportPolicy = map[string]string{ "": "TagImportPolicy controls how images related to this tag will be imported.", - "insecure": "Insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import.", - "scheduled": "Scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported", - "importMode": "ImportMode describes how to import an image manifest.", + "insecure": "insecure is true if the server may bypass certificate verification or connect directly over HTTP during image import.", + "scheduled": "scheduled indicates to the server that this tag should be periodically checked to ensure it is up to date, and imported", + "importMode": "importMode describes how to import an image manifest.", } func (TagImportPolicy) SwaggerDoc() map[string]string { @@ -419,13 +419,13 @@ func (TagImportPolicy) SwaggerDoc() map[string]string { var map_TagReference = map[string]string{ "": "TagReference specifies optional annotations for images using this tag and an optional reference to an ImageStreamTag, ImageStreamImage, or DockerImage this tag should track.", - "name": "Name of the tag", + "name": "name of the tag", "annotations": "Optional; if specified, annotations that are applied to images retrieved via ImageStreamTags.", "from": "Optional; if specified, a reference to another image that this tag should point to. Valid values are ImageStreamTag, ImageStreamImage, and DockerImage. ImageStreamTag references can only reference a tag within this same ImageStream.", - "reference": "Reference states if the tag will be imported. Default value is false, which means the tag will be imported.", - "generation": "Generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference is changed the generation is set to match the current stream generation (which is incremented every time spec is changed). Other processes in the system like the image importer observe that the generation of spec tag is newer than the generation recorded in the status and use that as a trigger to import the newest remote tag. To trigger a new import, clients may set this value to zero which will reset the generation to the latest stream generation. Legacy clients will send this value as nil which will be merged with the current tag generation.", - "importPolicy": "ImportPolicy is information that controls how images may be imported by the server.", - "referencePolicy": "ReferencePolicy defines how other components should consume the image.", + "reference": "reference states if the tag will be imported. Default value is false, which means the tag will be imported.", + "generation": "generation is a counter that tracks mutations to the spec tag (user intent). When a tag reference is changed the generation is set to match the current stream generation (which is incremented every time spec is changed). Other processes in the system like the image importer observe that the generation of spec tag is newer than the generation recorded in the status and use that as a trigger to import the newest remote tag. To trigger a new import, clients may set this value to zero which will reset the generation to the latest stream generation. Legacy clients will send this value as nil which will be merged with the current tag generation.", + "importPolicy": "importPolicy is information that controls how images may be imported by the server.", + "referencePolicy": "referencePolicy defines how other components should consume the image.", } func (TagReference) SwaggerDoc() map[string]string { @@ -434,7 +434,7 @@ func (TagReference) SwaggerDoc() map[string]string { var map_TagReferencePolicy = map[string]string{ "": "TagReferencePolicy describes how pull-specs for images in this image stream tag are generated when image change triggers in deployment configs or builds are resolved. This allows the image stream author to control how images are accessed.", - "type": "Type determines how the image pull spec should be transformed when the image stream tag is used in deployment config triggers or new builds. The default value is `Source`, indicating the original location of the image should be used (if imported). The user may also specify `Local`, indicating that the pull spec should point to the integrated container image registry and leverage the registry's ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this image to be managed from the image stream's namespace, so others on the platform can access a remote image but have no access to the remote secret. It also allows the image layers to be mirrored into the local registry which the images can still be pulled even if the upstream registry is unavailable.", + "type": "type determines how the image pull spec should be transformed when the image stream tag is used in deployment config triggers or new builds. The default value is `Source`, indicating the original location of the image should be used (if imported). The user may also specify `Local`, indicating that the pull spec should point to the integrated container image registry and leverage the registry's ability to proxy the pull to an upstream registry. `Local` allows the credentials used to pull this image to be managed from the image stream's namespace, so others on the platform can access a remote image but have no access to the remote secret. It also allows the image layers to be mirrored into the local registry which the images can still be pulled even if the upstream registry is unavailable.", } func (TagReferencePolicy) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/imageregistry/v1/types.go b/vendor/github.com/openshift/api/imageregistry/v1/types.go index 9b3cc21a4d..3dde9d4c3c 100644 --- a/vendor/github.com/openshift/api/imageregistry/v1/types.go +++ b/vendor/github.com/openshift/api/imageregistry/v1/types.go @@ -477,7 +477,7 @@ const ( // EncryptionAlibaba this a union type in kube parlance. Depending on the value for the AlibabaEncryptionMethod, // different pointers may be used type EncryptionAlibaba struct { - // Method defines the different encrytion modes available + // method defines the different encrytion modes available // Empty value means no opinion and the platform chooses the a default, which is subject to change over time. // Currently the default is `AES256`. // +kubebuilder:validation:Enum="KMS";"AES256" @@ -485,14 +485,14 @@ type EncryptionAlibaba struct { // +optional Method AlibabaEncryptionMethod `json:"method"` - // KMS (key management service) is an encryption type that holds the struct for KMS KeyID + // kms (key management service) is an encryption type that holds the struct for KMS KeyID // +optional KMS *KMSEncryptionAlibaba `json:"kms,omitempty"` } type KMSEncryptionAlibaba struct { - // KeyID holds the KMS encryption key ID - // +kubebuilder:validation:Required + // keyID holds the KMS encryption key ID + // +required // +kubebuilder:validation:MinLength=1 KeyID string `json:"keyID"` } @@ -501,7 +501,7 @@ type KMSEncryptionAlibaba struct { // Configures the registry to use Alibaba Cloud Object Storage Service for backend storage. // More about oss, you can look at the [official documentation](https://www.alibabacloud.com/help/product/31815.htm) type ImageRegistryConfigStorageAlibabaOSS struct { - // Bucket is the bucket name in which you want to store the registry's data. + // bucket is the bucket name in which you want to store the registry's data. // About Bucket naming, more details you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/257087.htm) // Empty value means no opinion and the platform chooses the a default, which is subject to change over time. // Currently the default will be autogenerated in the form of -image-registry-- @@ -510,20 +510,20 @@ type ImageRegistryConfigStorageAlibabaOSS struct { // +kubebuilder:validation:Pattern=`^[0-9a-z]+(-[0-9a-z]+)*$` // +optional Bucket string `json:"bucket,omitempty"` - // Region is the Alibaba Cloud Region in which your bucket exists. + // region is the Alibaba Cloud Region in which your bucket exists. // For a list of regions, you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/31837.html). // Empty value means no opinion and the platform chooses the a default, which is subject to change over time. // Currently the default will be based on the installed Alibaba Cloud Region. // +optional Region string `json:"region,omitempty"` - // EndpointAccessibility specifies whether the registry use the OSS VPC internal endpoint + // endpointAccessibility specifies whether the registry use the OSS VPC internal endpoint // Empty value means no opinion and the platform chooses the a default, which is subject to change over time. // Currently the default is `Internal`. // +kubebuilder:validation:Enum="Internal";"Public";"" // +kubebuilder:default="Internal" // +optional EndpointAccessibility EndpointAccessibility `json:"endpointAccessibility,omitempty"` - // Encryption specifies whether you would like your data encrypted on the server side. + // encryption specifies whether you would like your data encrypted on the server side. // More details, you can look cat the [official documentation](https://www.alibabacloud.com/help/doc-detail/117914.htm) // +optional Encryption *EncryptionAlibaba `json:"encryption,omitempty"` @@ -556,7 +556,7 @@ type ImageRegistryConfigStorage struct { // ibmcos represents configuration that uses IBM Cloud Object Storage. // +optional IBMCOS *ImageRegistryConfigStorageIBMCOS `json:"ibmcos,omitempty"` - // Oss represents configuration that uses Alibaba Cloud Object Storage Service. + // oss represents configuration that uses Alibaba Cloud Object Storage Service. // +optional OSS *ImageRegistryConfigStorageAlibabaOSS `json:"oss,omitempty"` // managementState indicates if the operator manages the underlying diff --git a/vendor/github.com/openshift/api/imageregistry/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/imageregistry/v1/zz_generated.swagger_doc_generated.go index ec999f309b..f8b421ae86 100644 --- a/vendor/github.com/openshift/api/imageregistry/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/imageregistry/v1/zz_generated.swagger_doc_generated.go @@ -52,8 +52,8 @@ func (ConfigList) SwaggerDoc() map[string]string { var map_EncryptionAlibaba = map[string]string{ "": "EncryptionAlibaba this a union type in kube parlance. Depending on the value for the AlibabaEncryptionMethod, different pointers may be used", - "method": "Method defines the different encrytion modes available Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `AES256`.", - "kms": "KMS (key management service) is an encryption type that holds the struct for KMS KeyID", + "method": "method defines the different encrytion modes available Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `AES256`.", + "kms": "kms (key management service) is an encryption type that holds the struct for KMS KeyID", } func (EncryptionAlibaba) SwaggerDoc() map[string]string { @@ -112,7 +112,7 @@ var map_ImageRegistryConfigStorage = map[string]string{ "pvc": "pvc represents configuration that uses a PersistentVolumeClaim.", "azure": "azure represents configuration that uses Azure Blob Storage.", "ibmcos": "ibmcos represents configuration that uses IBM Cloud Object Storage.", - "oss": "Oss represents configuration that uses Alibaba Cloud Object Storage Service.", + "oss": "oss represents configuration that uses Alibaba Cloud Object Storage Service.", "managementState": "managementState indicates if the operator manages the underlying storage unit. If Managed the operator will remove the storage when this operator gets Removed.", } @@ -122,10 +122,10 @@ func (ImageRegistryConfigStorage) SwaggerDoc() map[string]string { var map_ImageRegistryConfigStorageAlibabaOSS = map[string]string{ "": "ImageRegistryConfigStorageAlibabaOSS holds Alibaba Cloud OSS configuration. Configures the registry to use Alibaba Cloud Object Storage Service for backend storage. More about oss, you can look at the [official documentation](https://www.alibabacloud.com/help/product/31815.htm)", - "bucket": "Bucket is the bucket name in which you want to store the registry's data. About Bucket naming, more details you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/257087.htm) Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default will be autogenerated in the form of -image-registry--", - "region": "Region is the Alibaba Cloud Region in which your bucket exists. For a list of regions, you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/31837.html). Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default will be based on the installed Alibaba Cloud Region.", - "endpointAccessibility": "EndpointAccessibility specifies whether the registry use the OSS VPC internal endpoint Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `Internal`.", - "encryption": "Encryption specifies whether you would like your data encrypted on the server side. More details, you can look cat the [official documentation](https://www.alibabacloud.com/help/doc-detail/117914.htm)", + "bucket": "bucket is the bucket name in which you want to store the registry's data. About Bucket naming, more details you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/257087.htm) Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default will be autogenerated in the form of -image-registry--", + "region": "region is the Alibaba Cloud Region in which your bucket exists. For a list of regions, you can look at the [official documentation](https://www.alibabacloud.com/help/doc-detail/31837.html). Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default will be based on the installed Alibaba Cloud Region.", + "endpointAccessibility": "endpointAccessibility specifies whether the registry use the OSS VPC internal endpoint Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `Internal`.", + "encryption": "encryption specifies whether you would like your data encrypted on the server side. More details, you can look cat the [official documentation](https://www.alibabacloud.com/help/doc-detail/117914.htm)", } func (ImageRegistryConfigStorageAlibabaOSS) SwaggerDoc() map[string]string { @@ -266,7 +266,7 @@ func (ImageRegistryStatus) SwaggerDoc() map[string]string { } var map_KMSEncryptionAlibaba = map[string]string{ - "keyID": "KeyID holds the KMS encryption key ID", + "keyID": "keyID holds the KMS encryption key ID", } func (KMSEncryptionAlibaba) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go index b9cdcc213b..cd1ba7ec56 100644 --- a/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/types.go @@ -38,7 +38,7 @@ type KubeAPIServerConfig struct { // DEPRECATED: consolePublicURL has been deprecated and setting it has no effect. ConsolePublicURL string `json:"consolePublicURL"` - // UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! + // userAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! // TODO I think we should just drop this feature. UserAgentMatchingConfig UserAgentMatchingConfig `json:"userAgentMatchingConfig"` @@ -62,6 +62,25 @@ type KubeAPIServerConfig struct { // TODO this needs to be removed. APIServerArguments map[string]Arguments `json:"apiServerArguments"` + + // minimumKubeletVersion is the lowest version of a kubelet that can join the cluster. + // Specifically, the apiserver will deny most authorization requests of kubelets that are older + // than the specified version, only allowing the kubelet to get and update its node object, and perform + // subjectaccessreviews. + // This means any kubelet that attempts to join the cluster will not be able to run any assigned workloads, + // and will eventually be marked as not ready. + // Its max length is 8, so maximum version allowed is either "9.999.99" or "99.99.99". + // Since the kubelet reports the version of the kubernetes release, not Openshift, this field references + // the underlying kubernetes version this version of Openshift is based off of. + // In other words: if an admin wishes to ensure no nodes run an older version than Openshift 4.17, then + // they should set the minimumKubeletVersion to 1.30.0. + // When comparing versions, the kubelet's version is stripped of any contents outside of major.minor.patch version. + // Thus, a kubelet with version "1.0.0-ec.0" will be compatible with minimumKubeletVersion "1.0.0" or earlier. + // +kubebuilder:validation:XValidation:rule="self == \"\" || self.matches('^[0-9]*.[0-9]*.[0-9]*$')",message="minmumKubeletVersion must be in a semver compatible format of x.y.z, or empty" + // +kubebuilder:validation:MaxLength:=8 + // +openshift:enable:FeatureGate=MinimumKubeletVersion + // +optional + MinimumKubeletVersion string `json:"minimumKubeletVersion"` } // Arguments masks the value so protobuf can generate @@ -134,7 +153,7 @@ type UserAgentMatchRule struct { type UserAgentDenyRule struct { UserAgentMatchRule `json:",inline"` - // RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. + // rejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. RejectionMessage string `json:"rejectionMessage"` } @@ -212,6 +231,6 @@ type KubeControllerManagerProjectConfig struct { // ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for // pods fulfilling a service to serve with. type ServiceServingCert struct { - // CertFile is a file containing a PEM-encoded certificate + // certFile is a file containing a PEM-encoded certificate CertFile string `json:"certFile"` } diff --git a/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go index 906bb271b0..7b5bef143c 100644 --- a/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/kubecontrolplane/v1/zz_generated.swagger_doc_generated.go @@ -28,11 +28,12 @@ var map_KubeAPIServerConfig = map[string]string{ "servicesSubnet": "servicesSubnet is the subnet to use for assigning service IPs", "servicesNodePortRange": "servicesNodePortRange is the range to use for assigning service public ports on a host.", "consolePublicURL": "DEPRECATED: consolePublicURL has been deprecated and setting it has no effect.", - "userAgentMatchingConfig": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", + "userAgentMatchingConfig": "userAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", "imagePolicyConfig": "imagePolicyConfig feeds the image policy admission plugin", "projectConfig": "projectConfig feeds an admission plugin", "serviceAccountPublicKeyFiles": "serviceAccountPublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. (If any file contains a private key, the public portion of the key is used) The list of public keys is used to verify presented service account tokens. Each key is tried in order until the list is exhausted or verification succeeds. If no keys are specified, no service account authentication will be available.", "oauthConfig": "oauthConfig, if present start the /oauth endpoint in this process", + "minimumKubeletVersion": "minimumKubeletVersion is the lowest version of a kubelet that can join the cluster. Specifically, the apiserver will deny most authorization requests of kubelets that are older than the specified version, only allowing the kubelet to get and update its node object, and perform subjectaccessreviews. This means any kubelet that attempts to join the cluster will not be able to run any assigned workloads, and will eventually be marked as not ready. Its max length is 8, so maximum version allowed is either \"9.999.99\" or \"99.99.99\". Since the kubelet reports the version of the kubernetes release, not Openshift, this field references the underlying kubernetes version this version of Openshift is based off of. In other words: if an admin wishes to ensure no nodes run an older version than Openshift 4.17, then they should set the minimumKubeletVersion to 1.30.0. When comparing versions, the kubelet's version is stripped of any contents outside of major.minor.patch version. Thus, a kubelet with version \"1.0.0-ec.0\" will be compatible with minimumKubeletVersion \"1.0.0\" or earlier.", } func (KubeAPIServerConfig) SwaggerDoc() map[string]string { @@ -111,7 +112,7 @@ func (RequestHeaderAuthenticationOptions) SwaggerDoc() map[string]string { var map_ServiceServingCert = map[string]string{ "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", - "certFile": "CertFile is a file containing a PEM-encoded certificate", + "certFile": "certFile is a file containing a PEM-encoded certificate", } func (ServiceServingCert) SwaggerDoc() map[string]string { @@ -120,7 +121,7 @@ func (ServiceServingCert) SwaggerDoc() map[string]string { var map_UserAgentDenyRule = map[string]string{ "": "UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client", - "rejectionMessage": "RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", + "rejectionMessage": "rejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", } func (UserAgentDenyRule) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/types.go b/vendor/github.com/openshift/api/legacyconfig/v1/types.go index eaf40b6ee4..c0e03c233a 100644 --- a/vendor/github.com/openshift/api/legacyconfig/v1/types.go +++ b/vendor/github.com/openshift/api/legacyconfig/v1/types.go @@ -21,7 +21,7 @@ type ExtendedArguments map[string][]string type NodeConfig struct { metav1.TypeMeta `json:",inline"` - // NodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. + // nodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. // If you're describing a set of static nodes to the master, this value must match one of the values in the list NodeName string `json:"nodeName"` @@ -29,40 +29,40 @@ type NodeConfig struct { // If not specified, network parse/lookup on the nodeName is performed and the first non-loopback address is used NodeIP string `json:"nodeIP"` - // ServingInfo describes how to start serving + // servingInfo describes how to start serving ServingInfo ServingInfo `json:"servingInfo"` - // MasterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master + // masterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master MasterKubeConfig string `json:"masterKubeConfig"` - // MasterClientConnectionOverrides provides overrides to the client connection used to connect to the master. + // masterClientConnectionOverrides provides overrides to the client connection used to connect to the master. MasterClientConnectionOverrides *ClientConnectionOverrides `json:"masterClientConnectionOverrides"` - // DNSDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to + // dnsDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to // 'cluster.local'. DNSDomain string `json:"dnsDomain"` - // DNSIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes + // dnsIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes // master. This IP must be listening on port 53 for compatibility with libc resolvers (which cannot be configured // to resolve names from any other port). When running more complex local DNS configurations, this is often set // to the local address of a DNS proxy like dnsmasq, which then will consult either the local DNS (see // dnsBindAddress) or the master DNS. DNSIP string `json:"dnsIP"` - // DNSBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. + // dnsBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. // Because most DNS resolvers will only listen on port 53, if you select an alternative port you will need // a DNS proxy like dnsmasq to answer queries for containers. A common configuration is dnsmasq configured // on a node IP listening on 53 and delegating queries for dnsDomain to this process, while sending other // queries to the host environments nameservers. DNSBindAddress string `json:"dnsBindAddress"` - // DNSNameservers is a list of ip:port values of recursive nameservers to forward queries to when running + // dnsNameservers is a list of ip:port values of recursive nameservers to forward queries to when running // a local DNS server if dnsBindAddress is set. If this value is empty, the DNS server will default to // the nameservers listed in /etc/resolv.conf. If you have configured dnsmasq or another DNS proxy on the // system, this value should be set to the upstream nameservers dnsmasq resolves with. DNSNameservers []string `json:"dnsNameservers"` - // DNSRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. + // dnsRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. // Only the nameservers and port fields are used. The file must exist and parse correctly. It adds extra // nameservers to DNSNameservers if set. DNSRecursiveResolvConf string `json:"dnsRecursiveResolvConf"` @@ -70,57 +70,57 @@ type NodeConfig struct { // Deprecated and maintained for backward compatibility, use NetworkConfig.NetworkPluginName instead DeprecatedNetworkPluginName string `json:"networkPluginName,omitempty"` - // NetworkConfig provides network options for the node + // networkConfig provides network options for the node NetworkConfig NodeNetworkConfig `json:"networkConfig"` - // VolumeDirectory is the directory that volumes will be stored under + // volumeDirectory is the directory that volumes will be stored under VolumeDirectory string `json:"volumeDirectory"` - // ImageConfig holds options that describe how to build image names for system components + // imageConfig holds options that describe how to build image names for system components ImageConfig ImageConfig `json:"imageConfig"` - // AllowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started. + // allowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started. AllowDisabledDocker bool `json:"allowDisabledDocker"` - // PodManifestConfig holds the configuration for enabling the Kubelet to + // podManifestConfig holds the configuration for enabling the Kubelet to // create pods based from a manifest file(s) placed locally on the node PodManifestConfig *PodManifestConfig `json:"podManifestConfig"` - // AuthConfig holds authn/authz configuration options + // authConfig holds authn/authz configuration options AuthConfig NodeAuthConfig `json:"authConfig"` - // DockerConfig holds Docker related configuration options. + // dockerConfig holds Docker related configuration options. DockerConfig DockerConfig `json:"dockerConfig"` - // KubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's + // kubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's // command line arguments. These are not migrated or validated, so if you use them they may become invalid. // These values override other settings in NodeConfig which may cause invalid configurations. KubeletArguments ExtendedArguments `json:"kubeletArguments,omitempty"` - // ProxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's + // proxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's // command line arguments. These are not migrated or validated, so if you use them they may become invalid. // These values override other settings in NodeConfig which may cause invalid configurations. ProxyArguments ExtendedArguments `json:"proxyArguments,omitempty"` - // IPTablesSyncPeriod is how often iptable rules are refreshed + // iptablesSyncPeriod is how often iptable rules are refreshed IPTablesSyncPeriod string `json:"iptablesSyncPeriod"` - // EnableUnidling controls whether or not the hybrid unidling proxy will be set up + // enableUnidling controls whether or not the hybrid unidling proxy will be set up EnableUnidling *bool `json:"enableUnidling"` - // VolumeConfig contains options for configuring volumes on the node. + // volumeConfig contains options for configuring volumes on the node. VolumeConfig NodeVolumeConfig `json:"volumeConfig"` } // NodeVolumeConfig contains options for configuring volumes on the node. type NodeVolumeConfig struct { - // LocalQuota contains options for controlling local volume quota on the node. + // localQuota contains options for controlling local volume quota on the node. LocalQuota LocalQuota `json:"localQuota"` } // MasterVolumeConfig contains options for configuring volume plugins in the master node. type MasterVolumeConfig struct { - // DynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true + // dynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true DynamicProvisioningEnabled *bool `json:"dynamicProvisioningEnabled"` } @@ -134,24 +134,24 @@ type LocalQuota struct { // NodeAuthConfig holds authn/authz configuration options type NodeAuthConfig struct { - // AuthenticationCacheTTL indicates how long an authentication result should be cached. + // authenticationCacheTTL indicates how long an authentication result should be cached. // It takes a valid time duration string (e.g. "5m"). If empty, you get the default timeout. If zero (e.g. "0m"), caching is disabled AuthenticationCacheTTL string `json:"authenticationCacheTTL"` - // AuthenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used. + // authenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used. AuthenticationCacheSize int `json:"authenticationCacheSize"` - // AuthorizationCacheTTL indicates how long an authorization result should be cached. + // authorizationCacheTTL indicates how long an authorization result should be cached. // It takes a valid time duration string (e.g. "5m"). If empty, you get the default timeout. If zero (e.g. "0m"), caching is disabled AuthorizationCacheTTL string `json:"authorizationCacheTTL"` - // AuthorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used. + // authorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used. AuthorizationCacheSize int `json:"authorizationCacheSize"` } // NodeNetworkConfig provides network options for the node type NodeNetworkConfig struct { - // NetworkPluginName is a string specifying the networking plugin + // networkPluginName is a string specifying the networking plugin NetworkPluginName string `json:"networkPluginName"` // Maximum transmission unit for the network packets MTU uint32 `json:"mtu"` @@ -159,14 +159,14 @@ type NodeNetworkConfig struct { // DockerConfig holds Docker related configuration options. type DockerConfig struct { - // ExecHandlerName is the name of the handler to use for executing + // execHandlerName is the name of the handler to use for executing // commands in containers. ExecHandlerName DockerExecHandlerType `json:"execHandlerName"` - // DockerShimSocket is the location of the dockershim socket the kubelet uses. + // dockerShimSocket is the location of the dockershim socket the kubelet uses. // Currently unix socket is supported on Linux, and tcp is supported on windows. // Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735' DockerShimSocket string `json:"dockerShimSocket"` - // DockershimRootDirectory is the dockershim root directory. + // dockerShimRootDirectory is the dockershim root directory. DockershimRootDirectory string `json:"dockerShimRootDirectory"` } @@ -197,45 +197,45 @@ type FeatureList []string type MasterConfig struct { metav1.TypeMeta `json:",inline"` - // ServingInfo describes how to start serving + // servingInfo describes how to start serving ServingInfo HTTPServingInfo `json:"servingInfo"` - // AuthConfig configures authentication options in addition to the standard + // authConfig configures authentication options in addition to the standard // oauth token and client certificate authenticators AuthConfig MasterAuthConfig `json:"authConfig"` - // AggregatorConfig has options for configuring the aggregator component of the API server. + // aggregatorConfig has options for configuring the aggregator component of the API server. AggregatorConfig AggregatorConfig `json:"aggregatorConfig"` // CORSAllowedOrigins CORSAllowedOrigins []string `json:"corsAllowedOrigins"` - // APILevels is a list of API levels that should be enabled on startup: v1 as examples + // apiLevels is a list of API levels that should be enabled on startup: v1 as examples APILevels []string `json:"apiLevels"` - // MasterPublicURL is how clients can access the OpenShift API server + // masterPublicURL is how clients can access the OpenShift API server MasterPublicURL string `json:"masterPublicURL"` - // Controllers is a list of the controllers that should be started. If set to "none", no controllers + // controllers is a list of the controllers that should be started. If set to "none", no controllers // will start automatically. The default value is "*" which will start all controllers. When // using "*", you may exclude controllers by prepending a "-" in front of their name. No other // values are recognized at this time. Controllers string `json:"controllers"` - // AdmissionConfig contains admission control plugin configuration. + // admissionConfig contains admission control plugin configuration. AdmissionConfig AdmissionConfig `json:"admissionConfig"` - // ControllerConfig holds configuration values for controllers + // controllerConfig holds configuration values for controllers ControllerConfig ControllerConfig `json:"controllerConfig"` - // EtcdStorageConfig contains information about how API resources are + // etcdStorageConfig contains information about how API resources are // stored in Etcd. These values are only relevant when etcd is the // backing store for the cluster. EtcdStorageConfig EtcdStorageConfig `json:"etcdStorageConfig"` - // EtcdClientInfo contains information about how to connect to etcd + // etcdClientInfo contains information about how to connect to etcd EtcdClientInfo EtcdConnectionInfo `json:"etcdClientInfo"` - // KubeletClientInfo contains information about how to connect to kubelets + // kubeletClientInfo contains information about how to connect to kubelets KubeletClientInfo KubeletConnectionInfo `json:"kubeletClientInfo"` // KubernetesMasterConfig, if present start the kubernetes master in this process @@ -248,38 +248,38 @@ type MasterConfig struct { // DNSConfig, if present start the DNS server in this process DNSConfig *DNSConfig `json:"dnsConfig"` - // ServiceAccountConfig holds options related to service accounts + // serviceAccountConfig holds options related to service accounts ServiceAccountConfig ServiceAccountConfig `json:"serviceAccountConfig"` - // MasterClients holds all the client connection information for controllers and other system components + // masterClients holds all the client connection information for controllers and other system components MasterClients MasterClients `json:"masterClients"` - // ImageConfig holds options that describe how to build image names for system components + // imageConfig holds options that describe how to build image names for system components ImageConfig ImageConfig `json:"imageConfig"` - // ImagePolicyConfig controls limits and behavior for importing images + // imagePolicyConfig controls limits and behavior for importing images ImagePolicyConfig ImagePolicyConfig `json:"imagePolicyConfig"` - // PolicyConfig holds information about where to locate critical pieces of bootstrapping policy + // policyConfig holds information about where to locate critical pieces of bootstrapping policy PolicyConfig PolicyConfig `json:"policyConfig"` - // ProjectConfig holds information about project creation and defaults + // projectConfig holds information about project creation and defaults ProjectConfig ProjectConfig `json:"projectConfig"` - // RoutingConfig holds information about routing and route generation + // routingConfig holds information about routing and route generation RoutingConfig RoutingConfig `json:"routingConfig"` - // NetworkConfig to be passed to the compiled in network plugin + // networkConfig to be passed to the compiled in network plugin NetworkConfig MasterNetworkConfig `json:"networkConfig"` // MasterVolumeConfig contains options for configuring volume plugins in the master node. VolumeConfig MasterVolumeConfig `json:"volumeConfig"` - // JenkinsPipelineConfig holds information about the default Jenkins template + // jenkinsPipelineConfig holds information about the default Jenkins template // used for JenkinsPipeline build strategy. JenkinsPipelineConfig JenkinsPipelineConfig `json:"jenkinsPipelineConfig"` - // AuditConfig holds information related to auditing capabilities. + // auditConfig holds information related to auditing capabilities. AuditConfig AuditConfig `json:"auditConfig"` // DisableOpenAPI avoids starting the openapi endpoint because it is very expensive. @@ -290,11 +290,11 @@ type MasterConfig struct { // MasterAuthConfig configures authentication options in addition to the standard // oauth token and client certificate authenticators type MasterAuthConfig struct { - // RequestHeader holds options for setting up a front proxy against the API. It is optional. + // requestHeader holds options for setting up a front proxy against the API. It is optional. RequestHeader *RequestHeaderAuthenticationOptions `json:"requestHeader"` // WebhookTokenAuthnConfig, if present configures remote token reviewers WebhookTokenAuthenticators []WebhookTokenAuthenticator `json:"webhookTokenAuthenticators"` - // OAuthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization + // oauthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization // Server Metadata for an external OAuth server. // See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 // This option is mutually exclusive with OAuthConfig @@ -304,22 +304,22 @@ type MasterAuthConfig struct { // RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire // API instead of against the /oauth endpoint. type RequestHeaderAuthenticationOptions struct { - // ClientCA is a file with the trusted signer certs. It is required. + // clientCA is a file with the trusted signer certs. It is required. ClientCA string `json:"clientCA"` - // ClientCommonNames is a required list of common names to require a match from. + // clientCommonNames is a required list of common names to require a match from. ClientCommonNames []string `json:"clientCommonNames"` - // UsernameHeaders is the list of headers to check for user information. First hit wins. + // usernameHeaders is the list of headers to check for user information. First hit wins. UsernameHeaders []string `json:"usernameHeaders"` // GroupNameHeader is the set of headers to check for group information. All are unioned. GroupHeaders []string `json:"groupHeaders"` - // ExtraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested. + // extraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested. ExtraHeaderPrefixes []string `json:"extraHeaderPrefixes"` } // AggregatorConfig holds information required to make the aggregator function. type AggregatorConfig struct { - // ProxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers + // proxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers ProxyClientInfo CertInfo `json:"proxyClientInfo"` } @@ -357,9 +357,9 @@ type AuditConfig struct { // Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB. MaximumFileSizeMegabytes int `json:"maximumFileSizeMegabytes"` - // PolicyFile is a path to the file that defines the audit policy configuration. + // policyFile is a path to the file that defines the audit policy configuration. PolicyFile string `json:"policyFile"` - // PolicyConfiguration is an embedded policy configuration object to be used + // policyConfiguration is an embedded policy configuration object to be used // as the audit policy configuration. If present, it will be used instead of // the path to the policy file. PolicyConfiguration runtime.RawExtension `json:"policyConfiguration"` @@ -375,52 +375,52 @@ type AuditConfig struct { // JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy type JenkinsPipelineConfig struct { - // AutoProvisionEnabled determines whether a Jenkins server will be spawned from the provided + // autoProvisionEnabled determines whether a Jenkins server will be spawned from the provided // template when the first build config in the project with type JenkinsPipeline // is created. When not specified this option defaults to true. AutoProvisionEnabled *bool `json:"autoProvisionEnabled"` - // TemplateNamespace contains the namespace name where the Jenkins template is stored + // templateNamespace contains the namespace name where the Jenkins template is stored TemplateNamespace string `json:"templateNamespace"` - // TemplateName is the name of the default Jenkins template + // templateName is the name of the default Jenkins template TemplateName string `json:"templateName"` - // ServiceName is the name of the Jenkins service OpenShift uses to detect + // serviceName is the name of the Jenkins service OpenShift uses to detect // whether a Jenkins pipeline handler has already been installed in a project. // This value *must* match a service name in the provided template. ServiceName string `json:"serviceName"` - // Parameters specifies a set of optional parameters to the Jenkins template. + // parameters specifies a set of optional parameters to the Jenkins template. Parameters map[string]string `json:"parameters"` } // ImagePolicyConfig holds the necessary configuration options for limits and behavior for importing images type ImagePolicyConfig struct { - // MaxImagesBulkImportedPerRepository controls the number of images that are imported when a user + // maxImagesBulkImportedPerRepository controls the number of images that are imported when a user // does a bulk import of a container repository. This number defaults to 50 to prevent users from // importing large numbers of images accidentally. Set -1 for no limit. MaxImagesBulkImportedPerRepository int `json:"maxImagesBulkImportedPerRepository"` - // DisableScheduledImport allows scheduled background import of images to be disabled. + // disableScheduledImport allows scheduled background import of images to be disabled. DisableScheduledImport bool `json:"disableScheduledImport"` - // ScheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams + // scheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams // scheduled for background import are checked against the upstream repository. The default value is 15 minutes. ScheduledImageImportMinimumIntervalSeconds int `json:"scheduledImageImportMinimumIntervalSeconds"` - // MaxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the + // maxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the // background per minute. The default value is 60. Set to -1 for unlimited. MaxScheduledImageImportsPerMinute int `json:"maxScheduledImageImportsPerMinute"` - // AllowedRegistriesForImport limits the container image registries that normal users may import + // allowedRegistriesForImport limits the container image registries that normal users may import // images from. Set this list to the registries that you trust to contain valid Docker // images and that you want applications to be able to import from. Users with // permission to create Images or ImageStreamMappings via the API are not affected by // this policy - typically only administrators or system integrations will have those // permissions. AllowedRegistriesForImport *AllowedRegistries `json:"allowedRegistriesForImport,omitempty"` - // InternalRegistryHostname sets the hostname for the default internal image + // internalRegistryHostname sets the hostname for the default internal image // registry. The value must be in "hostname[:port]" format. InternalRegistryHostname string `json:"internalRegistryHostname,omitempty"` - // ExternalRegistryHostname sets the hostname for the default external image + // externalRegistryHostname sets the hostname for the default external image // registry. The external hostname should be set only when the image registry // is exposed externally. The value is used in 'publicDockerImageRepository' // field in ImageStreams. The value must be in "hostname[:port]" format. ExternalRegistryHostname string `json:"externalRegistryHostname,omitempty"` - // AdditionalTrustedCA is a path to a pem bundle file containing additional CAs that + // additionalTrustedCA is a path to a pem bundle file containing additional CAs that // should be trusted during imagestream import. AdditionalTrustedCA string `json:"additionalTrustedCA,omitempty"` } @@ -431,40 +431,40 @@ type AllowedRegistries []RegistryLocation // RegistryLocation contains a location of the registry specified by the registry domain // name. The domain name might include wildcards, like '*' or '??'. type RegistryLocation struct { - // DomainName specifies a domain name for the registry + // domainName specifies a domain name for the registry // In case the registry use non-standard (80 or 443) port, the port should be included // in the domain name as well. DomainName string `json:"domainName"` - // Insecure indicates whether the registry is secure (https) or insecure (http) + // insecure indicates whether the registry is secure (https) or insecure (http) // By default (if not specified) the registry is assumed as secure. Insecure bool `json:"insecure,omitempty"` } // holds the necessary configuration options for type ProjectConfig struct { - // DefaultNodeSelector holds default project node label selector + // defaultNodeSelector holds default project node label selector DefaultNodeSelector string `json:"defaultNodeSelector"` - // ProjectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint + // projectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint ProjectRequestMessage string `json:"projectRequestMessage"` - // ProjectRequestTemplate is the template to use for creating projects in response to projectrequest. + // projectRequestTemplate is the template to use for creating projects in response to projectrequest. // It is in the format namespace/template and it is optional. // If it is not specified, a default template is used. ProjectRequestTemplate string `json:"projectRequestTemplate"` - // SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. + // securityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. SecurityAllocator *SecurityAllocator `json:"securityAllocator"` } // SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. type SecurityAllocator struct { - // UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the + // uidAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the // block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks // before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the // ranges container images will use once user namespaces are started). UIDAllocatorRange string `json:"uidAllocatorRange"` - // MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is + // mcsAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is // "/[,]". The default is "s0/2" and will allocate from c0 -> c1023, which means a total of 535k labels // are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated // to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default @@ -475,14 +475,14 @@ type SecurityAllocator struct { // * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511 // MCSAllocatorRange string `json:"mcsAllocatorRange"` - // MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS + // mcsLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS // ranges (100k namespaces, 535k/5 labels). MCSLabelsPerProject int `json:"mcsLabelsPerProject"` } // holds the necessary configuration options for type PolicyConfig struct { - // UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! + // userAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS! UserAgentMatchingConfig UserAgentMatchingConfig `json:"userAgentMatchingConfig"` } @@ -494,7 +494,7 @@ type UserAgentMatchingConfig struct { // If this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes DeniedClients []UserAgentDenyRule `json:"deniedClients"` - // DefaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given. + // defaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given. DefaultRejectionMessage string `json:"defaultRejectionMessage"` } @@ -512,7 +512,7 @@ type UserAgentMatchRule struct { // 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f Regex string `json:"regex"` - // HTTPVerbs specifies which HTTP verbs should be matched. An empty list means "match all verbs". + // httpVerbs specifies which HTTP verbs should be matched. An empty list means "match all verbs". HTTPVerbs []string `json:"httpVerbs"` } @@ -520,13 +520,13 @@ type UserAgentMatchRule struct { type UserAgentDenyRule struct { UserAgentMatchRule `json:",inline"` - // RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. + // rejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used. RejectionMessage string `json:"rejectionMessage"` } // RoutingConfig holds the necessary configuration options for routing to subdomains type RoutingConfig struct { - // Subdomain is the suffix appended to $service.$namespace. to form the default route hostname + // subdomain is the suffix appended to $service.$namespace. to form the default route hostname // DEPRECATED: This field is being replaced by routers setting their own defaults. This is the // "default" route. Subdomain string `json:"subdomain"` @@ -534,51 +534,51 @@ type RoutingConfig struct { // MasterNetworkConfig to be passed to the compiled in network plugin type MasterNetworkConfig struct { - // NetworkPluginName is the name of the network plugin to use + // networkPluginName is the name of the network plugin to use NetworkPluginName string `json:"networkPluginName"` - // ClusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. + // clusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. DeprecatedClusterNetworkCIDR string `json:"clusterNetworkCIDR,omitempty"` - // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set. + // clusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set. ClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks"` - // HostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. + // hostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead. DeprecatedHostSubnetLength uint32 `json:"hostSubnetLength,omitempty"` // ServiceNetwork is the CIDR string to specify the service networks ServiceNetworkCIDR string `json:"serviceNetworkCIDR"` - // ExternalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP + // externalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP // may be set. It may contain a list of CIDRs which are checked for access. If a CIDR is prefixed with !, IPs in that // CIDR will be rejected. Rejections will be applied first, then the IP checked against one of the allowed CIDRs. You // should ensure this range does not overlap with your nodes, pods, or service CIDRs for security reasons. ExternalIPNetworkCIDRs []string `json:"externalIPNetworkCIDRs"` - // IngressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare + // ingressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare // metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. // For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, // nodes, pods, or services. IngressIPNetworkCIDR string `json:"ingressIPNetworkCIDR"` - // VXLANPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value + // vxlanPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value VXLANPort uint32 `json:"vxlanPort,omitempty"` } // ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. type ClusterNetworkEntry struct { - // CIDR defines the total range of a cluster networks address space. + // cidr defines the total range of a cluster networks address space. CIDR string `json:"cidr"` - // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. + // hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. HostSubnetLength uint32 `json:"hostSubnetLength"` } // ImageConfig holds the necessary configuration options for building image names for system components type ImageConfig struct { - // Format is the format of the name to be built for the system component + // format is the format of the name to be built for the system component Format string `json:"format"` - // Latest determines if the latest tag will be pulled from the registry + // latest determines if the latest tag will be pulled from the registry Latest bool `json:"latest"` } // RemoteConnectionInfo holds information necessary for establishing a remote connection type RemoteConnectionInfo struct { - // URL is the remote URL to connect to + // url is the remote URL to connect to URL string `json:"url"` - // CA is the CA for verifying TLS connections + // ca is the CA for verifying TLS connections CA string `json:"ca"` // CertInfo is the TLS client cert information to present // this is anonymous so that we can inline it for serialization @@ -587,9 +587,9 @@ type RemoteConnectionInfo struct { // KubeletConnectionInfo holds information necessary for connecting to a kubelet type KubeletConnectionInfo struct { - // Port is the port to connect to kubelets on + // port is the port to connect to kubelets on Port uint `json:"port"` - // CA is the CA for verifying TLS connections to kubelets + // ca is the CA for verifying TLS connections to kubelets CA string `json:"ca"` // CertInfo is the TLS client cert information for securing communication to kubelets // this is anonymous so that we can inline it for serialization @@ -598,9 +598,9 @@ type KubeletConnectionInfo struct { // EtcdConnectionInfo holds information necessary for connecting to an etcd server type EtcdConnectionInfo struct { - // URLs are the URLs for etcd + // urls are the URLs for etcd URLs []string `json:"urls"` - // CA is a file containing trusted roots for the etcd server certificates + // ca is a file containing trusted roots for the etcd server certificates CA string `json:"ca"` // CertInfo is the TLS client cert information for securing communication to etcd // this is anonymous so that we can inline it for serialization @@ -609,19 +609,19 @@ type EtcdConnectionInfo struct { // EtcdStorageConfig holds the necessary configuration options for the etcd storage underlying OpenShift and Kubernetes type EtcdStorageConfig struct { - // KubernetesStorageVersion is the API version that Kube resources in etcd should be + // kubernetesStorageVersion is the API version that Kube resources in etcd should be // serialized to. This value should *not* be advanced until all clients in the // cluster that read from etcd have code that allows them to read the new version. KubernetesStorageVersion string `json:"kubernetesStorageVersion"` - // KubernetesStoragePrefix is the path within etcd that the Kubernetes resources will + // kubernetesStoragePrefix is the path within etcd that the Kubernetes resources will // be rooted under. This value, if changed, will mean existing objects in etcd will // no longer be located. The default value is 'kubernetes.io'. KubernetesStoragePrefix string `json:"kubernetesStoragePrefix"` - // OpenShiftStorageVersion is the API version that OS resources in etcd should be + // openShiftStorageVersion is the API version that OS resources in etcd should be // serialized to. This value should *not* be advanced until all clients in the // cluster that read from etcd have code that allows them to read the new version. OpenShiftStorageVersion string `json:"openShiftStorageVersion"` - // OpenShiftStoragePrefix is the path within etcd that the OpenShift resources will + // openShiftStoragePrefix is the path within etcd that the OpenShift resources will // be rooted under. This value, if changed, will mean existing objects in etcd will // no longer be located. The default value is 'openshift.io'. OpenShiftStoragePrefix string `json:"openShiftStoragePrefix"` @@ -629,29 +629,29 @@ type EtcdStorageConfig struct { // ServingInfo holds information about serving web pages type ServingInfo struct { - // BindAddress is the ip:port to serve on + // bindAddress is the ip:port to serve on BindAddress string `json:"bindAddress"` - // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // bindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", // "tcp4", and "tcp6" BindNetwork string `json:"bindNetwork"` // CertInfo is the TLS cert info for serving secure traffic. // this is anonymous so that we can inline it for serialization CertInfo `json:",inline"` - // ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates + // clientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates ClientCA string `json:"clientCA"` - // NamedCertificates is a list of certificates to use to secure requests to specific hostnames + // namedCertificates is a list of certificates to use to secure requests to specific hostnames NamedCertificates []NamedCertificate `json:"namedCertificates"` - // MinTLSVersion is the minimum TLS version supported. + // minTLSVersion is the minimum TLS version supported. // Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants MinTLSVersion string `json:"minTLSVersion,omitempty"` - // CipherSuites contains an overridden list of ciphers for the server to support. + // cipherSuites contains an overridden list of ciphers for the server to support. // Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants CipherSuites []string `json:"cipherSuites,omitempty"` } // NamedCertificate specifies a certificate/key, and the names it should be served for type NamedCertificate struct { - // Names is a list of DNS names this certificate should be used to secure + // names is a list of DNS names this certificate should be used to secure // A name can be a normal DNS name, or can contain leading wildcard segments. Names []string `json:"names"` // CertInfo is the TLS cert info for serving secure traffic @@ -662,45 +662,45 @@ type NamedCertificate struct { type HTTPServingInfo struct { // ServingInfo is the HTTP serving information ServingInfo `json:",inline"` - // MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. + // maxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit. MaxRequestsInFlight int `json:"maxRequestsInFlight"` - // RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if + // requestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if // -1 there is no limit on requests. RequestTimeoutSeconds int `json:"requestTimeoutSeconds"` } // MasterClients holds references to `.kubeconfig` files that qualify master clients for OpenShift and Kubernetes type MasterClients struct { - // OpenShiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master + // openshiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master OpenShiftLoopbackKubeConfig string `json:"openshiftLoopbackKubeConfig"` - // OpenShiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master. + // openshiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master. OpenShiftLoopbackClientConnectionOverrides *ClientConnectionOverrides `json:"openshiftLoopbackClientConnectionOverrides"` } // ClientConnectionOverrides are a set of overrides to the default client connection settings. type ClientConnectionOverrides struct { - // AcceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the + // acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the // default value of 'application/json'. This field will control all connections to the server used by a particular // client. AcceptContentTypes string `json:"acceptContentTypes"` - // ContentType is the content type used when sending data to the server from this client. + // contentType is the content type used when sending data to the server from this client. ContentType string `json:"contentType"` - // QPS controls the number of queries per second allowed for this connection. + // qps controls the number of queries per second allowed for this connection. QPS float32 `json:"qps"` - // Burst allows extra queries to accumulate when a client is exceeding its rate. + // burst allows extra queries to accumulate when a client is exceeding its rate. Burst int32 `json:"burst"` } // DNSConfig holds the necessary configuration options for DNS type DNSConfig struct { - // BindAddress is the ip:port to serve DNS on + // bindAddress is the ip:port to serve DNS on BindAddress string `json:"bindAddress"` - // BindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", + // bindNetwork is the type of network to bind to - defaults to "tcp4", accepts "tcp", // "tcp4", and "tcp6" BindNetwork string `json:"bindNetwork"` - // AllowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open + // allowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open // resolvers can be used for DNS amplification attacks and the master DNS should not be made accessible // to public networks. AllowRecursiveQueries bool `json:"allowRecursiveQueries"` @@ -709,9 +709,9 @@ type DNSConfig struct { // WebhookTokenAuthenticators holds the necessary configuation options for // external token authenticators type WebhookTokenAuthenticator struct { - // ConfigFile is a path to a Kubeconfig file with the webhook configuration + // configFile is a path to a Kubeconfig file with the webhook configuration ConfigFile string `json:"configFile"` - // CacheTTL indicates how long an authentication result should be cached. + // cacheTTL indicates how long an authentication result should be cached. // It takes a valid time duration string (e.g. "5m"). // If empty, you get a default timeout of 2 minutes. // If zero (e.g. "0m"), caching is disabled @@ -720,85 +720,85 @@ type WebhookTokenAuthenticator struct { // OAuthConfig holds the necessary configuration options for OAuth authentication type OAuthConfig struct { - // MasterCA is the CA for verifying the TLS connection back to the MasterURL. + // masterCA is the CA for verifying the TLS connection back to the MasterURL. MasterCA *string `json:"masterCA"` - // MasterURL is used for making server-to-server calls to exchange authorization codes for access tokens + // masterURL is used for making server-to-server calls to exchange authorization codes for access tokens MasterURL string `json:"masterURL"` - // MasterPublicURL is used for building valid client redirect URLs for internal and external access + // masterPublicURL is used for building valid client redirect URLs for internal and external access MasterPublicURL string `json:"masterPublicURL"` - // AssetPublicURL is used for building valid client redirect URLs for external access + // assetPublicURL is used for building valid client redirect URLs for external access AssetPublicURL string `json:"assetPublicURL"` - // AlwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider. + // alwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider. AlwaysShowProviderSelection bool `json:"alwaysShowProviderSelection"` - // IdentityProviders is an ordered list of ways for a user to identify themselves + // identityProviders is an ordered list of ways for a user to identify themselves IdentityProviders []IdentityProvider `json:"identityProviders"` - // GrantConfig describes how to handle grants + // grantConfig describes how to handle grants GrantConfig GrantConfig `json:"grantConfig"` - // SessionConfig hold information about configuring sessions. + // sessionConfig hold information about configuring sessions. SessionConfig *SessionConfig `json:"sessionConfig"` - // TokenConfig contains options for authorization and access tokens + // tokenConfig contains options for authorization and access tokens TokenConfig TokenConfig `json:"tokenConfig"` - // Templates allow you to customize pages like the login page. + // templates allow you to customize pages like the login page. Templates *OAuthTemplates `json:"templates"` } // OAuthTemplates allow for customization of pages like the login page type OAuthTemplates struct { - // Login is a path to a file containing a go template used to render the login page. + // login is a path to a file containing a go template used to render the login page. // If unspecified, the default login page is used. Login string `json:"login"` - // ProviderSelection is a path to a file containing a go template used to render the provider selection page. + // providerSelection is a path to a file containing a go template used to render the provider selection page. // If unspecified, the default provider selection page is used. ProviderSelection string `json:"providerSelection"` - // Error is a path to a file containing a go template used to render error pages during the authentication or grant flow + // error is a path to a file containing a go template used to render error pages during the authentication or grant flow // If unspecified, the default error page is used. Error string `json:"error"` } // ServiceAccountConfig holds the necessary configuration options for a service account type ServiceAccountConfig struct { - // ManagedNames is a list of service account names that will be auto-created in every namespace. + // managedNames is a list of service account names that will be auto-created in every namespace. // If no names are specified, the ServiceAccountsController will not be started. ManagedNames []string `json:"managedNames"` - // LimitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace + // limitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace // without explicitly referencing them LimitSecretReferences bool `json:"limitSecretReferences"` - // PrivateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. + // privateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. // If no private key is specified, the service account TokensController will not be started. PrivateKeyFile string `json:"privateKeyFile"` - // PublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. + // publicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. // (If any file contains a private key, the public portion of the key is used) // The list of public keys is used to verify presented service account tokens. // Each key is tried in order until the list is exhausted or verification succeeds. // If no keys are specified, no service account authentication will be available. PublicKeyFiles []string `json:"publicKeyFiles"` - // MasterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically + // masterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically // inject the contents of this file into pods so they can verify connections to the master. MasterCA string `json:"masterCA"` } // TokenConfig holds the necessary configuration options for authorization and access tokens type TokenConfig struct { - // AuthorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens + // authorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens AuthorizeTokenMaxAgeSeconds int32 `json:"authorizeTokenMaxAgeSeconds"` - // AccessTokenMaxAgeSeconds defines the maximum age of access tokens + // accessTokenMaxAgeSeconds defines the maximum age of access tokens AccessTokenMaxAgeSeconds int32 `json:"accessTokenMaxAgeSeconds"` - // AccessTokenInactivityTimeoutSeconds defined the default token + // accessTokenInactivityTimeoutSeconds defined the default token // inactivity timeout for tokens granted by any client. // Setting it to nil means the feature is completely disabled (default) // The default setting can be overriden on OAuthClient basis. @@ -815,12 +815,12 @@ type TokenConfig struct { // SessionConfig specifies options for cookie-based sessions. Used by AuthRequestHandlerSession type SessionConfig struct { - // SessionSecretsFile is a reference to a file containing a serialized SessionSecrets object + // sessionSecretsFile is a reference to a file containing a serialized SessionSecrets object // If no file is specified, a random signing and encryption key are generated at each server start SessionSecretsFile string `json:"sessionSecretsFile"` - // SessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession + // sessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession SessionMaxAgeSeconds int32 `json:"sessionMaxAgeSeconds"` - // SessionName is the cookie name used to store the session + // sessionName is the cookie name used to store the session SessionName string `json:"sessionName"` } @@ -834,7 +834,7 @@ type SessionConfig struct { type SessionSecrets struct { metav1.TypeMeta `json:",inline"` - // Secrets is a list of secrets + // secrets is a list of secrets // New sessions are signed and encrypted using the first secret. // Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets. Secrets []SessionSecret `json:"secrets"` @@ -842,23 +842,23 @@ type SessionSecrets struct { // SessionSecret is a secret used to authenticate/decrypt cookie-based sessions type SessionSecret struct { - // Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes. + // authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes. Authentication string `json:"authentication"` - // Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES- + // encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES- Encryption string `json:"encryption"` } // IdentityProvider provides identities for users authenticating using credentials type IdentityProvider struct { - // Name is used to qualify the identities returned by this provider + // name is used to qualify the identities returned by this provider Name string `json:"name"` // UseAsChallenger indicates whether to issue WWW-Authenticate challenges for this provider UseAsChallenger bool `json:"challenge"` // UseAsLogin indicates whether to use this identity provider for unauthenticated browsers to login against UseAsLogin bool `json:"login"` - // MappingMethod determines how identities from this provider are mapped to users + // mappingMethod determines how identities from this provider are mapped to users MappingMethod string `json:"mappingMethod"` - // Provider contains the information about how to set up a specific identity provider + // provider contains the information about how to set up a specific identity provider Provider runtime.RawExtension `json:"provider"` } @@ -908,7 +908,7 @@ type DenyAllPasswordIdentityProvider struct { type HTPasswdPasswordIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // File is a reference to your htpasswd file + // file is a reference to your htpasswd file File string `json:"file"` } @@ -921,38 +921,38 @@ type HTPasswdPasswordIdentityProvider struct { // +openshift:compatibility-gen:internal type LDAPPasswordIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // URL is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is + // url is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is // ldap://host:port/basedn?attribute?scope?filter URL string `json:"url"` - // BindDN is an optional DN to bind with during the search phase. + // bindDN is an optional DN to bind with during the search phase. BindDN string `json:"bindDN"` - // BindPassword is an optional password to bind with during the search phase. + // bindPassword is an optional password to bind with during the search phase. BindPassword StringSource `json:"bindPassword"` // Insecure, if true, indicates the connection should not use TLS. // Cannot be set to true with a URL scheme of "ldaps://" // If false, "ldaps://" URLs connect using TLS, and "ldap://" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830 Insecure bool `json:"insecure"` - // CA is the optional trusted certificate authority bundle to use when making requests to the server + // ca is the optional trusted certificate authority bundle to use when making requests to the server // If empty, the default system roots are used CA string `json:"ca"` - // Attributes maps LDAP attributes to identities + // attributes maps LDAP attributes to identities Attributes LDAPAttributeMapping `json:"attributes"` } // LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields type LDAPAttributeMapping struct { - // ID is the list of attributes whose values should be used as the user ID. Required. + // id is the list of attributes whose values should be used as the user ID. Required. // LDAP standard identity attribute is "dn" ID []string `json:"id"` - // PreferredUsername is the list of attributes whose values should be used as the preferred username. + // preferredUsername is the list of attributes whose values should be used as the preferred username. // LDAP standard login attribute is "uid" PreferredUsername []string `json:"preferredUsername"` - // Name is the list of attributes whose values should be used as the display name. Optional. + // name is the list of attributes whose values should be used as the display name. Optional. // If unspecified, no display name is set for the identity // LDAP standard display name attribute is "cn" Name []string `json:"name"` - // Email is the list of attributes whose values should be used as the email address. Optional. + // email is the list of attributes whose values should be used as the email address. Optional. // If unspecified, no email is set for the identity Email []string `json:"email"` } @@ -970,7 +970,7 @@ type KeystonePasswordIdentityProvider struct { RemoteConnectionInfo `json:",inline"` // Domain Name is required for keystone v3 DomainName string `json:"domainName"` - // UseKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username + // useKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username UseKeystoneIdentity bool `json:"useKeystoneIdentity"` } @@ -984,7 +984,7 @@ type KeystonePasswordIdentityProvider struct { type RequestHeaderIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // LoginURL is a URL to redirect unauthenticated /authorize requests to + // loginURL is a URL to redirect unauthenticated /authorize requests to // Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here // ${url} is replaced with the current URL, escaped to be safe in a query parameter // https://www.example.com/sso-login?then=${url} @@ -992,7 +992,7 @@ type RequestHeaderIdentityProvider struct { // https://www.example.com/auth-proxy/oauth/authorize?${query} LoginURL string `json:"loginURL"` - // ChallengeURL is a URL to redirect unauthenticated /authorize requests to + // challengeURL is a URL to redirect unauthenticated /authorize requests to // Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here // ${url} is replaced with the current URL, escaped to be safe in a query parameter // https://www.example.com/sso-login?then=${url} @@ -1000,18 +1000,18 @@ type RequestHeaderIdentityProvider struct { // https://www.example.com/auth-proxy/oauth/authorize?${query} ChallengeURL string `json:"challengeURL"` - // ClientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header. + // clientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header. ClientCA string `json:"clientCA"` - // ClientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative. + // clientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative. ClientCommonNames []string `json:"clientCommonNames"` - // Headers is the set of headers to check for identity information + // headers is the set of headers to check for identity information Headers []string `json:"headers"` - // PreferredUsernameHeaders is the set of headers to check for the preferred username + // preferredUsernameHeaders is the set of headers to check for the preferred username PreferredUsernameHeaders []string `json:"preferredUsernameHeaders"` - // NameHeaders is the set of headers to check for the display name + // nameHeaders is the set of headers to check for the display name NameHeaders []string `json:"nameHeaders"` - // EmailHeaders is the set of headers to check for the email address + // emailHeaders is the set of headers to check for the email address EmailHeaders []string `json:"emailHeaders"` } @@ -1025,18 +1025,18 @@ type RequestHeaderIdentityProvider struct { type GitHubIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // ClientID is the oauth client ID + // clientID is the oauth client ID ClientID string `json:"clientID"` - // ClientSecret is the oauth client secret + // clientSecret is the oauth client secret ClientSecret StringSource `json:"clientSecret"` - // Organizations optionally restricts which organizations are allowed to log in + // organizations optionally restricts which organizations are allowed to log in Organizations []string `json:"organizations"` - // Teams optionally restricts which teams are allowed to log in. Format is /. + // teams optionally restricts which teams are allowed to log in. Format is /. Teams []string `json:"teams"` - // Hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of GitHub Enterprise. + // hostname is the optional domain (e.g. "mycompany.com") for use with a hosted instance of GitHub Enterprise. // It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname. Hostname string `json:"hostname"` - // CA is the optional trusted certificate authority bundle to use when making requests to the server. + // ca is the optional trusted certificate authority bundle to use when making requests to the server. // If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value. CA string `json:"ca"` } @@ -1051,16 +1051,16 @@ type GitHubIdentityProvider struct { type GitLabIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // CA is the optional trusted certificate authority bundle to use when making requests to the server + // ca is the optional trusted certificate authority bundle to use when making requests to the server // If empty, the default system roots are used CA string `json:"ca"` - // URL is the oauth server base URL + // url is the oauth server base URL URL string `json:"url"` - // ClientID is the oauth client ID + // clientID is the oauth client ID ClientID string `json:"clientID"` - // ClientSecret is the oauth client secret + // clientSecret is the oauth client secret ClientSecret StringSource `json:"clientSecret"` - // Legacy determines if OAuth2 or OIDC should be used + // legacy determines if OAuth2 or OIDC should be used // If true, OAuth2 is used // If false, OIDC is used // If nil and the URL's host is gitlab.com, OIDC is used @@ -1080,12 +1080,12 @@ type GitLabIdentityProvider struct { type GoogleIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // ClientID is the oauth client ID + // clientID is the oauth client ID ClientID string `json:"clientID"` - // ClientSecret is the oauth client secret + // clientSecret is the oauth client secret ClientSecret StringSource `json:"clientSecret"` - // HostedDomain is the optional Google App domain (e.g. "mycompany.com") to restrict logins to + // hostedDomain is the optional Google App domain (e.g. "mycompany.com") to restrict logins to HostedDomain string `json:"hostedDomain"` } @@ -1099,35 +1099,35 @@ type GoogleIdentityProvider struct { type OpenIDIdentityProvider struct { metav1.TypeMeta `json:",inline"` - // CA is the optional trusted certificate authority bundle to use when making requests to the server + // ca is the optional trusted certificate authority bundle to use when making requests to the server // If empty, the default system roots are used CA string `json:"ca"` - // ClientID is the oauth client ID + // clientID is the oauth client ID ClientID string `json:"clientID"` - // ClientSecret is the oauth client secret + // clientSecret is the oauth client secret ClientSecret StringSource `json:"clientSecret"` - // ExtraScopes are any scopes to request in addition to the standard "openid" scope. + // extraScopes are any scopes to request in addition to the standard "openid" scope. ExtraScopes []string `json:"extraScopes"` - // ExtraAuthorizeParameters are any custom parameters to add to the authorize request. + // extraAuthorizeParameters are any custom parameters to add to the authorize request. ExtraAuthorizeParameters map[string]string `json:"extraAuthorizeParameters"` - // URLs to use to authenticate + // urls to use to authenticate URLs OpenIDURLs `json:"urls"` - // Claims mappings + // claims mappings Claims OpenIDClaims `json:"claims"` } // OpenIDURLs are URLs to use when authenticating with an OpenID identity provider type OpenIDURLs struct { - // Authorize is the oauth authorization URL + // authorize is the oauth authorization URL Authorize string `json:"authorize"` - // Token is the oauth token granting URL + // token is the oauth token granting URL Token string `json:"token"` - // UserInfo is the optional userinfo URL. + // userInfo is the optional userinfo URL. // If present, a granted access_token is used to request claims // If empty, a granted id_token is parsed for claims UserInfo string `json:"userInfo"` @@ -1135,23 +1135,23 @@ type OpenIDURLs struct { // OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider type OpenIDClaims struct { - // ID is the list of claims whose values should be used as the user ID. Required. + // id is the list of claims whose values should be used as the user ID. Required. // OpenID standard identity claim is "sub" ID []string `json:"id"` - // PreferredUsername is the list of claims whose values should be used as the preferred username. + // preferredUsername is the list of claims whose values should be used as the preferred username. // If unspecified, the preferred username is determined from the value of the id claim PreferredUsername []string `json:"preferredUsername"` - // Name is the list of claims whose values should be used as the display name. Optional. + // name is the list of claims whose values should be used as the display name. Optional. // If unspecified, no display name is set for the identity Name []string `json:"name"` - // Email is the list of claims whose values should be used as the email address. Optional. + // email is the list of claims whose values should be used as the email address. Optional. // If unspecified, no email is set for the identity Email []string `json:"email"` } // GrantConfig holds the necessary configuration options for grant handlers type GrantConfig struct { - // Method determines the default strategy to use when an OAuth client requests a grant. + // method determines the default strategy to use when an OAuth client requests a grant. // This method will be used only if the specific OAuth client doesn't provide a strategy // of their own. Valid grant handling methods are: // - auto: always approves grant requests, useful for trusted clients @@ -1159,7 +1159,7 @@ type GrantConfig struct { // - deny: always denies grant requests, useful for black-listed clients Method GrantHandlerType `json:"method"` - // ServiceAccountMethod is used for determining client authorization for service account oauth client. + // serviceAccountMethod is used for determining client authorization for service account oauth client. // It must be either: deny, prompt ServiceAccountMethod GrantHandlerType `json:"serviceAccountMethod"` } @@ -1177,13 +1177,13 @@ const ( // EtcdConfig holds the necessary configuration options for connecting with an etcd database type EtcdConfig struct { - // ServingInfo describes how to start serving the etcd master + // servingInfo describes how to start serving the etcd master ServingInfo ServingInfo `json:"servingInfo"` - // Address is the advertised host:port for client connections to etcd + // address is the advertised host:port for client connections to etcd Address string `json:"address"` - // PeerServingInfo describes how to start serving the etcd peer + // peerServingInfo describes how to start serving the etcd peer PeerServingInfo ServingInfo `json:"peerServingInfo"` - // PeerAddress is the advertised host:port for peer connections to etcd + // peerAddress is the advertised host:port for peer connections to etcd PeerAddress string `json:"peerAddress"` // StorageDir is the path to the etcd storage directory @@ -1192,42 +1192,42 @@ type EtcdConfig struct { // KubernetesMasterConfig holds the necessary configuration options for the Kubernetes master type KubernetesMasterConfig struct { - // APILevels is a list of API levels that should be enabled on startup: v1 as examples + // apiLevels is a list of API levels that should be enabled on startup: v1 as examples APILevels []string `json:"apiLevels"` - // DisabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled. + // disabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled. DisabledAPIGroupVersions map[string][]string `json:"disabledAPIGroupVersions"` - // MasterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used. + // masterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used. MasterIP string `json:"masterIP"` - // MasterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked + // masterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked // at an interval that is 2/3 of this value and this value defaults to 15s if unset. In very large clusters, this value may be increased to // reduce the possibility that the master endpoint record expires (due to other load on the etcd server) and causes masters to drop in and // out of the kubernetes service record. It is not recommended to set this value below 15s. MasterEndpointReconcileTTL int `json:"masterEndpointReconcileTTL"` - // ServicesSubnet is the subnet to use for assigning service IPs + // servicesSubnet is the subnet to use for assigning service IPs ServicesSubnet string `json:"servicesSubnet"` - // ServicesNodePortRange is the range to use for assigning service public ports on a host. + // servicesNodePortRange is the range to use for assigning service public ports on a host. ServicesNodePortRange string `json:"servicesNodePortRange"` - // SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules. + // schedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules. SchedulerConfigFile string `json:"schedulerConfigFile"` - // PodEvictionTimeout controls grace period for deleting pods on failed nodes. + // podEvictionTimeout controls grace period for deleting pods on failed nodes. // It takes valid time duration string. If empty, you get the default pod eviction timeout. PodEvictionTimeout string `json:"podEvictionTimeout"` - // ProxyClientInfo specifies the client cert/key to use when proxying to pods + // proxyClientInfo specifies the client cert/key to use when proxying to pods ProxyClientInfo CertInfo `json:"proxyClientInfo"` - // APIServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's + // apiServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's // command line arguments. These are not migrated, but if you reference a value that does not exist the server will not // start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations. APIServerArguments ExtendedArguments `json:"apiServerArguments"` - // ControllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the + // controllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the // controller manager's command line arguments. These are not migrated, but if you reference a value that does not exist // the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid // configurations. ControllerArguments ExtendedArguments `json:"controllerArguments"` - // SchedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's + // schedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's // command line arguments. These are not migrated, but if you reference a value that does not exist the server will not // start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations. SchedulerArguments ExtendedArguments `json:"schedulerArguments"` @@ -1235,19 +1235,19 @@ type KubernetesMasterConfig struct { // CertInfo relates a certificate with a private key type CertInfo struct { - // CertFile is a file containing a PEM-encoded certificate + // certFile is a file containing a PEM-encoded certificate CertFile string `json:"certFile"` - // KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile + // keyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile KeyFile string `json:"keyFile"` } // PodManifestConfig holds the necessary configuration options for using pod manifests type PodManifestConfig struct { - // Path specifies the path for the pod manifest file or directory + // path specifies the path for the pod manifest file or directory // If its a directory, its expected to contain on or more manifest files // This is used by the Kubelet to create pods on the node Path string `json:"path"` - // FileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data + // fileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data // The interval needs to be a positive value FileCheckIntervalSeconds int64 `json:"fileCheckIntervalSeconds"` } @@ -1261,16 +1261,16 @@ type StringSource struct { // StringSourceSpec specifies a string value, or external location type StringSourceSpec struct { - // Value specifies the cleartext value, or an encrypted value if keyFile is specified. + // value specifies the cleartext value, or an encrypted value if keyFile is specified. Value string `json:"value"` - // Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. + // env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified. Env string `json:"env"` - // File references a file containing the cleartext value, or an encrypted value if a keyFile is specified. + // file references a file containing the cleartext value, or an encrypted value if a keyFile is specified. File string `json:"file"` - // KeyFile references a file containing the key to use to decrypt the value. + // keyFile references a file containing the key to use to decrypt the value. KeyFile string `json:"keyFile"` } @@ -1286,16 +1286,16 @@ type LDAPSyncConfig struct { // Host is the scheme, host and port of the LDAP server to connect to: // scheme://host:port URL string `json:"url"` - // BindDN is an optional DN to bind to the LDAP server with + // bindDN is an optional DN to bind to the LDAP server with BindDN string `json:"bindDN"` - // BindPassword is an optional password to bind with during the search phase. + // bindPassword is an optional password to bind with during the search phase. BindPassword StringSource `json:"bindPassword"` // Insecure, if true, indicates the connection should not use TLS. // Cannot be set to true with a URL scheme of "ldaps://" // If false, "ldaps://" URLs connect using TLS, and "ldap://" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830 Insecure bool `json:"insecure"` - // CA is the optional trusted certificate authority bundle to use when making requests to the server + // ca is the optional trusted certificate authority bundle to use when making requests to the server // If empty, the default system roots are used CA string `json:"ca"` @@ -1329,33 +1329,33 @@ type RFC2307Config struct { // (ldapGroupUID) GroupUIDAttribute string `json:"groupUIDAttribute"` - // GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for + // groupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for // an OpenShift group GroupNameAttributes []string `json:"groupNameAttributes"` - // GroupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. + // groupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. // The values contained in those attributes must be queryable by your UserUIDAttribute GroupMembershipAttributes []string `json:"groupMembershipAttributes"` // AllUsersQuery holds the template for an LDAP query that returns user entries. AllUsersQuery LDAPQuery `json:"usersQuery"` - // UserUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. + // userUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. // It must correspond to values that will be found from the GroupMembershipAttributes UserUIDAttribute string `json:"userUIDAttribute"` - // UserNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. + // userNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. // The first attribute with a non-empty value is used. This should match your PreferredUsername setting for your LDAPPasswordIdentityProvider UserNameAttributes []string `json:"userNameAttributes"` - // TolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are + // tolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are // encountered. If 'true', an LDAP query for users that doesn't find any will be tolerated and an only // and error will be logged. If 'false', the LDAP sync job will fail if a query for users doesn't find // any. The default value is 'false'. Misconfigured LDAP sync jobs with this flag set to 'true' can cause // group membership to be removed, so it is recommended to use this flag with caution. TolerateMemberNotFoundErrors bool `json:"tolerateMemberNotFoundErrors"` - // TolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries + // tolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries // are encountered. If 'true', an LDAP query for a user that falls outside of the base DN given for the all // user query will be tolerated and only an error will be logged. If 'false', the LDAP sync job will fail // if a user query would search outside of the base DN specified by the all user query. Misconfigured LDAP @@ -1370,10 +1370,10 @@ type ActiveDirectoryConfig struct { // AllUsersQuery holds the template for an LDAP query that returns user entries. AllUsersQuery LDAPQuery `json:"usersQuery"` - // UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. + // userNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. UserNameAttributes []string `json:"userNameAttributes"` - // GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted + // groupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted // as the groups it is a member of GroupMembershipAttributes []string `json:"groupMembershipAttributes"` } @@ -1384,10 +1384,10 @@ type AugmentedActiveDirectoryConfig struct { // AllUsersQuery holds the template for an LDAP query that returns user entries. AllUsersQuery LDAPQuery `json:"usersQuery"` - // UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. + // userNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name. UserNameAttributes []string `json:"userNameAttributes"` - // GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted + // groupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted // as the groups it is a member of GroupMembershipAttributes []string `json:"groupMembershipAttributes"` @@ -1398,7 +1398,7 @@ type AugmentedActiveDirectoryConfig struct { // (ldapGroupUID) GroupUIDAttribute string `json:"groupUIDAttribute"` - // GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for + // groupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for // an OpenShift group GroupNameAttributes []string `json:"groupNameAttributes"` } @@ -1427,45 +1427,45 @@ type LDAPQuery struct { // before the wait for a response is given up. If this is 0, no client-side limit is imposed TimeLimit int `json:"timeout"` - // Filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN + // filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN Filter string `json:"filter"` - // PageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done. + // pageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done. PageSize int `json:"pageSize"` } // AdmissionPluginConfig holds the necessary configuration options for admission plugins type AdmissionPluginConfig struct { - // Location is the path to a configuration file that contains the plugin's + // location is the path to a configuration file that contains the plugin's // configuration Location string `json:"location"` - // Configuration is an embedded configuration object to be used as the plugin's + // configuration is an embedded configuration object to be used as the plugin's // configuration. If present, it will be used instead of the path to the configuration file. Configuration runtime.RawExtension `json:"configuration"` } // AdmissionConfig holds the necessary configuration options for admission type AdmissionConfig struct { - // PluginConfig allows specifying a configuration file per admission control plugin + // pluginConfig allows specifying a configuration file per admission control plugin PluginConfig map[string]*AdmissionPluginConfig `json:"pluginConfig"` - // PluginOrderOverride is a list of admission control plugin names that will be installed + // pluginOrderOverride is a list of admission control plugin names that will be installed // on the master. Order is significant. If empty, a default list of plugins is used. PluginOrderOverride []string `json:"pluginOrderOverride,omitempty"` } // ControllerConfig holds configuration values for controllers type ControllerConfig struct { - // Controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller "+ + // controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller "+ // named 'foo', '-foo' disables the controller named 'foo'. // Defaults to "*". Controllers []string `json:"controllers"` - // Election defines the configuration for electing a controller instance to make changes to + // election defines the configuration for electing a controller instance to make changes to // the cluster. If unspecified, the ControllerTTL value is checked to determine whether the // legacy direct etcd election code will be used. Election *ControllerElectionConfig `json:"election"` - // ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for + // serviceServingCert holds configuration for service serving cert signer which creates cert/key pairs for // pods fulfilling a service to serve with. ServiceServingCert ServiceServingCert `json:"serviceServingCert"` } @@ -1473,29 +1473,29 @@ type ControllerConfig struct { // ControllerElectionConfig contains configuration values for deciding how a controller // will be elected to act as leader. type ControllerElectionConfig struct { - // LockName is the resource name used to act as the lock for determining which controller + // lockName is the resource name used to act as the lock for determining which controller // instance should lead. LockName string `json:"lockName"` - // LockNamespace is the resource namespace used to act as the lock for determining which + // lockNamespace is the resource namespace used to act as the lock for determining which // controller instance should lead. It defaults to "kube-system" LockNamespace string `json:"lockNamespace"` - // LockResource is the group and resource name to use to coordinate for the controller lock. + // lockResource is the group and resource name to use to coordinate for the controller lock. // If unset, defaults to "configmaps". LockResource GroupResource `json:"lockResource"` } // GroupResource points to a resource by its name and API group. type GroupResource struct { - // Group is the name of an API group + // group is the name of an API group Group string `json:"group"` - // Resource is the name of a resource. + // resource is the name of a resource. Resource string `json:"resource"` } // ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for // pods fulfilling a service to serve with. type ServiceServingCert struct { - // Signer holds the signing information used to automatically sign serving certificates. + // signer holds the signing information used to automatically sign serving certificates. // If this value is nil, then certs are not signed automatically. Signer *CertInfo `json:"signer"` } @@ -1512,7 +1512,7 @@ type ServiceServingCert struct { type DefaultAdmissionConfig struct { metav1.TypeMeta `json:",inline"` - // Disable turns off an admission plugin that is enabled by default. + // disable turns off an admission plugin that is enabled by default. Disable bool `json:"disable"` } diff --git a/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go index daa0868b6b..42444e8aee 100644 --- a/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/legacyconfig/v1/zz_generated.swagger_doc_generated.go @@ -14,8 +14,8 @@ package v1 var map_ActiveDirectoryConfig = map[string]string{ "": "ActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the Active Directory schema", "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", - "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", - "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", + "userNameAttributes": "userNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", + "groupMembershipAttributes": "groupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", } func (ActiveDirectoryConfig) SwaggerDoc() map[string]string { @@ -24,8 +24,8 @@ func (ActiveDirectoryConfig) SwaggerDoc() map[string]string { var map_AdmissionConfig = map[string]string{ "": "AdmissionConfig holds the necessary configuration options for admission", - "pluginConfig": "PluginConfig allows specifying a configuration file per admission control plugin", - "pluginOrderOverride": "PluginOrderOverride is a list of admission control plugin names that will be installed on the master. Order is significant. If empty, a default list of plugins is used.", + "pluginConfig": "pluginConfig allows specifying a configuration file per admission control plugin", + "pluginOrderOverride": "pluginOrderOverride is a list of admission control plugin names that will be installed on the master. Order is significant. If empty, a default list of plugins is used.", } func (AdmissionConfig) SwaggerDoc() map[string]string { @@ -34,8 +34,8 @@ func (AdmissionConfig) SwaggerDoc() map[string]string { var map_AdmissionPluginConfig = map[string]string{ "": "AdmissionPluginConfig holds the necessary configuration options for admission plugins", - "location": "Location is the path to a configuration file that contains the plugin's configuration", - "configuration": "Configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", + "location": "location is the path to a configuration file that contains the plugin's configuration", + "configuration": "configuration is an embedded configuration object to be used as the plugin's configuration. If present, it will be used instead of the path to the configuration file.", } func (AdmissionPluginConfig) SwaggerDoc() map[string]string { @@ -44,7 +44,7 @@ func (AdmissionPluginConfig) SwaggerDoc() map[string]string { var map_AggregatorConfig = map[string]string{ "": "AggregatorConfig holds information required to make the aggregator function.", - "proxyClientInfo": "ProxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers", + "proxyClientInfo": "proxyClientInfo specifies the client cert/key to use when proxying to aggregated API servers", } func (AggregatorConfig) SwaggerDoc() map[string]string { @@ -66,8 +66,8 @@ var map_AuditConfig = map[string]string{ "maximumFileRetentionDays": "Maximum number of days to retain old log files based on the timestamp encoded in their filename.", "maximumRetainedFiles": "Maximum number of old log files to retain.", "maximumFileSizeMegabytes": "Maximum size in megabytes of the log file before it gets rotated. Defaults to 100MB.", - "policyFile": "PolicyFile is a path to the file that defines the audit policy configuration.", - "policyConfiguration": "PolicyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", + "policyFile": "policyFile is a path to the file that defines the audit policy configuration.", + "policyConfiguration": "policyConfiguration is an embedded policy configuration object to be used as the audit policy configuration. If present, it will be used instead of the path to the policy file.", "logFormat": "Format of saved audits (legacy or json).", "webHookKubeConfig": "Path to a .kubeconfig formatted file that defines the audit webhook configuration.", "webHookMode": "Strategy for sending audit events (block or batch).", @@ -80,11 +80,11 @@ func (AuditConfig) SwaggerDoc() map[string]string { var map_AugmentedActiveDirectoryConfig = map[string]string{ "": "AugmentedActiveDirectoryConfig holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the augmented Active Directory schema", "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", - "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", - "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", + "userNameAttributes": "userNameAttributes defines which attributes on an LDAP user entry will be interpreted as its OpenShift user name.", + "groupMembershipAttributes": "groupMembershipAttributes defines which attributes on an LDAP user entry will be interpreted as the groups it is a member of", "groupsQuery": "AllGroupsQuery holds the template for an LDAP query that returns group entries.", "groupUIDAttribute": "GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. (ldapGroupUID)", - "groupNameAttributes": "GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", + "groupNameAttributes": "groupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", } func (AugmentedActiveDirectoryConfig) SwaggerDoc() map[string]string { @@ -131,8 +131,8 @@ func (BuildOverridesConfig) SwaggerDoc() map[string]string { var map_CertInfo = map[string]string{ "": "CertInfo relates a certificate with a private key", - "certFile": "CertFile is a file containing a PEM-encoded certificate", - "keyFile": "KeyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", + "certFile": "certFile is a file containing a PEM-encoded certificate", + "keyFile": "keyFile is a file containing a PEM-encoded private key for the certificate specified by CertFile", } func (CertInfo) SwaggerDoc() map[string]string { @@ -141,10 +141,10 @@ func (CertInfo) SwaggerDoc() map[string]string { var map_ClientConnectionOverrides = map[string]string{ "": "ClientConnectionOverrides are a set of overrides to the default client connection settings.", - "acceptContentTypes": "AcceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the default value of 'application/json'. This field will control all connections to the server used by a particular client.", - "contentType": "ContentType is the content type used when sending data to the server from this client.", - "qps": "QPS controls the number of queries per second allowed for this connection.", - "burst": "Burst allows extra queries to accumulate when a client is exceeding its rate.", + "acceptContentTypes": "acceptContentTypes defines the Accept header sent by clients when connecting to a server, overriding the default value of 'application/json'. This field will control all connections to the server used by a particular client.", + "contentType": "contentType is the content type used when sending data to the server from this client.", + "qps": "qps controls the number of queries per second allowed for this connection.", + "burst": "burst allows extra queries to accumulate when a client is exceeding its rate.", } func (ClientConnectionOverrides) SwaggerDoc() map[string]string { @@ -153,8 +153,8 @@ func (ClientConnectionOverrides) SwaggerDoc() map[string]string { var map_ClusterNetworkEntry = map[string]string{ "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", - "cidr": "CIDR defines the total range of a cluster networks address space.", - "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", + "cidr": "cidr defines the total range of a cluster networks address space.", + "hostSubnetLength": "hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", } func (ClusterNetworkEntry) SwaggerDoc() map[string]string { @@ -163,9 +163,9 @@ func (ClusterNetworkEntry) SwaggerDoc() map[string]string { var map_ControllerConfig = map[string]string{ "": "ControllerConfig holds configuration values for controllers", - "controllers": "Controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller \"+ named 'foo', '-foo' disables the controller named 'foo'. Defaults to \"*\".", - "election": "Election defines the configuration for electing a controller instance to make changes to the cluster. If unspecified, the ControllerTTL value is checked to determine whether the legacy direct etcd election code will be used.", - "serviceServingCert": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", + "controllers": "controllers is a list of controllers to enable. '*' enables all on-by-default controllers, 'foo' enables the controller \"+ named 'foo', '-foo' disables the controller named 'foo'. Defaults to \"*\".", + "election": "election defines the configuration for electing a controller instance to make changes to the cluster. If unspecified, the ControllerTTL value is checked to determine whether the legacy direct etcd election code will be used.", + "serviceServingCert": "serviceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", } func (ControllerConfig) SwaggerDoc() map[string]string { @@ -174,9 +174,9 @@ func (ControllerConfig) SwaggerDoc() map[string]string { var map_ControllerElectionConfig = map[string]string{ "": "ControllerElectionConfig contains configuration values for deciding how a controller will be elected to act as leader.", - "lockName": "LockName is the resource name used to act as the lock for determining which controller instance should lead.", - "lockNamespace": "LockNamespace is the resource namespace used to act as the lock for determining which controller instance should lead. It defaults to \"kube-system\"", - "lockResource": "LockResource is the group and resource name to use to coordinate for the controller lock. If unset, defaults to \"configmaps\".", + "lockName": "lockName is the resource name used to act as the lock for determining which controller instance should lead.", + "lockNamespace": "lockNamespace is the resource namespace used to act as the lock for determining which controller instance should lead. It defaults to \"kube-system\"", + "lockResource": "lockResource is the group and resource name to use to coordinate for the controller lock. If unset, defaults to \"configmaps\".", } func (ControllerElectionConfig) SwaggerDoc() map[string]string { @@ -185,9 +185,9 @@ func (ControllerElectionConfig) SwaggerDoc() map[string]string { var map_DNSConfig = map[string]string{ "": "DNSConfig holds the necessary configuration options for DNS", - "bindAddress": "BindAddress is the ip:port to serve DNS on", - "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", - "allowRecursiveQueries": "AllowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open resolvers can be used for DNS amplification attacks and the master DNS should not be made accessible to public networks.", + "bindAddress": "bindAddress is the ip:port to serve DNS on", + "bindNetwork": "bindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "allowRecursiveQueries": "allowRecursiveQueries allows the DNS server on the master to answer queries recursively. Note that open resolvers can be used for DNS amplification attacks and the master DNS should not be made accessible to public networks.", } func (DNSConfig) SwaggerDoc() map[string]string { @@ -196,7 +196,7 @@ func (DNSConfig) SwaggerDoc() map[string]string { var map_DefaultAdmissionConfig = map[string]string{ "": "DefaultAdmissionConfig can be used to enable or disable various admission plugins. When this type is present as the `configuration` object under `pluginConfig` and *if* the admission plugin supports it, this will cause an \"off by default\" admission plugin to be enabled\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "disable": "Disable turns off an admission plugin that is enabled by default.", + "disable": "disable turns off an admission plugin that is enabled by default.", } func (DefaultAdmissionConfig) SwaggerDoc() map[string]string { @@ -213,9 +213,9 @@ func (DenyAllPasswordIdentityProvider) SwaggerDoc() map[string]string { var map_DockerConfig = map[string]string{ "": "DockerConfig holds Docker related configuration options.", - "execHandlerName": "ExecHandlerName is the name of the handler to use for executing commands in containers.", - "dockerShimSocket": "DockerShimSocket is the location of the dockershim socket the kubelet uses. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'", - "dockerShimRootDirectory": "DockershimRootDirectory is the dockershim root directory.", + "execHandlerName": "execHandlerName is the name of the handler to use for executing commands in containers.", + "dockerShimSocket": "dockerShimSocket is the location of the dockershim socket the kubelet uses. Currently unix socket is supported on Linux, and tcp is supported on windows. Examples:'unix:///var/run/dockershim.sock', 'tcp://localhost:3735'", + "dockerShimRootDirectory": "dockerShimRootDirectory is the dockershim root directory.", } func (DockerConfig) SwaggerDoc() map[string]string { @@ -224,10 +224,10 @@ func (DockerConfig) SwaggerDoc() map[string]string { var map_EtcdConfig = map[string]string{ "": "EtcdConfig holds the necessary configuration options for connecting with an etcd database", - "servingInfo": "ServingInfo describes how to start serving the etcd master", - "address": "Address is the advertised host:port for client connections to etcd", - "peerServingInfo": "PeerServingInfo describes how to start serving the etcd peer", - "peerAddress": "PeerAddress is the advertised host:port for peer connections to etcd", + "servingInfo": "servingInfo describes how to start serving the etcd master", + "address": "address is the advertised host:port for client connections to etcd", + "peerServingInfo": "peerServingInfo describes how to start serving the etcd peer", + "peerAddress": "peerAddress is the advertised host:port for peer connections to etcd", "storageDirectory": "StorageDir is the path to the etcd storage directory", } @@ -237,8 +237,8 @@ func (EtcdConfig) SwaggerDoc() map[string]string { var map_EtcdConnectionInfo = map[string]string{ "": "EtcdConnectionInfo holds information necessary for connecting to an etcd server", - "urls": "URLs are the URLs for etcd", - "ca": "CA is a file containing trusted roots for the etcd server certificates", + "urls": "urls are the URLs for etcd", + "ca": "ca is a file containing trusted roots for the etcd server certificates", } func (EtcdConnectionInfo) SwaggerDoc() map[string]string { @@ -247,10 +247,10 @@ func (EtcdConnectionInfo) SwaggerDoc() map[string]string { var map_EtcdStorageConfig = map[string]string{ "": "EtcdStorageConfig holds the necessary configuration options for the etcd storage underlying OpenShift and Kubernetes", - "kubernetesStorageVersion": "KubernetesStorageVersion is the API version that Kube resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", - "kubernetesStoragePrefix": "KubernetesStoragePrefix is the path within etcd that the Kubernetes resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'kubernetes.io'.", - "openShiftStorageVersion": "OpenShiftStorageVersion is the API version that OS resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", - "openShiftStoragePrefix": "OpenShiftStoragePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'openshift.io'.", + "kubernetesStorageVersion": "kubernetesStorageVersion is the API version that Kube resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", + "kubernetesStoragePrefix": "kubernetesStoragePrefix is the path within etcd that the Kubernetes resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'kubernetes.io'.", + "openShiftStorageVersion": "openShiftStorageVersion is the API version that OS resources in etcd should be serialized to. This value should *not* be advanced until all clients in the cluster that read from etcd have code that allows them to read the new version.", + "openShiftStoragePrefix": "openShiftStoragePrefix is the path within etcd that the OpenShift resources will be rooted under. This value, if changed, will mean existing objects in etcd will no longer be located. The default value is 'openshift.io'.", } func (EtcdStorageConfig) SwaggerDoc() map[string]string { @@ -259,12 +259,12 @@ func (EtcdStorageConfig) SwaggerDoc() map[string]string { var map_GitHubIdentityProvider = map[string]string{ "": "GitHubIdentityProvider provides identities for users authenticating using GitHub credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "clientID": "ClientID is the oauth client ID", - "clientSecret": "ClientSecret is the oauth client secret", - "organizations": "Organizations optionally restricts which organizations are allowed to log in", - "teams": "Teams optionally restricts which teams are allowed to log in. Format is /.", - "hostname": "Hostname is the optional domain (e.g. \"mycompany.com\") for use with a hosted instance of GitHub Enterprise. It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname.", - "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server. If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value.", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is the oauth client secret", + "organizations": "organizations optionally restricts which organizations are allowed to log in", + "teams": "teams optionally restricts which teams are allowed to log in. Format is /.", + "hostname": "hostname is the optional domain (e.g. \"mycompany.com\") for use with a hosted instance of GitHub Enterprise. It must match the GitHub Enterprise settings value that is configured at /setup/settings#hostname.", + "ca": "ca is the optional trusted certificate authority bundle to use when making requests to the server. If empty, the default system roots are used. This can only be configured when hostname is set to a non-empty value.", } func (GitHubIdentityProvider) SwaggerDoc() map[string]string { @@ -273,11 +273,11 @@ func (GitHubIdentityProvider) SwaggerDoc() map[string]string { var map_GitLabIdentityProvider = map[string]string{ "": "GitLabIdentityProvider provides identities for users authenticating using GitLab credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", - "url": "URL is the oauth server base URL", - "clientID": "ClientID is the oauth client ID", - "clientSecret": "ClientSecret is the oauth client secret", - "legacy": "Legacy determines if OAuth2 or OIDC should be used If true, OAuth2 is used If false, OIDC is used If nil and the URL's host is gitlab.com, OIDC is used Otherwise, OAuth2 is used In a future release, nil will default to using OIDC Eventually this flag will be removed and only OIDC will be used", + "ca": "ca is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "url": "url is the oauth server base URL", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is the oauth client secret", + "legacy": "legacy determines if OAuth2 or OIDC should be used If true, OAuth2 is used If false, OIDC is used If nil and the URL's host is gitlab.com, OIDC is used Otherwise, OAuth2 is used In a future release, nil will default to using OIDC Eventually this flag will be removed and only OIDC will be used", } func (GitLabIdentityProvider) SwaggerDoc() map[string]string { @@ -286,9 +286,9 @@ func (GitLabIdentityProvider) SwaggerDoc() map[string]string { var map_GoogleIdentityProvider = map[string]string{ "": "GoogleIdentityProvider provides identities for users authenticating using Google credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "clientID": "ClientID is the oauth client ID", - "clientSecret": "ClientSecret is the oauth client secret", - "hostedDomain": "HostedDomain is the optional Google App domain (e.g. \"mycompany.com\") to restrict logins to", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is the oauth client secret", + "hostedDomain": "hostedDomain is the optional Google App domain (e.g. \"mycompany.com\") to restrict logins to", } func (GoogleIdentityProvider) SwaggerDoc() map[string]string { @@ -297,8 +297,8 @@ func (GoogleIdentityProvider) SwaggerDoc() map[string]string { var map_GrantConfig = map[string]string{ "": "GrantConfig holds the necessary configuration options for grant handlers", - "method": "Method determines the default strategy to use when an OAuth client requests a grant. This method will be used only if the specific OAuth client doesn't provide a strategy of their own. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients\n - deny: always denies grant requests, useful for black-listed clients", - "serviceAccountMethod": "ServiceAccountMethod is used for determining client authorization for service account oauth client. It must be either: deny, prompt", + "method": "method determines the default strategy to use when an OAuth client requests a grant. This method will be used only if the specific OAuth client doesn't provide a strategy of their own. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients\n - deny: always denies grant requests, useful for black-listed clients", + "serviceAccountMethod": "serviceAccountMethod is used for determining client authorization for service account oauth client. It must be either: deny, prompt", } func (GrantConfig) SwaggerDoc() map[string]string { @@ -307,8 +307,8 @@ func (GrantConfig) SwaggerDoc() map[string]string { var map_GroupResource = map[string]string{ "": "GroupResource points to a resource by its name and API group.", - "group": "Group is the name of an API group", - "resource": "Resource is the name of a resource.", + "group": "group is the name of an API group", + "resource": "resource is the name of a resource.", } func (GroupResource) SwaggerDoc() map[string]string { @@ -317,7 +317,7 @@ func (GroupResource) SwaggerDoc() map[string]string { var map_HTPasswdPasswordIdentityProvider = map[string]string{ "": "HTPasswdPasswordIdentityProvider provides identities for users authenticating using htpasswd credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "file": "File is a reference to your htpasswd file", + "file": "file is a reference to your htpasswd file", } func (HTPasswdPasswordIdentityProvider) SwaggerDoc() map[string]string { @@ -326,8 +326,8 @@ func (HTPasswdPasswordIdentityProvider) SwaggerDoc() map[string]string { var map_HTTPServingInfo = map[string]string{ "": "HTTPServingInfo holds configuration for serving HTTP", - "maxRequestsInFlight": "MaxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", - "requestTimeoutSeconds": "RequestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", + "maxRequestsInFlight": "maxRequestsInFlight is the number of concurrent requests allowed to the server. If zero, no limit.", + "requestTimeoutSeconds": "requestTimeoutSeconds is the number of seconds before requests are timed out. The default is 60 minutes, if -1 there is no limit on requests.", } func (HTTPServingInfo) SwaggerDoc() map[string]string { @@ -336,11 +336,11 @@ func (HTTPServingInfo) SwaggerDoc() map[string]string { var map_IdentityProvider = map[string]string{ "": "IdentityProvider provides identities for users authenticating using credentials", - "name": "Name is used to qualify the identities returned by this provider", + "name": "name is used to qualify the identities returned by this provider", "challenge": "UseAsChallenger indicates whether to issue WWW-Authenticate challenges for this provider", "login": "UseAsLogin indicates whether to use this identity provider for unauthenticated browsers to login against", - "mappingMethod": "MappingMethod determines how identities from this provider are mapped to users", - "provider": "Provider contains the information about how to set up a specific identity provider", + "mappingMethod": "mappingMethod determines how identities from this provider are mapped to users", + "provider": "provider contains the information about how to set up a specific identity provider", } func (IdentityProvider) SwaggerDoc() map[string]string { @@ -349,8 +349,8 @@ func (IdentityProvider) SwaggerDoc() map[string]string { var map_ImageConfig = map[string]string{ "": "ImageConfig holds the necessary configuration options for building image names for system components", - "format": "Format is the format of the name to be built for the system component", - "latest": "Latest determines if the latest tag will be pulled from the registry", + "format": "format is the format of the name to be built for the system component", + "latest": "latest determines if the latest tag will be pulled from the registry", } func (ImageConfig) SwaggerDoc() map[string]string { @@ -359,14 +359,14 @@ func (ImageConfig) SwaggerDoc() map[string]string { var map_ImagePolicyConfig = map[string]string{ "": "ImagePolicyConfig holds the necessary configuration options for limits and behavior for importing images", - "maxImagesBulkImportedPerRepository": "MaxImagesBulkImportedPerRepository controls the number of images that are imported when a user does a bulk import of a container repository. This number defaults to 50 to prevent users from importing large numbers of images accidentally. Set -1 for no limit.", - "disableScheduledImport": "DisableScheduledImport allows scheduled background import of images to be disabled.", - "scheduledImageImportMinimumIntervalSeconds": "ScheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams scheduled for background import are checked against the upstream repository. The default value is 15 minutes.", - "maxScheduledImageImportsPerMinute": "MaxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the background per minute. The default value is 60. Set to -1 for unlimited.", - "allowedRegistriesForImport": "AllowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", - "internalRegistryHostname": "InternalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format.", - "externalRegistryHostname": "ExternalRegistryHostname sets the hostname for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", - "additionalTrustedCA": "AdditionalTrustedCA is a path to a pem bundle file containing additional CAs that should be trusted during imagestream import.", + "maxImagesBulkImportedPerRepository": "maxImagesBulkImportedPerRepository controls the number of images that are imported when a user does a bulk import of a container repository. This number defaults to 50 to prevent users from importing large numbers of images accidentally. Set -1 for no limit.", + "disableScheduledImport": "disableScheduledImport allows scheduled background import of images to be disabled.", + "scheduledImageImportMinimumIntervalSeconds": "scheduledImageImportMinimumIntervalSeconds is the minimum number of seconds that can elapse between when image streams scheduled for background import are checked against the upstream repository. The default value is 15 minutes.", + "maxScheduledImageImportsPerMinute": "maxScheduledImageImportsPerMinute is the maximum number of scheduled image streams that will be imported in the background per minute. The default value is 60. Set to -1 for unlimited.", + "allowedRegistriesForImport": "allowedRegistriesForImport limits the container image registries that normal users may import images from. Set this list to the registries that you trust to contain valid Docker images and that you want applications to be able to import from. Users with permission to create Images or ImageStreamMappings via the API are not affected by this policy - typically only administrators or system integrations will have those permissions.", + "internalRegistryHostname": "internalRegistryHostname sets the hostname for the default internal image registry. The value must be in \"hostname[:port]\" format.", + "externalRegistryHostname": "externalRegistryHostname sets the hostname for the default external image registry. The external hostname should be set only when the image registry is exposed externally. The value is used in 'publicDockerImageRepository' field in ImageStreams. The value must be in \"hostname[:port]\" format.", + "additionalTrustedCA": "additionalTrustedCA is a path to a pem bundle file containing additional CAs that should be trusted during imagestream import.", } func (ImagePolicyConfig) SwaggerDoc() map[string]string { @@ -375,11 +375,11 @@ func (ImagePolicyConfig) SwaggerDoc() map[string]string { var map_JenkinsPipelineConfig = map[string]string{ "": "JenkinsPipelineConfig holds configuration for the Jenkins pipeline strategy", - "autoProvisionEnabled": "AutoProvisionEnabled determines whether a Jenkins server will be spawned from the provided template when the first build config in the project with type JenkinsPipeline is created. When not specified this option defaults to true.", - "templateNamespace": "TemplateNamespace contains the namespace name where the Jenkins template is stored", - "templateName": "TemplateName is the name of the default Jenkins template", - "serviceName": "ServiceName is the name of the Jenkins service OpenShift uses to detect whether a Jenkins pipeline handler has already been installed in a project. This value *must* match a service name in the provided template.", - "parameters": "Parameters specifies a set of optional parameters to the Jenkins template.", + "autoProvisionEnabled": "autoProvisionEnabled determines whether a Jenkins server will be spawned from the provided template when the first build config in the project with type JenkinsPipeline is created. When not specified this option defaults to true.", + "templateNamespace": "templateNamespace contains the namespace name where the Jenkins template is stored", + "templateName": "templateName is the name of the default Jenkins template", + "serviceName": "serviceName is the name of the Jenkins service OpenShift uses to detect whether a Jenkins pipeline handler has already been installed in a project. This value *must* match a service name in the provided template.", + "parameters": "parameters specifies a set of optional parameters to the Jenkins template.", } func (JenkinsPipelineConfig) SwaggerDoc() map[string]string { @@ -389,7 +389,7 @@ func (JenkinsPipelineConfig) SwaggerDoc() map[string]string { var map_KeystonePasswordIdentityProvider = map[string]string{ "": "KeystonePasswordIdentityProvider provides identities for users authenticating using keystone password credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "domainName": "Domain Name is required for keystone v3", - "useKeystoneIdentity": "UseKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username", + "useKeystoneIdentity": "useKeystoneIdentity flag indicates that user should be authenticated by keystone ID, not by username", } func (KeystonePasswordIdentityProvider) SwaggerDoc() map[string]string { @@ -398,8 +398,8 @@ func (KeystonePasswordIdentityProvider) SwaggerDoc() map[string]string { var map_KubeletConnectionInfo = map[string]string{ "": "KubeletConnectionInfo holds information necessary for connecting to a kubelet", - "port": "Port is the port to connect to kubelets on", - "ca": "CA is the CA for verifying TLS connections to kubelets", + "port": "port is the port to connect to kubelets on", + "ca": "ca is the CA for verifying TLS connections to kubelets", } func (KubeletConnectionInfo) SwaggerDoc() map[string]string { @@ -408,18 +408,18 @@ func (KubeletConnectionInfo) SwaggerDoc() map[string]string { var map_KubernetesMasterConfig = map[string]string{ "": "KubernetesMasterConfig holds the necessary configuration options for the Kubernetes master", - "apiLevels": "APILevels is a list of API levels that should be enabled on startup: v1 as examples", - "disabledAPIGroupVersions": "DisabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled.", - "masterIP": "MasterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used.", - "masterEndpointReconcileTTL": "MasterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked at an interval that is 2/3 of this value and this value defaults to 15s if unset. In very large clusters, this value may be increased to reduce the possibility that the master endpoint record expires (due to other load on the etcd server) and causes masters to drop in and out of the kubernetes service record. It is not recommended to set this value below 15s.", - "servicesSubnet": "ServicesSubnet is the subnet to use for assigning service IPs", - "servicesNodePortRange": "ServicesNodePortRange is the range to use for assigning service public ports on a host.", - "schedulerConfigFile": "SchedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.", - "podEvictionTimeout": "PodEvictionTimeout controls grace period for deleting pods on failed nodes. It takes valid time duration string. If empty, you get the default pod eviction timeout.", - "proxyClientInfo": "ProxyClientInfo specifies the client cert/key to use when proxying to pods", - "apiServerArguments": "APIServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", - "controllerArguments": "ControllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the controller manager's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", - "schedulerArguments": "SchedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", + "apiLevels": "apiLevels is a list of API levels that should be enabled on startup: v1 as examples", + "disabledAPIGroupVersions": "disabledAPIGroupVersions is a map of groups to the versions (or *) that should be disabled.", + "masterIP": "masterIP is the public IP address of kubernetes stuff. If empty, the first result from net.InterfaceAddrs will be used.", + "masterEndpointReconcileTTL": "masterEndpointReconcileTTL sets the time to live in seconds of an endpoint record recorded by each master. The endpoints are checked at an interval that is 2/3 of this value and this value defaults to 15s if unset. In very large clusters, this value may be increased to reduce the possibility that the master endpoint record expires (due to other load on the etcd server) and causes masters to drop in and out of the kubernetes service record. It is not recommended to set this value below 15s.", + "servicesSubnet": "servicesSubnet is the subnet to use for assigning service IPs", + "servicesNodePortRange": "servicesNodePortRange is the range to use for assigning service public ports on a host.", + "schedulerConfigFile": "schedulerConfigFile points to a file that describes how to set up the scheduler. If empty, you get the default scheduling rules.", + "podEvictionTimeout": "podEvictionTimeout controls grace period for deleting pods on failed nodes. It takes valid time duration string. If empty, you get the default pod eviction timeout.", + "proxyClientInfo": "proxyClientInfo specifies the client cert/key to use when proxying to pods", + "apiServerArguments": "apiServerArguments are key value pairs that will be passed directly to the Kube apiserver that match the apiservers's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", + "controllerArguments": "controllerArguments are key value pairs that will be passed directly to the Kube controller manager that match the controller manager's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", + "schedulerArguments": "schedulerArguments are key value pairs that will be passed directly to the Kube scheduler that match the scheduler's command line arguments. These are not migrated, but if you reference a value that does not exist the server will not start. These values may override other settings in KubernetesMasterConfig which may cause invalid configurations.", } func (KubernetesMasterConfig) SwaggerDoc() map[string]string { @@ -428,10 +428,10 @@ func (KubernetesMasterConfig) SwaggerDoc() map[string]string { var map_LDAPAttributeMapping = map[string]string{ "": "LDAPAttributeMapping maps LDAP attributes to OpenShift identity fields", - "id": "ID is the list of attributes whose values should be used as the user ID. Required. LDAP standard identity attribute is \"dn\"", - "preferredUsername": "PreferredUsername is the list of attributes whose values should be used as the preferred username. LDAP standard login attribute is \"uid\"", - "name": "Name is the list of attributes whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity LDAP standard display name attribute is \"cn\"", - "email": "Email is the list of attributes whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", + "id": "id is the list of attributes whose values should be used as the user ID. Required. LDAP standard identity attribute is \"dn\"", + "preferredUsername": "preferredUsername is the list of attributes whose values should be used as the preferred username. LDAP standard login attribute is \"uid\"", + "name": "name is the list of attributes whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity LDAP standard display name attribute is \"cn\"", + "email": "email is the list of attributes whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", } func (LDAPAttributeMapping) SwaggerDoc() map[string]string { @@ -440,12 +440,12 @@ func (LDAPAttributeMapping) SwaggerDoc() map[string]string { var map_LDAPPasswordIdentityProvider = map[string]string{ "": "LDAPPasswordIdentityProvider provides identities for users authenticating using LDAP credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "url": "URL is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is\n ldap://host:port/basedn?attribute?scope?filter", - "bindDN": "BindDN is an optional DN to bind with during the search phase.", - "bindPassword": "BindPassword is an optional password to bind with during the search phase.", + "url": "url is an RFC 2255 URL which specifies the LDAP search parameters to use. The syntax of the URL is\n ldap://host:port/basedn?attribute?scope?filter", + "bindDN": "bindDN is an optional DN to bind with during the search phase.", + "bindPassword": "bindPassword is an optional password to bind with during the search phase.", "insecure": "Insecure, if true, indicates the connection should not use TLS. Cannot be set to true with a URL scheme of \"ldaps://\" If false, \"ldaps://\" URLs connect using TLS, and \"ldap://\" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830", - "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", - "attributes": "Attributes maps LDAP attributes to identities", + "ca": "ca is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "attributes": "attributes maps LDAP attributes to identities", } func (LDAPPasswordIdentityProvider) SwaggerDoc() map[string]string { @@ -458,8 +458,8 @@ var map_LDAPQuery = map[string]string{ "scope": "The (optional) scope of the search. Can be: base: only the base object, one: all object on the base level, sub: the entire subtree Defaults to the entire subtree if not set", "derefAliases": "The (optional) behavior of the search with regards to alisases. Can be: never: never dereference aliases, search: only dereference in searching, base: only dereference in finding the base object, always: always dereference Defaults to always dereferencing if not set", "timeout": "TimeLimit holds the limit of time in seconds that any request to the server can remain outstanding before the wait for a response is given up. If this is 0, no client-side limit is imposed", - "filter": "Filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN", - "pageSize": "PageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done.", + "filter": "filter is a valid LDAP search filter that retrieves all relevant entries from the LDAP server with the base DN", + "pageSize": "pageSize is the maximum preferred page size, measured in LDAP entries. A page size of 0 means no paging will be done.", } func (LDAPQuery) SwaggerDoc() map[string]string { @@ -469,10 +469,10 @@ func (LDAPQuery) SwaggerDoc() map[string]string { var map_LDAPSyncConfig = map[string]string{ "": "LDAPSyncConfig holds the necessary configuration options to define an LDAP group sync\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "url": "Host is the scheme, host and port of the LDAP server to connect to: scheme://host:port", - "bindDN": "BindDN is an optional DN to bind to the LDAP server with", - "bindPassword": "BindPassword is an optional password to bind with during the search phase.", + "bindDN": "bindDN is an optional DN to bind to the LDAP server with", + "bindPassword": "bindPassword is an optional password to bind with during the search phase.", "insecure": "Insecure, if true, indicates the connection should not use TLS. Cannot be set to true with a URL scheme of \"ldaps://\" If false, \"ldaps://\" URLs connect using TLS, and \"ldap://\" URLs are upgraded to a TLS connection using StartTLS as specified in https://tools.ietf.org/html/rfc2830", - "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "ca": "ca is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", "groupUIDNameMapping": "LDAPGroupUIDToOpenShiftGroupNameMapping is an optional direct mapping of LDAP group UIDs to OpenShift Group names", "rfc2307": "RFC2307Config holds the configuration for extracting data from an LDAP server set up in a fashion similar to RFC2307: first-class group and user entries, with group membership determined by a multi-valued attribute on the group entry listing its members", "activeDirectory": "ActiveDirectoryConfig holds the configuration for extracting data from an LDAP server set up in a fashion similar to that used in Active Directory: first-class user entries, with group membership determined by a multi-valued attribute on members listing groups they are a member of", @@ -494,9 +494,9 @@ func (LocalQuota) SwaggerDoc() map[string]string { var map_MasterAuthConfig = map[string]string{ "": "MasterAuthConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", - "requestHeader": "RequestHeader holds options for setting up a front proxy against the API. It is optional.", + "requestHeader": "requestHeader holds options for setting up a front proxy against the API. It is optional.", "webhookTokenAuthenticators": "WebhookTokenAuthnConfig, if present configures remote token reviewers", - "oauthMetadataFile": "OAuthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization Server Metadata for an external OAuth server. See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This option is mutually exclusive with OAuthConfig", + "oauthMetadataFile": "oauthMetadataFile is a path to a file containing the discovery endpoint for OAuth 2.0 Authorization Server Metadata for an external OAuth server. See IETF Draft: // https://tools.ietf.org/html/draft-ietf-oauth-discovery-04#section-2 This option is mutually exclusive with OAuthConfig", } func (MasterAuthConfig) SwaggerDoc() map[string]string { @@ -505,8 +505,8 @@ func (MasterAuthConfig) SwaggerDoc() map[string]string { var map_MasterClients = map[string]string{ "": "MasterClients holds references to `.kubeconfig` files that qualify master clients for OpenShift and Kubernetes", - "openshiftLoopbackKubeConfig": "OpenShiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master", - "openshiftLoopbackClientConnectionOverrides": "OpenShiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master.", + "openshiftLoopbackKubeConfig": "openshiftLoopbackKubeConfig is a .kubeconfig filename for system components to loopback to this master", + "openshiftLoopbackClientConnectionOverrides": "openshiftLoopbackClientConnectionOverrides specifies client overrides for system components to loop back to this master.", } func (MasterClients) SwaggerDoc() map[string]string { @@ -515,33 +515,33 @@ func (MasterClients) SwaggerDoc() map[string]string { var map_MasterConfig = map[string]string{ "": "MasterConfig holds the necessary configuration options for the OpenShift master\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "servingInfo": "ServingInfo describes how to start serving", - "authConfig": "AuthConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", - "aggregatorConfig": "AggregatorConfig has options for configuring the aggregator component of the API server.", + "servingInfo": "servingInfo describes how to start serving", + "authConfig": "authConfig configures authentication options in addition to the standard oauth token and client certificate authenticators", + "aggregatorConfig": "aggregatorConfig has options for configuring the aggregator component of the API server.", "corsAllowedOrigins": "CORSAllowedOrigins", - "apiLevels": "APILevels is a list of API levels that should be enabled on startup: v1 as examples", - "masterPublicURL": "MasterPublicURL is how clients can access the OpenShift API server", - "controllers": "Controllers is a list of the controllers that should be started. If set to \"none\", no controllers will start automatically. The default value is \"*\" which will start all controllers. When using \"*\", you may exclude controllers by prepending a \"-\" in front of their name. No other values are recognized at this time.", - "admissionConfig": "AdmissionConfig contains admission control plugin configuration.", - "controllerConfig": "ControllerConfig holds configuration values for controllers", - "etcdStorageConfig": "EtcdStorageConfig contains information about how API resources are stored in Etcd. These values are only relevant when etcd is the backing store for the cluster.", - "etcdClientInfo": "EtcdClientInfo contains information about how to connect to etcd", - "kubeletClientInfo": "KubeletClientInfo contains information about how to connect to kubelets", + "apiLevels": "apiLevels is a list of API levels that should be enabled on startup: v1 as examples", + "masterPublicURL": "masterPublicURL is how clients can access the OpenShift API server", + "controllers": "controllers is a list of the controllers that should be started. If set to \"none\", no controllers will start automatically. The default value is \"*\" which will start all controllers. When using \"*\", you may exclude controllers by prepending a \"-\" in front of their name. No other values are recognized at this time.", + "admissionConfig": "admissionConfig contains admission control plugin configuration.", + "controllerConfig": "controllerConfig holds configuration values for controllers", + "etcdStorageConfig": "etcdStorageConfig contains information about how API resources are stored in Etcd. These values are only relevant when etcd is the backing store for the cluster.", + "etcdClientInfo": "etcdClientInfo contains information about how to connect to etcd", + "kubeletClientInfo": "kubeletClientInfo contains information about how to connect to kubelets", "kubernetesMasterConfig": "KubernetesMasterConfig, if present start the kubernetes master in this process", "etcdConfig": "EtcdConfig, if present start etcd in this process", "oauthConfig": "OAuthConfig, if present start the /oauth endpoint in this process", "dnsConfig": "DNSConfig, if present start the DNS server in this process", - "serviceAccountConfig": "ServiceAccountConfig holds options related to service accounts", - "masterClients": "MasterClients holds all the client connection information for controllers and other system components", - "imageConfig": "ImageConfig holds options that describe how to build image names for system components", - "imagePolicyConfig": "ImagePolicyConfig controls limits and behavior for importing images", - "policyConfig": "PolicyConfig holds information about where to locate critical pieces of bootstrapping policy", - "projectConfig": "ProjectConfig holds information about project creation and defaults", - "routingConfig": "RoutingConfig holds information about routing and route generation", - "networkConfig": "NetworkConfig to be passed to the compiled in network plugin", + "serviceAccountConfig": "serviceAccountConfig holds options related to service accounts", + "masterClients": "masterClients holds all the client connection information for controllers and other system components", + "imageConfig": "imageConfig holds options that describe how to build image names for system components", + "imagePolicyConfig": "imagePolicyConfig controls limits and behavior for importing images", + "policyConfig": "policyConfig holds information about where to locate critical pieces of bootstrapping policy", + "projectConfig": "projectConfig holds information about project creation and defaults", + "routingConfig": "routingConfig holds information about routing and route generation", + "networkConfig": "networkConfig to be passed to the compiled in network plugin", "volumeConfig": "MasterVolumeConfig contains options for configuring volume plugins in the master node.", - "jenkinsPipelineConfig": "JenkinsPipelineConfig holds information about the default Jenkins template used for JenkinsPipeline build strategy.", - "auditConfig": "AuditConfig holds information related to auditing capabilities.", + "jenkinsPipelineConfig": "jenkinsPipelineConfig holds information about the default Jenkins template used for JenkinsPipeline build strategy.", + "auditConfig": "auditConfig holds information related to auditing capabilities.", } func (MasterConfig) SwaggerDoc() map[string]string { @@ -550,14 +550,14 @@ func (MasterConfig) SwaggerDoc() map[string]string { var map_MasterNetworkConfig = map[string]string{ "": "MasterNetworkConfig to be passed to the compiled in network plugin", - "networkPluginName": "NetworkPluginName is the name of the network plugin to use", - "clusterNetworkCIDR": "ClusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", - "clusterNetworks": "ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set.", - "hostSubnetLength": "HostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", + "networkPluginName": "networkPluginName is the name of the network plugin to use", + "clusterNetworkCIDR": "clusterNetworkCIDR is the CIDR string to specify the global overlay network's L3 space. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", + "clusterNetworks": "clusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addressed from. If this is specified, then ClusterNetworkCIDR and HostSubnetLength may not be set.", + "hostSubnetLength": "hostSubnetLength is the number of bits to allocate to each host's subnet e.g. 8 would mean a /24 network on the host. Deprecated, but maintained for backwards compatibility, use ClusterNetworks instead.", "serviceNetworkCIDR": "ServiceNetwork is the CIDR string to specify the service networks", - "externalIPNetworkCIDRs": "ExternalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP may be set. It may contain a list of CIDRs which are checked for access. If a CIDR is prefixed with !, IPs in that CIDR will be rejected. Rejections will be applied first, then the IP checked against one of the allowed CIDRs. You should ensure this range does not overlap with your nodes, pods, or service CIDRs for security reasons.", - "ingressIPNetworkCIDR": "IngressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, nodes, pods, or services.", - "vxlanPort": "VXLANPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value", + "externalIPNetworkCIDRs": "externalIPNetworkCIDRs controls what values are acceptable for the service external IP field. If empty, no externalIP may be set. It may contain a list of CIDRs which are checked for access. If a CIDR is prefixed with !, IPs in that CIDR will be rejected. Rejections will be applied first, then the IP checked against one of the allowed CIDRs. You should ensure this range does not overlap with your nodes, pods, or service CIDRs for security reasons.", + "ingressIPNetworkCIDR": "ingressIPNetworkCIDR controls the range to assign ingress ips from for services of type LoadBalancer on bare metal. If empty, ingress ips will not be assigned. It may contain a single CIDR that will be allocated from. For security reasons, you should ensure that this range does not overlap with the CIDRs reserved for external ips, nodes, pods, or services.", + "vxlanPort": "vxlanPort is the VXLAN port used by the cluster defaults. If it is not set, 4789 is the default value", } func (MasterNetworkConfig) SwaggerDoc() map[string]string { @@ -566,7 +566,7 @@ func (MasterNetworkConfig) SwaggerDoc() map[string]string { var map_MasterVolumeConfig = map[string]string{ "": "MasterVolumeConfig contains options for configuring volume plugins in the master node.", - "dynamicProvisioningEnabled": "DynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true", + "dynamicProvisioningEnabled": "dynamicProvisioningEnabled is a boolean that toggles dynamic provisioning off when false, defaults to true", } func (MasterVolumeConfig) SwaggerDoc() map[string]string { @@ -575,7 +575,7 @@ func (MasterVolumeConfig) SwaggerDoc() map[string]string { var map_NamedCertificate = map[string]string{ "": "NamedCertificate specifies a certificate/key, and the names it should be served for", - "names": "Names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", + "names": "names is a list of DNS names this certificate should be used to secure A name can be a normal DNS name, or can contain leading wildcard segments.", } func (NamedCertificate) SwaggerDoc() map[string]string { @@ -584,10 +584,10 @@ func (NamedCertificate) SwaggerDoc() map[string]string { var map_NodeAuthConfig = map[string]string{ "": "NodeAuthConfig holds authn/authz configuration options", - "authenticationCacheTTL": "AuthenticationCacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", - "authenticationCacheSize": "AuthenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used.", - "authorizationCacheTTL": "AuthorizationCacheTTL indicates how long an authorization result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", - "authorizationCacheSize": "AuthorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used.", + "authenticationCacheTTL": "authenticationCacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", + "authenticationCacheSize": "authenticationCacheSize indicates how many authentication results should be cached. If 0, the default cache size is used.", + "authorizationCacheTTL": "authorizationCacheTTL indicates how long an authorization result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get the default timeout. If zero (e.g. \"0m\"), caching is disabled", + "authorizationCacheSize": "authorizationCacheSize indicates how many authorization results should be cached. If 0, the default cache size is used.", } func (NodeAuthConfig) SwaggerDoc() map[string]string { @@ -596,29 +596,29 @@ func (NodeAuthConfig) SwaggerDoc() map[string]string { var map_NodeConfig = map[string]string{ "": "NodeConfig is the fully specified config starting an OpenShift node\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "nodeName": "NodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. If you're describing a set of static nodes to the master, this value must match one of the values in the list", + "nodeName": "nodeName is the value used to identify this particular node in the cluster. If possible, this should be your fully qualified hostname. If you're describing a set of static nodes to the master, this value must match one of the values in the list", "nodeIP": "Node may have multiple IPs, specify the IP to use for pod traffic routing If not specified, network parse/lookup on the nodeName is performed and the first non-loopback address is used", - "servingInfo": "ServingInfo describes how to start serving", - "masterKubeConfig": "MasterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master", - "masterClientConnectionOverrides": "MasterClientConnectionOverrides provides overrides to the client connection used to connect to the master.", - "dnsDomain": "DNSDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to 'cluster.local'.", - "dnsIP": "DNSIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes master. This IP must be listening on port 53 for compatibility with libc resolvers (which cannot be configured to resolve names from any other port). When running more complex local DNS configurations, this is often set to the local address of a DNS proxy like dnsmasq, which then will consult either the local DNS (see dnsBindAddress) or the master DNS.", - "dnsBindAddress": "DNSBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. Because most DNS resolvers will only listen on port 53, if you select an alternative port you will need a DNS proxy like dnsmasq to answer queries for containers. A common configuration is dnsmasq configured on a node IP listening on 53 and delegating queries for dnsDomain to this process, while sending other queries to the host environments nameservers.", - "dnsNameservers": "DNSNameservers is a list of ip:port values of recursive nameservers to forward queries to when running a local DNS server if dnsBindAddress is set. If this value is empty, the DNS server will default to the nameservers listed in /etc/resolv.conf. If you have configured dnsmasq or another DNS proxy on the system, this value should be set to the upstream nameservers dnsmasq resolves with.", - "dnsRecursiveResolvConf": "DNSRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. Only the nameservers and port fields are used. The file must exist and parse correctly. It adds extra nameservers to DNSNameservers if set.", + "servingInfo": "servingInfo describes how to start serving", + "masterKubeConfig": "masterKubeConfig is a filename for the .kubeconfig file that describes how to connect this node to the master", + "masterClientConnectionOverrides": "masterClientConnectionOverrides provides overrides to the client connection used to connect to the master.", + "dnsDomain": "dnsDomain holds the domain suffix that will be used for the DNS search path inside each container. Defaults to 'cluster.local'.", + "dnsIP": "dnsIP is the IP address that pods will use to access cluster DNS. Defaults to the service IP of the Kubernetes master. This IP must be listening on port 53 for compatibility with libc resolvers (which cannot be configured to resolve names from any other port). When running more complex local DNS configurations, this is often set to the local address of a DNS proxy like dnsmasq, which then will consult either the local DNS (see dnsBindAddress) or the master DNS.", + "dnsBindAddress": "dnsBindAddress is the ip:port to serve DNS on. If this is not set, the DNS server will not be started. Because most DNS resolvers will only listen on port 53, if you select an alternative port you will need a DNS proxy like dnsmasq to answer queries for containers. A common configuration is dnsmasq configured on a node IP listening on 53 and delegating queries for dnsDomain to this process, while sending other queries to the host environments nameservers.", + "dnsNameservers": "dnsNameservers is a list of ip:port values of recursive nameservers to forward queries to when running a local DNS server if dnsBindAddress is set. If this value is empty, the DNS server will default to the nameservers listed in /etc/resolv.conf. If you have configured dnsmasq or another DNS proxy on the system, this value should be set to the upstream nameservers dnsmasq resolves with.", + "dnsRecursiveResolvConf": "dnsRecursiveResolvConf is a path to a resolv.conf file that contains settings for an upstream server. Only the nameservers and port fields are used. The file must exist and parse correctly. It adds extra nameservers to DNSNameservers if set.", "networkPluginName": "Deprecated and maintained for backward compatibility, use NetworkConfig.NetworkPluginName instead", - "networkConfig": "NetworkConfig provides network options for the node", - "volumeDirectory": "VolumeDirectory is the directory that volumes will be stored under", - "imageConfig": "ImageConfig holds options that describe how to build image names for system components", - "allowDisabledDocker": "AllowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started.", - "podManifestConfig": "PodManifestConfig holds the configuration for enabling the Kubelet to create pods based from a manifest file(s) placed locally on the node", - "authConfig": "AuthConfig holds authn/authz configuration options", - "dockerConfig": "DockerConfig holds Docker related configuration options.", - "kubeletArguments": "KubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", - "proxyArguments": "ProxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", - "iptablesSyncPeriod": "IPTablesSyncPeriod is how often iptable rules are refreshed", - "enableUnidling": "EnableUnidling controls whether or not the hybrid unidling proxy will be set up", - "volumeConfig": "VolumeConfig contains options for configuring volumes on the node.", + "networkConfig": "networkConfig provides network options for the node", + "volumeDirectory": "volumeDirectory is the directory that volumes will be stored under", + "imageConfig": "imageConfig holds options that describe how to build image names for system components", + "allowDisabledDocker": "allowDisabledDocker if true, the Kubelet will ignore errors from Docker. This means that a node can start on a machine that doesn't have docker started.", + "podManifestConfig": "podManifestConfig holds the configuration for enabling the Kubelet to create pods based from a manifest file(s) placed locally on the node", + "authConfig": "authConfig holds authn/authz configuration options", + "dockerConfig": "dockerConfig holds Docker related configuration options.", + "kubeletArguments": "kubeletArguments are key value pairs that will be passed directly to the Kubelet that match the Kubelet's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", + "proxyArguments": "proxyArguments are key value pairs that will be passed directly to the Proxy that match the Proxy's command line arguments. These are not migrated or validated, so if you use them they may become invalid. These values override other settings in NodeConfig which may cause invalid configurations.", + "iptablesSyncPeriod": "iptablesSyncPeriod is how often iptable rules are refreshed", + "enableUnidling": "enableUnidling controls whether or not the hybrid unidling proxy will be set up", + "volumeConfig": "volumeConfig contains options for configuring volumes on the node.", } func (NodeConfig) SwaggerDoc() map[string]string { @@ -627,7 +627,7 @@ func (NodeConfig) SwaggerDoc() map[string]string { var map_NodeNetworkConfig = map[string]string{ "": "NodeNetworkConfig provides network options for the node", - "networkPluginName": "NetworkPluginName is a string specifying the networking plugin", + "networkPluginName": "networkPluginName is a string specifying the networking plugin", "mtu": "Maximum transmission unit for the network packets", } @@ -637,7 +637,7 @@ func (NodeNetworkConfig) SwaggerDoc() map[string]string { var map_NodeVolumeConfig = map[string]string{ "": "NodeVolumeConfig contains options for configuring volumes on the node.", - "localQuota": "LocalQuota contains options for controlling local volume quota on the node.", + "localQuota": "localQuota contains options for controlling local volume quota on the node.", } func (NodeVolumeConfig) SwaggerDoc() map[string]string { @@ -646,16 +646,16 @@ func (NodeVolumeConfig) SwaggerDoc() map[string]string { var map_OAuthConfig = map[string]string{ "": "OAuthConfig holds the necessary configuration options for OAuth authentication", - "masterCA": "MasterCA is the CA for verifying the TLS connection back to the MasterURL.", - "masterURL": "MasterURL is used for making server-to-server calls to exchange authorization codes for access tokens", - "masterPublicURL": "MasterPublicURL is used for building valid client redirect URLs for internal and external access", - "assetPublicURL": "AssetPublicURL is used for building valid client redirect URLs for external access", - "alwaysShowProviderSelection": "AlwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider.", - "identityProviders": "IdentityProviders is an ordered list of ways for a user to identify themselves", - "grantConfig": "GrantConfig describes how to handle grants", - "sessionConfig": "SessionConfig hold information about configuring sessions.", - "tokenConfig": "TokenConfig contains options for authorization and access tokens", - "templates": "Templates allow you to customize pages like the login page.", + "masterCA": "masterCA is the CA for verifying the TLS connection back to the MasterURL.", + "masterURL": "masterURL is used for making server-to-server calls to exchange authorization codes for access tokens", + "masterPublicURL": "masterPublicURL is used for building valid client redirect URLs for internal and external access", + "assetPublicURL": "assetPublicURL is used for building valid client redirect URLs for external access", + "alwaysShowProviderSelection": "alwaysShowProviderSelection will force the provider selection page to render even when there is only a single provider.", + "identityProviders": "identityProviders is an ordered list of ways for a user to identify themselves", + "grantConfig": "grantConfig describes how to handle grants", + "sessionConfig": "sessionConfig hold information about configuring sessions.", + "tokenConfig": "tokenConfig contains options for authorization and access tokens", + "templates": "templates allow you to customize pages like the login page.", } func (OAuthConfig) SwaggerDoc() map[string]string { @@ -664,9 +664,9 @@ func (OAuthConfig) SwaggerDoc() map[string]string { var map_OAuthTemplates = map[string]string{ "": "OAuthTemplates allow for customization of pages like the login page", - "login": "Login is a path to a file containing a go template used to render the login page. If unspecified, the default login page is used.", - "providerSelection": "ProviderSelection is a path to a file containing a go template used to render the provider selection page. If unspecified, the default provider selection page is used.", - "error": "Error is a path to a file containing a go template used to render error pages during the authentication or grant flow If unspecified, the default error page is used.", + "login": "login is a path to a file containing a go template used to render the login page. If unspecified, the default login page is used.", + "providerSelection": "providerSelection is a path to a file containing a go template used to render the provider selection page. If unspecified, the default provider selection page is used.", + "error": "error is a path to a file containing a go template used to render error pages during the authentication or grant flow If unspecified, the default error page is used.", } func (OAuthTemplates) SwaggerDoc() map[string]string { @@ -675,10 +675,10 @@ func (OAuthTemplates) SwaggerDoc() map[string]string { var map_OpenIDClaims = map[string]string{ "": "OpenIDClaims contains a list of OpenID claims to use when authenticating with an OpenID identity provider", - "id": "ID is the list of claims whose values should be used as the user ID. Required. OpenID standard identity claim is \"sub\"", - "preferredUsername": "PreferredUsername is the list of claims whose values should be used as the preferred username. If unspecified, the preferred username is determined from the value of the id claim", - "name": "Name is the list of claims whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity", - "email": "Email is the list of claims whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", + "id": "id is the list of claims whose values should be used as the user ID. Required. OpenID standard identity claim is \"sub\"", + "preferredUsername": "preferredUsername is the list of claims whose values should be used as the preferred username. If unspecified, the preferred username is determined from the value of the id claim", + "name": "name is the list of claims whose values should be used as the display name. Optional. If unspecified, no display name is set for the identity", + "email": "email is the list of claims whose values should be used as the email address. Optional. If unspecified, no email is set for the identity", } func (OpenIDClaims) SwaggerDoc() map[string]string { @@ -687,13 +687,13 @@ func (OpenIDClaims) SwaggerDoc() map[string]string { var map_OpenIDIdentityProvider = map[string]string{ "": "OpenIDIdentityProvider provides identities for users authenticating using OpenID credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "ca": "CA is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", - "clientID": "ClientID is the oauth client ID", - "clientSecret": "ClientSecret is the oauth client secret", - "extraScopes": "ExtraScopes are any scopes to request in addition to the standard \"openid\" scope.", - "extraAuthorizeParameters": "ExtraAuthorizeParameters are any custom parameters to add to the authorize request.", - "urls": "URLs to use to authenticate", - "claims": "Claims mappings", + "ca": "ca is the optional trusted certificate authority bundle to use when making requests to the server If empty, the default system roots are used", + "clientID": "clientID is the oauth client ID", + "clientSecret": "clientSecret is the oauth client secret", + "extraScopes": "extraScopes are any scopes to request in addition to the standard \"openid\" scope.", + "extraAuthorizeParameters": "extraAuthorizeParameters are any custom parameters to add to the authorize request.", + "urls": "urls to use to authenticate", + "claims": "claims mappings", } func (OpenIDIdentityProvider) SwaggerDoc() map[string]string { @@ -702,9 +702,9 @@ func (OpenIDIdentityProvider) SwaggerDoc() map[string]string { var map_OpenIDURLs = map[string]string{ "": "OpenIDURLs are URLs to use when authenticating with an OpenID identity provider", - "authorize": "Authorize is the oauth authorization URL", - "token": "Token is the oauth token granting URL", - "userInfo": "UserInfo is the optional userinfo URL. If present, a granted access_token is used to request claims If empty, a granted id_token is parsed for claims", + "authorize": "authorize is the oauth authorization URL", + "token": "token is the oauth token granting URL", + "userInfo": "userInfo is the optional userinfo URL. If present, a granted access_token is used to request claims If empty, a granted id_token is parsed for claims", } func (OpenIDURLs) SwaggerDoc() map[string]string { @@ -713,8 +713,8 @@ func (OpenIDURLs) SwaggerDoc() map[string]string { var map_PodManifestConfig = map[string]string{ "": "PodManifestConfig holds the necessary configuration options for using pod manifests", - "path": "Path specifies the path for the pod manifest file or directory If its a directory, its expected to contain on or more manifest files This is used by the Kubelet to create pods on the node", - "fileCheckIntervalSeconds": "FileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data The interval needs to be a positive value", + "path": "path specifies the path for the pod manifest file or directory If its a directory, its expected to contain on or more manifest files This is used by the Kubelet to create pods on the node", + "fileCheckIntervalSeconds": "fileCheckIntervalSeconds is the interval in seconds for checking the manifest file(s) for new data The interval needs to be a positive value", } func (PodManifestConfig) SwaggerDoc() map[string]string { @@ -723,7 +723,7 @@ func (PodManifestConfig) SwaggerDoc() map[string]string { var map_PolicyConfig = map[string]string{ "": "holds the necessary configuration options for", - "userAgentMatchingConfig": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", + "userAgentMatchingConfig": "userAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", } func (PolicyConfig) SwaggerDoc() map[string]string { @@ -732,10 +732,10 @@ func (PolicyConfig) SwaggerDoc() map[string]string { var map_ProjectConfig = map[string]string{ "": "holds the necessary configuration options for", - "defaultNodeSelector": "DefaultNodeSelector holds default project node label selector", - "projectRequestMessage": "ProjectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint", - "projectRequestTemplate": "ProjectRequestTemplate is the template to use for creating projects in response to projectrequest. It is in the format namespace/template and it is optional. If it is not specified, a default template is used.", - "securityAllocator": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", + "defaultNodeSelector": "defaultNodeSelector holds default project node label selector", + "projectRequestMessage": "projectRequestMessage is the string presented to a user if they are unable to request a project via the projectrequest api endpoint", + "projectRequestTemplate": "projectRequestTemplate is the template to use for creating projects in response to projectrequest. It is in the format namespace/template and it is optional. If it is not specified, a default template is used.", + "securityAllocator": "securityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", } func (ProjectConfig) SwaggerDoc() map[string]string { @@ -746,13 +746,13 @@ var map_RFC2307Config = map[string]string{ "": "RFC2307Config holds the necessary configuration options to define how an LDAP group sync interacts with an LDAP server using the RFC2307 schema", "groupsQuery": "AllGroupsQuery holds the template for an LDAP query that returns group entries.", "groupUIDAttribute": "GroupUIDAttributes defines which attribute on an LDAP group entry will be interpreted as its unique identifier. (ldapGroupUID)", - "groupNameAttributes": "GroupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", - "groupMembershipAttributes": "GroupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. The values contained in those attributes must be queryable by your UserUIDAttribute", + "groupNameAttributes": "groupNameAttributes defines which attributes on an LDAP group entry will be interpreted as its name to use for an OpenShift group", + "groupMembershipAttributes": "groupMembershipAttributes defines which attributes on an LDAP group entry will be interpreted as its members. The values contained in those attributes must be queryable by your UserUIDAttribute", "usersQuery": "AllUsersQuery holds the template for an LDAP query that returns user entries.", - "userUIDAttribute": "UserUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. It must correspond to values that will be found from the GroupMembershipAttributes", - "userNameAttributes": "UserNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. The first attribute with a non-empty value is used. This should match your PreferredUsername setting for your LDAPPasswordIdentityProvider", - "tolerateMemberNotFoundErrors": "TolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are encountered. If 'true', an LDAP query for users that doesn't find any will be tolerated and an only and error will be logged. If 'false', the LDAP sync job will fail if a query for users doesn't find any. The default value is 'false'. Misconfigured LDAP sync jobs with this flag set to 'true' can cause group membership to be removed, so it is recommended to use this flag with caution.", - "tolerateMemberOutOfScopeErrors": "TolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries are encountered. If 'true', an LDAP query for a user that falls outside of the base DN given for the all user query will be tolerated and only an error will be logged. If 'false', the LDAP sync job will fail if a user query would search outside of the base DN specified by the all user query. Misconfigured LDAP sync jobs with this flag set to 'true' can result in groups missing users, so it is recommended to use this flag with caution.", + "userUIDAttribute": "userUIDAttribute defines which attribute on an LDAP user entry will be interpreted as its unique identifier. It must correspond to values that will be found from the GroupMembershipAttributes", + "userNameAttributes": "userNameAttributes defines which attributes on an LDAP user entry will be used, in order, as its OpenShift user name. The first attribute with a non-empty value is used. This should match your PreferredUsername setting for your LDAPPasswordIdentityProvider", + "tolerateMemberNotFoundErrors": "tolerateMemberNotFoundErrors determines the behavior of the LDAP sync job when missing user entries are encountered. If 'true', an LDAP query for users that doesn't find any will be tolerated and an only and error will be logged. If 'false', the LDAP sync job will fail if a query for users doesn't find any. The default value is 'false'. Misconfigured LDAP sync jobs with this flag set to 'true' can cause group membership to be removed, so it is recommended to use this flag with caution.", + "tolerateMemberOutOfScopeErrors": "tolerateMemberOutOfScopeErrors determines the behavior of the LDAP sync job when out-of-scope user entries are encountered. If 'true', an LDAP query for a user that falls outside of the base DN given for the all user query will be tolerated and only an error will be logged. If 'false', the LDAP sync job will fail if a user query would search outside of the base DN specified by the all user query. Misconfigured LDAP sync jobs with this flag set to 'true' can result in groups missing users, so it is recommended to use this flag with caution.", } func (RFC2307Config) SwaggerDoc() map[string]string { @@ -761,8 +761,8 @@ func (RFC2307Config) SwaggerDoc() map[string]string { var map_RegistryLocation = map[string]string{ "": "RegistryLocation contains a location of the registry specified by the registry domain name. The domain name might include wildcards, like '*' or '??'.", - "domainName": "DomainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", - "insecure": "Insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", + "domainName": "domainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", + "insecure": "insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", } func (RegistryLocation) SwaggerDoc() map[string]string { @@ -771,8 +771,8 @@ func (RegistryLocation) SwaggerDoc() map[string]string { var map_RemoteConnectionInfo = map[string]string{ "": "RemoteConnectionInfo holds information necessary for establishing a remote connection", - "url": "URL is the remote URL to connect to", - "ca": "CA is the CA for verifying TLS connections", + "url": "url is the remote URL to connect to", + "ca": "ca is the CA for verifying TLS connections", } func (RemoteConnectionInfo) SwaggerDoc() map[string]string { @@ -781,11 +781,11 @@ func (RemoteConnectionInfo) SwaggerDoc() map[string]string { var map_RequestHeaderAuthenticationOptions = map[string]string{ "": "RequestHeaderAuthenticationOptions provides options for setting up a front proxy against the entire API instead of against the /oauth endpoint.", - "clientCA": "ClientCA is a file with the trusted signer certs. It is required.", - "clientCommonNames": "ClientCommonNames is a required list of common names to require a match from.", - "usernameHeaders": "UsernameHeaders is the list of headers to check for user information. First hit wins.", + "clientCA": "clientCA is a file with the trusted signer certs. It is required.", + "clientCommonNames": "clientCommonNames is a required list of common names to require a match from.", + "usernameHeaders": "usernameHeaders is the list of headers to check for user information. First hit wins.", "groupHeaders": "GroupNameHeader is the set of headers to check for group information. All are unioned.", - "extraHeaderPrefixes": "ExtraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested.", + "extraHeaderPrefixes": "extraHeaderPrefixes is the set of request header prefixes to inspect for user extra. X-Remote-Extra- is suggested.", } func (RequestHeaderAuthenticationOptions) SwaggerDoc() map[string]string { @@ -794,14 +794,14 @@ func (RequestHeaderAuthenticationOptions) SwaggerDoc() map[string]string { var map_RequestHeaderIdentityProvider = map[string]string{ "": "RequestHeaderIdentityProvider provides identities for users authenticating using request header credentials\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "loginURL": "LoginURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", - "challengeURL": "ChallengeURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", - "clientCA": "ClientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header.", - "clientCommonNames": "ClientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative.", - "headers": "Headers is the set of headers to check for identity information", - "preferredUsernameHeaders": "PreferredUsernameHeaders is the set of headers to check for the preferred username", - "nameHeaders": "NameHeaders is the set of headers to check for the display name", - "emailHeaders": "EmailHeaders is the set of headers to check for the email address", + "loginURL": "loginURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect interactive logins will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", + "challengeURL": "challengeURL is a URL to redirect unauthenticated /authorize requests to Unauthenticated requests from OAuth clients which expect WWW-Authenticate challenges will be redirected here ${url} is replaced with the current URL, escaped to be safe in a query parameter\n https://www.example.com/sso-login?then=${url}\n${query} is replaced with the current query string\n https://www.example.com/auth-proxy/oauth/authorize?${query}", + "clientCA": "clientCA is a file with the trusted signer certs. If empty, no request verification is done, and any direct request to the OAuth server can impersonate any identity from this provider, merely by setting a request header.", + "clientCommonNames": "clientCommonNames is an optional list of common names to require a match from. If empty, any client certificate validated against the clientCA bundle is considered authoritative.", + "headers": "headers is the set of headers to check for identity information", + "preferredUsernameHeaders": "preferredUsernameHeaders is the set of headers to check for the preferred username", + "nameHeaders": "nameHeaders is the set of headers to check for the display name", + "emailHeaders": "emailHeaders is the set of headers to check for the email address", } func (RequestHeaderIdentityProvider) SwaggerDoc() map[string]string { @@ -810,7 +810,7 @@ func (RequestHeaderIdentityProvider) SwaggerDoc() map[string]string { var map_RoutingConfig = map[string]string{ "": "RoutingConfig holds the necessary configuration options for routing to subdomains", - "subdomain": "Subdomain is the suffix appended to $service.$namespace. to form the default route hostname DEPRECATED: This field is being replaced by routers setting their own defaults. This is the \"default\" route.", + "subdomain": "subdomain is the suffix appended to $service.$namespace. to form the default route hostname DEPRECATED: This field is being replaced by routers setting their own defaults. This is the \"default\" route.", } func (RoutingConfig) SwaggerDoc() map[string]string { @@ -819,9 +819,9 @@ func (RoutingConfig) SwaggerDoc() map[string]string { var map_SecurityAllocator = map[string]string{ "": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", - "uidAllocatorRange": "UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", - "mcsAllocatorRange": "MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", - "mcsLabelsPerProject": "MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", + "uidAllocatorRange": "uidAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", + "mcsAllocatorRange": "mcsAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", + "mcsLabelsPerProject": "mcsLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", } func (SecurityAllocator) SwaggerDoc() map[string]string { @@ -830,11 +830,11 @@ func (SecurityAllocator) SwaggerDoc() map[string]string { var map_ServiceAccountConfig = map[string]string{ "": "ServiceAccountConfig holds the necessary configuration options for a service account", - "managedNames": "ManagedNames is a list of service account names that will be auto-created in every namespace. If no names are specified, the ServiceAccountsController will not be started.", - "limitSecretReferences": "LimitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace without explicitly referencing them", - "privateKeyFile": "PrivateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. If no private key is specified, the service account TokensController will not be started.", - "publicKeyFiles": "PublicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. (If any file contains a private key, the public portion of the key is used) The list of public keys is used to verify presented service account tokens. Each key is tried in order until the list is exhausted or verification succeeds. If no keys are specified, no service account authentication will be available.", - "masterCA": "MasterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically inject the contents of this file into pods so they can verify connections to the master.", + "managedNames": "managedNames is a list of service account names that will be auto-created in every namespace. If no names are specified, the ServiceAccountsController will not be started.", + "limitSecretReferences": "limitSecretReferences controls whether or not to allow a service account to reference any secret in a namespace without explicitly referencing them", + "privateKeyFile": "privateKeyFile is a file containing a PEM-encoded private RSA key, used to sign service account tokens. If no private key is specified, the service account TokensController will not be started.", + "publicKeyFiles": "publicKeyFiles is a list of files, each containing a PEM-encoded public RSA key. (If any file contains a private key, the public portion of the key is used) The list of public keys is used to verify presented service account tokens. Each key is tried in order until the list is exhausted or verification succeeds. If no keys are specified, no service account authentication will be available.", + "masterCA": "masterCA is the CA for verifying the TLS connection back to the master. The service account controller will automatically inject the contents of this file into pods so they can verify connections to the master.", } func (ServiceAccountConfig) SwaggerDoc() map[string]string { @@ -843,7 +843,7 @@ func (ServiceAccountConfig) SwaggerDoc() map[string]string { var map_ServiceServingCert = map[string]string{ "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", - "signer": "Signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", + "signer": "signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", } func (ServiceServingCert) SwaggerDoc() map[string]string { @@ -852,12 +852,12 @@ func (ServiceServingCert) SwaggerDoc() map[string]string { var map_ServingInfo = map[string]string{ "": "ServingInfo holds information about serving web pages", - "bindAddress": "BindAddress is the ip:port to serve on", - "bindNetwork": "BindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", - "clientCA": "ClientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", - "namedCertificates": "NamedCertificates is a list of certificates to use to secure requests to specific hostnames", - "minTLSVersion": "MinTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", - "cipherSuites": "CipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", + "bindAddress": "bindAddress is the ip:port to serve on", + "bindNetwork": "bindNetwork is the type of network to bind to - defaults to \"tcp4\", accepts \"tcp\", \"tcp4\", and \"tcp6\"", + "clientCA": "clientCA is the certificate bundle for all the signers that you'll recognize for incoming client certificates", + "namedCertificates": "namedCertificates is a list of certificates to use to secure requests to specific hostnames", + "minTLSVersion": "minTLSVersion is the minimum TLS version supported. Values must match version names from https://golang.org/pkg/crypto/tls/#pkg-constants", + "cipherSuites": "cipherSuites contains an overridden list of ciphers for the server to support. Values must match cipher suite IDs from https://golang.org/pkg/crypto/tls/#pkg-constants", } func (ServingInfo) SwaggerDoc() map[string]string { @@ -866,9 +866,9 @@ func (ServingInfo) SwaggerDoc() map[string]string { var map_SessionConfig = map[string]string{ "": "SessionConfig specifies options for cookie-based sessions. Used by AuthRequestHandlerSession", - "sessionSecretsFile": "SessionSecretsFile is a reference to a file containing a serialized SessionSecrets object If no file is specified, a random signing and encryption key are generated at each server start", - "sessionMaxAgeSeconds": "SessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession", - "sessionName": "SessionName is the cookie name used to store the session", + "sessionSecretsFile": "sessionSecretsFile is a reference to a file containing a serialized SessionSecrets object If no file is specified, a random signing and encryption key are generated at each server start", + "sessionMaxAgeSeconds": "sessionMaxAgeSeconds specifies how long created sessions last. Used by AuthRequestHandlerSession", + "sessionName": "sessionName is the cookie name used to store the session", } func (SessionConfig) SwaggerDoc() map[string]string { @@ -877,8 +877,8 @@ func (SessionConfig) SwaggerDoc() map[string]string { var map_SessionSecret = map[string]string{ "": "SessionSecret is a secret used to authenticate/decrypt cookie-based sessions", - "authentication": "Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes.", - "encryption": "Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES-", + "authentication": "authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes.", + "encryption": "encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES-", } func (SessionSecret) SwaggerDoc() map[string]string { @@ -887,7 +887,7 @@ func (SessionSecret) SwaggerDoc() map[string]string { var map_SessionSecrets = map[string]string{ "": "SessionSecrets list the secrets to use to sign/encrypt and authenticate/decrypt created sessions.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "secrets": "Secrets is a list of secrets New sessions are signed and encrypted using the first secret. Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets.", + "secrets": "secrets is a list of secrets New sessions are signed and encrypted using the first secret. Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets.", } func (SessionSecrets) SwaggerDoc() map[string]string { @@ -913,10 +913,10 @@ func (StringSource) SwaggerDoc() map[string]string { var map_StringSourceSpec = map[string]string{ "": "StringSourceSpec specifies a string value, or external location", - "value": "Value specifies the cleartext value, or an encrypted value if keyFile is specified.", - "env": "Env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", - "file": "File references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", - "keyFile": "KeyFile references a file containing the key to use to decrypt the value.", + "value": "value specifies the cleartext value, or an encrypted value if keyFile is specified.", + "env": "env specifies an envvar containing the cleartext value, or an encrypted value if the keyFile is specified.", + "file": "file references a file containing the cleartext value, or an encrypted value if a keyFile is specified.", + "keyFile": "keyFile references a file containing the key to use to decrypt the value.", } func (StringSourceSpec) SwaggerDoc() map[string]string { @@ -925,9 +925,9 @@ func (StringSourceSpec) SwaggerDoc() map[string]string { var map_TokenConfig = map[string]string{ "": "TokenConfig holds the necessary configuration options for authorization and access tokens", - "authorizeTokenMaxAgeSeconds": "AuthorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens", - "accessTokenMaxAgeSeconds": "AccessTokenMaxAgeSeconds defines the maximum age of access tokens", - "accessTokenInactivityTimeoutSeconds": "AccessTokenInactivityTimeoutSeconds defined the default token inactivity timeout for tokens granted by any client. Setting it to nil means the feature is completely disabled (default) The default setting can be overriden on OAuthClient basis. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. Valid values are: - 0: Tokens never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)", + "authorizeTokenMaxAgeSeconds": "authorizeTokenMaxAgeSeconds defines the maximum age of authorize tokens", + "accessTokenMaxAgeSeconds": "accessTokenMaxAgeSeconds defines the maximum age of access tokens", + "accessTokenInactivityTimeoutSeconds": "accessTokenInactivityTimeoutSeconds defined the default token inactivity timeout for tokens granted by any client. Setting it to nil means the feature is completely disabled (default) The default setting can be overriden on OAuthClient basis. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. Valid values are: - 0: Tokens never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)", } func (TokenConfig) SwaggerDoc() map[string]string { @@ -936,7 +936,7 @@ func (TokenConfig) SwaggerDoc() map[string]string { var map_UserAgentDenyRule = map[string]string{ "": "UserAgentDenyRule adds a rejection message that can be used to help a user figure out how to get an approved client", - "rejectionMessage": "RejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", + "rejectionMessage": "rejectionMessage is the message shown when rejecting a client. If it is not a set, the default message is used.", } func (UserAgentDenyRule) SwaggerDoc() map[string]string { @@ -946,7 +946,7 @@ func (UserAgentDenyRule) SwaggerDoc() map[string]string { var map_UserAgentMatchRule = map[string]string{ "": "UserAgentMatchRule describes how to match a given request based on User-Agent and HTTPVerb", "regex": "UserAgentRegex is a regex that is checked against the User-Agent. Known variants of oc clients 1. oc accessing kube resources: oc/v1.2.0 (linux/amd64) kubernetes/bc4550d 2. oc accessing openshift resources: oc/v1.1.3 (linux/amd64) openshift/b348c2f 3. openshift kubectl accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 4. openshift kubectl accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f 5. oadm accessing kube resources: oadm/v1.2.0 (linux/amd64) kubernetes/bc4550d 6. oadm accessing openshift resources: oadm/v1.1.3 (linux/amd64) openshift/b348c2f 7. openshift cli accessing kube resources: openshift/v1.2.0 (linux/amd64) kubernetes/bc4550d 8. openshift cli accessing openshift resources: openshift/v1.1.3 (linux/amd64) openshift/b348c2f", - "httpVerbs": "HTTPVerbs specifies which HTTP verbs should be matched. An empty list means \"match all verbs\".", + "httpVerbs": "httpVerbs specifies which HTTP verbs should be matched. An empty list means \"match all verbs\".", } func (UserAgentMatchRule) SwaggerDoc() map[string]string { @@ -957,7 +957,7 @@ var map_UserAgentMatchingConfig = map[string]string{ "": "UserAgentMatchingConfig controls how API calls from *voluntarily* identifying clients will be handled. THIS DOES NOT DEFEND AGAINST MALICIOUS CLIENTS!", "requiredClients": "If this list is non-empty, then a User-Agent must match one of the UserAgentRegexes to be allowed", "deniedClients": "If this list is non-empty, then a User-Agent must not match any of the UserAgentRegexes", - "defaultRejectionMessage": "DefaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given.", + "defaultRejectionMessage": "defaultRejectionMessage is the message shown when rejecting a client. If it is not a set, a generic message is given.", } func (UserAgentMatchingConfig) SwaggerDoc() map[string]string { @@ -966,8 +966,8 @@ func (UserAgentMatchingConfig) SwaggerDoc() map[string]string { var map_WebhookTokenAuthenticator = map[string]string{ "": "WebhookTokenAuthenticators holds the necessary configuation options for external token authenticators", - "configFile": "ConfigFile is a path to a Kubeconfig file with the webhook configuration", - "cacheTTL": "CacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get a default timeout of 2 minutes. If zero (e.g. \"0m\"), caching is disabled", + "configFile": "configFile is a path to a Kubeconfig file with the webhook configuration", + "cacheTTL": "cacheTTL indicates how long an authentication result should be cached. It takes a valid time duration string (e.g. \"5m\"). If empty, you get a default timeout of 2 minutes. If zero (e.g. \"0m\"), caching is disabled", } func (WebhookTokenAuthenticator) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/machine/v1/types_alibabaprovider.go b/vendor/github.com/openshift/api/machine/v1/types_alibabaprovider.go index 4b5c8d6efb..d1396fbfb2 100644 --- a/vendor/github.com/openshift/api/machine/v1/types_alibabaprovider.go +++ b/vendor/github.com/openshift/api/machine/v1/types_alibabaprovider.go @@ -108,7 +108,7 @@ type AlibabaCloudMachineProviderConfig struct { // +optional DataDisks []DataDiskProperties `json:"dataDisk,omitempty"` - // SecurityGroups is a list of security group references to assign to the instance. + // securityGroups is a list of security group references to assign to the instance. // A reference holds either the security group ID, the resource name, or the required tags to search. // When more than one security group is returned for a tag search, all the groups are associated with the instance up to the // maximum number of security groups to which an instance can belong. @@ -116,32 +116,32 @@ type AlibabaCloudMachineProviderConfig struct { // https://www.alibabacloud.com/help/en/doc-detail/25412.htm SecurityGroups []AlibabaResourceReference `json:"securityGroups,omitempty"` - // Bandwidth describes the internet bandwidth strategy for the instance + // bandwidth describes the internet bandwidth strategy for the instance // +optional Bandwidth BandwidthProperties `json:"bandwidth,omitempty"` - // SystemDisk holds the properties regarding the system disk for the instance + // systemDisk holds the properties regarding the system disk for the instance // +optional SystemDisk SystemDiskProperties `json:"systemDisk,omitempty"` - // VSwitch is a reference to the vswitch to use for this instance. + // vSwitch is a reference to the vswitch to use for this instance. // A reference holds either the vSwitch ID, the resource name, or the required tags to search. // When more than one vSwitch is returned for a tag search, only the first vSwitch returned will be used. // This parameter is required when you create an instance of the VPC type. // You can call the DescribeVSwitches operation to query the created vSwitches. VSwitch AlibabaResourceReference `json:"vSwitch"` - // RAMRoleName is the name of the instance Resource Access Management (RAM) role. This allows the instance to perform API calls as this specified RAM role. + // ramRoleName is the name of the instance Resource Access Management (RAM) role. This allows the instance to perform API calls as this specified RAM role. // +optional RAMRoleName string `json:"ramRoleName,omitempty"` - // ResourceGroup references the resource group to which to assign the instance. + // resourceGroup references the resource group to which to assign the instance. // A reference holds either the resource group ID, the resource name, or the required tags to search. // When more than one resource group are returned for a search, an error will be produced and the Machine will not be created. // Resource Groups do not support searching by tags. ResourceGroup AlibabaResourceReference `json:"resourceGroup"` - // Tenancy specifies whether to create the instance on a dedicated host. + // tenancy specifies whether to create the instance on a dedicated host. // Valid values: // // default: creates the instance on a non-dedicated host. @@ -151,12 +151,12 @@ type AlibabaCloudMachineProviderConfig struct { // +optional Tenancy InstanceTenancy `json:"tenancy,omitempty"` - // UserDataSecret contains a local reference to a secret that contains the + // userDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance // +optional UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"` - // CredentialsSecret is a reference to the secret with alibabacloud credentials. Otherwise, defaults to permissions + // credentialsSecret is a reference to the secret with alibabacloud credentials. Otherwise, defaults to permissions // provided by attached RAM role where the actuator is running. // +optional CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"` @@ -173,15 +173,15 @@ type AlibabaResourceReference struct { // type identifies the resource reference type for this entry. Type AlibabaResourceReferenceType `json:"type"` - // ID of resource + // id of resource // +optional ID *string `json:"id,omitempty"` - // Name of the resource + // name of the resource // +optional Name *string `json:"name,omitempty"` - // Tags is a set of metadata based upon ECS object tags used to identify a resource. + // tags is a set of metadata based upon ECS object tags used to identify a resource. // For details about usage when multiple resources are found, please see the owning parent field documentation. // +optional Tags *[]Tag `json:"tags,omitempty"` @@ -213,15 +213,15 @@ type AlibabaCloudMachineProviderStatus struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // InstanceID is the instance ID of the machine created in alibabacloud + // instanceId is the instance ID of the machine created in alibabacloud // +optional InstanceID *string `json:"instanceId,omitempty"` - // InstanceState is the state of the alibabacloud instance for this machine + // instanceState is the state of the alibabacloud instance for this machine // +optional InstanceState *string `json:"instanceState,omitempty"` - // Conditions is a set of conditions associated with the Machine to indicate + // conditions is a set of conditions associated with the Machine to indicate // errors or other status // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` @@ -229,7 +229,7 @@ type AlibabaCloudMachineProviderStatus struct { // SystemDiskProperties contains the information regarding the system disk including performance, size, name, and category type SystemDiskProperties struct { - // Category is the category of the system disk. + // category is the category of the system disk. // Valid values: // cloud_essd: ESSD. When the parameter is set to this value, you can use the SystemDisk.PerformanceLevel parameter to specify the performance level of the disk. // cloud_efficiency: ultra disk. @@ -242,7 +242,7 @@ type SystemDiskProperties struct { // +optional Category string `json:"category,omitempty"` - // PerformanceLevel is the performance level of the ESSD used as the system disk. + // performanceLevel is the performance level of the ESSD used as the system disk. // Valid values: // // PL0: A single ESSD can deliver up to 10,000 random read/write IOPS. @@ -256,14 +256,14 @@ type SystemDiskProperties struct { // +optional PerformanceLevel string `json:"performanceLevel,omitempty"` - // Name is the name of the system disk. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). + // name is the name of the system disk. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). // Empty value means the platform chooses a default, which is subject to change over time. // Currently the default is `""`. // +kubebuilder:validation:MaxLength=128 // +optional Name string `json:"name,omitempty"` - // Size is the size of the system disk. Unit: GiB. Valid values: 20 to 500. + // size is the size of the system disk. Unit: GiB. Valid values: 20 to 500. // The value must be at least 20 and greater than or equal to the size of the image. // Empty value means the platform chooses a default, which is subject to change over time. // Currently the default is `40` or the size of the image depending on whichever is greater. @@ -357,7 +357,7 @@ type Tag struct { // Bandwidth describes the bandwidth strategy for the network of the instance type BandwidthProperties struct { - // InternetMaxBandwidthIn is the maximum inbound public bandwidth. Unit: Mbit/s. Valid values: + // internetMaxBandwidthIn is the maximum inbound public bandwidth. Unit: Mbit/s. Valid values: // When the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10. // Currently the default is `10` when outbound bandwidth is less than or equal to 10 Mbit/s. // When the purchased outbound public bandwidth is greater than 10, the valid values are 1 to the InternetMaxBandwidthOut value. @@ -365,7 +365,7 @@ type BandwidthProperties struct { // +optional InternetMaxBandwidthIn int64 `json:"internetMaxBandwidthIn,omitempty"` - // InternetMaxBandwidthOut is the maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. + // internetMaxBandwidthOut is the maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. // When a value greater than 0 is used then a public IP address is assigned to the instance. // Empty value means no opinion and the platform chooses the a default, which is subject to change over time. // Currently the default is `0` diff --git a/vendor/github.com/openshift/api/machine/v1/types_aws.go b/vendor/github.com/openshift/api/machine/v1/types_aws.go index bc8a7efce9..5ad2b923fd 100644 --- a/vendor/github.com/openshift/api/machine/v1/types_aws.go +++ b/vendor/github.com/openshift/api/machine/v1/types_aws.go @@ -8,17 +8,17 @@ package v1 // +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'ARN' ? has(self.arn) : !has(self.arn)",message="arn is required when type is ARN, and forbidden otherwise" // +kubebuilder:validation:XValidation:rule="has(self.type) && self.type == 'Filters' ? has(self.filters) : !has(self.filters)",message="filters is required when type is Filters, and forbidden otherwise" type AWSResourceReference struct { - // Type determines how the reference will fetch the AWS resource. + // type determines how the reference will fetch the AWS resource. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Type AWSResourceReferenceType `json:"type"` - // ID of resource. + // id of resource. // +optional ID *string `json:"id,omitempty"` - // ARN of resource. + // arn of resource. // +optional ARN *string `json:"arn,omitempty"` - // Filters is a set of filters used to identify a resource. + // filters is a set of filters used to identify a resource. // +optional // +listType=atomic Filters *[]AWSResourceFilter `json:"filters,omitempty"` @@ -41,10 +41,10 @@ const ( // AWSResourceFilter is a filter used to identify an AWS resource type AWSResourceFilter struct { - // Name of the filter. Filter names are case-sensitive. - // +kubebuilder:validation:Required + // name of the filter. Filter names are case-sensitive. + // +required Name string `json:"name"` - // Values includes one or more filter values. Filter values are case-sensitive. + // values includes one or more filter values. Filter values are case-sensitive. // +optional // +listType=atomic Values []string `json:"values,omitempty"` diff --git a/vendor/github.com/openshift/api/machine/v1/types_controlplanemachineset.go b/vendor/github.com/openshift/api/machine/v1/types_controlplanemachineset.go index 5ac7a5aae9..12b6e5184f 100644 --- a/vendor/github.com/openshift/api/machine/v1/types_controlplanemachineset.go +++ b/vendor/github.com/openshift/api/machine/v1/types_controlplanemachineset.go @@ -42,7 +42,24 @@ type ControlPlaneMachineSet struct { // ControlPlaneMachineSet represents the configuration of the ControlPlaneMachineSet. type ControlPlaneMachineSetSpec struct { - // State defines whether the ControlPlaneMachineSet is Active or Inactive. + // machineNamePrefix is the prefix used when creating machine names. + // Each machine name will consist of this prefix, followed by + // a randomly generated string of 5 characters, and the index of the machine. + // It must be a lowercase RFC 1123 subdomain, consisting of lowercase + // alphanumeric characters, '-', or '.', and must start and end + // with an alphanumeric character. + // The prefix must be between 1 and 245 characters in length. + // For example, if machineNamePrefix is set to 'control-plane', + // and three machines are created, their names might be: + // control-plane-abcde-0, control-plane-fghij-1, control-plane-klmno-2 + // +openshift:validation:FeatureGateAwareXValidation:featureGate=CPMSMachineNamePrefix,rule="!format.dns1123Subdomain().validate(self).hasValue()",message="a lowercase RFC 1123 subdomain must consist of lower case alphanumeric characters, '-' or '.', and must start and end with an alphanumeric character." + // +kubebuilder:validation:MinLength=1 + // +kubebuilder:validation:MaxLength=245 + // +openshift:enable:FeatureGate=CPMSMachineNamePrefix + // +optional + MachineNamePrefix string `json:"machineNamePrefix,omitempty"` + + // state defines whether the ControlPlaneMachineSet is Active or Inactive. // When Inactive, the ControlPlaneMachineSet will not take any action on the // state of the Machines within the cluster. // When Active, the ControlPlaneMachineSet will reconcile the Machines and @@ -55,7 +72,7 @@ type ControlPlaneMachineSetSpec struct { // +optional State ControlPlaneMachineSetState `json:"state,omitempty"` - // Replicas defines how many Control Plane Machines should be + // replicas defines how many Control Plane Machines should be // created by this ControlPlaneMachineSet. // This field is immutable and cannot be changed after cluster // installation. @@ -64,10 +81,10 @@ type ControlPlaneMachineSetSpec struct { // +kubebuilder:validation:Enum:=3;5 // +kubebuilder:default:=3 // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="replicas is immutable" - // +kubebuilder:validation:Required + // +required Replicas *int32 `json:"replicas"` - // Strategy defines how the ControlPlaneMachineSet will update + // strategy defines how the ControlPlaneMachineSet will update // Machines when it detects a change to the ProviderSpec. // +kubebuilder:default:={type: RollingUpdate} // +optional @@ -78,12 +95,12 @@ type ControlPlaneMachineSetSpec struct { // It must match the template's labels. // This field is considered immutable after creation of the resource. // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="selector is immutable" - // +kubebuilder:validation:Required + // +required Selector metav1.LabelSelector `json:"selector"` - // Template describes the Control Plane Machines that will be created + // template describes the Control Plane Machines that will be created // by this ControlPlaneMachineSet. - // +kubebuilder:validation:Required + // +required Template ControlPlaneMachineSetTemplate `json:"template"` } @@ -113,10 +130,10 @@ const ( // + future version of the Machine API Machine. // +kubebuilder:validation:XValidation:rule="has(self.machineType) && self.machineType == 'machines_v1beta1_machine_openshift_io' ? has(self.machines_v1beta1_machine_openshift_io) : !has(self.machines_v1beta1_machine_openshift_io)",message="machines_v1beta1_machine_openshift_io configuration is required when machineType is machines_v1beta1_machine_openshift_io, and forbidden otherwise" type ControlPlaneMachineSetTemplate struct { - // MachineType determines the type of Machines that should be managed by the ControlPlaneMachineSet. + // machineType determines the type of Machines that should be managed by the ControlPlaneMachineSet. // Currently, the only valid value is machines_v1beta1_machine_openshift_io. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required MachineType ControlPlaneMachineSetMachineType `json:"machineType,omitempty"` // OpenShiftMachineV1Beta1Machine defines the template for creating Machines @@ -138,7 +155,7 @@ const ( // OpenShiftMachineV1Beta1MachineTemplate is a template for the ControlPlaneMachineSet to create // Machines from the v1beta1.machine.openshift.io API group. type OpenShiftMachineV1Beta1MachineTemplate struct { - // FailureDomains is the list of failure domains (sometimes called + // failureDomains is the list of failure domains (sometimes called // availability zones) in which the ControlPlaneMachineSet should balance // the Control Plane Machines. // This will be merged into the ProviderSpec given in the template. @@ -149,16 +166,16 @@ type OpenShiftMachineV1Beta1MachineTemplate struct { // ObjectMeta is the standard object metadata // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata // Labels are required to match the ControlPlaneMachineSet selector. - // +kubebuilder:validation:Required + // +required ObjectMeta ControlPlaneMachineSetTemplateObjectMeta `json:"metadata"` - // Spec contains the desired configuration of the Control Plane Machines. + // spec contains the desired configuration of the Control Plane Machines. // The ProviderSpec within contains platform specific details // for creating the Control Plane Machines. // The ProviderSe should be complete apart from the platform specific // failure domain field. This will be overriden when the Machines // are created based on the FailureDomains field. - // +kubebuilder:validation:Required + // +required Spec machinev1beta1.MachineSpec `json:"spec"` } @@ -175,10 +192,10 @@ type ControlPlaneMachineSetTemplateObjectMeta struct { // +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-machine-role' in self && self['machine.openshift.io/cluster-api-machine-role'] == 'master'",message="label 'machine.openshift.io/cluster-api-machine-role' is required, and must have value 'master'" // +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-machine-type' in self && self['machine.openshift.io/cluster-api-machine-type'] == 'master'",message="label 'machine.openshift.io/cluster-api-machine-type' is required, and must have value 'master'" // +kubebuilder:validation:XValidation:rule="'machine.openshift.io/cluster-api-cluster' in self",message="label 'machine.openshift.io/cluster-api-cluster' is required" - // +kubebuilder:validation:Required + // +required Labels map[string]string `json:"labels"` - // Annotations is an unstructured key value map stored with a resource that may be + // annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations @@ -189,7 +206,7 @@ type ControlPlaneMachineSetTemplateObjectMeta struct { // ControlPlaneMachineSetStrategy defines the strategy for applying updates to the // Control Plane Machines managed by the ControlPlaneMachineSet. type ControlPlaneMachineSetStrategy struct { - // Type defines the type of update strategy that should be + // type defines the type of update strategy that should be // used when updating Machines owned by the ControlPlaneMachineSet. // Valid values are "RollingUpdate" and "OnDelete". // The current default value is "RollingUpdate". @@ -240,23 +257,23 @@ const ( // +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'VSphere' ? has(self.vsphere) : !has(self.vsphere)",message="vsphere configuration is required when platform is VSphere, and forbidden otherwise" // +kubebuilder:validation:XValidation:rule="has(self.platform) && self.platform == 'Nutanix' ? has(self.nutanix) : !has(self.nutanix)",message="nutanix configuration is required when platform is Nutanix, and forbidden otherwise" type FailureDomains struct { - // Platform identifies the platform for which the FailureDomain represents. + // platform identifies the platform for which the FailureDomain represents. // Currently supported values are AWS, Azure, GCP, OpenStack, VSphere and Nutanix. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Platform configv1.PlatformType `json:"platform"` - // AWS configures failure domain information for the AWS platform. + // aws configures failure domain information for the AWS platform. // +listType=atomic // +optional AWS *[]AWSFailureDomain `json:"aws,omitempty"` - // Azure configures failure domain information for the Azure platform. + // azure configures failure domain information for the Azure platform. // +listType=atomic // +optional Azure *[]AzureFailureDomain `json:"azure,omitempty"` - // GCP configures failure domain information for the GCP platform. + // gcp configures failure domain information for the GCP platform. // +listType=atomic // +optional GCP *[]GCPFailureDomain `json:"gcp,omitempty"` @@ -267,7 +284,7 @@ type FailureDomains struct { // +optional VSphere []VSphereFailureDomain `json:"vsphere,omitempty"` - // OpenStack configures failure domain information for the OpenStack platform. + // openstack configures failure domain information for the OpenStack platform. // +optional // // + --- @@ -289,19 +306,19 @@ type FailureDomains struct { // AWSFailureDomain configures failure domain information for the AWS platform. // +kubebuilder:validation:MinProperties:=1 type AWSFailureDomain struct { - // Subnet is a reference to the subnet to use for this instance. + // subnet is a reference to the subnet to use for this instance. // +optional Subnet *AWSResourceReference `json:"subnet,omitempty"` - // Placement configures the placement information for this instance. + // placement configures the placement information for this instance. // +optional Placement AWSFailureDomainPlacement `json:"placement,omitempty"` } // AWSFailureDomainPlacement configures the placement information for the AWSFailureDomain. type AWSFailureDomainPlacement struct { - // AvailabilityZone is the availability zone of the instance. - // +kubebuilder:validation:Required + // availabilityZone is the availability zone of the instance. + // +required AvailabilityZone string `json:"availabilityZone"` } @@ -309,7 +326,7 @@ type AWSFailureDomainPlacement struct { type AzureFailureDomain struct { // Availability Zone for the virtual machine. // If nil, the virtual machine should be deployed to no zone. - // +kubebuilder:validation:Required + // +required Zone string `json:"zone"` // subnet is the name of the network subnet in which the VM will be created. @@ -322,8 +339,8 @@ type AzureFailureDomain struct { // GCPFailureDomain configures failure domain information for the GCP platform type GCPFailureDomain struct { - // Zone is the zone in which the GCP machine provider will create the VM. - // +kubebuilder:validation:Required + // zone is the zone in which the GCP machine provider will create the VM. + // +required Zone string `json:"zone"` } @@ -333,7 +350,7 @@ type VSphereFailureDomain struct { // Failure domains are defined in a cluster's config.openshift.io/Infrastructure resource. // When balancing machines across failure domains, the control plane machine set will inject configuration from the // Infrastructure resource into the machine providerSpec to allocate the machine to a failure domain. - // +kubebuilder:validation:Required + // +required Name string `json:"name"` } @@ -367,7 +384,7 @@ type OpenStackFailureDomain struct { type NutanixFailureDomainReference struct { // name of the failure domain in which the nutanix machine provider will create the VM. // Failure domains are defined in a cluster's config.openshift.io/Infrastructure resource. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=64 // +kubebuilder:validation:Pattern=`[a-z0-9]([-a-z0-9]*[a-z0-9])?` @@ -400,7 +417,7 @@ type RootVolume struct { // + the control plane with a root volume. This is because the default volume type in Cinder is not guaranteed // + to be available, therefore we prefer the user to be explicit about the volume type to use. // + We apply the same logic in CPMS: if the failure domain specifies a root volume, we require the user to specify a volume type. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 VolumeType string `json:"volumeType"` @@ -408,7 +425,7 @@ type RootVolume struct { // ControlPlaneMachineSetStatus represents the status of the ControlPlaneMachineSet CRD. type ControlPlaneMachineSetStatus struct { - // Conditions represents the observations of the ControlPlaneMachineSet's current state. + // conditions represents the observations of the ControlPlaneMachineSet's current state. // Known .status.conditions.type are: Available, Degraded and Progressing. // +patchMergeKey=type // +patchStrategy=merge @@ -417,27 +434,27 @@ type ControlPlaneMachineSetStatus struct { // +optional Conditions []metav1.Condition `json:"conditions,omitempty" patchStrategy:"merge" patchMergeKey:"type"` - // ObservedGeneration is the most recent generation observed for this + // observedGeneration is the most recent generation observed for this // ControlPlaneMachineSet. It corresponds to the ControlPlaneMachineSets's generation, // which is updated on mutation by the API Server. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` - // Replicas is the number of Control Plane Machines created by the + // replicas is the number of Control Plane Machines created by the // ControlPlaneMachineSet controller. // Note that during update operations this value may differ from the // desired replica count. // +optional Replicas int32 `json:"replicas,omitempty"` - // ReadyReplicas is the number of Control Plane Machines created by the + // readyReplicas is the number of Control Plane Machines created by the // ControlPlaneMachineSet controller which are ready. // Note that this value may be higher than the desired number of replicas // while rolling updates are in-progress. // +optional ReadyReplicas int32 `json:"readyReplicas,omitempty"` - // UpdatedReplicas is the number of non-terminated Control Plane Machines + // updatedReplicas is the number of non-terminated Control Plane Machines // created by the ControlPlaneMachineSet controller that have the desired // provider spec and are ready. // This value is set to 0 when a change is detected to the desired spec. @@ -448,7 +465,7 @@ type ControlPlaneMachineSetStatus struct { // +optional UpdatedReplicas int32 `json:"updatedReplicas,omitempty"` - // UnavailableReplicas is the number of Control Plane Machines that are + // unavailableReplicas is the number of Control Plane Machines that are // still required before the ControlPlaneMachineSet reaches the desired // available capacity. When this value is non-zero, the number of // ReadyReplicas is less than the desired Replicas. diff --git a/vendor/github.com/openshift/api/machine/v1/types_nutanixprovider.go b/vendor/github.com/openshift/api/machine/v1/types_nutanixprovider.go index e5e0ae8305..cc1a355b53 100644 --- a/vendor/github.com/openshift/api/machine/v1/types_nutanixprovider.go +++ b/vendor/github.com/openshift/api/machine/v1/types_nutanixprovider.go @@ -23,40 +23,40 @@ type NutanixMachineProviderConfig struct { // of the Prism Central), in which the Machine's VM will be created. // The cluster identifier (uuid or name) can be obtained from the Prism Central console // or using the prism_central API. - // +kubebuilder:validation:Required + // +required Cluster NutanixResourceIdentifier `json:"cluster"` // image is to identify the rhcos image uploaded to the Prism Central (PC) // The image identifier (uuid or name) can be obtained from the Prism Central console // or using the prism_central API. - // +kubebuilder:validation:Required + // +required Image NutanixResourceIdentifier `json:"image"` // subnets holds a list of identifiers (one or more) of the cluster's network subnets // for the Machine's VM to connect to. The subnet identifiers (uuid or name) can be // obtained from the Prism Central console or using the prism_central API. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinItems=1 Subnets []NutanixResourceIdentifier `json:"subnets"` // vcpusPerSocket is the number of vCPUs per socket of the VM - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Minimum=1 VCPUsPerSocket int32 `json:"vcpusPerSocket"` // vcpuSockets is the number of vCPU sockets of the VM - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Minimum=1 VCPUSockets int32 `json:"vcpuSockets"` // memorySize is the memory size (in Quantity format) of the VM // The minimum memorySize is 2Gi bytes - // +kubebuilder:validation:Required + // +required MemorySize resource.Quantity `json:"memorySize"` // systemDiskSize is size (in Quantity format) of the system disk of the VM // The minimum systemDiskSize is 20Gi bytes - // +kubebuilder:validation:Required + // +required SystemDiskSize resource.Quantity `json:"systemDiskSize"` // bootType indicates the boot type (Legacy, UEFI or SecureBoot) the Machine's VM uses to boot. @@ -96,7 +96,7 @@ type NutanixMachineProviderConfig struct { // credentialsSecret is a local reference to a secret that contains the // credentials data to access Nutanix PC client - // +kubebuilder:validation:Required + // +required CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret"` // failureDomain refers to the name of the FailureDomain with which this Machine is associated. @@ -113,13 +113,13 @@ type NutanixCategory struct { // key is the prism category key name // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=64 - // +kubebuilder:validation:Required + // +required Key string `json:"key"` // value is the prism category value associated with the key // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=64 - // +kubebuilder:validation:Required + // +required Value string `json:"value"` } @@ -151,9 +151,9 @@ const ( // NutanixResourceIdentifier holds the identity of a Nutanix PC resource (cluster, image, subnet, etc.) // +union type NutanixResourceIdentifier struct { - // Type is the identifier type to use for this resource. + // type is the identifier type to use for this resource. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Enum:=uuid;name Type NutanixIdentifierType `json:"type"` @@ -186,7 +186,7 @@ type NutanixGPU struct { // type is the identifier type of the GPU device. // Valid values are Name and DeviceID. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Type NutanixGPUIdentifierType `json:"type"` // deviceID is the GPU device ID with the integer value. @@ -219,7 +219,7 @@ type NutanixStorageResourceIdentifier struct { // type is the identifier type to use for this resource. // The valid value is "uuid". // +unionDiscriminator - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Enum:=uuid Type NutanixIdentifierType `json:"type"` @@ -279,13 +279,13 @@ type NutanixVMDiskDeviceProperties struct { // deviceType specifies the disk device type. // The valid values are "Disk" and "CDRom", and the default is "Disk". // +kubebuilder:default=Disk - // +kubebuilder:validation:Required + // +required DeviceType NutanixDiskDeviceType `json:"deviceType"` // adapterType is the adapter type of the disk address. // If the deviceType is "Disk", the valid adapterType can be "SCSI", "IDE", "PCI", "SATA" or "SPAPR". // If the deviceType is "CDRom", the valid adapterType can be "IDE" or "SATA". - // +kubebuilder:validation:Required + // +required AdapterType NutanixDiskAdapterType `json:"adapterType,omitempty"` // deviceIndex is the index of the disk address. The valid values are non-negative integers, with the default value 0. @@ -295,7 +295,7 @@ type NutanixVMDiskDeviceProperties struct { // the deviceIndex should start from 1. // +kubebuilder:default=0 // +kubebuilder:validation:Minimum=0 - // +kubebuilder:validation:Required + // +required DeviceIndex int32 `json:"deviceIndex,omitempty"` } @@ -304,7 +304,7 @@ type NutanixVMDisk struct { // diskSize is size (in Quantity format) of the disk attached to the VM. // See https://pkg.go.dev/k8s.io/apimachinery/pkg/api/resource#Format for the Quantity format and example documentation. // The minimum diskSize is 1GB. - // +kubebuilder:validation:Required + // +required DiskSize resource.Quantity `json:"diskSize"` // deviceProperties are the properties of the disk device. diff --git a/vendor/github.com/openshift/api/machine/v1/types_powervsprovider.go b/vendor/github.com/openshift/api/machine/v1/types_powervsprovider.go index c131139c54..b676a8d5f7 100644 --- a/vendor/github.com/openshift/api/machine/v1/types_powervsprovider.go +++ b/vendor/github.com/openshift/api/machine/v1/types_powervsprovider.go @@ -142,18 +142,18 @@ type PowerVSMachineProviderConfig struct { // a validation error. // +union type PowerVSResource struct { - // Type identifies the resource type for this entry. + // type identifies the resource type for this entry. // Valid values are ID, Name and RegEx // +kubebuilder:validation:Enum:=ID;Name;RegEx // +optional Type PowerVSResourceType `json:"type,omitempty"` - // ID of resource + // id of resource // +optional ID *string `json:"id,omitempty"` - // Name of resource + // name of resource // +optional Name *string `json:"name,omitempty"` - // Regex to find resource + // regex to find resource // Regex contains the pattern to match to find a resource // +optional RegEx *string `json:"regex,omitempty"` @@ -200,7 +200,7 @@ type PowerVSMachineProviderStatus struct { // referenced secret inside the same namespace. // +structType=atomic type PowerVSSecretReference struct { - // Name of the secret. + // name of the secret. // +optional Name string `json:"name,omitempty"` } @@ -211,7 +211,7 @@ type LoadBalancerReference struct { // The name should be between 1 and 63 characters long and may consist of lowercase alphanumeric characters and hyphens only. // The value must not end with a hyphen. // It is a reference to existing LoadBalancer created by openshift installer component. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Pattern=`^([a-z]|[a-z][-a-z0-9]*[a-z0-9]|[0-9][-a-z0-9]*([a-z]|[-a-z][-a-z0-9]*[a-z0-9]))$` // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 @@ -221,7 +221,7 @@ type LoadBalancerReference struct { // More details about Application LoadBalancer // https://cloud.ibm.com/docs/vpc?topic=vpc-load-balancers-about&interface=ui // Supported values are Application. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Enum:="Application" Type IBMVPCLoadBalancerType `json:"type"` } diff --git a/vendor/github.com/openshift/api/machine/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/machine/v1/zz_generated.featuregated-crd-manifests.yaml index b001170faf..7be04ec844 100644 --- a/vendor/github.com/openshift/api/machine/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/machine/v1/zz_generated.featuregated-crd-manifests.yaml @@ -7,6 +7,7 @@ controlplanemachinesets.machine.openshift.io: Capability: MachineAPI Category: "" FeatureGates: + - CPMSMachineNamePrefix - MachineAPIMigration FilenameOperatorName: control-plane-machine-set FilenameOperatorOrdering: "01" diff --git a/vendor/github.com/openshift/api/machine/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/machine/v1/zz_generated.swagger_doc_generated.go index 32b86a7e9b..4d96b3552e 100644 --- a/vendor/github.com/openshift/api/machine/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/machine/v1/zz_generated.swagger_doc_generated.go @@ -20,15 +20,15 @@ var map_AlibabaCloudMachineProviderConfig = map[string]string{ "zoneId": "The ID of the zone in which to create the instance. You can call the DescribeZones operation to query the most recent region list.", "imageId": "The ID of the image used to create the instance.", "dataDisk": "DataDisks holds information regarding the extra disks attached to the instance", - "securityGroups": "SecurityGroups is a list of security group references to assign to the instance. A reference holds either the security group ID, the resource name, or the required tags to search. When more than one security group is returned for a tag search, all the groups are associated with the instance up to the maximum number of security groups to which an instance can belong. For more information, see the \"Security group limits\" section in Limits. https://www.alibabacloud.com/help/en/doc-detail/25412.htm", - "bandwidth": "Bandwidth describes the internet bandwidth strategy for the instance", - "systemDisk": "SystemDisk holds the properties regarding the system disk for the instance", - "vSwitch": "VSwitch is a reference to the vswitch to use for this instance. A reference holds either the vSwitch ID, the resource name, or the required tags to search. When more than one vSwitch is returned for a tag search, only the first vSwitch returned will be used. This parameter is required when you create an instance of the VPC type. You can call the DescribeVSwitches operation to query the created vSwitches.", - "ramRoleName": "RAMRoleName is the name of the instance Resource Access Management (RAM) role. This allows the instance to perform API calls as this specified RAM role.", - "resourceGroup": "ResourceGroup references the resource group to which to assign the instance. A reference holds either the resource group ID, the resource name, or the required tags to search. When more than one resource group are returned for a search, an error will be produced and the Machine will not be created. Resource Groups do not support searching by tags.", - "tenancy": "Tenancy specifies whether to create the instance on a dedicated host. Valid values:\n\ndefault: creates the instance on a non-dedicated host. host: creates the instance on a dedicated host. If you do not specify the DedicatedHostID parameter, Alibaba Cloud automatically selects a dedicated host for the instance. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `default`.", - "userDataSecret": "UserDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", - "credentialsSecret": "CredentialsSecret is a reference to the secret with alibabacloud credentials. Otherwise, defaults to permissions provided by attached RAM role where the actuator is running.", + "securityGroups": "securityGroups is a list of security group references to assign to the instance. A reference holds either the security group ID, the resource name, or the required tags to search. When more than one security group is returned for a tag search, all the groups are associated with the instance up to the maximum number of security groups to which an instance can belong. For more information, see the \"Security group limits\" section in Limits. https://www.alibabacloud.com/help/en/doc-detail/25412.htm", + "bandwidth": "bandwidth describes the internet bandwidth strategy for the instance", + "systemDisk": "systemDisk holds the properties regarding the system disk for the instance", + "vSwitch": "vSwitch is a reference to the vswitch to use for this instance. A reference holds either the vSwitch ID, the resource name, or the required tags to search. When more than one vSwitch is returned for a tag search, only the first vSwitch returned will be used. This parameter is required when you create an instance of the VPC type. You can call the DescribeVSwitches operation to query the created vSwitches.", + "ramRoleName": "ramRoleName is the name of the instance Resource Access Management (RAM) role. This allows the instance to perform API calls as this specified RAM role.", + "resourceGroup": "resourceGroup references the resource group to which to assign the instance. A reference holds either the resource group ID, the resource name, or the required tags to search. When more than one resource group are returned for a search, an error will be produced and the Machine will not be created. Resource Groups do not support searching by tags.", + "tenancy": "tenancy specifies whether to create the instance on a dedicated host. Valid values:\n\ndefault: creates the instance on a non-dedicated host. host: creates the instance on a dedicated host. If you do not specify the DedicatedHostID parameter, Alibaba Cloud automatically selects a dedicated host for the instance. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `default`.", + "userDataSecret": "userDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", + "credentialsSecret": "credentialsSecret is a reference to the secret with alibabacloud credentials. Otherwise, defaults to permissions provided by attached RAM role where the actuator is running.", "tag": "Tags are the set of metadata to add to an instance.", } @@ -48,9 +48,9 @@ func (AlibabaCloudMachineProviderConfigList) SwaggerDoc() map[string]string { var map_AlibabaCloudMachineProviderStatus = map[string]string{ "": "AlibabaCloudMachineProviderStatus is the Schema for the alibabacloudmachineproviderconfig API Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "instanceId": "InstanceID is the instance ID of the machine created in alibabacloud", - "instanceState": "InstanceState is the state of the alibabacloud instance for this machine", - "conditions": "Conditions is a set of conditions associated with the Machine to indicate errors or other status", + "instanceId": "instanceId is the instance ID of the machine created in alibabacloud", + "instanceState": "instanceState is the state of the alibabacloud instance for this machine", + "conditions": "conditions is a set of conditions associated with the Machine to indicate errors or other status", } func (AlibabaCloudMachineProviderStatus) SwaggerDoc() map[string]string { @@ -60,9 +60,9 @@ func (AlibabaCloudMachineProviderStatus) SwaggerDoc() map[string]string { var map_AlibabaResourceReference = map[string]string{ "": "ResourceTagReference is a reference to a specific AlibabaCloud resource by ID, or tags. Only one of ID or Tags may be specified. Specifying more than one will result in a validation error.", "type": "type identifies the resource reference type for this entry.", - "id": "ID of resource", - "name": "Name of the resource", - "tags": "Tags is a set of metadata based upon ECS object tags used to identify a resource. For details about usage when multiple resources are found, please see the owning parent field documentation.", + "id": "id of resource", + "name": "name of the resource", + "tags": "tags is a set of metadata based upon ECS object tags used to identify a resource. For details about usage when multiple resources are found, please see the owning parent field documentation.", } func (AlibabaResourceReference) SwaggerDoc() map[string]string { @@ -71,8 +71,8 @@ func (AlibabaResourceReference) SwaggerDoc() map[string]string { var map_BandwidthProperties = map[string]string{ "": "Bandwidth describes the bandwidth strategy for the network of the instance", - "internetMaxBandwidthIn": "InternetMaxBandwidthIn is the maximum inbound public bandwidth. Unit: Mbit/s. Valid values: When the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10. Currently the default is `10` when outbound bandwidth is less than or equal to 10 Mbit/s. When the purchased outbound public bandwidth is greater than 10, the valid values are 1 to the InternetMaxBandwidthOut value. Currently the default is the value used for `InternetMaxBandwidthOut` when outbound public bandwidth is greater than 10.", - "internetMaxBandwidthOut": "InternetMaxBandwidthOut is the maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. When a value greater than 0 is used then a public IP address is assigned to the instance. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `0`", + "internetMaxBandwidthIn": "internetMaxBandwidthIn is the maximum inbound public bandwidth. Unit: Mbit/s. Valid values: When the purchased outbound public bandwidth is less than or equal to 10 Mbit/s, the valid values of this parameter are 1 to 10. Currently the default is `10` when outbound bandwidth is less than or equal to 10 Mbit/s. When the purchased outbound public bandwidth is greater than 10, the valid values are 1 to the InternetMaxBandwidthOut value. Currently the default is the value used for `InternetMaxBandwidthOut` when outbound public bandwidth is greater than 10.", + "internetMaxBandwidthOut": "internetMaxBandwidthOut is the maximum outbound public bandwidth. Unit: Mbit/s. Valid values: 0 to 100. When a value greater than 0 is used then a public IP address is assigned to the instance. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently the default is `0`", } func (BandwidthProperties) SwaggerDoc() map[string]string { @@ -97,10 +97,10 @@ func (DataDiskProperties) SwaggerDoc() map[string]string { var map_SystemDiskProperties = map[string]string{ "": "SystemDiskProperties contains the information regarding the system disk including performance, size, name, and category", - "category": "Category is the category of the system disk. Valid values: cloud_essd: ESSD. When the parameter is set to this value, you can use the SystemDisk.PerformanceLevel parameter to specify the performance level of the disk. cloud_efficiency: ultra disk. cloud_ssd: standard SSD. cloud: basic disk. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently for non-I/O optimized instances of retired instance types, the default is `cloud`. Currently for other instances, the default is `cloud_efficiency`.", - "performanceLevel": "PerformanceLevel is the performance level of the ESSD used as the system disk. Valid values:\n\nPL0: A single ESSD can deliver up to 10,000 random read/write IOPS. PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is `PL1`. For more information about ESSD performance levels, see ESSDs.", - "name": "Name is the name of the system disk. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Empty value means the platform chooses a default, which is subject to change over time. Currently the default is `\"\"`.", - "size": "Size is the size of the system disk. Unit: GiB. Valid values: 20 to 500. The value must be at least 20 and greater than or equal to the size of the image. Empty value means the platform chooses a default, which is subject to change over time. Currently the default is `40` or the size of the image depending on whichever is greater.", + "category": "category is the category of the system disk. Valid values: cloud_essd: ESSD. When the parameter is set to this value, you can use the SystemDisk.PerformanceLevel parameter to specify the performance level of the disk. cloud_efficiency: ultra disk. cloud_ssd: standard SSD. cloud: basic disk. Empty value means no opinion and the platform chooses the a default, which is subject to change over time. Currently for non-I/O optimized instances of retired instance types, the default is `cloud`. Currently for other instances, the default is `cloud_efficiency`.", + "performanceLevel": "performanceLevel is the performance level of the ESSD used as the system disk. Valid values:\n\nPL0: A single ESSD can deliver up to 10,000 random read/write IOPS. PL1: A single ESSD can deliver up to 50,000 random read/write IOPS. PL2: A single ESSD can deliver up to 100,000 random read/write IOPS. PL3: A single ESSD can deliver up to 1,000,000 random read/write IOPS. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is `PL1`. For more information about ESSD performance levels, see ESSDs.", + "name": "name is the name of the system disk. If the name is specified the name must be 2 to 128 characters in length. It must start with a letter and cannot start with http:// or https://. It can contain letters, digits, colons (:), underscores (_), and hyphens (-). Empty value means the platform chooses a default, which is subject to change over time. Currently the default is `\"\"`.", + "size": "size is the size of the system disk. Unit: GiB. Valid values: 20 to 500. The value must be at least 20 and greater than or equal to the size of the image. Empty value means the platform chooses a default, which is subject to change over time. Currently the default is `40` or the size of the image depending on whichever is greater.", } func (SystemDiskProperties) SwaggerDoc() map[string]string { @@ -119,8 +119,8 @@ func (Tag) SwaggerDoc() map[string]string { var map_AWSResourceFilter = map[string]string{ "": "AWSResourceFilter is a filter used to identify an AWS resource", - "name": "Name of the filter. Filter names are case-sensitive.", - "values": "Values includes one or more filter values. Filter values are case-sensitive.", + "name": "name of the filter. Filter names are case-sensitive.", + "values": "values includes one or more filter values. Filter values are case-sensitive.", } func (AWSResourceFilter) SwaggerDoc() map[string]string { @@ -129,10 +129,10 @@ func (AWSResourceFilter) SwaggerDoc() map[string]string { var map_AWSResourceReference = map[string]string{ "": "AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters. Only one of ID, ARN or Filters may be specified. Specifying more than one will result in a validation error.", - "type": "Type determines how the reference will fetch the AWS resource.", - "id": "ID of resource.", - "arn": "ARN of resource.", - "filters": "Filters is a set of filters used to identify a resource.", + "type": "type determines how the reference will fetch the AWS resource.", + "id": "id of resource.", + "arn": "arn of resource.", + "filters": "filters is a set of filters used to identify a resource.", } func (AWSResourceReference) SwaggerDoc() map[string]string { @@ -141,8 +141,8 @@ func (AWSResourceReference) SwaggerDoc() map[string]string { var map_AWSFailureDomain = map[string]string{ "": "AWSFailureDomain configures failure domain information for the AWS platform.", - "subnet": "Subnet is a reference to the subnet to use for this instance.", - "placement": "Placement configures the placement information for this instance.", + "subnet": "subnet is a reference to the subnet to use for this instance.", + "placement": "placement configures the placement information for this instance.", } func (AWSFailureDomain) SwaggerDoc() map[string]string { @@ -151,7 +151,7 @@ func (AWSFailureDomain) SwaggerDoc() map[string]string { var map_AWSFailureDomainPlacement = map[string]string{ "": "AWSFailureDomainPlacement configures the placement information for the AWSFailureDomain.", - "availabilityZone": "AvailabilityZone is the availability zone of the instance.", + "availabilityZone": "availabilityZone is the availability zone of the instance.", } func (AWSFailureDomainPlacement) SwaggerDoc() map[string]string { @@ -187,12 +187,13 @@ func (ControlPlaneMachineSetList) SwaggerDoc() map[string]string { } var map_ControlPlaneMachineSetSpec = map[string]string{ - "": "ControlPlaneMachineSet represents the configuration of the ControlPlaneMachineSet.", - "state": "State defines whether the ControlPlaneMachineSet is Active or Inactive. When Inactive, the ControlPlaneMachineSet will not take any action on the state of the Machines within the cluster. When Active, the ControlPlaneMachineSet will reconcile the Machines and will update the Machines as necessary. Once Active, a ControlPlaneMachineSet cannot be made Inactive. To prevent further action please remove the ControlPlaneMachineSet.", - "replicas": "Replicas defines how many Control Plane Machines should be created by this ControlPlaneMachineSet. This field is immutable and cannot be changed after cluster installation. The ControlPlaneMachineSet only operates with 3 or 5 node control planes, 3 and 5 are the only valid values for this field.", - "strategy": "Strategy defines how the ControlPlaneMachineSet will update Machines when it detects a change to the ProviderSpec.", - "selector": "Label selector for Machines. Existing Machines selected by this selector will be the ones affected by this ControlPlaneMachineSet. It must match the template's labels. This field is considered immutable after creation of the resource.", - "template": "Template describes the Control Plane Machines that will be created by this ControlPlaneMachineSet.", + "": "ControlPlaneMachineSet represents the configuration of the ControlPlaneMachineSet.", + "machineNamePrefix": "machineNamePrefix is the prefix used when creating machine names. Each machine name will consist of this prefix, followed by a randomly generated string of 5 characters, and the index of the machine. It must be a lowercase RFC 1123 subdomain, consisting of lowercase alphanumeric characters, '-', or '.', and must start and end with an alphanumeric character. The prefix must be between 1 and 245 characters in length. For example, if machineNamePrefix is set to 'control-plane', and three machines are created, their names might be: control-plane-abcde-0, control-plane-fghij-1, control-plane-klmno-2", + "state": "state defines whether the ControlPlaneMachineSet is Active or Inactive. When Inactive, the ControlPlaneMachineSet will not take any action on the state of the Machines within the cluster. When Active, the ControlPlaneMachineSet will reconcile the Machines and will update the Machines as necessary. Once Active, a ControlPlaneMachineSet cannot be made Inactive. To prevent further action please remove the ControlPlaneMachineSet.", + "replicas": "replicas defines how many Control Plane Machines should be created by this ControlPlaneMachineSet. This field is immutable and cannot be changed after cluster installation. The ControlPlaneMachineSet only operates with 3 or 5 node control planes, 3 and 5 are the only valid values for this field.", + "strategy": "strategy defines how the ControlPlaneMachineSet will update Machines when it detects a change to the ProviderSpec.", + "selector": "Label selector for Machines. Existing Machines selected by this selector will be the ones affected by this ControlPlaneMachineSet. It must match the template's labels. This field is considered immutable after creation of the resource.", + "template": "template describes the Control Plane Machines that will be created by this ControlPlaneMachineSet.", } func (ControlPlaneMachineSetSpec) SwaggerDoc() map[string]string { @@ -201,12 +202,12 @@ func (ControlPlaneMachineSetSpec) SwaggerDoc() map[string]string { var map_ControlPlaneMachineSetStatus = map[string]string{ "": "ControlPlaneMachineSetStatus represents the status of the ControlPlaneMachineSet CRD.", - "conditions": "Conditions represents the observations of the ControlPlaneMachineSet's current state. Known .status.conditions.type are: Available, Degraded and Progressing.", - "observedGeneration": "ObservedGeneration is the most recent generation observed for this ControlPlaneMachineSet. It corresponds to the ControlPlaneMachineSets's generation, which is updated on mutation by the API Server.", - "replicas": "Replicas is the number of Control Plane Machines created by the ControlPlaneMachineSet controller. Note that during update operations this value may differ from the desired replica count.", - "readyReplicas": "ReadyReplicas is the number of Control Plane Machines created by the ControlPlaneMachineSet controller which are ready. Note that this value may be higher than the desired number of replicas while rolling updates are in-progress.", - "updatedReplicas": "UpdatedReplicas is the number of non-terminated Control Plane Machines created by the ControlPlaneMachineSet controller that have the desired provider spec and are ready. This value is set to 0 when a change is detected to the desired spec. When the update strategy is RollingUpdate, this will also coincide with starting the process of updating the Machines. When the update strategy is OnDelete, this value will remain at 0 until a user deletes an existing replica and its replacement has become ready.", - "unavailableReplicas": "UnavailableReplicas is the number of Control Plane Machines that are still required before the ControlPlaneMachineSet reaches the desired available capacity. When this value is non-zero, the number of ReadyReplicas is less than the desired Replicas.", + "conditions": "conditions represents the observations of the ControlPlaneMachineSet's current state. Known .status.conditions.type are: Available, Degraded and Progressing.", + "observedGeneration": "observedGeneration is the most recent generation observed for this ControlPlaneMachineSet. It corresponds to the ControlPlaneMachineSets's generation, which is updated on mutation by the API Server.", + "replicas": "replicas is the number of Control Plane Machines created by the ControlPlaneMachineSet controller. Note that during update operations this value may differ from the desired replica count.", + "readyReplicas": "readyReplicas is the number of Control Plane Machines created by the ControlPlaneMachineSet controller which are ready. Note that this value may be higher than the desired number of replicas while rolling updates are in-progress.", + "updatedReplicas": "updatedReplicas is the number of non-terminated Control Plane Machines created by the ControlPlaneMachineSet controller that have the desired provider spec and are ready. This value is set to 0 when a change is detected to the desired spec. When the update strategy is RollingUpdate, this will also coincide with starting the process of updating the Machines. When the update strategy is OnDelete, this value will remain at 0 until a user deletes an existing replica and its replacement has become ready.", + "unavailableReplicas": "unavailableReplicas is the number of Control Plane Machines that are still required before the ControlPlaneMachineSet reaches the desired available capacity. When this value is non-zero, the number of ReadyReplicas is less than the desired Replicas.", } func (ControlPlaneMachineSetStatus) SwaggerDoc() map[string]string { @@ -215,7 +216,7 @@ func (ControlPlaneMachineSetStatus) SwaggerDoc() map[string]string { var map_ControlPlaneMachineSetStrategy = map[string]string{ "": "ControlPlaneMachineSetStrategy defines the strategy for applying updates to the Control Plane Machines managed by the ControlPlaneMachineSet.", - "type": "Type defines the type of update strategy that should be used when updating Machines owned by the ControlPlaneMachineSet. Valid values are \"RollingUpdate\" and \"OnDelete\". The current default value is \"RollingUpdate\".", + "type": "type defines the type of update strategy that should be used when updating Machines owned by the ControlPlaneMachineSet. Valid values are \"RollingUpdate\" and \"OnDelete\". The current default value is \"RollingUpdate\".", } func (ControlPlaneMachineSetStrategy) SwaggerDoc() map[string]string { @@ -224,7 +225,7 @@ func (ControlPlaneMachineSetStrategy) SwaggerDoc() map[string]string { var map_ControlPlaneMachineSetTemplate = map[string]string{ "": "ControlPlaneMachineSetTemplate is a template used by the ControlPlaneMachineSet to create the Machines that it will manage in the future. ", - "machineType": "MachineType determines the type of Machines that should be managed by the ControlPlaneMachineSet. Currently, the only valid value is machines_v1beta1_machine_openshift_io.", + "machineType": "machineType determines the type of Machines that should be managed by the ControlPlaneMachineSet. Currently, the only valid value is machines_v1beta1_machine_openshift_io.", "machines_v1beta1_machine_openshift_io": "OpenShiftMachineV1Beta1Machine defines the template for creating Machines from the v1beta1.machine.openshift.io API group.", } @@ -235,7 +236,7 @@ func (ControlPlaneMachineSetTemplate) SwaggerDoc() map[string]string { var map_ControlPlaneMachineSetTemplateObjectMeta = map[string]string{ "": "ControlPlaneMachineSetTemplateObjectMeta is a subset of the metav1.ObjectMeta struct. It allows users to specify labels and annotations that will be copied onto Machines created from this template.", "labels": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels. This field must contain both the 'machine.openshift.io/cluster-api-machine-role' and 'machine.openshift.io/cluster-api-machine-type' labels, both with a value of 'master'. It must also contain a label with the key 'machine.openshift.io/cluster-api-cluster'.", - "annotations": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "annotations": "annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", } func (ControlPlaneMachineSetTemplateObjectMeta) SwaggerDoc() map[string]string { @@ -244,12 +245,12 @@ func (ControlPlaneMachineSetTemplateObjectMeta) SwaggerDoc() map[string]string { var map_FailureDomains = map[string]string{ "": "FailureDomain represents the different configurations required to spread Machines across failure domains on different platforms.", - "platform": "Platform identifies the platform for which the FailureDomain represents. Currently supported values are AWS, Azure, GCP, OpenStack, VSphere and Nutanix.", - "aws": "AWS configures failure domain information for the AWS platform.", - "azure": "Azure configures failure domain information for the Azure platform.", - "gcp": "GCP configures failure domain information for the GCP platform.", + "platform": "platform identifies the platform for which the FailureDomain represents. Currently supported values are AWS, Azure, GCP, OpenStack, VSphere and Nutanix.", + "aws": "aws configures failure domain information for the AWS platform.", + "azure": "azure configures failure domain information for the Azure platform.", + "gcp": "gcp configures failure domain information for the GCP platform.", "vsphere": "vsphere configures failure domain information for the VSphere platform.", - "openstack": "OpenStack configures failure domain information for the OpenStack platform.", + "openstack": "openstack configures failure domain information for the OpenStack platform.", "nutanix": "nutanix configures failure domain information for the Nutanix platform.", } @@ -259,7 +260,7 @@ func (FailureDomains) SwaggerDoc() map[string]string { var map_GCPFailureDomain = map[string]string{ "": "GCPFailureDomain configures failure domain information for the GCP platform", - "zone": "Zone is the zone in which the GCP machine provider will create the VM.", + "zone": "zone is the zone in which the GCP machine provider will create the VM.", } func (GCPFailureDomain) SwaggerDoc() map[string]string { @@ -277,9 +278,9 @@ func (NutanixFailureDomainReference) SwaggerDoc() map[string]string { var map_OpenShiftMachineV1Beta1MachineTemplate = map[string]string{ "": "OpenShiftMachineV1Beta1MachineTemplate is a template for the ControlPlaneMachineSet to create Machines from the v1beta1.machine.openshift.io API group.", - "failureDomains": "FailureDomains is the list of failure domains (sometimes called availability zones) in which the ControlPlaneMachineSet should balance the Control Plane Machines. This will be merged into the ProviderSpec given in the template. This field is optional on platforms that do not require placement information.", + "failureDomains": "failureDomains is the list of failure domains (sometimes called availability zones) in which the ControlPlaneMachineSet should balance the Control Plane Machines. This will be merged into the ProviderSpec given in the template. This field is optional on platforms that do not require placement information.", "metadata": "ObjectMeta is the standard object metadata More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata Labels are required to match the ControlPlaneMachineSet selector.", - "spec": "Spec contains the desired configuration of the Control Plane Machines. The ProviderSpec within contains platform specific details for creating the Control Plane Machines. The ProviderSe should be complete apart from the platform specific failure domain field. This will be overriden when the Machines are created based on the FailureDomains field.", + "spec": "spec contains the desired configuration of the Control Plane Machines. The ProviderSpec within contains platform specific details for creating the Control Plane Machines. The ProviderSe should be complete apart from the platform specific failure domain field. This will be overriden when the Machines are created based on the FailureDomains field.", } func (OpenShiftMachineV1Beta1MachineTemplate) SwaggerDoc() map[string]string { @@ -372,7 +373,7 @@ func (NutanixMachineProviderStatus) SwaggerDoc() map[string]string { var map_NutanixResourceIdentifier = map[string]string{ "": "NutanixResourceIdentifier holds the identity of a Nutanix PC resource (cluster, image, subnet, etc.)", - "type": "Type is the identifier type to use for this resource.", + "type": "type is the identifier type to use for this resource.", "uuid": "uuid is the UUID of the resource in the PC.", "name": "name is the resource name in the PC", } @@ -467,10 +468,10 @@ func (PowerVSMachineProviderStatus) SwaggerDoc() map[string]string { var map_PowerVSResource = map[string]string{ "": "PowerVSResource is a reference to a specific PowerVS resource by ID, Name or RegEx Only one of ID, Name or RegEx may be specified. Specifying more than one will result in a validation error.", - "type": "Type identifies the resource type for this entry. Valid values are ID, Name and RegEx", - "id": "ID of resource", - "name": "Name of resource", - "regex": "Regex to find resource Regex contains the pattern to match to find a resource", + "type": "type identifies the resource type for this entry. Valid values are ID, Name and RegEx", + "id": "id of resource", + "name": "name of resource", + "regex": "regex to find resource Regex contains the pattern to match to find a resource", } func (PowerVSResource) SwaggerDoc() map[string]string { @@ -479,7 +480,7 @@ func (PowerVSResource) SwaggerDoc() map[string]string { var map_PowerVSSecretReference = map[string]string{ "": "PowerVSSecretReference contains enough information to locate the referenced secret inside the same namespace.", - "name": "Name of the secret.", + "name": "name of the secret.", } func (PowerVSSecretReference) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/machine/v1alpha1/types_openstack.go b/vendor/github.com/openshift/api/machine/v1alpha1/types_openstack.go index da5fbc5152..89b55c7b41 100644 --- a/vendor/github.com/openshift/api/machine/v1alpha1/types_openstack.go +++ b/vendor/github.com/openshift/api/machine/v1alpha1/types_openstack.go @@ -166,9 +166,9 @@ type NetworkParam struct { Filter Filter `json:"filter,omitempty"` // Subnet within a network to use Subnets []SubnetParam `json:"subnets,omitempty"` - // NoAllowedAddressPairs disables creation of allowed address pairs for the network ports + // noAllowedAddressPairs disables creation of allowed address pairs for the network ports NoAllowedAddressPairs bool `json:"noAllowedAddressPairs,omitempty"` - // PortTags allows users to specify a list of tags to add to ports created in a given network + // portTags allows users to specify a list of tags to add to ports created in a given network PortTags []string `json:"portTags,omitempty"` // The virtual network interface card (vNIC) type that is bound to the // neutron port. @@ -177,7 +177,7 @@ type NetworkParam struct { // host to pass and receive virtual network interface (VIF) port-specific // information to the plug-in. Profile map[string]string `json:"profile,omitempty"` - // PortSecurity optionally enables or disables security on ports managed by OpenStack + // portSecurity optionally enables or disables security on ports managed by OpenStack PortSecurity *bool `json:"portSecurity,omitempty"` } @@ -229,10 +229,10 @@ type SubnetParam struct { // Filters for optional network query Filter SubnetFilter `json:"filter,omitempty"` - // PortTags are tags that are added to ports created on this subnet + // portTags are tags that are added to ports created on this subnet PortTags []string `json:"portTags,omitempty"` - // PortSecurity optionally enables or disables security on ports managed by OpenStack + // portSecurity optionally enables or disables security on ports managed by OpenStack PortSecurity *bool `json:"portSecurity,omitempty"` } @@ -379,7 +379,7 @@ type RootVolume struct { type BlockDeviceStorage struct { // type is the type of block device to create. // This can be either "Volume" or "Local". - // +kubebuilder:validation:Required + // +required // +unionDiscriminator Type BlockDeviceType `json:"type"` @@ -414,16 +414,16 @@ type AdditionalBlockDevice struct { // Also, this name will be used for tagging the block device. // Information about the block device tag can be obtained from the OpenStack // metadata API or the config drive. - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // sizeGiB is the size of the block device in gibibytes (GiB). - // +kubebuilder:validation:Required + // +required SizeGiB int `json:"sizeGiB"` // storage specifies the storage type of the block device and // additional storage options. - // +kubebuilder:validation:Required + // +required Storage BlockDeviceStorage `json:"storage"` } diff --git a/vendor/github.com/openshift/api/machine/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/machine/v1alpha1/zz_generated.swagger_doc_generated.go index c8094eb269..2818d17bb8 100644 --- a/vendor/github.com/openshift/api/machine/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/machine/v1alpha1/zz_generated.swagger_doc_generated.go @@ -79,11 +79,11 @@ var map_NetworkParam = map[string]string{ "fixedIp": "A fixed IPv4 address for the NIC.", "filter": "Filters for optional network query", "subnets": "Subnet within a network to use", - "noAllowedAddressPairs": "NoAllowedAddressPairs disables creation of allowed address pairs for the network ports", - "portTags": "PortTags allows users to specify a list of tags to add to ports created in a given network", + "noAllowedAddressPairs": "noAllowedAddressPairs disables creation of allowed address pairs for the network ports", + "portTags": "portTags allows users to specify a list of tags to add to ports created in a given network", "vnicType": "The virtual network interface card (vNIC) type that is bound to the neutron port.", "profile": "A dictionary that enables the application running on the specified host to pass and receive virtual network interface (VIF) port-specific information to the plug-in.", - "portSecurity": "PortSecurity optionally enables or disables security on ports managed by OpenStack", + "portSecurity": "portSecurity optionally enables or disables security on ports managed by OpenStack", } func (NetworkParam) SwaggerDoc() map[string]string { @@ -217,8 +217,8 @@ func (SubnetFilter) SwaggerDoc() map[string]string { var map_SubnetParam = map[string]string{ "uuid": "The UUID of the network. Required if you omit the port attribute.", "filter": "Filters for optional network query", - "portTags": "PortTags are tags that are added to ports created on this subnet", - "portSecurity": "PortSecurity optionally enables or disables security on ports managed by OpenStack", + "portTags": "portTags are tags that are added to ports created on this subnet", + "portSecurity": "portSecurity optionally enables or disables security on ports managed by OpenStack", } func (SubnetParam) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_awsprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_awsprovider.go index b2c66b7072..b34a87886d 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_awsprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_awsprovider.go @@ -13,38 +13,38 @@ type AWSMachineProviderConfig struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - // AMI is the reference to the AMI from which to create the machine instance. + // ami is the reference to the AMI from which to create the machine instance. AMI AWSResourceReference `json:"ami"` - // InstanceType is the type of instance to create. Example: m4.xlarge + // instanceType is the type of instance to create. Example: m4.xlarge InstanceType string `json:"instanceType"` - // Tags is the set of tags to add to apply to an instance, in addition to the ones + // tags is the set of tags to add to apply to an instance, in addition to the ones // added by default by the actuator. These tags are additive. The actuator will ensure // these tags are present, but will not remove any other tags that may exist on the // instance. // +optional Tags []TagSpecification `json:"tags,omitempty"` - // IAMInstanceProfile is a reference to an IAM role to assign to the instance + // iamInstanceProfile is a reference to an IAM role to assign to the instance // +optional IAMInstanceProfile *AWSResourceReference `json:"iamInstanceProfile,omitempty"` - // UserDataSecret contains a local reference to a secret that contains the + // userDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance // +optional UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"` - // CredentialsSecret is a reference to the secret with AWS credentials. Otherwise, defaults to permissions + // credentialsSecret is a reference to the secret with AWS credentials. Otherwise, defaults to permissions // provided by attached IAM role where the actuator is running. // +optional CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"` - // KeyName is the name of the KeyPair to use for SSH + // keyName is the name of the KeyPair to use for SSH // +optional KeyName *string `json:"keyName,omitempty"` - // DeviceIndex is the index of the device on the instance for the network interface attachment. + // deviceIndex is the index of the device on the instance for the network interface attachment. // Defaults to 0. DeviceIndex int64 `json:"deviceIndex"` - // PublicIP specifies whether the instance should get a public IP. If not present, + // publicIp specifies whether the instance should get a public IP. If not present, // it should use the default of its subnet. // +optional PublicIP *bool `json:"publicIp,omitempty"` - // NetworkInterfaceType specifies the type of network interface to be used for the primary + // networkInterfaceType specifies the type of network interface to be used for the primary // network interface. // Valid values are "ENA", "EFA", and omitted, which means no opinion and the platform // chooses a good default which may change over time. @@ -54,32 +54,32 @@ type AWSMachineProviderConfig struct { // +kubebuilder:validation:Enum:="ENA";"EFA" // +optional NetworkInterfaceType AWSNetworkInterfaceType `json:"networkInterfaceType,omitempty"` - // SecurityGroups is an array of references to security groups that should be applied to the + // securityGroups is an array of references to security groups that should be applied to the // instance. // +optional SecurityGroups []AWSResourceReference `json:"securityGroups,omitempty"` - // Subnet is a reference to the subnet to use for this instance + // subnet is a reference to the subnet to use for this instance Subnet AWSResourceReference `json:"subnet"` - // Placement specifies where to create the instance in AWS + // placement specifies where to create the instance in AWS Placement Placement `json:"placement"` - // LoadBalancers is the set of load balancers to which the new instance + // loadBalancers is the set of load balancers to which the new instance // should be added once it is created. // +optional LoadBalancers []LoadBalancerReference `json:"loadBalancers,omitempty"` - // BlockDevices is the set of block device mapping associated to this instance, + // blockDevices is the set of block device mapping associated to this instance, // block device without a name will be used as a root device and only one device without a name is allowed // https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html // +optional BlockDevices []BlockDeviceMappingSpec `json:"blockDevices,omitempty"` - // SpotMarketOptions allows users to configure instances to be run using AWS Spot instances. + // spotMarketOptions allows users to configure instances to be run using AWS Spot instances. // +optional SpotMarketOptions *SpotMarketOptions `json:"spotMarketOptions,omitempty"` - // MetadataServiceOptions allows users to configure instance metadata service interaction options. + // metadataServiceOptions allows users to configure instance metadata service interaction options. // If nothing specified, default AWS IMDS settings will be applied. // https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html // +optional MetadataServiceOptions MetadataServiceOptions `json:"metadataServiceOptions,omitempty"` - // PlacementGroupName specifies the name of the placement group in which to launch the instance. + // placementGroupName specifies the name of the placement group in which to launch the instance. // The placement group must already be created and may use any placement strategy. // When omitted, no placement group is used when creating the EC2 instance. // +optional @@ -194,7 +194,7 @@ const ( // MetadataServiceOptions defines the options available to a user when configuring // Instance Metadata Service (IMDS) Options. type MetadataServiceOptions struct { - // Authentication determines whether or not the host requires the use of authentication when interacting with the metadata service. + // authentication determines whether or not the host requires the use of authentication when interacting with the metadata service. // When using authentication, this enforces v2 interaction method (IMDSv2) with the metadata service. // When omitted, this means the user has no opinion and the value is left to the platform to choose a good // default, which is subject to change over time. The current default is optional. @@ -209,26 +209,26 @@ type MetadataServiceOptions struct { // Only one of ID, ARN or Filters may be specified. Specifying more than one will result in // a validation error. type AWSResourceReference struct { - // ID of resource + // id of resource // +optional ID *string `json:"id,omitempty"` - // ARN of resource + // arn of resource // +optional ARN *string `json:"arn,omitempty"` - // Filters is a set of filters used to identify a resource + // filters is a set of filters used to identify a resource // +optional Filters []Filter `json:"filters,omitempty"` } // Placement indicates where to create the instance in AWS type Placement struct { - // Region is the region to use to create the instance + // region is the region to use to create the instance // +optional Region string `json:"region,omitempty"` - // AvailabilityZone is the availability zone of the instance + // availabilityZone is the availability zone of the instance // +optional AvailabilityZone string `json:"availabilityZone,omitempty"` - // Tenancy indicates if instance should run on shared or single-tenant hardware. There are + // tenancy indicates if instance should run on shared or single-tenant hardware. There are // supported 3 options: default, dedicated and host. // +optional Tenancy InstanceTenancy `json:"tenancy,omitempty"` @@ -236,18 +236,18 @@ type Placement struct { // Filter is a filter used to identify an AWS resource type Filter struct { - // Name of the filter. Filter names are case-sensitive. + // name of the filter. Filter names are case-sensitive. Name string `json:"name"` - // Values includes one or more filter values. Filter values are case-sensitive. + // values includes one or more filter values. Filter values are case-sensitive. // +optional Values []string `json:"values,omitempty"` } // TagSpecification is the name/value pair for a tag type TagSpecification struct { - // Name of the tag + // name of the tag Name string `json:"name"` - // Value of the tag + // value of the tag Value string `json:"value"` } @@ -309,13 +309,13 @@ const ( // +openshift:compatibility-gen:level=2 type AWSMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` - // InstanceID is the instance ID of the machine created in AWS + // instanceId is the instance ID of the machine created in AWS // +optional InstanceID *string `json:"instanceId,omitempty"` - // InstanceState is the state of the AWS instance for this machine + // instanceState is the state of the AWS instance for this machine // +optional InstanceState *string `json:"instanceState,omitempty"` - // Conditions is a set of conditions associated with the Machine to indicate + // conditions is a set of conditions associated with the Machine to indicate // errors or other status // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go index 00a9497fd3..db84fa2c9f 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_azureprovider.go @@ -39,32 +39,32 @@ type AzureMachineProviderSpec struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - // UserDataSecret contains a local reference to a secret that contains the + // userDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance // +optional UserDataSecret *corev1.SecretReference `json:"userDataSecret,omitempty"` - // CredentialsSecret is a reference to the secret with Azure credentials. + // credentialsSecret is a reference to the secret with Azure credentials. // +optional CredentialsSecret *corev1.SecretReference `json:"credentialsSecret,omitempty"` - // Location is the region to use to create the instance + // location is the region to use to create the instance // +optional Location string `json:"location,omitempty"` - // VMSize is the size of the VM to create. + // vmSize is the size of the VM to create. // +optional VMSize string `json:"vmSize,omitempty"` - // Image is the OS image to use to create the instance. + // image is the OS image to use to create the instance. Image Image `json:"image"` - // OSDisk represents the parameters for creating the OS disk. + // osDisk represents the parameters for creating the OS disk. OSDisk OSDisk `json:"osDisk"` // DataDisk specifies the parameters that are used to add one or more data disks to the machine. // +optional DataDisks []DataDisk `json:"dataDisks,omitempty"` - // SSHPublicKey is the public key to use to SSH to the virtual machine. + // sshPublicKey is the public key to use to SSH to the virtual machine. // +optional SSHPublicKey string `json:"sshPublicKey,omitempty"` - // PublicIP if true a public IP will be used + // publicIP if true a public IP will be used PublicIP bool `json:"publicIP"` - // Tags is a list of tags to apply to the machine. + // tags is a list of tags to apply to the machine. // +optional Tags map[string]string `json:"tags,omitempty"` // Network Security Group that needs to be attached to the machine's interface. @@ -75,40 +75,40 @@ type AzureMachineProviderSpec struct { // No application security groups will be attached if zero-length. // +optional ApplicationSecurityGroups []string `json:"applicationSecurityGroups,omitempty"` - // Subnet to use for this instance + // subnet to use for this instance Subnet string `json:"subnet"` - // PublicLoadBalancer to use for this instance + // publicLoadBalancer to use for this instance // +optional PublicLoadBalancer string `json:"publicLoadBalancer,omitempty"` // InternalLoadBalancerName to use for this instance // +optional InternalLoadBalancer string `json:"internalLoadBalancer,omitempty"` - // NatRule to set inbound NAT rule of the load balancer + // natRule to set inbound NAT rule of the load balancer // +optional NatRule *int64 `json:"natRule,omitempty"` - // ManagedIdentity to set managed identity name + // managedIdentity to set managed identity name // +optional ManagedIdentity string `json:"managedIdentity,omitempty"` - // Vnet to set virtual network name + // vnet to set virtual network name // +optional Vnet string `json:"vnet,omitempty"` // Availability Zone for the virtual machine. // If nil, the virtual machine should be deployed to no zone // +optional Zone string `json:"zone,omitempty"` - // NetworkResourceGroup is the resource group for the virtual machine's network + // networkResourceGroup is the resource group for the virtual machine's network // +optional NetworkResourceGroup string `json:"networkResourceGroup,omitempty"` - // ResourceGroup is the resource group for the virtual machine + // resourceGroup is the resource group for the virtual machine // +optional ResourceGroup string `json:"resourceGroup,omitempty"` - // SpotVMOptions allows the ability to specify the Machine should use a Spot VM + // spotVMOptions allows the ability to specify the Machine should use a Spot VM // +optional SpotVMOptions *SpotVMOptions `json:"spotVMOptions,omitempty"` - // SecurityProfile specifies the Security profile settings for a virtual machine. + // securityProfile specifies the Security profile settings for a virtual machine. // +optional SecurityProfile *SecurityProfile `json:"securityProfile,omitempty"` - // UltraSSDCapability enables or disables Azure UltraSSD capability for a virtual machine. + // ultraSSDCapability enables or disables Azure UltraSSD capability for a virtual machine. // This can be used to allow/disallow binding of Azure UltraSSD to the Machine both as Data Disks or via Persistent Volumes. // This Azure feature is subject to a specific scope and certain limitations. // More informations on this can be found in the official Azure documentation for Ultra Disks: @@ -130,16 +130,16 @@ type AzureMachineProviderSpec struct { // +kubebuilder:validation:Enum:="Enabled";"Disabled" // +optional UltraSSDCapability AzureUltraSSDCapabilityState `json:"ultraSSDCapability,omitempty"` - // AcceleratedNetworking enables or disables Azure accelerated networking feature. + // acceleratedNetworking enables or disables Azure accelerated networking feature. // Set to false by default. If true, then this will depend on whether the requested // VMSize is supported. If set to true with an unsupported VMSize, Azure will return an error. // +optional AcceleratedNetworking bool `json:"acceleratedNetworking,omitempty"` - // AvailabilitySet specifies the availability set to use for this instance. + // availabilitySet specifies the availability set to use for this instance. // Availability set should be precreated, before using this field. // +optional AvailabilitySet string `json:"availabilitySet,omitempty"` - // Diagnostics configures the diagnostics settings for the virtual machine. + // diagnostics configures the diagnostics settings for the virtual machine. // This allows you to configure boot diagnostics such as capturing serial output from // the virtual machine on boot. // This is useful for debugging software based launch issues. @@ -156,7 +156,7 @@ type AzureMachineProviderSpec struct { // SpotVMOptions defines the options relevant to running the Machine on Spot VMs type SpotVMOptions struct { - // MaxPrice defines the maximum price the user is willing to pay for Spot VM instances + // maxPrice defines the maximum price the user is willing to pay for Spot VM instances // +optional MaxPrice *resource.Quantity `json:"maxPrice,omitempty"` } @@ -177,13 +177,13 @@ type AzureDiagnostics struct { // This is useful for debugging software based launch issues. // +union type AzureBootDiagnostics struct { - // StorageAccountType determines if the storage account for storing the diagnostics data + // storageAccountType determines if the storage account for storing the diagnostics data // should be provisioned by Azure (AzureManaged) or by the customer (CustomerManaged). - // +kubebuilder:validation:Required + // +required // +unionDiscriminator StorageAccountType AzureBootDiagnosticsStorageAccountType `json:"storageAccountType"` - // CustomerManaged provides reference to the customer manager storage account. + // customerManaged provides reference to the customer manager storage account. // +optional CustomerManaged *AzureCustomerManagedBootDiagnostics `json:"customerManaged,omitempty"` } @@ -191,12 +191,12 @@ type AzureBootDiagnostics struct { // AzureCustomerManagedBootDiagnostics provides reference to a customer managed // storage account. type AzureCustomerManagedBootDiagnostics struct { - // StorageAccountURI is the URI of the customer managed storage account. + // storageAccountURI is the URI of the customer managed storage account. // The URI typically will be `https://.blob.core.windows.net/` // but may differ if you are using Azure DNS zone endpoints. // You can find the correct endpoint by looking for the Blob Primary Endpoint in the // endpoints tab in the Azure console. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Pattern=`^https://` // +kubebuilder:validation:MaxLength=1024 StorageAccountURI string `json:"storageAccountURI"` @@ -225,13 +225,13 @@ type AzureMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - // VMID is the ID of the virtual machine created in Azure. + // vmId is the ID of the virtual machine created in Azure. // +optional VMID *string `json:"vmId,omitempty"` - // VMState is the provisioning state of the Azure virtual machine. + // vmState is the provisioning state of the Azure virtual machine. // +optional VMState *AzureVMState `json:"vmState,omitempty"` - // Conditions is a set of conditions associated with the Machine to indicate + // conditions is a set of conditions associated with the Machine to indicate // errors or other status. // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` @@ -274,23 +274,23 @@ const ( // Image is a mirror of azure sdk compute.ImageReference type Image struct { - // Publisher is the name of the organization that created the image + // publisher is the name of the organization that created the image Publisher string `json:"publisher"` - // Offer specifies the name of a group of related images created by the publisher. + // offer specifies the name of a group of related images created by the publisher. // For example, UbuntuServer, WindowsServer Offer string `json:"offer"` - // SKU specifies an instance of an offer, such as a major release of a distribution. + // sku specifies an instance of an offer, such as a major release of a distribution. // For example, 18.04-LTS, 2019-Datacenter SKU string `json:"sku"` - // Version specifies the version of an image sku. The allowed formats + // version specifies the version of an image sku. The allowed formats // are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. // Specify 'latest' to use the latest version of an image available at deploy time. // Even if you use 'latest', the VM image will not automatically update after deploy // time even if a new version becomes available. Version string `json:"version"` - // ResourceID specifies an image to use by ID + // resourceID specifies an image to use by ID ResourceID string `json:"resourceID"` - // Type identifies the source of the image and related information, such as purchase plans. + // type identifies the source of the image and related information, such as purchase plans. // Valid values are "ID", "MarketplaceWithPlan", "MarketplaceNoPlan", and omitted, which // means no opinion and the platform chooses a good default which may change over time. // Currently that default is "MarketplaceNoPlan" if publisher data is supplied, or "ID" if not. @@ -313,16 +313,16 @@ const ( ) type OSDisk struct { - // OSType is the operating system type of the OS disk. Possible values include "Linux" and "Windows". + // osType is the operating system type of the OS disk. Possible values include "Linux" and "Windows". OSType string `json:"osType"` - // ManagedDisk specifies the Managed Disk parameters for the OS disk. + // managedDisk specifies the Managed Disk parameters for the OS disk. ManagedDisk OSDiskManagedDiskParameters `json:"managedDisk"` - // DiskSizeGB is the size in GB to assign to the data disk. + // diskSizeGB is the size in GB to assign to the data disk. DiskSizeGB int32 `json:"diskSizeGB"` - // DiskSettings describe ephemeral disk settings for the os disk. + // diskSettings describe ephemeral disk settings for the os disk. // +optional DiskSettings DiskSettings `json:"diskSettings,omitempty"` - // CachingType specifies the caching requirements. + // cachingType specifies the caching requirements. // Possible values include: 'None', 'ReadOnly', 'ReadWrite'. // Empty value means no opinion and the platform chooses a default, which is subject to change over // time. Currently the default is `None`. @@ -342,43 +342,43 @@ type OSDisk struct { // Once the custom userdata Secret has been created, it can be referenced in the Machine's `.providerSpec.userDataSecret`. // For further guidance and examples, please refer to the official OpenShift docs. type DataDisk struct { - // NameSuffix is the suffix to be appended to the machine name to generate the disk name. + // nameSuffix is the suffix to be appended to the machine name to generate the disk name. // Each disk name will be in format _. // NameSuffix name must start and finish with an alphanumeric character and can only contain letters, numbers, underscores, periods or hyphens. // The overall disk name must not exceed 80 chars in length. // +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9](?:[\w\.-]*[a-zA-Z0-9])?$` // +kubebuilder:validation:MaxLength:=78 - // +kubebuilder:validation:Required + // +required NameSuffix string `json:"nameSuffix"` - // DiskSizeGB is the size in GB to assign to the data disk. + // diskSizeGB is the size in GB to assign to the data disk. // +kubebuilder:validation:Minimum=4 - // +kubebuilder:validation:Required + // +required DiskSizeGB int32 `json:"diskSizeGB"` - // ManagedDisk specifies the Managed Disk parameters for the data disk. + // managedDisk specifies the Managed Disk parameters for the data disk. // Empty value means no opinion and the platform chooses a default, which is subject to change over time. // Currently the default is a ManagedDisk with with storageAccountType: "Premium_LRS" and diskEncryptionSet.id: "Default". // +optional ManagedDisk DataDiskManagedDiskParameters `json:"managedDisk,omitempty"` - // Lun Specifies the logical unit number of the data disk. + // lun Specifies the logical unit number of the data disk. // This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. // This value is also needed for referencing the data disks devices within userdata to perform disk initialization through Ignition (e.g. partition/format/mount). // The value must be between 0 and 63. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=63 - // +kubebuilder:validation:Required + // +required Lun int32 `json:"lun,omitempty"` - // CachingType specifies the caching requirements. + // cachingType specifies the caching requirements. // Empty value means no opinion and the platform chooses a default, which is subject to change over time. // Currently the default is CachingTypeNone. // +optional // +kubebuilder:validation:Enum=None;ReadOnly;ReadWrite CachingType CachingTypeOption `json:"cachingType,omitempty"` - // DeletionPolicy specifies the data disk deletion policy upon Machine deletion. + // deletionPolicy specifies the data disk deletion policy upon Machine deletion. // Possible values are "Delete","Detach". // When "Delete" is used the data disk is deleted when the Machine is deleted. // When "Detach" is used the data disk is detached from the Machine and retained when the Machine is deleted. // +kubebuilder:validation:Enum=Delete;Detach - // +kubebuilder:validation:Required + // +required DeletionPolicy DiskDeletionPolicyType `json:"deletionPolicy"` } @@ -408,7 +408,7 @@ const ( // DiskSettings describe ephemeral disk settings for the os disk. type DiskSettings struct { - // EphemeralStorageLocation enables ephemeral OS when set to 'Local'. + // ephemeralStorageLocation enables ephemeral OS when set to 'Local'. // Possible values include: 'Local'. // See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details. // Empty value means no opinion and the platform chooses a default, which is subject to change over @@ -420,10 +420,10 @@ type DiskSettings struct { // OSDiskManagedDiskParameters is the parameters of a OSDisk managed disk. type OSDiskManagedDiskParameters struct { - // StorageAccountType is the storage account type to use. + // storageAccountType is the storage account type to use. // Possible values include "Standard_LRS", "Premium_LRS". StorageAccountType string `json:"storageAccountType"` - // DiskEncryptionSet is the disk encryption set properties + // diskEncryptionSet is the disk encryption set properties // +optional DiskEncryptionSet *DiskEncryptionSetParameters `json:"diskEncryptionSet,omitempty"` // securityProfile specifies the security profile for the managed disk. @@ -460,11 +460,11 @@ type VMDiskSecurityProfile struct { // DataDiskManagedDiskParameters is the parameters of a DataDisk managed disk. type DataDiskManagedDiskParameters struct { - // StorageAccountType is the storage account type to use. + // storageAccountType is the storage account type to use. // Possible values include "Standard_LRS", "Premium_LRS" and "UltraSSD_LRS". // +kubebuilder:validation:Enum=Standard_LRS;Premium_LRS;UltraSSD_LRS StorageAccountType StorageAccountType `json:"storageAccountType"` - // DiskEncryptionSet is the disk encryption set properties. + // diskEncryptionSet is the disk encryption set properties. // Empty value means no opinion and the platform chooses a default, which is subject to change over time. // Currently the default is a DiskEncryptionSet with id: "Default". // +optional @@ -486,7 +486,7 @@ const ( // DiskEncryptionSetParameters is the disk encryption set properties type DiskEncryptionSetParameters struct { - // ID is the disk encryption set ID + // id is the disk encryption set ID // Empty value means no opinion and the platform chooses a default, which is subject to change over time. // Currently the default is: "Default". // +optional @@ -514,7 +514,7 @@ type SecuritySettings struct { // securityType specifies the SecurityType of the virtual machine. It has to be set to any specified value to // enable UEFISettings. The default behavior is: UEFISettings will not be enabled unless this property is set. // +kubebuilder:validation:Enum=ConfidentialVM;TrustedLaunch - // +kubebuilder:validation:Required + // +required // +unionDiscriminator SecurityType SecurityTypes `json:"securityType,omitempty"` // confidentialVM specifies the security configuration of the virtual machine. @@ -532,14 +532,14 @@ type SecuritySettings struct { // ConfidentialVM defines the UEFI settings for the virtual machine. type ConfidentialVM struct { // uefiSettings specifies the security settings like secure boot and vTPM used while creating the virtual machine. - // +kubebuilder:validation:Required + // +required UEFISettings UEFISettings `json:"uefiSettings,omitempty"` } // TrustedLaunch defines the UEFI settings for the virtual machine. type TrustedLaunch struct { // uefiSettings specifies the security settings like secure boot and vTPM used while creating the virtual machine. - // +kubebuilder:validation:Required + // +required UEFISettings UEFISettings `json:"uefiSettings,omitempty"` } diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go index b5bb506192..fc09a0c47b 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_gcpprovider.go @@ -76,61 +76,61 @@ type GCPMachineProviderSpec struct { // metadata is the standard object's metadata. // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // UserDataSecret contains a local reference to a secret that contains the + // userDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance // +optional UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"` - // CredentialsSecret is a reference to the secret with GCP credentials. + // credentialsSecret is a reference to the secret with GCP credentials. // +optional CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"` - // CanIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. + // canIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. // This is required if you plan to use this instance to forward routes. CanIPForward bool `json:"canIPForward"` - // DeletionProtection whether the resource should be protected against deletion. + // deletionProtection whether the resource should be protected against deletion. DeletionProtection bool `json:"deletionProtection"` - // Disks is a list of disks to be attached to the VM. + // disks is a list of disks to be attached to the VM. // +optional Disks []*GCPDisk `json:"disks,omitempty"` - // Labels list of labels to apply to the VM. + // labels list of labels to apply to the VM. // +optional Labels map[string]string `json:"labels,omitempty"` // Metadata key/value pairs to apply to the VM. // +optional Metadata []*GCPMetadata `json:"gcpMetadata,omitempty"` - // NetworkInterfaces is a list of network interfaces to be attached to the VM. + // networkInterfaces is a list of network interfaces to be attached to the VM. // +optional NetworkInterfaces []*GCPNetworkInterface `json:"networkInterfaces,omitempty"` - // ServiceAccounts is a list of GCP service accounts to be used by the VM. + // serviceAccounts is a list of GCP service accounts to be used by the VM. ServiceAccounts []GCPServiceAccount `json:"serviceAccounts"` - // Tags list of network tags to apply to the VM. + // tags list of network tags to apply to the VM. Tags []string `json:"tags,omitempty"` - // TargetPools are used for network TCP/UDP load balancing. A target pool references member instances, + // targetPools are used for network TCP/UDP load balancing. A target pool references member instances, // an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool // +optional TargetPools []string `json:"targetPools,omitempty"` - // MachineType is the machine type to use for the VM. + // machineType is the machine type to use for the VM. MachineType string `json:"machineType"` - // Region is the region in which the GCP machine provider will create the VM. + // region is the region in which the GCP machine provider will create the VM. Region string `json:"region"` - // Zone is the zone in which the GCP machine provider will create the VM. + // zone is the zone in which the GCP machine provider will create the VM. Zone string `json:"zone"` - // ProjectID is the project in which the GCP machine provider will create the VM. + // projectID is the project in which the GCP machine provider will create the VM. // +optional ProjectID string `json:"projectID,omitempty"` - // GPUs is a list of GPUs to be attached to the VM. + // gpus is a list of GPUs to be attached to the VM. // +optional GPUs []GCPGPUConfig `json:"gpus,omitempty"` - // Preemptible indicates if created instance is preemptible. + // preemptible indicates if created instance is preemptible. // +optional Preemptible bool `json:"preemptible,omitempty"` - // OnHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. + // onHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. // This is required to be set to "Terminate" if you want to provision machine with attached GPUs. // Otherwise, allowed values are "Migrate" and "Terminate". // If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Migrate". // +kubebuilder:validation:Enum=Migrate;Terminate; // +optional OnHostMaintenance GCPHostMaintenanceType `json:"onHostMaintenance,omitempty"` - // RestartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default "Always"). + // restartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default "Always"). // Cannot be "Always" with preemptible instances. // Otherwise, allowed values are "Always" and "Never". // If omitted, the platform chooses a default, which is subject to change over time, currently that default is "Always". @@ -139,7 +139,7 @@ type GCPMachineProviderSpec struct { // +optional RestartPolicy GCPRestartPolicyType `json:"restartPolicy,omitempty"` - // ShieldedInstanceConfig is the Shielded VM configuration for the VM + // shieldedInstanceConfig is the Shielded VM configuration for the VM // +optional ShieldedInstanceConfig GCPShieldedInstanceConfig `json:"shieldedInstanceConfig,omitempty"` @@ -169,7 +169,7 @@ type ResourceManagerTag struct { // An OrganizationID can have a maximum of 32 characters and must consist of decimal numbers, and // cannot have leading zeroes. A ProjectID must be 6 to 30 characters in length, can only contain // lowercase letters, numbers, and hyphens, and must start with a letter, and cannot end with a hyphen. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 // +kubebuilder:validation:Pattern=`(^[1-9][0-9]{0,31}$)|(^[a-z][a-z0-9-]{4,28}[a-z0-9]$)` @@ -178,7 +178,7 @@ type ResourceManagerTag struct { // key is the key part of the tag. A tag key can have a maximum of 63 characters and cannot be empty. // Tag key must begin and end with an alphanumeric character, and must contain only uppercase, lowercase // alphanumeric characters, and the following special characters `._-`. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([0-9A-Za-z_.-]{0,61}[a-zA-Z0-9])?$` @@ -187,7 +187,7 @@ type ResourceManagerTag struct { // value is the value part of the tag. A tag value can have a maximum of 63 characters and cannot be empty. // Tag value must begin and end with an alphanumeric character, and must contain only uppercase, lowercase // alphanumeric characters, and the following special characters `_-.@%=+:,*#&(){}[]` and spaces. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=63 // +kubebuilder:validation:Pattern=`^[a-zA-Z0-9]([0-9A-Za-z_.@%=+:,*#&()\[\]{}\-\s]{0,61}[a-zA-Z0-9])?$` @@ -196,48 +196,48 @@ type ResourceManagerTag struct { // GCPDisk describes disks for GCP. type GCPDisk struct { - // AutoDelete indicates if the disk will be auto-deleted when the instance is deleted (default false). + // autoDelete indicates if the disk will be auto-deleted when the instance is deleted (default false). AutoDelete bool `json:"autoDelete"` - // Boot indicates if this is a boot disk (default false). + // boot indicates if this is a boot disk (default false). Boot bool `json:"boot"` - // SizeGB is the size of the disk (in GB). + // sizeGb is the size of the disk (in GB). SizeGB int64 `json:"sizeGb"` - // Type is the type of the disk (eg: pd-standard). + // type is the type of the disk (eg: pd-standard). Type string `json:"type"` - // Image is the source image to create this disk. + // image is the source image to create this disk. Image string `json:"image"` - // Labels list of labels to apply to the disk. + // labels list of labels to apply to the disk. Labels map[string]string `json:"labels"` - // EncryptionKey is the customer-supplied encryption key of the disk. + // encryptionKey is the customer-supplied encryption key of the disk. // +optional EncryptionKey *GCPEncryptionKeyReference `json:"encryptionKey,omitempty"` } // GCPMetadata describes metadata for GCP. type GCPMetadata struct { - // Key is the metadata key. + // key is the metadata key. Key string `json:"key"` - // Value is the metadata value. + // value is the metadata value. Value *string `json:"value"` } // GCPNetworkInterface describes network interfaces for GCP type GCPNetworkInterface struct { - // PublicIP indicates if true a public IP will be used + // publicIP indicates if true a public IP will be used PublicIP bool `json:"publicIP,omitempty"` - // Network is the network name. + // network is the network name. Network string `json:"network,omitempty"` - // ProjectID is the project in which the GCP machine provider will create the VM. + // projectID is the project in which the GCP machine provider will create the VM. ProjectID string `json:"projectID,omitempty"` - // Subnetwork is the subnetwork name. + // subnetwork is the subnetwork name. Subnetwork string `json:"subnetwork,omitempty"` } // GCPServiceAccount describes service accounts for GCP. type GCPServiceAccount struct { - // Email is the service account email. + // email is the service account email. Email string `json:"email"` - // Scopes list of scopes to be assigned to the service account. + // scopes list of scopes to be assigned to the service account. Scopes []string `json:"scopes"` } @@ -246,7 +246,7 @@ type GCPEncryptionKeyReference struct { // KMSKeyName is the reference KMS key, in the format // +optional KMSKey *GCPKMSKeyReference `json:"kmsKey,omitempty"` - // KMSKeyServiceAccount is the service account being used for the + // kmsKeyServiceAccount is the service account being used for the // encryption request for the given KMS key. If absent, the Compute // Engine default service account is used. // See https://cloud.google.com/compute/docs/access/service-accounts#compute_engine_service_account @@ -257,23 +257,23 @@ type GCPEncryptionKeyReference struct { // GCPKMSKeyReference gathers required fields for looking up a GCP KMS Key type GCPKMSKeyReference struct { - // Name is the name of the customer managed encryption key to be used for the disk encryption. + // name is the name of the customer managed encryption key to be used for the disk encryption. Name string `json:"name"` - // KeyRing is the name of the KMS Key Ring which the KMS Key belongs to. + // keyRing is the name of the KMS Key Ring which the KMS Key belongs to. KeyRing string `json:"keyRing"` - // ProjectID is the ID of the Project in which the KMS Key Ring exists. + // projectID is the ID of the Project in which the KMS Key Ring exists. // Defaults to the VM ProjectID if not set. // +optional ProjectID string `json:"projectID,omitempty"` - // Location is the GCP location in which the Key Ring exists. + // location is the GCP location in which the Key Ring exists. Location string `json:"location"` } // GCPGPUConfig describes type and count of GPUs attached to the instance on GCP. type GCPGPUConfig struct { - // Count is the number of GPUs to be attached to an instance. + // count is the number of GPUs to be attached to an instance. Count int32 `json:"count"` - // Type is the type of GPU to be attached to an instance. + // type is the type of GPU to be attached to an instance. // Supported GPU types are: nvidia-tesla-k80, nvidia-tesla-p100, nvidia-tesla-v100, nvidia-tesla-p4, nvidia-tesla-t4 // +kubebuilder:validation:Pattern=`^nvidia-tesla-(k80|p100|v100|p4|t4)$` Type string `json:"type"` @@ -287,13 +287,13 @@ type GCPMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - // InstanceID is the ID of the instance in GCP + // instanceId is the ID of the instance in GCP // +optional InstanceID *string `json:"instanceId,omitempty"` - // InstanceState is the provisioning state of the GCP Instance. + // instanceState is the provisioning state of the GCP Instance. // +optional InstanceState *string `json:"instanceState,omitempty"` - // Conditions is a set of conditions associated with the Machine to indicate + // conditions is a set of conditions associated with the Machine to indicate // errors or other status // +optional Conditions []metav1.Condition `json:"conditions,omitempty"` @@ -302,14 +302,14 @@ type GCPMachineProviderStatus struct { // GCPShieldedInstanceConfig describes the shielded VM configuration of the instance on GCP. // Shielded VM configuration allow users to enable and disable Secure Boot, vTPM, and Integrity Monitoring. type GCPShieldedInstanceConfig struct { - // SecureBoot Defines whether the instance should have secure boot enabled. + // secureBoot Defines whether the instance should have secure boot enabled. // Secure Boot verify the digital signature of all boot components, and halting the boot process if signature verification fails. // If omitted, the platform chooses a default, which is subject to change over time, currently that default is Disabled. // +kubebuilder:validation:Enum=Enabled;Disabled //+optional SecureBoot SecureBootPolicy `json:"secureBoot,omitempty"` - // VirtualizedTrustedPlatformModule enable virtualized trusted platform module measurements to create a known good boot integrity policy baseline. + // virtualizedTrustedPlatformModule enable virtualized trusted platform module measurements to create a known good boot integrity policy baseline. // The integrity policy baseline is used for comparison with measurements from subsequent VM boots to determine if anything has changed. // This is required to be set to "Enabled" if IntegrityMonitoring is enabled. // If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled. @@ -317,7 +317,7 @@ type GCPShieldedInstanceConfig struct { // +optional VirtualizedTrustedPlatformModule VirtualizedTrustedPlatformModulePolicy `json:"virtualizedTrustedPlatformModule,omitempty"` - // IntegrityMonitoring determines whether the instance should have integrity monitoring that verify the runtime boot integrity. + // integrityMonitoring determines whether the instance should have integrity monitoring that verify the runtime boot integrity. // Compares the most recent boot measurements to the integrity policy baseline and return // a pair of pass/fail results depending on whether they match or not. // If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled. diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go b/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go index c8fcb192bd..9bd3bdd60b 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_machine.go @@ -227,7 +227,7 @@ type MachineSpec struct { // +optional ObjectMeta `json:"metadata,omitempty"` - // LifecycleHooks allow users to pause operations on the machine at + // lifecycleHooks allow users to pause operations on the machine at // certain predefined points within the machine lifecycle. // +optional LifecycleHooks LifecycleHooks `json:"lifecycleHooks,omitempty"` @@ -242,11 +242,11 @@ type MachineSpec struct { // +listType=atomic Taints []corev1.Taint `json:"taints,omitempty"` - // ProviderSpec details Provider-specific configuration to use during node creation. + // providerSpec details Provider-specific configuration to use during node creation. // +optional ProviderSpec ProviderSpec `json:"providerSpec"` - // ProviderID is the identification ID of the machine provided by the provider. + // providerID is the identification ID of the machine provided by the provider. // This field must match the provider ID as seen on the node object corresponding to this machine. // This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler // with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out @@ -277,14 +277,14 @@ type MachineSpec struct { // LifecycleHooks allow users to pause operations on the machine at // certain prefedined points within the machine lifecycle. type LifecycleHooks struct { - // PreDrain hooks prevent the machine from being drained. + // preDrain hooks prevent the machine from being drained. // This also blocks further lifecycle events, such as termination. // +listType=map // +listMapKey=name // +optional PreDrain []LifecycleHook `json:"preDrain,omitempty"` - // PreTerminate hooks prevent the machine from being terminated. + // preTerminate hooks prevent the machine from being terminated. // PreTerminate hooks be actioned after the Machine has been drained. // +listType=map // +listMapKey=name @@ -294,39 +294,39 @@ type LifecycleHooks struct { // LifecycleHook represents a single instance of a lifecycle hook type LifecycleHook struct { - // Name defines a unique name for the lifcycle hook. + // name defines a unique name for the lifcycle hook. // The name should be unique and descriptive, ideally 1-3 words, in CamelCase or // it may be namespaced, eg. foo.example.com/CamelCase. // Names must be unique and should only be managed by a single entity. // +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$` // +kubebuilder:validation:MinLength=3 // +kubebuilder:validation:MaxLength=256 - // +kubebuilder:validation:Required + // +required Name string `json:"name"` - // Owner defines the owner of the lifecycle hook. + // owner defines the owner of the lifecycle hook. // This should be descriptive enough so that users can identify // who/what is responsible for blocking the lifecycle. // This could be the name of a controller (e.g. clusteroperator/etcd) // or an administrator managing the hook. // +kubebuilder:validation:MinLength=3 // +kubebuilder:validation:MaxLength=512 - // +kubebuilder:validation:Required + // +required Owner string `json:"owner"` } // MachineStatus defines the observed state of Machine // +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="!has(oldSelf.synchronizedGeneration) || (has(self.synchronizedGeneration) && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == 'Migrating' && self.authoritativeAPI != 'Migrating')",message="synchronizedGeneration must not decrease unless authoritativeAPI is transitioning from Migrating to another value" type MachineStatus struct { - // NodeRef will point to the corresponding Node if it exists. + // nodeRef will point to the corresponding Node if it exists. // +optional NodeRef *corev1.ObjectReference `json:"nodeRef,omitempty"` - // LastUpdated identifies when this status was last observed. + // lastUpdated identifies when this status was last observed. // +optional LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` - // ErrorReason will be set in the event that there is a terminal problem + // errorReason will be set in the event that there is a terminal problem // reconciling the Machine and will contain a succinct value suitable // for machine interpretation. // @@ -345,7 +345,7 @@ type MachineStatus struct { // +optional ErrorReason *MachineStatusError `json:"errorReason,omitempty"` - // ErrorMessage will be set in the event that there is a terminal problem + // errorMessage will be set in the event that there is a terminal problem // reconciling the Machine and will contain a more verbose string suitable // for logging and human consumption. // @@ -364,7 +364,7 @@ type MachineStatus struct { // +optional ErrorMessage *string `json:"errorMessage,omitempty"` - // ProviderStatus details a Provider-specific status. + // providerStatus details a Provider-specific status. // It is recommended that providers maintain their // own versioned API types that should be // serialized/deserialized from this field. @@ -372,24 +372,24 @@ type MachineStatus struct { // +kubebuilder:validation:XPreserveUnknownFields ProviderStatus *runtime.RawExtension `json:"providerStatus,omitempty"` - // Addresses is a list of addresses assigned to the machine. Queried from cloud provider, if available. + // addresses is a list of addresses assigned to the machine. Queried from cloud provider, if available. // +optional // +listType=atomic Addresses []corev1.NodeAddress `json:"addresses,omitempty"` - // LastOperation describes the last-operation performed by the machine-controller. + // lastOperation describes the last-operation performed by the machine-controller. // This API should be useful as a history in terms of the latest operation performed on the // specific machine. It should also convey the state of the latest-operation for example if // it is still on-going, failed or completed successfully. // +optional LastOperation *LastOperation `json:"lastOperation,omitempty"` - // Phase represents the current phase of machine actuation. + // phase represents the current phase of machine actuation. // One of: Failed, Provisioning, Provisioned, Running, Deleting // +optional Phase *string `json:"phase,omitempty"` - // Conditions defines the current state of the Machine + // conditions defines the current state of the Machine // +listType=map // +listMapKey=type Conditions []Condition `json:"conditions,omitempty"` @@ -415,17 +415,17 @@ type MachineStatus struct { // LastOperation represents the detail of the last performed operation on the MachineObject. type LastOperation struct { - // Description is the human-readable description of the last operation. + // description is the human-readable description of the last operation. Description *string `json:"description,omitempty"` - // LastUpdated is the timestamp at which LastOperation API was last-updated. + // lastUpdated is the timestamp at which LastOperation API was last-updated. LastUpdated *metav1.Time `json:"lastUpdated,omitempty"` - // State is the current status of the last performed operation. + // state is the current status of the last performed operation. // E.g. Processing, Failed, Successful etc State *string `json:"state,omitempty"` - // Type is the type of operation which was last performed. + // type is the type of operation which was last performed. // E.g. Create, Delete, Update etc Type *string `json:"type,omitempty"` } diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_machinehealthcheck.go b/vendor/github.com/openshift/api/machine/v1beta1/types_machinehealthcheck.go index 912b7dea5d..76c79acb0b 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_machinehealthcheck.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_machinehealthcheck.go @@ -64,7 +64,7 @@ type MachineHealthCheckSpec struct { // Note: An empty selector will match all machines. Selector metav1.LabelSelector `json:"selector"` - // UnhealthyConditions contains a list of the conditions that determine + // unhealthyConditions contains a list of the conditions that determine // whether a node is considered unhealthy. The conditions are combined in a // logical OR, i.e. if any of the conditions is met, the node is unhealthy. // @@ -96,7 +96,7 @@ type MachineHealthCheckSpec struct { // +optional NodeStartupTimeout *metav1.Duration `json:"nodeStartupTimeout,omitempty"` - // RemediationTemplate is a reference to a remediation template + // remediationTemplate is a reference to a remediation template // provided by an infrastructure provider. // // This field is completely optional, when filled, the MachineHealthCheck controller @@ -136,13 +136,13 @@ type MachineHealthCheckStatus struct { // +kubebuilder:validation:Minimum=0 CurrentHealthy *int `json:"currentHealthy"` - // RemediationsAllowed is the number of further remediations allowed by this machine health check before + // remediationsAllowed is the number of further remediations allowed by this machine health check before // maxUnhealthy short circuiting will be applied // +kubebuilder:validation:Minimum=0 // +optional RemediationsAllowed int32 `json:"remediationsAllowed"` - // Conditions defines the current state of the MachineHealthCheck + // conditions defines the current state of the MachineHealthCheck // +optional // +listType=map // +listMapKey=type diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go b/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go index a14d50eb78..a29977f347 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_machineset.go @@ -38,25 +38,25 @@ type MachineSet struct { // MachineSetSpec defines the desired state of MachineSet type MachineSetSpec struct { - // Replicas is the number of desired replicas. + // replicas is the number of desired replicas. // This is a pointer to distinguish between explicit zero and unspecified. // Defaults to 1. // +kubebuilder:default=1 Replicas *int32 `json:"replicas,omitempty"` - // MinReadySeconds is the minimum number of seconds for which a newly created machine should be ready. + // minReadySeconds is the minimum number of seconds for which a newly created machine should be ready. // Defaults to 0 (machine will be considered available as soon as it is ready) // +optional MinReadySeconds int32 `json:"minReadySeconds,omitempty"` - // DeletePolicy defines the policy used to identify nodes to delete when downscaling. + // deletePolicy defines the policy used to identify nodes to delete when downscaling. // Defaults to "Random". Valid values are "Random, "Newest", "Oldest" // +kubebuilder:validation:Enum=Random;Newest;Oldest DeletePolicy string `json:"deletePolicy,omitempty"` - // Selector is a label query over machines that should match the replica count. + // selector is a label query over machines that should match the replica count. // Label keys and values that must match in order to be controlled by this MachineSet. // It must match the machine template's labels. // More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors Selector metav1.LabelSelector `json:"selector"` - // Template is the object that describes the machine that will be created if + // template is the object that describes the machine that will be created if // insufficient replicas are detected. // +optional Template MachineTemplateSpec `json:"template,omitempty"` @@ -113,7 +113,7 @@ type MachineTemplateSpec struct { // MachineSetStatus defines the observed state of MachineSet // +openshift:validation:FeatureGateAwareXValidation:featureGate=MachineAPIMigration,rule="!has(oldSelf.synchronizedGeneration) || (has(self.synchronizedGeneration) && self.synchronizedGeneration >= oldSelf.synchronizedGeneration) || (oldSelf.authoritativeAPI == 'Migrating' && self.authoritativeAPI != 'Migrating')",message="synchronizedGeneration must not decrease unless authoritativeAPI is transitioning from Migrating to another value" type MachineSetStatus struct { - // Replicas is the most recently observed number of replicas. + // replicas is the most recently observed number of replicas. Replicas int32 `json:"replicas"` // The number of replicas that have labels matching the labels of the machine template of the MachineSet. // +optional @@ -124,7 +124,7 @@ type MachineSetStatus struct { // The number of available replicas (ready for at least minReadySeconds) for this MachineSet. // +optional AvailableReplicas int32 `json:"availableReplicas,omitempty"` - // ObservedGeneration reflects the generation of the most recently observed MachineSet. + // observedGeneration reflects the generation of the most recently observed MachineSet. // +optional ObservedGeneration int64 `json:"observedGeneration,omitempty"` // In the event that there is a terminal problem reconciling the @@ -150,7 +150,7 @@ type MachineSetStatus struct { // +optional ErrorMessage *string `json:"errorMessage,omitempty"` - // Conditions defines the current state of the MachineSet + // conditions defines the current state of the MachineSet // +listType=map // +listMapKey=type Conditions []Condition `json:"conditions,omitempty"` diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_provider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_provider.go index e9de632783..812358e89f 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_provider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_provider.go @@ -11,7 +11,7 @@ type ProviderSpec struct { // No more than one of the following may be specified. - // Value is an inlined, serialized representation of the resource + // value is an inlined, serialized representation of the resource // configuration. It is recommended that providers maintain their own // versioned API types that should be serialized/deserialized from this // field, akin to component config. @@ -42,7 +42,7 @@ type ProviderSpec struct { // In future versions, controller-tools@v2 might allow overriding the type and validation for embedded // types. When that happens, this hack should be revisited. type ObjectMeta struct { - // Name must be unique within a namespace. Is required when creating resources, although + // name must be unique within a namespace. Is required when creating resources, although // some resources may allow a client to request the generation of an appropriate name // automatically. Name is primarily intended for creation idempotence and configuration // definition. @@ -51,7 +51,7 @@ type ObjectMeta struct { // +optional Name string `json:"name,omitempty"` - // GenerateName is an optional prefix, used by the server, to generate a unique + // generateName is an optional prefix, used by the server, to generate a unique // name ONLY IF the Name field has not been provided. // If this field is used, the name returned to the client will be different // than the name passed. This value will also be combined with a unique suffix. @@ -69,7 +69,7 @@ type ObjectMeta struct { // +optional GenerateName string `json:"generateName,omitempty"` - // Namespace defines the space within each name must be unique. An empty namespace is + // namespace defines the space within each name must be unique. An empty namespace is // equivalent to the "default" namespace, but "default" is the canonical representation. // Not all objects are required to be scoped to a namespace - the value of this field for // those objects will be empty. @@ -87,7 +87,7 @@ type ObjectMeta struct { // +optional Labels map[string]string `json:"labels,omitempty"` - // Annotations is an unstructured key value map stored with a resource that may be + // annotations is an unstructured key value map stored with a resource that may be // set by external tools to store and retrieve arbitrary metadata. They are not // queryable and should be preserved when modifying objects. // More info: http://kubernetes.io/docs/user-guide/annotations @@ -193,18 +193,17 @@ const ( // Condition defines an observation of a Machine API resource operational state. type Condition struct { - // Type of condition in CamelCase or in foo.example.com/CamelCase. + // type of condition in CamelCase or in foo.example.com/CamelCase. // Many .condition.type values are consistent across resources like Available, but because arbitrary conditions // can be useful (see .node.status.conditions), the ability to deconflict is important. // +required - // +kubebuilder:validation:Required Type ConditionType `json:"type"` - // Status of the condition, one of True, False, Unknown. + // status of the condition, one of True, False, Unknown. // +required Status corev1.ConditionStatus `json:"status"` - // Severity provides an explicit classification of Reason code, so the users or machines can immediately + // severity provides an explicit classification of Reason code, so the users or machines can immediately // understand the current situation and act accordingly. // The Severity field MUST be set only when Status=False. // +optional diff --git a/vendor/github.com/openshift/api/machine/v1beta1/types_vsphereprovider.go b/vendor/github.com/openshift/api/machine/v1beta1/types_vsphereprovider.go index f458cbf6ef..50b6e8f540 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/types_vsphereprovider.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/types_vsphereprovider.go @@ -14,22 +14,22 @@ type VSphereMachineProviderSpec struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` - // UserDataSecret contains a local reference to a secret that contains the + // userDataSecret contains a local reference to a secret that contains the // UserData to apply to the instance // +optional UserDataSecret *corev1.LocalObjectReference `json:"userDataSecret,omitempty"` - // CredentialsSecret is a reference to the secret with vSphere credentials. + // credentialsSecret is a reference to the secret with vSphere credentials. // +optional CredentialsSecret *corev1.LocalObjectReference `json:"credentialsSecret,omitempty"` - // Template is the name, inventory path, or instance UUID of the template + // template is the name, inventory path, or instance UUID of the template // used to clone new machines. Template string `json:"template"` - // Workspace describes the workspace to use for the machine. + // workspace describes the workspace to use for the machine. // +optional Workspace *Workspace `json:"workspace,omitempty"` - // Network is the network configuration for this machine's VM. + // network is the network configuration for this machine's VM. Network NetworkSpec `json:"network"` - // NumCPUs is the number of virtual processors in a virtual machine. + // numCPUs is the number of virtual processors in a virtual machine. // Defaults to the analogue property value in the template from which this // machine is cloned. // +optional @@ -40,12 +40,12 @@ type VSphereMachineProviderSpec struct { // machine is cloned. // +optional NumCoresPerSocket int32 `json:"numCoresPerSocket,omitempty"` - // MemoryMiB is the size of a virtual machine's memory, in MiB. + // memoryMiB is the size of a virtual machine's memory, in MiB. // Defaults to the analogue property value in the template from which this // machine is cloned. // +optional MemoryMiB int64 `json:"memoryMiB,omitempty"` - // DiskGiB is the size of a virtual machine's disk, in GiB. + // diskGiB is the size of a virtual machine's disk, in GiB. // Defaults to the analogue property value in the template from which this // machine is cloned. // This parameter will be ignored if 'LinkedClone' CloneMode is set. @@ -57,10 +57,10 @@ type VSphereMachineProviderSpec struct { // +kubebuilder:example="urn:vmomi:InventoryServiceTag:5736bf56-49f5-4667-b38c-b97e09dc9578:GLOBAL" // +optional TagIDs []string `json:"tagIDs,omitempty"` - // Snapshot is the name of the snapshot from which the VM was cloned + // snapshot is the name of the snapshot from which the VM was cloned // +optional Snapshot string `json:"snapshot"` - // CloneMode specifies the type of clone operation. + // cloneMode specifies the type of clone operation. // The LinkedClone mode is only support for templates that have at least // one snapshot. If the template has no snapshots, then CloneMode defaults // to FullClone. @@ -89,7 +89,7 @@ const ( // NetworkSpec defines the virtual machine's network configuration. type NetworkSpec struct { - // Devices defines the virtual machine's network interfaces. + // devices defines the virtual machine's network interfaces. Devices []NetworkDeviceSpec `json:"devices"` } @@ -100,19 +100,19 @@ type AddressesFromPool struct { // This should be a fully qualified domain name, for example, externalipam.controller.io. // +kubebuilder:example=externalipam.controller.io // +kubebuilder:validation:Pattern="^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$" - // +kubebuilder:validation:Required + // +required Group string `json:"group"` // resource of the IP address pool type known to an external IPAM controller. // It is normally the plural form of the resource kind in lowercase, for example, // ippools. // +kubebuilder:example=ippools // +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" - // +kubebuilder:validation:Required + // +required Resource string `json:"resource"` // name of an IP address pool, for example, pool-config-1. // +kubebuilder:example=pool-config-1 // +kubebuilder:validation:Pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" - // +kubebuilder:validation:Required + // +required Name string `json:"name"` } @@ -175,21 +175,25 @@ type NetworkDeviceSpec struct { // WorkspaceConfig defines a workspace configuration for the vSphere cloud // provider. type Workspace struct { - // Server is the IP address or FQDN of the vSphere endpoint. + // server is the IP address or FQDN of the vSphere endpoint. // +optional Server string `gcfg:"server,omitempty" json:"server,omitempty"` - // Datacenter is the datacenter in which VMs are created/located. + // datacenter is the datacenter in which VMs are created/located. // +optional Datacenter string `gcfg:"datacenter,omitempty" json:"datacenter,omitempty"` - // Folder is the folder in which VMs are created/located. + // folder is the folder in which VMs are created/located. // +optional Folder string `gcfg:"folder,omitempty" json:"folder,omitempty"` - // Datastore is the datastore in which VMs are created/located. + // datastore is the datastore in which VMs are created/located. // +optional Datastore string `gcfg:"default-datastore,omitempty" json:"datastore,omitempty"` - // ResourcePool is the resource pool in which VMs are created/located. + // resourcePool is the resource pool in which VMs are created/located. // +optional ResourcePool string `gcfg:"resourcepool-path,omitempty" json:"resourcePool,omitempty"` + // vmGroup is the cluster vm group in which virtual machines will be added for vm host group based zonal. + // +openshift:validation:featureGate=VSphereHostVMGroupZonal + // +optional + VMGroup string `gcfg:"vmGroup,omitempty" json:"vmGroup,omitempty"` } // VSphereMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. @@ -199,16 +203,16 @@ type Workspace struct { type VSphereMachineProviderStatus struct { metav1.TypeMeta `json:",inline"` - // InstanceID is the ID of the instance in VSphere + // instanceId is the ID of the instance in VSphere // +optional InstanceID *string `json:"instanceId,omitempty"` - // InstanceState is the provisioning state of the VSphere Instance. + // instanceState is the provisioning state of the VSphere Instance. // +optional InstanceState *string `json:"instanceState,omitempty"` - // Conditions is a set of conditions associated with the Machine to indicate + // conditions is a set of conditions associated with the Machine to indicate // errors or other status Conditions []metav1.Condition `json:"conditions,omitempty"` - // TaskRef is a managed object reference to a Task related to the machine. + // taskRef is a managed object reference to a Task related to the machine. // This value is set automatically at runtime and should not be set or // modified by users. // +optional diff --git a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go index 5bba232bf7..e26f79a45f 100644 --- a/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/machine/v1beta1/zz_generated.swagger_doc_generated.go @@ -13,24 +13,24 @@ package v1beta1 // AUTO-GENERATED FUNCTIONS START HERE var map_AWSMachineProviderConfig = map[string]string{ "": "AWSMachineProviderConfig is the Schema for the awsmachineproviderconfigs API Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "ami": "AMI is the reference to the AMI from which to create the machine instance.", - "instanceType": "InstanceType is the type of instance to create. Example: m4.xlarge", - "tags": "Tags is the set of tags to add to apply to an instance, in addition to the ones added by default by the actuator. These tags are additive. The actuator will ensure these tags are present, but will not remove any other tags that may exist on the instance.", - "iamInstanceProfile": "IAMInstanceProfile is a reference to an IAM role to assign to the instance", - "userDataSecret": "UserDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", - "credentialsSecret": "CredentialsSecret is a reference to the secret with AWS credentials. Otherwise, defaults to permissions provided by attached IAM role where the actuator is running.", - "keyName": "KeyName is the name of the KeyPair to use for SSH", - "deviceIndex": "DeviceIndex is the index of the device on the instance for the network interface attachment. Defaults to 0.", - "publicIp": "PublicIP specifies whether the instance should get a public IP. If not present, it should use the default of its subnet.", - "networkInterfaceType": "NetworkInterfaceType specifies the type of network interface to be used for the primary network interface. Valid values are \"ENA\", \"EFA\", and omitted, which means no opinion and the platform chooses a good default which may change over time. The current default value is \"ENA\". Please visit https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html to learn more about the AWS Elastic Fabric Adapter interface option.", - "securityGroups": "SecurityGroups is an array of references to security groups that should be applied to the instance.", - "subnet": "Subnet is a reference to the subnet to use for this instance", - "placement": "Placement specifies where to create the instance in AWS", - "loadBalancers": "LoadBalancers is the set of load balancers to which the new instance should be added once it is created.", - "blockDevices": "BlockDevices is the set of block device mapping associated to this instance, block device without a name will be used as a root device and only one device without a name is allowed https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html", - "spotMarketOptions": "SpotMarketOptions allows users to configure instances to be run using AWS Spot instances.", - "metadataServiceOptions": "MetadataServiceOptions allows users to configure instance metadata service interaction options. If nothing specified, default AWS IMDS settings will be applied. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html", - "placementGroupName": "PlacementGroupName specifies the name of the placement group in which to launch the instance. The placement group must already be created and may use any placement strategy. When omitted, no placement group is used when creating the EC2 instance.", + "ami": "ami is the reference to the AMI from which to create the machine instance.", + "instanceType": "instanceType is the type of instance to create. Example: m4.xlarge", + "tags": "tags is the set of tags to add to apply to an instance, in addition to the ones added by default by the actuator. These tags are additive. The actuator will ensure these tags are present, but will not remove any other tags that may exist on the instance.", + "iamInstanceProfile": "iamInstanceProfile is a reference to an IAM role to assign to the instance", + "userDataSecret": "userDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", + "credentialsSecret": "credentialsSecret is a reference to the secret with AWS credentials. Otherwise, defaults to permissions provided by attached IAM role where the actuator is running.", + "keyName": "keyName is the name of the KeyPair to use for SSH", + "deviceIndex": "deviceIndex is the index of the device on the instance for the network interface attachment. Defaults to 0.", + "publicIp": "publicIp specifies whether the instance should get a public IP. If not present, it should use the default of its subnet.", + "networkInterfaceType": "networkInterfaceType specifies the type of network interface to be used for the primary network interface. Valid values are \"ENA\", \"EFA\", and omitted, which means no opinion and the platform chooses a good default which may change over time. The current default value is \"ENA\". Please visit https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/efa.html to learn more about the AWS Elastic Fabric Adapter interface option.", + "securityGroups": "securityGroups is an array of references to security groups that should be applied to the instance.", + "subnet": "subnet is a reference to the subnet to use for this instance", + "placement": "placement specifies where to create the instance in AWS", + "loadBalancers": "loadBalancers is the set of load balancers to which the new instance should be added once it is created.", + "blockDevices": "blockDevices is the set of block device mapping associated to this instance, block device without a name will be used as a root device and only one device without a name is allowed https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/block-device-mapping-concepts.html", + "spotMarketOptions": "spotMarketOptions allows users to configure instances to be run using AWS Spot instances.", + "metadataServiceOptions": "metadataServiceOptions allows users to configure instance metadata service interaction options. If nothing specified, default AWS IMDS settings will be applied. https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html", + "placementGroupName": "placementGroupName specifies the name of the placement group in which to launch the instance. The placement group must already be created and may use any placement strategy. When omitted, no placement group is used when creating the EC2 instance.", "placementGroupPartition": "placementGroupPartition is the partition number within the placement group in which to launch the instance. This must be an integer value between 1 and 7. It is only valid if the placement group, referred in `PlacementGroupName` was created with strategy set to partition.", "capacityReservationId": "capacityReservationId specifies the target Capacity Reservation into which the instance should be launched. The field size should be greater than 0 and the field input must start with cr-***", } @@ -49,9 +49,9 @@ func (AWSMachineProviderConfigList) SwaggerDoc() map[string]string { var map_AWSMachineProviderStatus = map[string]string{ "": "AWSMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains AWS-specific status information. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "instanceId": "InstanceID is the instance ID of the machine created in AWS", - "instanceState": "InstanceState is the state of the AWS instance for this machine", - "conditions": "Conditions is a set of conditions associated with the Machine to indicate errors or other status", + "instanceId": "instanceId is the instance ID of the machine created in AWS", + "instanceState": "instanceState is the state of the AWS instance for this machine", + "conditions": "conditions is a set of conditions associated with the Machine to indicate errors or other status", } func (AWSMachineProviderStatus) SwaggerDoc() map[string]string { @@ -60,9 +60,9 @@ func (AWSMachineProviderStatus) SwaggerDoc() map[string]string { var map_AWSResourceReference = map[string]string{ "": "AWSResourceReference is a reference to a specific AWS resource by ID, ARN, or filters. Only one of ID, ARN or Filters may be specified. Specifying more than one will result in a validation error.", - "id": "ID of resource", - "arn": "ARN of resource", - "filters": "Filters is a set of filters used to identify a resource", + "id": "id of resource", + "arn": "arn of resource", + "filters": "filters is a set of filters used to identify a resource", } func (AWSResourceReference) SwaggerDoc() map[string]string { @@ -97,8 +97,8 @@ func (EBSBlockDeviceSpec) SwaggerDoc() map[string]string { var map_Filter = map[string]string{ "": "Filter is a filter used to identify an AWS resource", - "name": "Name of the filter. Filter names are case-sensitive.", - "values": "Values includes one or more filter values. Filter values are case-sensitive.", + "name": "name of the filter. Filter names are case-sensitive.", + "values": "values includes one or more filter values. Filter values are case-sensitive.", } func (Filter) SwaggerDoc() map[string]string { @@ -115,7 +115,7 @@ func (LoadBalancerReference) SwaggerDoc() map[string]string { var map_MetadataServiceOptions = map[string]string{ "": "MetadataServiceOptions defines the options available to a user when configuring Instance Metadata Service (IMDS) Options.", - "authentication": "Authentication determines whether or not the host requires the use of authentication when interacting with the metadata service. When using authentication, this enforces v2 interaction method (IMDSv2) with the metadata service. When omitted, this means the user has no opinion and the value is left to the platform to choose a good default, which is subject to change over time. The current default is optional. At this point this field represents `HttpTokens` parameter from `InstanceMetadataOptionsRequest` structure in AWS EC2 API https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html", + "authentication": "authentication determines whether or not the host requires the use of authentication when interacting with the metadata service. When using authentication, this enforces v2 interaction method (IMDSv2) with the metadata service. When omitted, this means the user has no opinion and the value is left to the platform to choose a good default, which is subject to change over time. The current default is optional. At this point this field represents `HttpTokens` parameter from `InstanceMetadataOptionsRequest` structure in AWS EC2 API https://docs.aws.amazon.com/AWSEC2/latest/APIReference/API_InstanceMetadataOptionsRequest.html", } func (MetadataServiceOptions) SwaggerDoc() map[string]string { @@ -124,9 +124,9 @@ func (MetadataServiceOptions) SwaggerDoc() map[string]string { var map_Placement = map[string]string{ "": "Placement indicates where to create the instance in AWS", - "region": "Region is the region to use to create the instance", - "availabilityZone": "AvailabilityZone is the availability zone of the instance", - "tenancy": "Tenancy indicates if instance should run on shared or single-tenant hardware. There are supported 3 options: default, dedicated and host.", + "region": "region is the region to use to create the instance", + "availabilityZone": "availabilityZone is the availability zone of the instance", + "tenancy": "tenancy indicates if instance should run on shared or single-tenant hardware. There are supported 3 options: default, dedicated and host.", } func (Placement) SwaggerDoc() map[string]string { @@ -144,8 +144,8 @@ func (SpotMarketOptions) SwaggerDoc() map[string]string { var map_TagSpecification = map[string]string{ "": "TagSpecification is the name/value pair for a tag", - "name": "Name of the tag", - "value": "Value of the tag", + "name": "name of the tag", + "value": "value of the tag", } func (TagSpecification) SwaggerDoc() map[string]string { @@ -154,8 +154,8 @@ func (TagSpecification) SwaggerDoc() map[string]string { var map_AzureBootDiagnostics = map[string]string{ "": "AzureBootDiagnostics configures the boot diagnostics settings for the virtual machine. This allows you to configure capturing serial output from the virtual machine on boot. This is useful for debugging software based launch issues.", - "storageAccountType": "StorageAccountType determines if the storage account for storing the diagnostics data should be provisioned by Azure (AzureManaged) or by the customer (CustomerManaged).", - "customerManaged": "CustomerManaged provides reference to the customer manager storage account.", + "storageAccountType": "storageAccountType determines if the storage account for storing the diagnostics data should be provisioned by Azure (AzureManaged) or by the customer (CustomerManaged).", + "customerManaged": "customerManaged provides reference to the customer manager storage account.", } func (AzureBootDiagnostics) SwaggerDoc() map[string]string { @@ -164,7 +164,7 @@ func (AzureBootDiagnostics) SwaggerDoc() map[string]string { var map_AzureCustomerManagedBootDiagnostics = map[string]string{ "": "AzureCustomerManagedBootDiagnostics provides reference to a customer managed storage account.", - "storageAccountURI": "StorageAccountURI is the URI of the customer managed storage account. The URI typically will be `https://.blob.core.windows.net/` but may differ if you are using Azure DNS zone endpoints. You can find the correct endpoint by looking for the Blob Primary Endpoint in the endpoints tab in the Azure console.", + "storageAccountURI": "storageAccountURI is the URI of the customer managed storage account. The URI typically will be `https://.blob.core.windows.net/` but may differ if you are using Azure DNS zone endpoints. You can find the correct endpoint by looking for the Blob Primary Endpoint in the endpoints tab in the Azure console.", } func (AzureCustomerManagedBootDiagnostics) SwaggerDoc() map[string]string { @@ -182,33 +182,33 @@ func (AzureDiagnostics) SwaggerDoc() map[string]string { var map_AzureMachineProviderSpec = map[string]string{ "": "AzureMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an Azure virtual machine. It is used by the Azure machine actuator to create a single Machine. Required parameters such as location that are not specified by this configuration, will be defaulted by the actuator. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "userDataSecret": "UserDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", - "credentialsSecret": "CredentialsSecret is a reference to the secret with Azure credentials.", - "location": "Location is the region to use to create the instance", - "vmSize": "VMSize is the size of the VM to create.", - "image": "Image is the OS image to use to create the instance.", - "osDisk": "OSDisk represents the parameters for creating the OS disk.", + "userDataSecret": "userDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", + "credentialsSecret": "credentialsSecret is a reference to the secret with Azure credentials.", + "location": "location is the region to use to create the instance", + "vmSize": "vmSize is the size of the VM to create.", + "image": "image is the OS image to use to create the instance.", + "osDisk": "osDisk represents the parameters for creating the OS disk.", "dataDisks": "DataDisk specifies the parameters that are used to add one or more data disks to the machine.", - "sshPublicKey": "SSHPublicKey is the public key to use to SSH to the virtual machine.", - "publicIP": "PublicIP if true a public IP will be used", - "tags": "Tags is a list of tags to apply to the machine.", + "sshPublicKey": "sshPublicKey is the public key to use to SSH to the virtual machine.", + "publicIP": "publicIP if true a public IP will be used", + "tags": "tags is a list of tags to apply to the machine.", "securityGroup": "Network Security Group that needs to be attached to the machine's interface. No security group will be attached if empty.", "applicationSecurityGroups": "Application Security Groups that need to be attached to the machine's interface. No application security groups will be attached if zero-length.", - "subnet": "Subnet to use for this instance", - "publicLoadBalancer": "PublicLoadBalancer to use for this instance", + "subnet": "subnet to use for this instance", + "publicLoadBalancer": "publicLoadBalancer to use for this instance", "internalLoadBalancer": "InternalLoadBalancerName to use for this instance", - "natRule": "NatRule to set inbound NAT rule of the load balancer", - "managedIdentity": "ManagedIdentity to set managed identity name", - "vnet": "Vnet to set virtual network name", + "natRule": "natRule to set inbound NAT rule of the load balancer", + "managedIdentity": "managedIdentity to set managed identity name", + "vnet": "vnet to set virtual network name", "zone": "Availability Zone for the virtual machine. If nil, the virtual machine should be deployed to no zone", - "networkResourceGroup": "NetworkResourceGroup is the resource group for the virtual machine's network", - "resourceGroup": "ResourceGroup is the resource group for the virtual machine", - "spotVMOptions": "SpotVMOptions allows the ability to specify the Machine should use a Spot VM", - "securityProfile": "SecurityProfile specifies the Security profile settings for a virtual machine.", - "ultraSSDCapability": "UltraSSDCapability enables or disables Azure UltraSSD capability for a virtual machine. This can be used to allow/disallow binding of Azure UltraSSD to the Machine both as Data Disks or via Persistent Volumes. This Azure feature is subject to a specific scope and certain limitations. More informations on this can be found in the official Azure documentation for Ultra Disks: (https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd?tabs=azure-portal#ga-scope-and-limitations).\n\nWhen omitted, if at least one Data Disk of type UltraSSD is specified, the platform will automatically enable the capability. If a Perisistent Volume backed by an UltraSSD is bound to a Pod on the Machine, when this field is ommitted, the platform will *not* automatically enable the capability (unless already enabled by the presence of an UltraSSD as Data Disk). This may manifest in the Pod being stuck in `ContainerCreating` phase. This defaulting behaviour may be subject to change in future.\n\nWhen set to \"Enabled\", if the capability is available for the Machine based on the scope and limitations described above, the capability will be set on the Machine. This will thus allow UltraSSD both as Data Disks and Persistent Volumes. If set to \"Enabled\" when the capability can't be available due to scope and limitations, the Machine will go into \"Failed\" state.\n\nWhen set to \"Disabled\", UltraSSDs will not be allowed either as Data Disks nor as Persistent Volumes. In this case if any UltraSSDs are specified as Data Disks on a Machine, the Machine will go into a \"Failed\" state. If instead any UltraSSDs are backing the volumes (via Persistent Volumes) of any Pods scheduled on a Node which is backed by the Machine, the Pod may get stuck in `ContainerCreating` phase.", - "acceleratedNetworking": "AcceleratedNetworking enables or disables Azure accelerated networking feature. Set to false by default. If true, then this will depend on whether the requested VMSize is supported. If set to true with an unsupported VMSize, Azure will return an error.", - "availabilitySet": "AvailabilitySet specifies the availability set to use for this instance. Availability set should be precreated, before using this field.", - "diagnostics": "Diagnostics configures the diagnostics settings for the virtual machine. This allows you to configure boot diagnostics such as capturing serial output from the virtual machine on boot. This is useful for debugging software based launch issues.", + "networkResourceGroup": "networkResourceGroup is the resource group for the virtual machine's network", + "resourceGroup": "resourceGroup is the resource group for the virtual machine", + "spotVMOptions": "spotVMOptions allows the ability to specify the Machine should use a Spot VM", + "securityProfile": "securityProfile specifies the Security profile settings for a virtual machine.", + "ultraSSDCapability": "ultraSSDCapability enables or disables Azure UltraSSD capability for a virtual machine. This can be used to allow/disallow binding of Azure UltraSSD to the Machine both as Data Disks or via Persistent Volumes. This Azure feature is subject to a specific scope and certain limitations. More informations on this can be found in the official Azure documentation for Ultra Disks: (https://docs.microsoft.com/en-us/azure/virtual-machines/disks-enable-ultra-ssd?tabs=azure-portal#ga-scope-and-limitations).\n\nWhen omitted, if at least one Data Disk of type UltraSSD is specified, the platform will automatically enable the capability. If a Perisistent Volume backed by an UltraSSD is bound to a Pod on the Machine, when this field is ommitted, the platform will *not* automatically enable the capability (unless already enabled by the presence of an UltraSSD as Data Disk). This may manifest in the Pod being stuck in `ContainerCreating` phase. This defaulting behaviour may be subject to change in future.\n\nWhen set to \"Enabled\", if the capability is available for the Machine based on the scope and limitations described above, the capability will be set on the Machine. This will thus allow UltraSSD both as Data Disks and Persistent Volumes. If set to \"Enabled\" when the capability can't be available due to scope and limitations, the Machine will go into \"Failed\" state.\n\nWhen set to \"Disabled\", UltraSSDs will not be allowed either as Data Disks nor as Persistent Volumes. In this case if any UltraSSDs are specified as Data Disks on a Machine, the Machine will go into a \"Failed\" state. If instead any UltraSSDs are backing the volumes (via Persistent Volumes) of any Pods scheduled on a Node which is backed by the Machine, the Pod may get stuck in `ContainerCreating` phase.", + "acceleratedNetworking": "acceleratedNetworking enables or disables Azure accelerated networking feature. Set to false by default. If true, then this will depend on whether the requested VMSize is supported. If set to true with an unsupported VMSize, Azure will return an error.", + "availabilitySet": "availabilitySet specifies the availability set to use for this instance. Availability set should be precreated, before using this field.", + "diagnostics": "diagnostics configures the diagnostics settings for the virtual machine. This allows you to configure boot diagnostics such as capturing serial output from the virtual machine on boot. This is useful for debugging software based launch issues.", "capacityReservationGroupID": "capacityReservationGroupID specifies the capacity reservation group resource id that should be used for allocating the virtual machine. The field size should be greater than 0 and the field input must start with '/'. The input for capacityReservationGroupID must be similar to '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/capacityReservationGroups/{capacityReservationGroupName}'. The keys which are used should be among 'subscriptions', 'providers' and 'resourcegroups' followed by valid ID or names respectively.", } @@ -218,9 +218,9 @@ func (AzureMachineProviderSpec) SwaggerDoc() map[string]string { var map_AzureMachineProviderStatus = map[string]string{ "": "AzureMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains Azure-specific status information. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "vmId": "VMID is the ID of the virtual machine created in Azure.", - "vmState": "VMState is the provisioning state of the Azure virtual machine.", - "conditions": "Conditions is a set of conditions associated with the Machine to indicate errors or other status.", + "vmId": "vmId is the ID of the virtual machine created in Azure.", + "vmState": "vmState is the provisioning state of the Azure virtual machine.", + "conditions": "conditions is a set of conditions associated with the Machine to indicate errors or other status.", } func (AzureMachineProviderStatus) SwaggerDoc() map[string]string { @@ -238,12 +238,12 @@ func (ConfidentialVM) SwaggerDoc() map[string]string { var map_DataDisk = map[string]string{ "": "DataDisk specifies the parameters that are used to add one or more data disks to the machine. A Data Disk is a managed disk that's attached to a virtual machine to store application data. It differs from an OS Disk as it doesn't come with a pre-installed OS, and it cannot contain the boot volume. It is registered as SCSI drive and labeled with the chosen `lun`. e.g. for `lun: 0` the raw disk device will be available at `/dev/disk/azure/scsi1/lun0`.\n\nAs the Data Disk disk device is attached raw to the virtual machine, it will need to be partitioned, formatted with a filesystem and mounted, in order for it to be usable. This can be done by creating a custom userdata Secret with custom Ignition configuration to achieve the desired initialization. At this stage the previously defined `lun` is to be used as the \"device\" key for referencing the raw disk device to be initialized. Once the custom userdata Secret has been created, it can be referenced in the Machine's `.providerSpec.userDataSecret`. For further guidance and examples, please refer to the official OpenShift docs.", - "nameSuffix": "NameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. NameSuffix name must start and finish with an alphanumeric character and can only contain letters, numbers, underscores, periods or hyphens. The overall disk name must not exceed 80 chars in length.", - "diskSizeGB": "DiskSizeGB is the size in GB to assign to the data disk.", - "managedDisk": "ManagedDisk specifies the Managed Disk parameters for the data disk. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is a ManagedDisk with with storageAccountType: \"Premium_LRS\" and diskEncryptionSet.id: \"Default\".", - "lun": "Lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. This value is also needed for referencing the data disks devices within userdata to perform disk initialization through Ignition (e.g. partition/format/mount). The value must be between 0 and 63.", - "cachingType": "CachingType specifies the caching requirements. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is CachingTypeNone.", - "deletionPolicy": "DeletionPolicy specifies the data disk deletion policy upon Machine deletion. Possible values are \"Delete\",\"Detach\". When \"Delete\" is used the data disk is deleted when the Machine is deleted. When \"Detach\" is used the data disk is detached from the Machine and retained when the Machine is deleted.", + "nameSuffix": "nameSuffix is the suffix to be appended to the machine name to generate the disk name. Each disk name will be in format _. NameSuffix name must start and finish with an alphanumeric character and can only contain letters, numbers, underscores, periods or hyphens. The overall disk name must not exceed 80 chars in length.", + "diskSizeGB": "diskSizeGB is the size in GB to assign to the data disk.", + "managedDisk": "managedDisk specifies the Managed Disk parameters for the data disk. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is a ManagedDisk with with storageAccountType: \"Premium_LRS\" and diskEncryptionSet.id: \"Default\".", + "lun": "lun Specifies the logical unit number of the data disk. This value is used to identify data disks within the VM and therefore must be unique for each data disk attached to a VM. This value is also needed for referencing the data disks devices within userdata to perform disk initialization through Ignition (e.g. partition/format/mount). The value must be between 0 and 63.", + "cachingType": "cachingType specifies the caching requirements. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is CachingTypeNone.", + "deletionPolicy": "deletionPolicy specifies the data disk deletion policy upon Machine deletion. Possible values are \"Delete\",\"Detach\". When \"Delete\" is used the data disk is deleted when the Machine is deleted. When \"Detach\" is used the data disk is detached from the Machine and retained when the Machine is deleted.", } func (DataDisk) SwaggerDoc() map[string]string { @@ -252,8 +252,8 @@ func (DataDisk) SwaggerDoc() map[string]string { var map_DataDiskManagedDiskParameters = map[string]string{ "": "DataDiskManagedDiskParameters is the parameters of a DataDisk managed disk.", - "storageAccountType": "StorageAccountType is the storage account type to use. Possible values include \"Standard_LRS\", \"Premium_LRS\" and \"UltraSSD_LRS\".", - "diskEncryptionSet": "DiskEncryptionSet is the disk encryption set properties. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is a DiskEncryptionSet with id: \"Default\".", + "storageAccountType": "storageAccountType is the storage account type to use. Possible values include \"Standard_LRS\", \"Premium_LRS\" and \"UltraSSD_LRS\".", + "diskEncryptionSet": "diskEncryptionSet is the disk encryption set properties. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is a DiskEncryptionSet with id: \"Default\".", } func (DataDiskManagedDiskParameters) SwaggerDoc() map[string]string { @@ -262,7 +262,7 @@ func (DataDiskManagedDiskParameters) SwaggerDoc() map[string]string { var map_DiskEncryptionSetParameters = map[string]string{ "": "DiskEncryptionSetParameters is the disk encryption set properties", - "id": "ID is the disk encryption set ID Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is: \"Default\".", + "id": "id is the disk encryption set ID Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is: \"Default\".", } func (DiskEncryptionSetParameters) SwaggerDoc() map[string]string { @@ -271,7 +271,7 @@ func (DiskEncryptionSetParameters) SwaggerDoc() map[string]string { var map_DiskSettings = map[string]string{ "": "DiskSettings describe ephemeral disk settings for the os disk.", - "ephemeralStorageLocation": "EphemeralStorageLocation enables ephemeral OS when set to 'Local'. Possible values include: 'Local'. See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is that disks are saved to remote Azure storage.", + "ephemeralStorageLocation": "ephemeralStorageLocation enables ephemeral OS when set to 'Local'. Possible values include: 'Local'. See https://docs.microsoft.com/en-us/azure/virtual-machines/ephemeral-os-disks for full details. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is that disks are saved to remote Azure storage.", } func (DiskSettings) SwaggerDoc() map[string]string { @@ -280,12 +280,12 @@ func (DiskSettings) SwaggerDoc() map[string]string { var map_Image = map[string]string{ "": "Image is a mirror of azure sdk compute.ImageReference", - "publisher": "Publisher is the name of the organization that created the image", - "offer": "Offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer", - "sku": "SKU specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter", - "version": "Version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.", - "resourceID": "ResourceID specifies an image to use by ID", - "type": "Type identifies the source of the image and related information, such as purchase plans. Valid values are \"ID\", \"MarketplaceWithPlan\", \"MarketplaceNoPlan\", and omitted, which means no opinion and the platform chooses a good default which may change over time. Currently that default is \"MarketplaceNoPlan\" if publisher data is supplied, or \"ID\" if not. For more information about purchase plans, see: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage#check-the-purchase-plan-information", + "publisher": "publisher is the name of the organization that created the image", + "offer": "offer specifies the name of a group of related images created by the publisher. For example, UbuntuServer, WindowsServer", + "sku": "sku specifies an instance of an offer, such as a major release of a distribution. For example, 18.04-LTS, 2019-Datacenter", + "version": "version specifies the version of an image sku. The allowed formats are Major.Minor.Build or 'latest'. Major, Minor, and Build are decimal numbers. Specify 'latest' to use the latest version of an image available at deploy time. Even if you use 'latest', the VM image will not automatically update after deploy time even if a new version becomes available.", + "resourceID": "resourceID specifies an image to use by ID", + "type": "type identifies the source of the image and related information, such as purchase plans. Valid values are \"ID\", \"MarketplaceWithPlan\", \"MarketplaceNoPlan\", and omitted, which means no opinion and the platform chooses a good default which may change over time. Currently that default is \"MarketplaceNoPlan\" if publisher data is supplied, or \"ID\" if not. For more information about purchase plans, see: https://docs.microsoft.com/en-us/azure/virtual-machines/linux/cli-ps-findimage#check-the-purchase-plan-information", } func (Image) SwaggerDoc() map[string]string { @@ -293,11 +293,11 @@ func (Image) SwaggerDoc() map[string]string { } var map_OSDisk = map[string]string{ - "osType": "OSType is the operating system type of the OS disk. Possible values include \"Linux\" and \"Windows\".", - "managedDisk": "ManagedDisk specifies the Managed Disk parameters for the OS disk.", - "diskSizeGB": "DiskSizeGB is the size in GB to assign to the data disk.", - "diskSettings": "DiskSettings describe ephemeral disk settings for the os disk.", - "cachingType": "CachingType specifies the caching requirements. Possible values include: 'None', 'ReadOnly', 'ReadWrite'. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is `None`.", + "osType": "osType is the operating system type of the OS disk. Possible values include \"Linux\" and \"Windows\".", + "managedDisk": "managedDisk specifies the Managed Disk parameters for the OS disk.", + "diskSizeGB": "diskSizeGB is the size in GB to assign to the data disk.", + "diskSettings": "diskSettings describe ephemeral disk settings for the os disk.", + "cachingType": "cachingType specifies the caching requirements. Possible values include: 'None', 'ReadOnly', 'ReadWrite'. Empty value means no opinion and the platform chooses a default, which is subject to change over time. Currently the default is `None`.", } func (OSDisk) SwaggerDoc() map[string]string { @@ -306,8 +306,8 @@ func (OSDisk) SwaggerDoc() map[string]string { var map_OSDiskManagedDiskParameters = map[string]string{ "": "OSDiskManagedDiskParameters is the parameters of a OSDisk managed disk.", - "storageAccountType": "StorageAccountType is the storage account type to use. Possible values include \"Standard_LRS\", \"Premium_LRS\".", - "diskEncryptionSet": "DiskEncryptionSet is the disk encryption set properties", + "storageAccountType": "storageAccountType is the storage account type to use. Possible values include \"Standard_LRS\", \"Premium_LRS\".", + "diskEncryptionSet": "diskEncryptionSet is the disk encryption set properties", "securityProfile": "securityProfile specifies the security profile for the managed disk.", } @@ -338,7 +338,7 @@ func (SecuritySettings) SwaggerDoc() map[string]string { var map_SpotVMOptions = map[string]string{ "": "SpotVMOptions defines the options relevant to running the Machine on Spot VMs", - "maxPrice": "MaxPrice defines the maximum price the user is willing to pay for Spot VM instances", + "maxPrice": "maxPrice defines the maximum price the user is willing to pay for Spot VM instances", } func (SpotVMOptions) SwaggerDoc() map[string]string { @@ -376,13 +376,13 @@ func (VMDiskSecurityProfile) SwaggerDoc() map[string]string { var map_GCPDisk = map[string]string{ "": "GCPDisk describes disks for GCP.", - "autoDelete": "AutoDelete indicates if the disk will be auto-deleted when the instance is deleted (default false).", - "boot": "Boot indicates if this is a boot disk (default false).", - "sizeGb": "SizeGB is the size of the disk (in GB).", - "type": "Type is the type of the disk (eg: pd-standard).", - "image": "Image is the source image to create this disk.", - "labels": "Labels list of labels to apply to the disk.", - "encryptionKey": "EncryptionKey is the customer-supplied encryption key of the disk.", + "autoDelete": "autoDelete indicates if the disk will be auto-deleted when the instance is deleted (default false).", + "boot": "boot indicates if this is a boot disk (default false).", + "sizeGb": "sizeGb is the size of the disk (in GB).", + "type": "type is the type of the disk (eg: pd-standard).", + "image": "image is the source image to create this disk.", + "labels": "labels list of labels to apply to the disk.", + "encryptionKey": "encryptionKey is the customer-supplied encryption key of the disk.", } func (GCPDisk) SwaggerDoc() map[string]string { @@ -392,7 +392,7 @@ func (GCPDisk) SwaggerDoc() map[string]string { var map_GCPEncryptionKeyReference = map[string]string{ "": "GCPEncryptionKeyReference describes the encryptionKey to use for a disk's encryption.", "kmsKey": "KMSKeyName is the reference KMS key, in the format", - "kmsKeyServiceAccount": "KMSKeyServiceAccount is the service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. See https://cloud.google.com/compute/docs/access/service-accounts#compute_engine_service_account for details on the default service account.", + "kmsKeyServiceAccount": "kmsKeyServiceAccount is the service account being used for the encryption request for the given KMS key. If absent, the Compute Engine default service account is used. See https://cloud.google.com/compute/docs/access/service-accounts#compute_engine_service_account for details on the default service account.", } func (GCPEncryptionKeyReference) SwaggerDoc() map[string]string { @@ -401,8 +401,8 @@ func (GCPEncryptionKeyReference) SwaggerDoc() map[string]string { var map_GCPGPUConfig = map[string]string{ "": "GCPGPUConfig describes type and count of GPUs attached to the instance on GCP.", - "count": "Count is the number of GPUs to be attached to an instance.", - "type": "Type is the type of GPU to be attached to an instance. Supported GPU types are: nvidia-tesla-k80, nvidia-tesla-p100, nvidia-tesla-v100, nvidia-tesla-p4, nvidia-tesla-t4", + "count": "count is the number of GPUs to be attached to an instance.", + "type": "type is the type of GPU to be attached to an instance. Supported GPU types are: nvidia-tesla-k80, nvidia-tesla-p100, nvidia-tesla-v100, nvidia-tesla-p4, nvidia-tesla-t4", } func (GCPGPUConfig) SwaggerDoc() map[string]string { @@ -411,10 +411,10 @@ func (GCPGPUConfig) SwaggerDoc() map[string]string { var map_GCPKMSKeyReference = map[string]string{ "": "GCPKMSKeyReference gathers required fields for looking up a GCP KMS Key", - "name": "Name is the name of the customer managed encryption key to be used for the disk encryption.", - "keyRing": "KeyRing is the name of the KMS Key Ring which the KMS Key belongs to.", - "projectID": "ProjectID is the ID of the Project in which the KMS Key Ring exists. Defaults to the VM ProjectID if not set.", - "location": "Location is the GCP location in which the Key Ring exists.", + "name": "name is the name of the customer managed encryption key to be used for the disk encryption.", + "keyRing": "keyRing is the name of the KMS Key Ring which the KMS Key belongs to.", + "projectID": "projectID is the ID of the Project in which the KMS Key Ring exists. Defaults to the VM ProjectID if not set.", + "location": "location is the GCP location in which the Key Ring exists.", } func (GCPKMSKeyReference) SwaggerDoc() map[string]string { @@ -424,26 +424,26 @@ func (GCPKMSKeyReference) SwaggerDoc() map[string]string { var map_GCPMachineProviderSpec = map[string]string{ "": "GCPMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an GCP virtual machine. It is used by the GCP machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "userDataSecret": "UserDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", - "credentialsSecret": "CredentialsSecret is a reference to the secret with GCP credentials.", - "canIPForward": "CanIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes.", - "deletionProtection": "DeletionProtection whether the resource should be protected against deletion.", - "disks": "Disks is a list of disks to be attached to the VM.", - "labels": "Labels list of labels to apply to the VM.", + "userDataSecret": "userDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", + "credentialsSecret": "credentialsSecret is a reference to the secret with GCP credentials.", + "canIPForward": "canIPForward Allows this instance to send and receive packets with non-matching destination or source IPs. This is required if you plan to use this instance to forward routes.", + "deletionProtection": "deletionProtection whether the resource should be protected against deletion.", + "disks": "disks is a list of disks to be attached to the VM.", + "labels": "labels list of labels to apply to the VM.", "gcpMetadata": "Metadata key/value pairs to apply to the VM.", - "networkInterfaces": "NetworkInterfaces is a list of network interfaces to be attached to the VM.", - "serviceAccounts": "ServiceAccounts is a list of GCP service accounts to be used by the VM.", - "tags": "Tags list of network tags to apply to the VM.", - "targetPools": "TargetPools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool", - "machineType": "MachineType is the machine type to use for the VM.", - "region": "Region is the region in which the GCP machine provider will create the VM.", - "zone": "Zone is the zone in which the GCP machine provider will create the VM.", - "projectID": "ProjectID is the project in which the GCP machine provider will create the VM.", - "gpus": "GPUs is a list of GPUs to be attached to the VM.", - "preemptible": "Preemptible indicates if created instance is preemptible.", - "onHostMaintenance": "OnHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. This is required to be set to \"Terminate\" if you want to provision machine with attached GPUs. Otherwise, allowed values are \"Migrate\" and \"Terminate\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Migrate\".", - "restartPolicy": "RestartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default \"Always\"). Cannot be \"Always\" with preemptible instances. Otherwise, allowed values are \"Always\" and \"Never\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Always\". RestartPolicy represents AutomaticRestart in GCP compute api", - "shieldedInstanceConfig": "ShieldedInstanceConfig is the Shielded VM configuration for the VM", + "networkInterfaces": "networkInterfaces is a list of network interfaces to be attached to the VM.", + "serviceAccounts": "serviceAccounts is a list of GCP service accounts to be used by the VM.", + "tags": "tags list of network tags to apply to the VM.", + "targetPools": "targetPools are used for network TCP/UDP load balancing. A target pool references member instances, an associated legacy HttpHealthCheck resource, and, optionally, a backup target pool", + "machineType": "machineType is the machine type to use for the VM.", + "region": "region is the region in which the GCP machine provider will create the VM.", + "zone": "zone is the zone in which the GCP machine provider will create the VM.", + "projectID": "projectID is the project in which the GCP machine provider will create the VM.", + "gpus": "gpus is a list of GPUs to be attached to the VM.", + "preemptible": "preemptible indicates if created instance is preemptible.", + "onHostMaintenance": "onHostMaintenance determines the behavior when a maintenance event occurs that might cause the instance to reboot. This is required to be set to \"Terminate\" if you want to provision machine with attached GPUs. Otherwise, allowed values are \"Migrate\" and \"Terminate\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Migrate\".", + "restartPolicy": "restartPolicy determines the behavior when an instance crashes or the underlying infrastructure provider stops the instance as part of a maintenance event (default \"Always\"). Cannot be \"Always\" with preemptible instances. Otherwise, allowed values are \"Always\" and \"Never\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is \"Always\". RestartPolicy represents AutomaticRestart in GCP compute api", + "shieldedInstanceConfig": "shieldedInstanceConfig is the Shielded VM configuration for the VM", "confidentialCompute": "confidentialCompute Defines whether the instance should have confidential compute enabled. If enabled OnHostMaintenance is required to be set to \"Terminate\". If omitted, the platform chooses a default, which is subject to change over time, currently that default is false.", "resourceManagerTags": "resourceManagerTags is an optional list of tags to apply to the GCP resources created for the cluster. See https://cloud.google.com/resource-manager/docs/tags/tags-overview for information on tagging GCP resources. GCP supports a maximum of 50 tags per resource.", } @@ -454,9 +454,9 @@ func (GCPMachineProviderSpec) SwaggerDoc() map[string]string { var map_GCPMachineProviderStatus = map[string]string{ "": "GCPMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains GCP-specific status information. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "instanceId": "InstanceID is the ID of the instance in GCP", - "instanceState": "InstanceState is the provisioning state of the GCP Instance.", - "conditions": "Conditions is a set of conditions associated with the Machine to indicate errors or other status", + "instanceId": "instanceId is the ID of the instance in GCP", + "instanceState": "instanceState is the provisioning state of the GCP Instance.", + "conditions": "conditions is a set of conditions associated with the Machine to indicate errors or other status", } func (GCPMachineProviderStatus) SwaggerDoc() map[string]string { @@ -465,8 +465,8 @@ func (GCPMachineProviderStatus) SwaggerDoc() map[string]string { var map_GCPMetadata = map[string]string{ "": "GCPMetadata describes metadata for GCP.", - "key": "Key is the metadata key.", - "value": "Value is the metadata value.", + "key": "key is the metadata key.", + "value": "value is the metadata value.", } func (GCPMetadata) SwaggerDoc() map[string]string { @@ -475,10 +475,10 @@ func (GCPMetadata) SwaggerDoc() map[string]string { var map_GCPNetworkInterface = map[string]string{ "": "GCPNetworkInterface describes network interfaces for GCP", - "publicIP": "PublicIP indicates if true a public IP will be used", - "network": "Network is the network name.", - "projectID": "ProjectID is the project in which the GCP machine provider will create the VM.", - "subnetwork": "Subnetwork is the subnetwork name.", + "publicIP": "publicIP indicates if true a public IP will be used", + "network": "network is the network name.", + "projectID": "projectID is the project in which the GCP machine provider will create the VM.", + "subnetwork": "subnetwork is the subnetwork name.", } func (GCPNetworkInterface) SwaggerDoc() map[string]string { @@ -487,8 +487,8 @@ func (GCPNetworkInterface) SwaggerDoc() map[string]string { var map_GCPServiceAccount = map[string]string{ "": "GCPServiceAccount describes service accounts for GCP.", - "email": "Email is the service account email.", - "scopes": "Scopes list of scopes to be assigned to the service account.", + "email": "email is the service account email.", + "scopes": "scopes list of scopes to be assigned to the service account.", } func (GCPServiceAccount) SwaggerDoc() map[string]string { @@ -497,9 +497,9 @@ func (GCPServiceAccount) SwaggerDoc() map[string]string { var map_GCPShieldedInstanceConfig = map[string]string{ "": "GCPShieldedInstanceConfig describes the shielded VM configuration of the instance on GCP. Shielded VM configuration allow users to enable and disable Secure Boot, vTPM, and Integrity Monitoring.", - "secureBoot": "SecureBoot Defines whether the instance should have secure boot enabled. Secure Boot verify the digital signature of all boot components, and halting the boot process if signature verification fails. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Disabled.", - "virtualizedTrustedPlatformModule": "VirtualizedTrustedPlatformModule enable virtualized trusted platform module measurements to create a known good boot integrity policy baseline. The integrity policy baseline is used for comparison with measurements from subsequent VM boots to determine if anything has changed. This is required to be set to \"Enabled\" if IntegrityMonitoring is enabled. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled.", - "integrityMonitoring": "IntegrityMonitoring determines whether the instance should have integrity monitoring that verify the runtime boot integrity. Compares the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled.", + "secureBoot": "secureBoot Defines whether the instance should have secure boot enabled. Secure Boot verify the digital signature of all boot components, and halting the boot process if signature verification fails. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Disabled.", + "virtualizedTrustedPlatformModule": "virtualizedTrustedPlatformModule enable virtualized trusted platform module measurements to create a known good boot integrity policy baseline. The integrity policy baseline is used for comparison with measurements from subsequent VM boots to determine if anything has changed. This is required to be set to \"Enabled\" if IntegrityMonitoring is enabled. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled.", + "integrityMonitoring": "integrityMonitoring determines whether the instance should have integrity monitoring that verify the runtime boot integrity. Compares the most recent boot measurements to the integrity policy baseline and return a pair of pass/fail results depending on whether they match or not. If omitted, the platform chooses a default, which is subject to change over time, currently that default is Enabled.", } func (GCPShieldedInstanceConfig) SwaggerDoc() map[string]string { @@ -519,10 +519,10 @@ func (ResourceManagerTag) SwaggerDoc() map[string]string { var map_LastOperation = map[string]string{ "": "LastOperation represents the detail of the last performed operation on the MachineObject.", - "description": "Description is the human-readable description of the last operation.", - "lastUpdated": "LastUpdated is the timestamp at which LastOperation API was last-updated.", - "state": "State is the current status of the last performed operation. E.g. Processing, Failed, Successful etc", - "type": "Type is the type of operation which was last performed. E.g. Create, Delete, Update etc", + "description": "description is the human-readable description of the last operation.", + "lastUpdated": "lastUpdated is the timestamp at which LastOperation API was last-updated.", + "state": "state is the current status of the last performed operation. E.g. Processing, Failed, Successful etc", + "type": "type is the type of operation which was last performed. E.g. Create, Delete, Update etc", } func (LastOperation) SwaggerDoc() map[string]string { @@ -531,8 +531,8 @@ func (LastOperation) SwaggerDoc() map[string]string { var map_LifecycleHook = map[string]string{ "": "LifecycleHook represents a single instance of a lifecycle hook", - "name": "Name defines a unique name for the lifcycle hook. The name should be unique and descriptive, ideally 1-3 words, in CamelCase or it may be namespaced, eg. foo.example.com/CamelCase. Names must be unique and should only be managed by a single entity.", - "owner": "Owner defines the owner of the lifecycle hook. This should be descriptive enough so that users can identify who/what is responsible for blocking the lifecycle. This could be the name of a controller (e.g. clusteroperator/etcd) or an administrator managing the hook.", + "name": "name defines a unique name for the lifcycle hook. The name should be unique and descriptive, ideally 1-3 words, in CamelCase or it may be namespaced, eg. foo.example.com/CamelCase. Names must be unique and should only be managed by a single entity.", + "owner": "owner defines the owner of the lifecycle hook. This should be descriptive enough so that users can identify who/what is responsible for blocking the lifecycle. This could be the name of a controller (e.g. clusteroperator/etcd) or an administrator managing the hook.", } func (LifecycleHook) SwaggerDoc() map[string]string { @@ -541,8 +541,8 @@ func (LifecycleHook) SwaggerDoc() map[string]string { var map_LifecycleHooks = map[string]string{ "": "LifecycleHooks allow users to pause operations on the machine at certain prefedined points within the machine lifecycle.", - "preDrain": "PreDrain hooks prevent the machine from being drained. This also blocks further lifecycle events, such as termination.", - "preTerminate": "PreTerminate hooks prevent the machine from being terminated. PreTerminate hooks be actioned after the Machine has been drained.", + "preDrain": "preDrain hooks prevent the machine from being drained. This also blocks further lifecycle events, such as termination.", + "preTerminate": "preTerminate hooks prevent the machine from being terminated. PreTerminate hooks be actioned after the Machine has been drained.", } func (LifecycleHooks) SwaggerDoc() map[string]string { @@ -570,10 +570,10 @@ func (MachineList) SwaggerDoc() map[string]string { var map_MachineSpec = map[string]string{ "": "MachineSpec defines the desired state of Machine", "metadata": "ObjectMeta will autopopulate the Node created. Use this to indicate what labels, annotations, name prefix, etc., should be used when creating the Node.", - "lifecycleHooks": "LifecycleHooks allow users to pause operations on the machine at certain predefined points within the machine lifecycle.", + "lifecycleHooks": "lifecycleHooks allow users to pause operations on the machine at certain predefined points within the machine lifecycle.", "taints": "The list of the taints to be applied to the corresponding Node in additive manner. This list will not overwrite any other taints added to the Node on an ongoing basis by other entities. These taints should be actively reconciled e.g. if you ask the machine controller to apply a taint and then manually remove the taint the machine controller will put it back) but not have the machine controller remove any taints", - "providerSpec": "ProviderSpec details Provider-specific configuration to use during node creation.", - "providerID": "ProviderID is the identification ID of the machine provided by the provider. This field must match the provider ID as seen on the node object corresponding to this machine. This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a generic out-of-tree provider for autoscaler, this field is required by autoscaler to be able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver and then a comparison is done to find out unregistered machines and are marked for delete. This field will be set by the actuators and consumed by higher level entities like autoscaler that will be interfacing with cluster-api as generic provider.", + "providerSpec": "providerSpec details Provider-specific configuration to use during node creation.", + "providerID": "providerID is the identification ID of the machine provided by the provider. This field must match the provider ID as seen on the node object corresponding to this machine. This field is required by higher level consumers of cluster-api. Example use case is cluster autoscaler with cluster-api as provider. Clean-up logic in the autoscaler compares machines to nodes to find out machines at provider which could not get registered as Kubernetes nodes. With cluster-api as a generic out-of-tree provider for autoscaler, this field is required by autoscaler to be able to have a provider view of the list of machines. Another list of nodes is queried from the k8s apiserver and then a comparison is done to find out unregistered machines and are marked for delete. This field will be set by the actuators and consumed by higher level entities like autoscaler that will be interfacing with cluster-api as generic provider.", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI and ClusterAPI. When set to MachineAPI, writes to the spec of the machine.openshift.io copy of this resource will be reflected into the cluster.x-k8s.io copy. When set to ClusterAPI, writes to the spec of the cluster.x-k8s.io copy of this resource will be reflected into the machine.openshift.io copy. Updates to the status will be reflected in both copies of the resource, based on the controller implementing the functionality of the API. Currently the authoritative API determines which controller will manage the resource, this will change in a future release. To ensure the change has been accepted, please verify that the `status.authoritativeAPI` field has been updated to the desired value and that the `Synchronized` condition is present and set to `True`.", } @@ -583,15 +583,15 @@ func (MachineSpec) SwaggerDoc() map[string]string { var map_MachineStatus = map[string]string{ "": "MachineStatus defines the observed state of Machine", - "nodeRef": "NodeRef will point to the corresponding Node if it exists.", - "lastUpdated": "LastUpdated identifies when this status was last observed.", - "errorReason": "ErrorReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", - "errorMessage": "ErrorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", - "providerStatus": "ProviderStatus details a Provider-specific status. It is recommended that providers maintain their own versioned API types that should be serialized/deserialized from this field.", - "addresses": "Addresses is a list of addresses assigned to the machine. Queried from cloud provider, if available.", - "lastOperation": "LastOperation describes the last-operation performed by the machine-controller. This API should be useful as a history in terms of the latest operation performed on the specific machine. It should also convey the state of the latest-operation for example if it is still on-going, failed or completed successfully.", - "phase": "Phase represents the current phase of machine actuation. One of: Failed, Provisioning, Provisioned, Running, Deleting", - "conditions": "Conditions defines the current state of the Machine", + "nodeRef": "nodeRef will point to the corresponding Node if it exists.", + "lastUpdated": "lastUpdated identifies when this status was last observed.", + "errorReason": "errorReason will be set in the event that there is a terminal problem reconciling the Machine and will contain a succinct value suitable for machine interpretation.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", + "errorMessage": "errorMessage will be set in the event that there is a terminal problem reconciling the Machine and will contain a more verbose string suitable for logging and human consumption.\n\nThis field should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the Machine's spec or the configuration of the controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the controller, or the responsible controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the Machine object and/or logged in the controller's output.", + "providerStatus": "providerStatus details a Provider-specific status. It is recommended that providers maintain their own versioned API types that should be serialized/deserialized from this field.", + "addresses": "addresses is a list of addresses assigned to the machine. Queried from cloud provider, if available.", + "lastOperation": "lastOperation describes the last-operation performed by the machine-controller. This API should be useful as a history in terms of the latest operation performed on the specific machine. It should also convey the state of the latest-operation for example if it is still on-going, failed or completed successfully.", + "phase": "phase represents the current phase of machine actuation. One of: Failed, Provisioning, Provisioned, Running, Deleting", + "conditions": "conditions defines the current state of the Machine", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI, ClusterAPI and Migrating. This value is updated by the migration controller to reflect the authoritative API. Machine API and Cluster API controllers use this value to determine whether or not to reconcile the resource. When set to Migrating, the migration controller is currently performing the handover of authority from one API to the other.", "synchronizedGeneration": "synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match.", } @@ -623,10 +623,10 @@ func (MachineHealthCheckList) SwaggerDoc() map[string]string { var map_MachineHealthCheckSpec = map[string]string{ "": "MachineHealthCheckSpec defines the desired state of MachineHealthCheck", "selector": "Label selector to match machines whose health will be exercised. Note: An empty selector will match all machines.", - "unhealthyConditions": "UnhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.", + "unhealthyConditions": "unhealthyConditions contains a list of the conditions that determine whether a node is considered unhealthy. The conditions are combined in a logical OR, i.e. if any of the conditions is met, the node is unhealthy.", "maxUnhealthy": "Any farther remediation is only allowed if at most \"MaxUnhealthy\" machines selected by \"selector\" are not healthy. Expects either a postive integer value or a percentage value. Percentage values must be positive whole numbers and are capped at 100%. Both 0 and 0% are valid and will block all remediation.", "nodeStartupTimeout": "Machines older than this duration without a node will be considered to have failed and will be remediated. To prevent Machines without Nodes from being removed, disable startup checks by setting this value explicitly to \"0\". Expects an unsigned duration string of decimal numbers each with optional fraction and a unit suffix, eg \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\"), \"ms\", \"s\", \"m\", \"h\".", - "remediationTemplate": "RemediationTemplate is a reference to a remediation template provided by an infrastructure provider.\n\nThis field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Machine API Operator.", + "remediationTemplate": "remediationTemplate is a reference to a remediation template provided by an infrastructure provider.\n\nThis field is completely optional, when filled, the MachineHealthCheck controller creates a new object from the template referenced and hands off remediation of the machine to a controller that lives outside of Machine API Operator.", } func (MachineHealthCheckSpec) SwaggerDoc() map[string]string { @@ -637,8 +637,8 @@ var map_MachineHealthCheckStatus = map[string]string{ "": "MachineHealthCheckStatus defines the observed state of MachineHealthCheck", "expectedMachines": "total number of machines counted by this machine health check", "currentHealthy": "total number of machines counted by this machine health check", - "remediationsAllowed": "RemediationsAllowed is the number of further remediations allowed by this machine health check before maxUnhealthy short circuiting will be applied", - "conditions": "Conditions defines the current state of the MachineHealthCheck", + "remediationsAllowed": "remediationsAllowed is the number of further remediations allowed by this machine health check before maxUnhealthy short circuiting will be applied", + "conditions": "conditions defines the current state of the MachineHealthCheck", } func (MachineHealthCheckStatus) SwaggerDoc() map[string]string { @@ -674,11 +674,11 @@ func (MachineSetList) SwaggerDoc() map[string]string { var map_MachineSetSpec = map[string]string{ "": "MachineSetSpec defines the desired state of MachineSet", - "replicas": "Replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1.", - "minReadySeconds": "MinReadySeconds is the minimum number of seconds for which a newly created machine should be ready. Defaults to 0 (machine will be considered available as soon as it is ready)", - "deletePolicy": "DeletePolicy defines the policy used to identify nodes to delete when downscaling. Defaults to \"Random\". Valid values are \"Random, \"Newest\", \"Oldest\"", - "selector": "Selector is a label query over machines that should match the replica count. Label keys and values that must match in order to be controlled by this MachineSet. It must match the machine template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors", - "template": "Template is the object that describes the machine that will be created if insufficient replicas are detected.", + "replicas": "replicas is the number of desired replicas. This is a pointer to distinguish between explicit zero and unspecified. Defaults to 1.", + "minReadySeconds": "minReadySeconds is the minimum number of seconds for which a newly created machine should be ready. Defaults to 0 (machine will be considered available as soon as it is ready)", + "deletePolicy": "deletePolicy defines the policy used to identify nodes to delete when downscaling. Defaults to \"Random\". Valid values are \"Random, \"Newest\", \"Oldest\"", + "selector": "selector is a label query over machines that should match the replica count. Label keys and values that must match in order to be controlled by this MachineSet. It must match the machine template's labels. More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#label-selectors", + "template": "template is the object that describes the machine that will be created if insufficient replicas are detected.", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI and ClusterAPI. When set to MachineAPI, writes to the spec of the machine.openshift.io copy of this resource will be reflected into the cluster.x-k8s.io copy. When set to ClusterAPI, writes to the spec of the cluster.x-k8s.io copy of this resource will be reflected into the machine.openshift.io copy. Updates to the status will be reflected in both copies of the resource, based on the controller implementing the functionality of the API. Currently the authoritative API determines which controller will manage the resource, this will change in a future release. To ensure the change has been accepted, please verify that the `status.authoritativeAPI` field has been updated to the desired value and that the `Synchronized` condition is present and set to `True`.", } @@ -688,13 +688,13 @@ func (MachineSetSpec) SwaggerDoc() map[string]string { var map_MachineSetStatus = map[string]string{ "": "MachineSetStatus defines the observed state of MachineSet", - "replicas": "Replicas is the most recently observed number of replicas.", + "replicas": "replicas is the most recently observed number of replicas.", "fullyLabeledReplicas": "The number of replicas that have labels matching the labels of the machine template of the MachineSet.", "readyReplicas": "The number of ready replicas for this MachineSet. A machine is considered ready when the node has been created and is \"Ready\".", "availableReplicas": "The number of available replicas (ready for at least minReadySeconds) for this MachineSet.", - "observedGeneration": "ObservedGeneration reflects the generation of the most recently observed MachineSet.", + "observedGeneration": "observedGeneration reflects the generation of the most recently observed MachineSet.", "errorReason": "In the event that there is a terminal problem reconciling the replicas, both ErrorReason and ErrorMessage will be set. ErrorReason will be populated with a succinct value suitable for machine interpretation, while ErrorMessage will contain a more verbose string suitable for logging and human consumption.\n\nThese fields should not be set for transitive errors that a controller faces that are expected to be fixed automatically over time (like service outages), but instead indicate that something is fundamentally wrong with the MachineTemplate's spec or the configuration of the machine controller, and that manual intervention is required. Examples of terminal errors would be invalid combinations of settings in the spec, values that are unsupported by the machine controller, or the responsible machine controller itself being critically misconfigured.\n\nAny transient errors that occur during the reconciliation of Machines can be added as events to the MachineSet object and/or logged in the controller's output.", - "conditions": "Conditions defines the current state of the MachineSet", + "conditions": "conditions defines the current state of the MachineSet", "authoritativeAPI": "authoritativeAPI is the API that is authoritative for this resource. Valid values are MachineAPI, ClusterAPI and Migrating. This value is updated by the migration controller to reflect the authoritative API. Machine API and Cluster API controllers use this value to determine whether or not to reconcile the resource. When set to Migrating, the migration controller is currently performing the handover of authority from one API to the other.", "synchronizedGeneration": "synchronizedGeneration is the generation of the authoritative resource that the non-authoritative resource is synchronised with. This field is set when the authoritative resource is updated and the sync controller has updated the non-authoritative resource to match.", } @@ -715,9 +715,9 @@ func (MachineTemplateSpec) SwaggerDoc() map[string]string { var map_Condition = map[string]string{ "": "Condition defines an observation of a Machine API resource operational state.", - "type": "Type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.", - "status": "Status of the condition, one of True, False, Unknown.", - "severity": "Severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.", + "type": "type of condition in CamelCase or in foo.example.com/CamelCase. Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be useful (see .node.status.conditions), the ability to deconflict is important.", + "status": "status of the condition, one of True, False, Unknown.", + "severity": "severity provides an explicit classification of Reason code, so the users or machines can immediately understand the current situation and act accordingly. The Severity field MUST be set only when Status=False.", "lastTransitionTime": "Last time the condition transitioned from one status to another. This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.", "reason": "The reason for the condition's last transition in CamelCase. The specific API may choose whether or not this field is considered a guaranteed API. This field may not be empty.", "message": "A human readable message indicating details about the transition. This field may be empty.", @@ -729,11 +729,11 @@ func (Condition) SwaggerDoc() map[string]string { var map_ObjectMeta = map[string]string{ "": "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.\n\nObjectMeta 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.\n\nDuring the [upgrade to controller-tools@v2](https://github.com/kubernetes-sigs/cluster-api/pull/1054) 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](k8s.io/apimachinery/pkg/apis/meta/v1) package.\n\nIn 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.\n\nIn future versions, controller-tools@v2 might allow overriding the type and validation for embedded types. When that happens, this hack should be revisited.", - "name": "Name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", - "generateName": "GenerateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", - "namespace": "Namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", + "name": "name must be unique within a namespace. Is required when creating resources, although some resources may allow a client to request the generation of an appropriate name automatically. Name is primarily intended for creation idempotence and configuration definition. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/identifiers#names", + "generateName": "generateName is an optional prefix, used by the server, to generate a unique name ONLY IF the Name field has not been provided. If this field is used, the name returned to the client will be different than the name passed. This value will also be combined with a unique suffix. The provided value has the same validation rules as the Name field, and may be truncated by the length of the suffix required to make the value unique on the server.\n\nIf this field is specified and the generated name exists, the server will NOT return a 409 - instead, it will either return 201 Created or 500 with Reason ServerTimeout indicating a unique name could not be found in the time allotted, and the client should retry (optionally after the time indicated in the Retry-After header).\n\nApplied only if Name is not specified. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#idempotency", + "namespace": "namespace defines the space within each name must be unique. An empty namespace is equivalent to the \"default\" namespace, but \"default\" is the canonical representation. Not all objects are required to be scoped to a namespace - the value of this field for those objects will be empty.\n\nMust be a DNS_LABEL. Cannot be updated. More info: http://kubernetes.io/docs/user-guide/namespaces", "labels": "Map of string keys and values that can be used to organize and categorize (scope and select) objects. May match selectors of replication controllers and services. More info: http://kubernetes.io/docs/user-guide/labels", - "annotations": "Annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", + "annotations": "annotations is an unstructured key value map stored with a resource that may be set by external tools to store and retrieve arbitrary metadata. They are not queryable and should be preserved when modifying objects. More info: http://kubernetes.io/docs/user-guide/annotations", "ownerReferences": "List of objects depended by this object. If ALL objects in the list have been deleted, this object will be garbage collected. If this object is managed by a controller, then an entry in this list will point to this controller, with the controller field set to true. There cannot be more than one managing controller.", } @@ -743,7 +743,7 @@ func (ObjectMeta) SwaggerDoc() map[string]string { var map_ProviderSpec = map[string]string{ "": "ProviderSpec defines the configuration to use during node creation.", - "value": "Value is an inlined, serialized representation of the resource configuration. It is recommended that providers maintain their own versioned API types that should be serialized/deserialized from this field, akin to component config.", + "value": "value is an inlined, serialized representation of the resource configuration. It is recommended that providers maintain their own versioned API types that should be serialized/deserialized from this field, akin to component config.", } func (ProviderSpec) SwaggerDoc() map[string]string { @@ -776,7 +776,7 @@ func (NetworkDeviceSpec) SwaggerDoc() map[string]string { var map_NetworkSpec = map[string]string{ "": "NetworkSpec defines the virtual machine's network configuration.", - "devices": "Devices defines the virtual machine's network interfaces.", + "devices": "devices defines the virtual machine's network interfaces.", } func (NetworkSpec) SwaggerDoc() map[string]string { @@ -785,18 +785,18 @@ func (NetworkSpec) SwaggerDoc() map[string]string { var map_VSphereMachineProviderSpec = map[string]string{ "": "VSphereMachineProviderSpec is the type that will be embedded in a Machine.Spec.ProviderSpec field for an VSphere virtual machine. It is used by the vSphere machine actuator to create a single Machine. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "userDataSecret": "UserDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", - "credentialsSecret": "CredentialsSecret is a reference to the secret with vSphere credentials.", - "template": "Template is the name, inventory path, or instance UUID of the template used to clone new machines.", - "workspace": "Workspace describes the workspace to use for the machine.", - "network": "Network is the network configuration for this machine's VM.", - "numCPUs": "NumCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", + "userDataSecret": "userDataSecret contains a local reference to a secret that contains the UserData to apply to the instance", + "credentialsSecret": "credentialsSecret is a reference to the secret with vSphere credentials.", + "template": "template is the name, inventory path, or instance UUID of the template used to clone new machines.", + "workspace": "workspace describes the workspace to use for the machine.", + "network": "network is the network configuration for this machine's VM.", + "numCPUs": "numCPUs is the number of virtual processors in a virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", "numCoresPerSocket": "NumCPUs is the number of cores among which to distribute CPUs in this virtual machine. Defaults to the analogue property value in the template from which this machine is cloned.", - "memoryMiB": "MemoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", - "diskGiB": "DiskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned. This parameter will be ignored if 'LinkedClone' CloneMode is set.", + "memoryMiB": "memoryMiB is the size of a virtual machine's memory, in MiB. Defaults to the analogue property value in the template from which this machine is cloned.", + "diskGiB": "diskGiB is the size of a virtual machine's disk, in GiB. Defaults to the analogue property value in the template from which this machine is cloned. This parameter will be ignored if 'LinkedClone' CloneMode is set.", "tagIDs": "tagIDs is an optional set of tags to add to an instance. Specified tagIDs must use URN-notation instead of display names. A maximum of 10 tag IDs may be specified.", - "snapshot": "Snapshot is the name of the snapshot from which the VM was cloned", - "cloneMode": "CloneMode specifies the type of clone operation. The LinkedClone mode is only support for templates that have at least one snapshot. If the template has no snapshots, then CloneMode defaults to FullClone. When LinkedClone mode is enabled the DiskGiB field is ignored as it is not possible to expand disks of linked clones. Defaults to FullClone. When using LinkedClone, if no snapshots exist for the source template, falls back to FullClone.", + "snapshot": "snapshot is the name of the snapshot from which the VM was cloned", + "cloneMode": "cloneMode specifies the type of clone operation. The LinkedClone mode is only support for templates that have at least one snapshot. If the template has no snapshots, then CloneMode defaults to FullClone. When LinkedClone mode is enabled the DiskGiB field is ignored as it is not possible to expand disks of linked clones. Defaults to FullClone. When using LinkedClone, if no snapshots exist for the source template, falls back to FullClone.", } func (VSphereMachineProviderSpec) SwaggerDoc() map[string]string { @@ -805,10 +805,10 @@ func (VSphereMachineProviderSpec) SwaggerDoc() map[string]string { var map_VSphereMachineProviderStatus = map[string]string{ "": "VSphereMachineProviderStatus is the type that will be embedded in a Machine.Status.ProviderStatus field. It contains VSphere-specific status information. Compatibility level 2: Stable within a major release for a minimum of 9 months or 3 minor releases (whichever is longer).", - "instanceId": "InstanceID is the ID of the instance in VSphere", - "instanceState": "InstanceState is the provisioning state of the VSphere Instance.", - "conditions": "Conditions is a set of conditions associated with the Machine to indicate errors or other status", - "taskRef": "TaskRef is a managed object reference to a Task related to the machine. This value is set automatically at runtime and should not be set or modified by users.", + "instanceId": "instanceId is the ID of the instance in VSphere", + "instanceState": "instanceState is the provisioning state of the VSphere Instance.", + "conditions": "conditions is a set of conditions associated with the Machine to indicate errors or other status", + "taskRef": "taskRef is a managed object reference to a Task related to the machine. This value is set automatically at runtime and should not be set or modified by users.", } func (VSphereMachineProviderStatus) SwaggerDoc() map[string]string { @@ -817,11 +817,12 @@ func (VSphereMachineProviderStatus) SwaggerDoc() map[string]string { var map_Workspace = map[string]string{ "": "WorkspaceConfig defines a workspace configuration for the vSphere cloud provider.", - "server": "Server is the IP address or FQDN of the vSphere endpoint.", - "datacenter": "Datacenter is the datacenter in which VMs are created/located.", - "folder": "Folder is the folder in which VMs are created/located.", - "datastore": "Datastore is the datastore in which VMs are created/located.", - "resourcePool": "ResourcePool is the resource pool in which VMs are created/located.", + "server": "server is the IP address or FQDN of the vSphere endpoint.", + "datacenter": "datacenter is the datacenter in which VMs are created/located.", + "folder": "folder is the folder in which VMs are created/located.", + "datastore": "datastore is the datastore in which VMs are created/located.", + "resourcePool": "resourcePool is the resource pool in which VMs are created/located.", + "vmGroup": "vmGroup is the cluster vm group in which virtual machines will be added for vm host group based zonal.", } func (Workspace) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/monitoring/v1/types.go b/vendor/github.com/openshift/api/monitoring/v1/types.go index 111538ba78..2beb04086b 100644 --- a/vendor/github.com/openshift/api/monitoring/v1/types.go +++ b/vendor/github.com/openshift/api/monitoring/v1/types.go @@ -44,7 +44,7 @@ type AlertingRule struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the desired state of this AlertingRule object. - // +kubebuilder:validation:Required + // +required Spec AlertingRuleSpec `json:"spec"` // status describes the current state of this AlertOverrides object. @@ -67,7 +67,7 @@ type AlertingRuleList struct { metav1.ListMeta `json:"metadata,omitempty"` // items is a list of AlertingRule objects. - // +kubebuilder:validation:Required + // +required Items []AlertingRule `json:"items"` } @@ -93,7 +93,7 @@ type AlertingRuleSpec struct { // +listType=map // +listMapKey=name // +kubebuilder:validation:MinItems:=1 - // +kubebuilder:validation:Required + // +required Groups []RuleGroup `json:"groups"` } @@ -110,7 +110,7 @@ type Duration string type RuleGroup struct { // name is the name of the group. // - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 Name string `json:"name"` @@ -130,7 +130,7 @@ type RuleGroup struct { // processed sequentially, and all rules are processed. // // +kubebuilder:validation:MinItems:=1 - // +kubebuilder:validation:Required + // +required Rules []Rule `json:"rules"` } @@ -143,7 +143,7 @@ type Rule struct { // alert is the name of the alert. Must be a valid label value, i.e. may // contain any Unicode character. // - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 Alert string `json:"alert"` @@ -157,7 +157,7 @@ type Rule struct { // to create an always-firing "Watchdog" alert in order to ensure the alerting // pipeline is functional. // - // +kubebuilder:validation:Required + // +required Expr intstr.IntOrString `json:"expr"` // for is the time period after which alerts are considered firing after first @@ -210,7 +210,7 @@ type PrometheusRuleRef struct { // the reference should we ever need to. // name of the referenced PrometheusRule. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=2048 Name string `json:"name"` @@ -238,7 +238,7 @@ type AlertRelabelConfig struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec describes the desired state of this AlertRelabelConfig object. - // +kubebuilder:validation:Required + // +required Spec AlertRelabelConfigSpec `json:"spec"` // status describes the current state of this AlertRelabelConfig object. @@ -254,7 +254,7 @@ type AlertRelabelConfigSpec struct { // configs is a list of sequentially evaluated alert relabel configs. // // +kubebuilder:validation:MinItems:=1 - // +kubebuilder:validation:Required + // +required Configs []RelabelConfig `json:"configs"` } @@ -286,7 +286,7 @@ type AlertRelabelConfigList struct { // items is a list of AlertRelabelConfigs. // +kubebuilder:validation:MinItems:=1 - // +kubebuilder:validation:Required + // +required Items []*AlertRelabelConfig `json:"items"` } diff --git a/vendor/github.com/openshift/api/network/v1/generated.proto b/vendor/github.com/openshift/api/network/v1/generated.proto index a429f04c02..4fc68a9740 100644 --- a/vendor/github.com/openshift/api/network/v1/generated.proto +++ b/vendor/github.com/openshift/api/network/v1/generated.proto @@ -29,39 +29,37 @@ message ClusterNetwork { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Network is a CIDR string specifying the global overlay network's L3 space + // network is a CIDR string specifying the global overlay network's L3 space // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` optional string network = 2; - // HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods + // hostsubnetlength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=30 optional uint32 hostsubnetlength = 3; - // ServiceNetwork is the CIDR range that Service IP addresses are allocated from + // serviceNetwork is the CIDR range that Service IP addresses are allocated from // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` optional string serviceNetwork = 4; - // PluginName is the name of the network plugin being used + // pluginName is the name of the network plugin being used optional string pluginName = 5; - // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from. + // clusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from. repeated ClusterNetworkEntry clusterNetworks = 6; - // VXLANPort sets the VXLAN destination port used by the cluster. + // vxlanPort sets the VXLAN destination port used by the cluster. // It is set by the master configuration file on startup and cannot be edited manually. // Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. // Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 - // +kubebuilder:validation:Optional // +optional optional uint32 vxlanPort = 7; - // MTU is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator. + // mtu is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator. // +kubebuilder:validation:Minimum=576 // +kubebuilder:validation:Maximum=65536 - // +kubebuilder:validation:Optional // +optional optional uint32 mtu = 8; } @@ -72,7 +70,7 @@ message ClusterNetworkEntry { // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` optional string cidr = 1; - // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. + // hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=30 optional uint32 hostSubnetLength = 2; @@ -87,7 +85,7 @@ message ClusterNetworkList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of cluster networks + // items is the list of cluster networks repeated ClusterNetwork items = 2; } @@ -125,14 +123,14 @@ message EgressNetworkPolicyList { // EgressNetworkPolicyPeer specifies a target to apply egress network policy to message EgressNetworkPolicyPeer { - // CIDRSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset + // cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset // Ideally we would have liked to use the cidr openapi format for this property. // But openshift-sdn only supports v4 while specifying the cidr format allows both v4 and v6 cidrs // We are therefore using a regex pattern to validate instead. // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` optional string cidrSelector = 1; - // DNSName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset + // dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset // +kubebuilder:validation:Pattern=`^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$` optional string dnsName = 2; } @@ -172,25 +170,25 @@ message HostSubnet { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Host is the name of the node. (This is the same as the object's name, but both fields must be set.) + // host is the name of the node. (This is the same as the object's name, but both fields must be set.) // +kubebuilder:validation:Pattern=`^[a-z0-9.-]+$` optional string host = 2; - // HostIP is the IP address to be used as a VTEP by other nodes in the overlay network + // hostIP is the IP address to be used as a VTEP by other nodes in the overlay network // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$` optional string hostIP = 3; - // Subnet is the CIDR range of the overlay network assigned to the node for its pods + // subnet is the CIDR range of the overlay network assigned to the node for its pods // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` optional string subnet = 4; - // EgressIPs is the list of automatic egress IP addresses currently hosted by this node. + // egressIPs is the list of automatic egress IP addresses currently hosted by this node. // If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the // master will overwrite the value here with its own allocation of egress IPs. // +optional repeated string egressIPs = 5; - // EgressCIDRs is the list of CIDR ranges available for automatically assigning + // egressCIDRs is the list of CIDR ranges available for automatically assigning // egress IPs to this node from. If this field is set then EgressIPs should be // treated as read-only. // +optional @@ -206,7 +204,7 @@ message HostSubnetList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of host subnets + // items is the list of host subnets repeated HostSubnet items = 2; } @@ -227,16 +225,16 @@ message NetNamespace { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) + // netname is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) // +kubebuilder:validation:Pattern=`^[a-z0-9.-]+$` optional string netname = 2; - // NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. + // netid is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=16777215 optional uint32 netid = 3; - // EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. + // egressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. // (If empty, external traffic will be masqueraded to Node IPs.) // +optional repeated string egressIPs = 4; @@ -251,7 +249,7 @@ message NetNamespaceList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of net namespaces + // items is the list of net namespaces repeated NetNamespace items = 2; } diff --git a/vendor/github.com/openshift/api/network/v1/types.go b/vendor/github.com/openshift/api/network/v1/types.go index 89015cf6b1..7790802138 100644 --- a/vendor/github.com/openshift/api/network/v1/types.go +++ b/vendor/github.com/openshift/api/network/v1/types.go @@ -32,39 +32,37 @@ type ClusterNetwork struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Network is a CIDR string specifying the global overlay network's L3 space + // network is a CIDR string specifying the global overlay network's L3 space // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` Network string `json:"network,omitempty" protobuf:"bytes,2,opt,name=network"` - // HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods + // hostsubnetlength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=30 HostSubnetLength uint32 `json:"hostsubnetlength,omitempty" protobuf:"varint,3,opt,name=hostsubnetlength"` - // ServiceNetwork is the CIDR range that Service IP addresses are allocated from + // serviceNetwork is the CIDR range that Service IP addresses are allocated from // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` ServiceNetwork string `json:"serviceNetwork" protobuf:"bytes,4,opt,name=serviceNetwork"` - // PluginName is the name of the network plugin being used + // pluginName is the name of the network plugin being used PluginName string `json:"pluginName,omitempty" protobuf:"bytes,5,opt,name=pluginName"` - // ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from. + // clusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from. ClusterNetworks []ClusterNetworkEntry `json:"clusterNetworks" protobuf:"bytes,6,rep,name=clusterNetworks"` - // VXLANPort sets the VXLAN destination port used by the cluster. + // vxlanPort sets the VXLAN destination port used by the cluster. // It is set by the master configuration file on startup and cannot be edited manually. // Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. // Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port. // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 - // +kubebuilder:validation:Optional // +optional VXLANPort *uint32 `json:"vxlanPort,omitempty" protobuf:"varint,7,opt,name=vxlanPort"` - // MTU is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator. + // mtu is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator. // +kubebuilder:validation:Minimum=576 // +kubebuilder:validation:Maximum=65536 - // +kubebuilder:validation:Optional // +optional MTU *uint32 `json:"mtu,omitempty" protobuf:"varint,8,opt,name=mtu"` } @@ -75,7 +73,7 @@ type ClusterNetworkEntry struct { // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` CIDR string `json:"CIDR" protobuf:"bytes,1,opt,name=cidr"` - // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. + // hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods. // +kubebuilder:validation:Minimum=2 // +kubebuilder:validation:Maximum=30 HostSubnetLength uint32 `json:"hostSubnetLength" protobuf:"varint,2,opt,name=hostSubnetLength"` @@ -94,7 +92,7 @@ type ClusterNetworkList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of cluster networks + // items is the list of cluster networks Items []ClusterNetwork `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -134,25 +132,25 @@ type HostSubnet struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Host is the name of the node. (This is the same as the object's name, but both fields must be set.) + // host is the name of the node. (This is the same as the object's name, but both fields must be set.) // +kubebuilder:validation:Pattern=`^[a-z0-9.-]+$` Host string `json:"host" protobuf:"bytes,2,opt,name=host"` - // HostIP is the IP address to be used as a VTEP by other nodes in the overlay network + // hostIP is the IP address to be used as a VTEP by other nodes in the overlay network // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])$` HostIP string `json:"hostIP" protobuf:"bytes,3,opt,name=hostIP"` - // Subnet is the CIDR range of the overlay network assigned to the node for its pods + // subnet is the CIDR range of the overlay network assigned to the node for its pods // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` Subnet string `json:"subnet" protobuf:"bytes,4,opt,name=subnet"` - // EgressIPs is the list of automatic egress IP addresses currently hosted by this node. + // egressIPs is the list of automatic egress IP addresses currently hosted by this node. // If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the // master will overwrite the value here with its own allocation of egress IPs. // +optional EgressIPs []HostSubnetEgressIP `json:"egressIPs,omitempty" protobuf:"bytes,5,rep,name=egressIPs"` - // EgressCIDRs is the list of CIDR ranges available for automatically assigning + // egressCIDRs is the list of CIDR ranges available for automatically assigning // egress IPs to this node from. If this field is set then EgressIPs should be // treated as read-only. // +optional @@ -172,7 +170,7 @@ type HostSubnetList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of host subnets + // items is the list of host subnets Items []HostSubnet `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -204,16 +202,16 @@ type NetNamespace struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) + // netname is the name of the network namespace. (This is the same as the object's name, but both fields must be set.) // +kubebuilder:validation:Pattern=`^[a-z0-9.-]+$` NetName string `json:"netname" protobuf:"bytes,2,opt,name=netname"` - // NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. + // netid is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the "oc adm pod-network" commands. // +kubebuilder:validation:Minimum=0 // +kubebuilder:validation:Maximum=16777215 NetID uint32 `json:"netid" protobuf:"varint,3,opt,name=netid"` - // EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. + // egressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. // (If empty, external traffic will be masqueraded to Node IPs.) // +optional EgressIPs []NetNamespaceEgressIP `json:"egressIPs,omitempty" protobuf:"bytes,4,rep,name=egressIPs"` @@ -232,7 +230,7 @@ type NetNamespaceList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of net namespaces + // items is the list of net namespaces Items []NetNamespace `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -247,13 +245,13 @@ const ( // EgressNetworkPolicyPeer specifies a target to apply egress network policy to type EgressNetworkPolicyPeer struct { - // CIDRSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset + // cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset // Ideally we would have liked to use the cidr openapi format for this property. // But openshift-sdn only supports v4 while specifying the cidr format allows both v4 and v6 cidrs // We are therefore using a regex pattern to validate instead. // +kubebuilder:validation:Pattern=`^(([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[0-9][0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])/([0-9]|[12][0-9]|3[0-2])$` CIDRSelector string `json:"cidrSelector,omitempty" protobuf:"bytes,1,rep,name=cidrSelector"` - // DNSName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset + // dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset // +kubebuilder:validation:Pattern=`^([A-Za-z0-9-]+\.)*[A-Za-z0-9-]+\.?$` DNSName string `json:"dnsName,omitempty" protobuf:"bytes,2,rep,name=dnsName"` } diff --git a/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go index 743ddeab57..a0e1240962 100644 --- a/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/network/v1/zz_generated.swagger_doc_generated.go @@ -14,13 +14,13 @@ package v1 var map_ClusterNetwork = map[string]string{ "": "ClusterNetwork was used by OpenShift SDN. DEPRECATED: OpenShift SDN is no longer supported and this object is no longer used in any way by OpenShift.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "network": "Network is a CIDR string specifying the global overlay network's L3 space", - "hostsubnetlength": "HostSubnetLength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods", - "serviceNetwork": "ServiceNetwork is the CIDR range that Service IP addresses are allocated from", - "pluginName": "PluginName is the name of the network plugin being used", - "clusterNetworks": "ClusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from.", - "vxlanPort": "VXLANPort sets the VXLAN destination port used by the cluster. It is set by the master configuration file on startup and cannot be edited manually. Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port.", - "mtu": "MTU is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator.", + "network": "network is a CIDR string specifying the global overlay network's L3 space", + "hostsubnetlength": "hostsubnetlength is the number of bits of network to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods", + "serviceNetwork": "serviceNetwork is the CIDR range that Service IP addresses are allocated from", + "pluginName": "pluginName is the name of the network plugin being used", + "clusterNetworks": "clusterNetworks is a list of ClusterNetwork objects that defines the global overlay network's L3 space by specifying a set of CIDR and netmasks that the SDN can allocate addresses from.", + "vxlanPort": "vxlanPort sets the VXLAN destination port used by the cluster. It is set by the master configuration file on startup and cannot be edited manually. Valid values for VXLANPort are integers 1-65535 inclusive and if unset defaults to 4789. Changing VXLANPort allows users to resolve issues between openshift SDN and other software trying to use the same VXLAN destination port.", + "mtu": "mtu is the MTU for the overlay network. This should be 50 less than the MTU of the network connecting the nodes. It is normally autodetected by the cluster network operator.", } func (ClusterNetwork) SwaggerDoc() map[string]string { @@ -30,7 +30,7 @@ func (ClusterNetwork) SwaggerDoc() map[string]string { var map_ClusterNetworkEntry = map[string]string{ "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", "CIDR": "CIDR defines the total range of a cluster networks address space.", - "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods.", + "hostSubnetLength": "hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pods.", } func (ClusterNetworkEntry) SwaggerDoc() map[string]string { @@ -40,7 +40,7 @@ func (ClusterNetworkEntry) SwaggerDoc() map[string]string { var map_ClusterNetworkList = map[string]string{ "": "ClusterNetworkList is a collection of ClusterNetworks\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of cluster networks", + "items": "items is the list of cluster networks", } func (ClusterNetworkList) SwaggerDoc() map[string]string { @@ -69,8 +69,8 @@ func (EgressNetworkPolicyList) SwaggerDoc() map[string]string { var map_EgressNetworkPolicyPeer = map[string]string{ "": "EgressNetworkPolicyPeer specifies a target to apply egress network policy to", - "cidrSelector": "CIDRSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset Ideally we would have liked to use the cidr openapi format for this property. But openshift-sdn only supports v4 while specifying the cidr format allows both v4 and v6 cidrs We are therefore using a regex pattern to validate instead.", - "dnsName": "DNSName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset", + "cidrSelector": "cidrSelector is the CIDR range to allow/deny traffic to. If this is set, dnsName must be unset Ideally we would have liked to use the cidr openapi format for this property. But openshift-sdn only supports v4 while specifying the cidr format allows both v4 and v6 cidrs We are therefore using a regex pattern to validate instead.", + "dnsName": "dnsName is the domain name to allow/deny traffic to. If this is set, cidrSelector must be unset", } func (EgressNetworkPolicyPeer) SwaggerDoc() map[string]string { @@ -99,11 +99,11 @@ func (EgressNetworkPolicySpec) SwaggerDoc() map[string]string { var map_HostSubnet = map[string]string{ "": "HostSubnet was used by OpenShift SDN. DEPRECATED: OpenShift SDN is no longer supported and this object is no longer used in any way by OpenShift.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "host": "Host is the name of the node. (This is the same as the object's name, but both fields must be set.)", - "hostIP": "HostIP is the IP address to be used as a VTEP by other nodes in the overlay network", - "subnet": "Subnet is the CIDR range of the overlay network assigned to the node for its pods", - "egressIPs": "EgressIPs is the list of automatic egress IP addresses currently hosted by this node. If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the master will overwrite the value here with its own allocation of egress IPs.", - "egressCIDRs": "EgressCIDRs is the list of CIDR ranges available for automatically assigning egress IPs to this node from. If this field is set then EgressIPs should be treated as read-only.", + "host": "host is the name of the node. (This is the same as the object's name, but both fields must be set.)", + "hostIP": "hostIP is the IP address to be used as a VTEP by other nodes in the overlay network", + "subnet": "subnet is the CIDR range of the overlay network assigned to the node for its pods", + "egressIPs": "egressIPs is the list of automatic egress IP addresses currently hosted by this node. If EgressCIDRs is empty, this can be set by hand; if EgressCIDRs is set then the master will overwrite the value here with its own allocation of egress IPs.", + "egressCIDRs": "egressCIDRs is the list of CIDR ranges available for automatically assigning egress IPs to this node from. If this field is set then EgressIPs should be treated as read-only.", } func (HostSubnet) SwaggerDoc() map[string]string { @@ -113,7 +113,7 @@ func (HostSubnet) SwaggerDoc() map[string]string { var map_HostSubnetList = map[string]string{ "": "HostSubnetList is a collection of HostSubnets\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of host subnets", + "items": "items is the list of host subnets", } func (HostSubnetList) SwaggerDoc() map[string]string { @@ -123,9 +123,9 @@ func (HostSubnetList) SwaggerDoc() map[string]string { var map_NetNamespace = map[string]string{ "": "NetNamespace was used by OpenShift SDN. DEPRECATED: OpenShift SDN is no longer supported and this object is no longer used in any way by OpenShift.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "netname": "NetName is the name of the network namespace. (This is the same as the object's name, but both fields must be set.)", - "netid": "NetID is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the \"oc adm pod-network\" commands.", - "egressIPs": "EgressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. (If empty, external traffic will be masqueraded to Node IPs.)", + "netname": "netname is the name of the network namespace. (This is the same as the object's name, but both fields must be set.)", + "netid": "netid is the network identifier of the network namespace assigned to each overlay network packet. This can be manipulated with the \"oc adm pod-network\" commands.", + "egressIPs": "egressIPs is a list of reserved IPs that will be used as the source for external traffic coming from pods in this namespace. (If empty, external traffic will be masqueraded to Node IPs.)", } func (NetNamespace) SwaggerDoc() map[string]string { @@ -135,7 +135,7 @@ func (NetNamespace) SwaggerDoc() map[string]string { var map_NetNamespaceList = map[string]string{ "": "NetNamespaceList is a collection of NetNamespaces\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of net namespaces", + "items": "items is the list of net namespaces", } func (NetNamespaceList) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/network/v1alpha1/types_dnsnameresolver.go b/vendor/github.com/openshift/api/network/v1alpha1/types_dnsnameresolver.go index 394f2e4ac0..cd0d1b31a5 100644 --- a/vendor/github.com/openshift/api/network/v1alpha1/types_dnsnameresolver.go +++ b/vendor/github.com/openshift/api/network/v1alpha1/types_dnsnameresolver.go @@ -26,7 +26,7 @@ type DNSNameResolver struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec is the specification of the desired behavior of the DNSNameResolver. - // +kubebuilder:validation:Required + // +required Spec DNSNameResolverSpec `json:"spec"` // status is the most recently observed status of the DNSNameResolver. // +optional @@ -47,7 +47,7 @@ type DNSNameResolverSpec struct { // For a wildcard DNS name, the '*' will match only one label. Additionally, only a single // '*' can be used at the beginning of the wildcard DNS name. For example, '*.example.com.' // will match 'sub1.example.com.' but won't match 'sub2.sub1.example.com.' - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="spec.name is immutable" Name DNSName `json:"name"` } @@ -82,12 +82,12 @@ type DNSNameResolverResolvedName struct { // will store the regular DNS names which match the wildcard DNS name and have been successfully resolved. // If the wildcard DNS name can also be successfully resolved, then this field will store the wildcard // DNS name as well. - // +kubebuilder:validation:Required + // +required DNSName DNSName `json:"dnsName"` // resolvedAddresses gives the list of associated IP addresses and their corresponding TTLs and last // lookup times for the dnsName. - // +kubebuilder:validation:Required + // +required // +listType=map // +listMapKey=ip ResolvedAddresses []DNSNameResolverResolvedAddress `json:"resolvedAddresses"` @@ -106,21 +106,21 @@ type DNSNameResolverResolvedAddress struct { // lastLookupTime + ttlSeconds. To refresh the information, a DNS lookup will be performed upon // the expiration of the IP address's validity. If the information is not refreshed then it will // be removed with a grace period after the expiration of the IP address's validity. - // +kubebuilder:validation:Required + // +required IP string `json:"ip"` // ttlSeconds is the time-to-live value of the IP address. The validity of the IP address expires after // lastLookupTime + ttlSeconds. On a successful DNS lookup the value of this field will be updated with // the current time-to-live value. If the information is not refreshed then it will be removed with a // grace period after the expiration of the IP address's validity. - // +kubebuilder:validation:Required + // +required TTLSeconds int32 `json:"ttlSeconds"` // lastLookupTime is the timestamp when the last DNS lookup was completed successfully. The validity of // the IP address expires after lastLookupTime + ttlSeconds. The value of this field will be updated to // the current time on a successful DNS lookup. If the information is not refreshed then it will be // removed with a grace period after the expiration of the IP address's validity. - // +kubebuilder:validation:Required + // +required LastLookupTime *metav1.Time `json:"lastLookupTime"` } diff --git a/vendor/github.com/openshift/api/networkoperator/v1/generated.proto b/vendor/github.com/openshift/api/networkoperator/v1/generated.proto index 37c374557d..ebf09e7e9a 100644 --- a/vendor/github.com/openshift/api/networkoperator/v1/generated.proto +++ b/vendor/github.com/openshift/api/networkoperator/v1/generated.proto @@ -43,7 +43,7 @@ message EgressRouter { optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; // Specification of the desired egress router. - // +kubebuilder:validation:Required + // +required optional EgressRouterSpec spec = 2; // Observed status of EgressRouter. @@ -53,8 +53,8 @@ message EgressRouter { // EgressRouterAddress contains a pair of IP CIDR and gateway to be configured on the router's interface // +kubebuilder:validation:Required message EgressRouterAddress { - // IP is the address to configure on the router's interface. Can be IPv4 or IPv6. - // +kubebuilder:validation:Required + // ip is the address to configure on the router's interface. Can be IPv4 or IPv6. + // +required optional string ip = 1; // IP address of the next-hop gateway, if it cannot be automatically determined. Can be IPv4 or IPv6. @@ -86,30 +86,30 @@ message EgressRouterList { // +k8s:openapi-gen=true // +kubebuilder:validation:Required message EgressRouterSpec { - // Mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently. - // +kubebuilder:validation:Required + // mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently. + // +required // +kubebuilder:validation:Enum="Redirect" // +kubebuilder:default:="Redirect" optional string mode = 1; - // Redirect represents the configuration parameters specific to redirect mode. + // redirect represents the configuration parameters specific to redirect mode. optional RedirectConfig redirect = 2; // Specification of interface to create/use. The default is macvlan. // Currently only macvlan is supported. - // +kubebuilder:validation:Required + // +required // +kubebuilder:default:={macvlan: {mode: Bridge}} optional EgressRouterInterface networkInterface = 3; // List of IP addresses to configure on the pod's secondary interface. - // +kubebuilder:validation:Required + // +required repeated EgressRouterAddress addresses = 4; } // EgressRouterStatus contains the observed status of EgressRouter. Read-only. message EgressRouterStatus { // Observed status of the egress router - // +kubebuilder:validation:Required + // +required repeated EgressRouterStatusCondition conditions = 1; } @@ -117,28 +117,25 @@ message EgressRouterStatus { // managed and monitored components. // +k8s:deepcopy-gen=true message EgressRouterStatusCondition { - // Type specifies the aspect reported by this condition; one of Available, Progressing, Degraded - // +kubebuilder:validation:Required + // type specifies the aspect reported by this condition; one of Available, Progressing, Degraded // +kubebuilder:validation:Enum="Available";"Progressing";"Degraded" // +required optional string type = 1; - // Status of the condition, one of True, False, Unknown. - // +kubebuilder:validation:Required + // status of the condition, one of True, False, Unknown. // +kubebuilder:validation:Enum="True";"False";"Unknown" // +required optional string status = 2; - // LastTransitionTime is the time of the last update to the current status property. - // +kubebuilder:validation:Required + // lastTransitionTime is the time of the last update to the current status property. // +required // +nullable optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; - // Reason is the CamelCase reason for the condition's current status. + // reason is the CamelCase reason for the condition's current status. optional string reason = 4; - // Message provides additional information about the current condition. + // message provides additional information about the current condition. // This is only to be consumed by humans. It may contain Line Feed // characters (U+000A), which should be rendered as new lines. optional string message = 5; @@ -147,21 +144,21 @@ message EgressRouterStatusCondition { // L4RedirectRule defines a DNAT redirection from a given port to a destination IP and port. message L4RedirectRule { // IP specifies the remote destination's IP address. Can be IPv4 or IPv6. - // +kubebuilder:validation:Required + // +required optional string destinationIP = 1; - // Port is the port number to which clients should send traffic to be redirected. - // +kubebuilder:validation:Required + // port is the port number to which clients should send traffic to be redirected. + // +required // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 optional int32 port = 2; - // Protocol can be TCP, SCTP or UDP. - // +kubebuilder:validation:Required + // protocol can be TCP, SCTP or UDP. + // +required // +kubebuilder:validation:Enum="TCP";"UDP";"SCTP" optional string protocol = 3; - // TargetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. + // targetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. // If unspecified, the value from "Port" is used. // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 @@ -170,8 +167,8 @@ message L4RedirectRule { // MacvlanConfig consists of arguments specific to the macvlan EgressRouterInterfaceType message MacvlanConfig { - // Mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge". - // +kubebuilder:validation:Required + // mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge". + // +required // +kubebuilder:validation:Enum="Bridge";"Private";"VEPA";"Passthru" // +kubebuilder:default:="Bridge" optional string mode = 1; @@ -185,7 +182,7 @@ message RedirectConfig { // List of L4RedirectRules that define the DNAT redirection from the pod to the destination in redirect mode. repeated L4RedirectRule redirectRules = 1; - // FallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. + // fallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. // If no redirect rules are specified, all traffic from the router are redirected to this IP. // If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. // If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected. diff --git a/vendor/github.com/openshift/api/networkoperator/v1/types_egressrouter.go b/vendor/github.com/openshift/api/networkoperator/v1/types_egressrouter.go index 9f11590e05..87e279eda8 100644 --- a/vendor/github.com/openshift/api/networkoperator/v1/types_egressrouter.go +++ b/vendor/github.com/openshift/api/networkoperator/v1/types_egressrouter.go @@ -38,7 +38,7 @@ type EgressRouter struct { metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` // Specification of the desired egress router. - // +kubebuilder:validation:Required + // +required Spec EgressRouterSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` // Observed status of EgressRouter. @@ -51,23 +51,23 @@ type EgressRouter struct { // +k8s:openapi-gen=true // +kubebuilder:validation:Required type EgressRouterSpec struct { - // Mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently. - // +kubebuilder:validation:Required + // mode depicts the mode that is used for the egress router. The default mode is "Redirect" and is the only supported mode currently. + // +required // +kubebuilder:validation:Enum="Redirect" // +kubebuilder:default:="Redirect" Mode EgressRouterMode `json:"mode" protobuf:"bytes,1,opt,name=mode,casttype=EgressRouterMode"` - // Redirect represents the configuration parameters specific to redirect mode. + // redirect represents the configuration parameters specific to redirect mode. Redirect *RedirectConfig `json:"redirect,omitempty" protobuf:"bytes,2,opt,name=redirect"` // Specification of interface to create/use. The default is macvlan. // Currently only macvlan is supported. - // +kubebuilder:validation:Required + // +required // +kubebuilder:default:={macvlan: {mode: Bridge}} NetworkInterface EgressRouterInterface `json:"networkInterface" protobuf:"bytes,3,opt,name=networkInterface"` // List of IP addresses to configure on the pod's secondary interface. - // +kubebuilder:validation:Required + // +required Addresses []EgressRouterAddress `json:"addresses" protobuf:"bytes,4,rep,name=addresses"` } @@ -86,7 +86,7 @@ type RedirectConfig struct { // List of L4RedirectRules that define the DNAT redirection from the pod to the destination in redirect mode. RedirectRules []L4RedirectRule `json:"redirectRules,omitempty" protobuf:"bytes,1,rep,name=redirectRules"` - // FallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. + // fallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. // If no redirect rules are specified, all traffic from the router are redirected to this IP. // If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. // If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected. @@ -96,21 +96,21 @@ type RedirectConfig struct { // L4RedirectRule defines a DNAT redirection from a given port to a destination IP and port. type L4RedirectRule struct { // IP specifies the remote destination's IP address. Can be IPv4 or IPv6. - // +kubebuilder:validation:Required + // +required DestinationIP string `json:"destinationIP" protobuf:"bytes,1,opt,name=destinationIP"` - // Port is the port number to which clients should send traffic to be redirected. - // +kubebuilder:validation:Required + // port is the port number to which clients should send traffic to be redirected. + // +required // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 Port int32 `json:"port" protobuf:"varint,2,opt,name=port"` - // Protocol can be TCP, SCTP or UDP. - // +kubebuilder:validation:Required + // protocol can be TCP, SCTP or UDP. + // +required // +kubebuilder:validation:Enum="TCP";"UDP";"SCTP" Protocol ProtocolType `json:"protocol" protobuf:"bytes,3,opt,name=protocol,casttype=ProtocolType"` - // TargetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. + // targetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. // If unspecified, the value from "Port" is used. // +kubebuilder:validation:Maximum:=65535 // +kubebuilder:validation:Minimum:=1 @@ -165,8 +165,8 @@ const ( // MacvlanConfig consists of arguments specific to the macvlan EgressRouterInterfaceType type MacvlanConfig struct { - // Mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge". - // +kubebuilder:validation:Required + // mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is "Bridge". + // +required // +kubebuilder:validation:Enum="Bridge";"Private";"VEPA";"Passthru" // +kubebuilder:default:="Bridge" Mode MacvlanMode `json:"mode" protobuf:"bytes,1,opt,name=mode,casttype=MacvlanMode"` @@ -178,8 +178,8 @@ type MacvlanConfig struct { // EgressRouterAddress contains a pair of IP CIDR and gateway to be configured on the router's interface // +kubebuilder:validation:Required type EgressRouterAddress struct { - // IP is the address to configure on the router's interface. Can be IPv4 or IPv6. - // +kubebuilder:validation:Required + // ip is the address to configure on the router's interface. Can be IPv4 or IPv6. + // +required IP string `json:"ip" protobuf:"bytes,1,opt,name=ip"` // IP address of the next-hop gateway, if it cannot be automatically determined. Can be IPv4 or IPv6. Gateway string `json:"gateway,omitempty" protobuf:"bytes,2,opt,name=gateway"` @@ -219,28 +219,25 @@ const ( // managed and monitored components. // +k8s:deepcopy-gen=true type EgressRouterStatusCondition struct { - // Type specifies the aspect reported by this condition; one of Available, Progressing, Degraded - // +kubebuilder:validation:Required + // type specifies the aspect reported by this condition; one of Available, Progressing, Degraded // +kubebuilder:validation:Enum="Available";"Progressing";"Degraded" // +required Type EgressRouterStatusConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=EgressRouterStatusConditionType"` - // Status of the condition, one of True, False, Unknown. - // +kubebuilder:validation:Required + // status of the condition, one of True, False, Unknown. // +kubebuilder:validation:Enum="True";"False";"Unknown" // +required Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` - // LastTransitionTime is the time of the last update to the current status property. - // +kubebuilder:validation:Required + // lastTransitionTime is the time of the last update to the current status property. // +required // +nullable LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"` - // Reason is the CamelCase reason for the condition's current status. + // reason is the CamelCase reason for the condition's current status. Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` - // Message provides additional information about the current condition. + // message provides additional information about the current condition. // This is only to be consumed by humans. It may contain Line Feed // characters (U+000A), which should be rendered as new lines. Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` @@ -249,7 +246,7 @@ type EgressRouterStatusCondition struct { // EgressRouterStatus contains the observed status of EgressRouter. Read-only. type EgressRouterStatus struct { // Observed status of the egress router - // +kubebuilder:validation:Required + // +required Conditions []EgressRouterStatusCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"` } diff --git a/vendor/github.com/openshift/api/networkoperator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/networkoperator/v1/zz_generated.swagger_doc_generated.go index 97bec9e29d..000cb19033 100644 --- a/vendor/github.com/openshift/api/networkoperator/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/networkoperator/v1/zz_generated.swagger_doc_generated.go @@ -24,7 +24,7 @@ func (EgressRouter) SwaggerDoc() map[string]string { var map_EgressRouterAddress = map[string]string{ "": "EgressRouterAddress contains a pair of IP CIDR and gateway to be configured on the router's interface", - "ip": "IP is the address to configure on the router's interface. Can be IPv4 or IPv6.", + "ip": "ip is the address to configure on the router's interface. Can be IPv4 or IPv6.", "gateway": "IP address of the next-hop gateway, if it cannot be automatically determined. Can be IPv4 or IPv6.", } @@ -52,8 +52,8 @@ func (EgressRouterList) SwaggerDoc() map[string]string { var map_EgressRouterSpec = map[string]string{ "": "EgressRouterSpec contains the configuration for an egress router. Mode, networkInterface and addresses fields must be specified along with exactly one \"Config\" that matches the mode. Each config consists of parameters specific to that mode.", - "mode": "Mode depicts the mode that is used for the egress router. The default mode is \"Redirect\" and is the only supported mode currently.", - "redirect": "Redirect represents the configuration parameters specific to redirect mode.", + "mode": "mode depicts the mode that is used for the egress router. The default mode is \"Redirect\" and is the only supported mode currently.", + "redirect": "redirect represents the configuration parameters specific to redirect mode.", "networkInterface": "Specification of interface to create/use. The default is macvlan. Currently only macvlan is supported.", "addresses": "List of IP addresses to configure on the pod's secondary interface.", } @@ -73,11 +73,11 @@ func (EgressRouterStatus) SwaggerDoc() map[string]string { var map_EgressRouterStatusCondition = map[string]string{ "": "EgressRouterStatusCondition represents the state of the egress router's managed and monitored components.", - "type": "Type specifies the aspect reported by this condition; one of Available, Progressing, Degraded", - "status": "Status of the condition, one of True, False, Unknown.", - "lastTransitionTime": "LastTransitionTime is the time of the last update to the current status property.", - "reason": "Reason is the CamelCase reason for the condition's current status.", - "message": "Message provides additional information about the current condition. This is only to be consumed by humans. It may contain Line Feed characters (U+000A), which should be rendered as new lines.", + "type": "type specifies the aspect reported by this condition; one of Available, Progressing, Degraded", + "status": "status of the condition, one of True, False, Unknown.", + "lastTransitionTime": "lastTransitionTime is the time of the last update to the current status property.", + "reason": "reason is the CamelCase reason for the condition's current status.", + "message": "message provides additional information about the current condition. This is only to be consumed by humans. It may contain Line Feed characters (U+000A), which should be rendered as new lines.", } func (EgressRouterStatusCondition) SwaggerDoc() map[string]string { @@ -87,9 +87,9 @@ func (EgressRouterStatusCondition) SwaggerDoc() map[string]string { var map_L4RedirectRule = map[string]string{ "": "L4RedirectRule defines a DNAT redirection from a given port to a destination IP and port.", "destinationIP": "IP specifies the remote destination's IP address. Can be IPv4 or IPv6.", - "port": "Port is the port number to which clients should send traffic to be redirected.", - "protocol": "Protocol can be TCP, SCTP or UDP.", - "targetPort": "TargetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. If unspecified, the value from \"Port\" is used.", + "port": "port is the port number to which clients should send traffic to be redirected.", + "protocol": "protocol can be TCP, SCTP or UDP.", + "targetPort": "targetPort allows specifying the port number on the remote destination to which the traffic gets redirected to. If unspecified, the value from \"Port\" is used.", } func (L4RedirectRule) SwaggerDoc() map[string]string { @@ -98,7 +98,7 @@ func (L4RedirectRule) SwaggerDoc() map[string]string { var map_MacvlanConfig = map[string]string{ "": "MacvlanConfig consists of arguments specific to the macvlan EgressRouterInterfaceType", - "mode": "Mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is \"Bridge\".", + "mode": "mode depicts the mode that is used for the macvlan interface; one of Bridge|Private|VEPA|Passthru. The default mode is \"Bridge\".", "master": "Name of the master interface. Need not be specified if it can be inferred from the IP address.", } @@ -109,7 +109,7 @@ func (MacvlanConfig) SwaggerDoc() map[string]string { var map_RedirectConfig = map[string]string{ "": "RedirectConfig represents the configuration parameters specific to redirect mode.", "redirectRules": "List of L4RedirectRules that define the DNAT redirection from the pod to the destination in redirect mode.", - "fallbackIP": "FallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. If no redirect rules are specified, all traffic from the router are redirected to this IP. If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected.", + "fallbackIP": "fallbackIP specifies the remote destination's IP address. Can be IPv4 or IPv6. If no redirect rules are specified, all traffic from the router are redirected to this IP. If redirect rules are specified, then any connections on any other port (undefined in the rules) on the router will be redirected to this IP. If redirect rules are specified and no fallback IP is provided, connections on other ports will simply be rejected.", } func (RedirectConfig) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/oauth/v1/generated.proto b/vendor/github.com/openshift/api/oauth/v1/generated.proto index 7630d896da..4a5474e0c6 100644 --- a/vendor/github.com/openshift/api/oauth/v1/generated.proto +++ b/vendor/github.com/openshift/api/oauth/v1/generated.proto @@ -13,13 +13,13 @@ option go_package = "github.com/openshift/api/oauth/v1"; // ClusterRoleScopeRestriction describes restrictions on cluster role scopes message ClusterRoleScopeRestriction { - // RoleNames is the list of cluster roles that can referenced. * means anything + // roleNames is the list of cluster roles that can referenced. * means anything repeated string roleNames = 1; - // Namespaces is the list of namespaces that can be referenced. * means any of them (including *) + // namespaces is the list of namespaces that can be referenced. * means any of them (including *) repeated string namespaces = 2; - // AllowEscalation indicates whether you can request roles and their escalating resources + // allowEscalation indicates whether you can request roles and their escalating resources optional bool allowEscalation = 3; } @@ -37,31 +37,31 @@ message OAuthAccessToken { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // ClientName references the client that created this token. + // clientName references the client that created this token. optional string clientName = 2; - // ExpiresIn is the seconds from CreationTime before this token expires. + // expiresIn is the seconds from CreationTime before this token expires. optional int64 expiresIn = 3; - // Scopes is an array of the requested scopes. + // scopes is an array of the requested scopes. repeated string scopes = 4; - // RedirectURI is the redirection associated with the token. + // redirectURI is the redirection associated with the token. optional string redirectURI = 5; - // UserName is the user name associated with this token + // userName is the user name associated with this token optional string userName = 6; - // UserUID is the unique UID associated with this token + // userUID is the unique UID associated with this token optional string userUID = 7; - // AuthorizeToken contains the token that authorized this token + // authorizeToken contains the token that authorized this token optional string authorizeToken = 8; - // RefreshToken is the value by which this token can be renewed. Can be blank. + // refreshToken is the value by which this token can be renewed. Can be blank. optional string refreshToken = 9; - // InactivityTimeoutSeconds is the value in seconds, from the + // inactivityTimeoutSeconds is the value in seconds, from the // CreationTimestamp, after which this token can no longer be used. // The value is automatically incremented when the token is used. optional int32 inactivityTimeoutSeconds = 10; @@ -76,7 +76,7 @@ message OAuthAccessTokenList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of OAuth access tokens + // items is the list of OAuth access tokens repeated OAuthAccessToken items = 2; } @@ -89,32 +89,32 @@ message OAuthAuthorizeToken { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // ClientName references the client that created this token. + // clientName references the client that created this token. optional string clientName = 2; - // ExpiresIn is the seconds from CreationTime before this token expires. + // expiresIn is the seconds from CreationTime before this token expires. optional int64 expiresIn = 3; - // Scopes is an array of the requested scopes. + // scopes is an array of the requested scopes. repeated string scopes = 4; - // RedirectURI is the redirection associated with the token. + // redirectURI is the redirection associated with the token. optional string redirectURI = 5; - // State data from request + // state data from request optional string state = 6; - // UserName is the user name associated with this token + // userName is the user name associated with this token optional string userName = 7; - // UserUID is the unique UID associated with this token. UserUID and UserName must both match + // userUID is the unique UID associated with this token. UserUID and UserName must both match // for this token to be valid. optional string userUID = 8; - // CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 + // codeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 optional string codeChallenge = 9; - // CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 + // codeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 optional string codeChallengeMethod = 10; } @@ -127,7 +127,7 @@ message OAuthAuthorizeTokenList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of OAuth authorization tokens + // items is the list of OAuth authorization tokens repeated OAuthAuthorizeToken items = 2; } @@ -140,36 +140,36 @@ message OAuthClient { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Secret is the unique secret associated with a client + // secret is the unique secret associated with a client optional string secret = 2; - // AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation + // additionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation // and for service account token validation repeated string additionalSecrets = 3; - // RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects + // respondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects optional bool respondWithChallenges = 4; - // RedirectURIs is the valid redirection URIs associated with a client + // redirectURIs is the valid redirection URIs associated with a client // +patchStrategy=merge repeated string redirectURIs = 5; - // GrantMethod is a required field which determines how to handle grants for this client. + // grantMethod is a required field which determines how to handle grants for this client. // Valid grant handling methods are: // - auto: always approves grant requests, useful for trusted clients // - prompt: prompts the end user for approval of grant requests, useful for third-party clients optional string grantMethod = 6; - // ScopeRestrictions describes which scopes this client can request. Each requested scope + // scopeRestrictions describes which scopes this client can request. Each requested scope // is checked against each restriction. If any restriction matches, then the scope is allowed. // If no restriction matches, then the scope is denied. repeated ScopeRestriction scopeRestrictions = 7; - // AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. + // accessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. // 0 means no expiration. optional int32 accessTokenMaxAgeSeconds = 8; - // AccessTokenInactivityTimeoutSeconds overrides the default token + // accessTokenInactivityTimeoutSeconds overrides the default token // inactivity timeout for tokens granted to this client. // The value represents the maximum amount of time that can occur between // consecutive uses of the token. Tokens become invalid if they are not @@ -194,17 +194,17 @@ message OAuthClientAuthorization { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // ClientName references the client that created this authorization + // clientName references the client that created this authorization optional string clientName = 2; - // UserName is the user name that authorized this client + // userName is the user name that authorized this client optional string userName = 3; - // UserUID is the unique UID associated with this authorization. UserUID and UserName + // userUID is the unique UID associated with this authorization. UserUID and UserName // must both match for this authorization to be valid. optional string userUID = 4; - // Scopes is an array of the granted scopes. + // scopes is an array of the granted scopes. repeated string scopes = 5; } @@ -217,7 +217,7 @@ message OAuthClientAuthorizationList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of OAuth client authorizations + // items is the list of OAuth client authorizations repeated OAuthClientAuthorization items = 2; } @@ -230,7 +230,7 @@ message OAuthClientList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of OAuth clients + // items is the list of OAuth clients repeated OAuthClient items = 2; } @@ -264,7 +264,7 @@ message ScopeRestriction { // ExactValues means the scope has to match a particular set of strings exactly repeated string literals = 1; - // ClusterRole describes a set of restrictions for cluster role scoping. + // clusterRole describes a set of restrictions for cluster role scoping. optional ClusterRoleScopeRestriction clusterRole = 2; } @@ -276,31 +276,31 @@ message UserOAuthAccessToken { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // ClientName references the client that created this token. + // clientName references the client that created this token. optional string clientName = 2; - // ExpiresIn is the seconds from CreationTime before this token expires. + // expiresIn is the seconds from CreationTime before this token expires. optional int64 expiresIn = 3; - // Scopes is an array of the requested scopes. + // scopes is an array of the requested scopes. repeated string scopes = 4; - // RedirectURI is the redirection associated with the token. + // redirectURI is the redirection associated with the token. optional string redirectURI = 5; - // UserName is the user name associated with this token + // userName is the user name associated with this token optional string userName = 6; - // UserUID is the unique UID associated with this token + // userUID is the unique UID associated with this token optional string userUID = 7; - // AuthorizeToken contains the token that authorized this token + // authorizeToken contains the token that authorized this token optional string authorizeToken = 8; - // RefreshToken is the value by which this token can be renewed. Can be blank. + // refreshToken is the value by which this token can be renewed. Can be blank. optional string refreshToken = 9; - // InactivityTimeoutSeconds is the value in seconds, from the + // inactivityTimeoutSeconds is the value in seconds, from the // CreationTimestamp, after which this token can no longer be used. // The value is automatically incremented when the token is used. optional int32 inactivityTimeoutSeconds = 10; diff --git a/vendor/github.com/openshift/api/oauth/v1/types.go b/vendor/github.com/openshift/api/oauth/v1/types.go index 026c527f5b..5a70b47749 100644 --- a/vendor/github.com/openshift/api/oauth/v1/types.go +++ b/vendor/github.com/openshift/api/oauth/v1/types.go @@ -24,31 +24,31 @@ type OAuthAccessToken struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // ClientName references the client that created this token. + // clientName references the client that created this token. ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` - // ExpiresIn is the seconds from CreationTime before this token expires. + // expiresIn is the seconds from CreationTime before this token expires. ExpiresIn int64 `json:"expiresIn,omitempty" protobuf:"varint,3,opt,name=expiresIn"` - // Scopes is an array of the requested scopes. + // scopes is an array of the requested scopes. Scopes []string `json:"scopes,omitempty" protobuf:"bytes,4,rep,name=scopes"` - // RedirectURI is the redirection associated with the token. + // redirectURI is the redirection associated with the token. RedirectURI string `json:"redirectURI,omitempty" protobuf:"bytes,5,opt,name=redirectURI"` - // UserName is the user name associated with this token + // userName is the user name associated with this token UserName string `json:"userName,omitempty" protobuf:"bytes,6,opt,name=userName"` - // UserUID is the unique UID associated with this token + // userUID is the unique UID associated with this token UserUID string `json:"userUID,omitempty" protobuf:"bytes,7,opt,name=userUID"` - // AuthorizeToken contains the token that authorized this token + // authorizeToken contains the token that authorized this token AuthorizeToken string `json:"authorizeToken,omitempty" protobuf:"bytes,8,opt,name=authorizeToken"` - // RefreshToken is the value by which this token can be renewed. Can be blank. + // refreshToken is the value by which this token can be renewed. Can be blank. RefreshToken string `json:"refreshToken,omitempty" protobuf:"bytes,9,opt,name=refreshToken"` - // InactivityTimeoutSeconds is the value in seconds, from the + // inactivityTimeoutSeconds is the value in seconds, from the // CreationTimestamp, after which this token can no longer be used. // The value is automatically incremented when the token is used. InactivityTimeoutSeconds int32 `json:"inactivityTimeoutSeconds,omitempty" protobuf:"varint,10,opt,name=inactivityTimeoutSeconds"` @@ -69,32 +69,32 @@ type OAuthAuthorizeToken struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // ClientName references the client that created this token. + // clientName references the client that created this token. ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` - // ExpiresIn is the seconds from CreationTime before this token expires. + // expiresIn is the seconds from CreationTime before this token expires. ExpiresIn int64 `json:"expiresIn,omitempty" protobuf:"varint,3,opt,name=expiresIn"` - // Scopes is an array of the requested scopes. + // scopes is an array of the requested scopes. Scopes []string `json:"scopes,omitempty" protobuf:"bytes,4,rep,name=scopes"` - // RedirectURI is the redirection associated with the token. + // redirectURI is the redirection associated with the token. RedirectURI string `json:"redirectURI,omitempty" protobuf:"bytes,5,opt,name=redirectURI"` - // State data from request + // state data from request State string `json:"state,omitempty" protobuf:"bytes,6,opt,name=state"` - // UserName is the user name associated with this token + // userName is the user name associated with this token UserName string `json:"userName,omitempty" protobuf:"bytes,7,opt,name=userName"` - // UserUID is the unique UID associated with this token. UserUID and UserName must both match + // userUID is the unique UID associated with this token. UserUID and UserName must both match // for this token to be valid. UserUID string `json:"userUID,omitempty" protobuf:"bytes,8,opt,name=userUID"` - // CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 + // codeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636 CodeChallenge string `json:"codeChallenge,omitempty" protobuf:"bytes,9,opt,name=codeChallenge"` - // CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 + // codeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636 CodeChallengeMethod string `json:"codeChallengeMethod,omitempty" protobuf:"bytes,10,opt,name=codeChallengeMethod"` } @@ -113,36 +113,36 @@ type OAuthClient struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Secret is the unique secret associated with a client + // secret is the unique secret associated with a client Secret string `json:"secret,omitempty" protobuf:"bytes,2,opt,name=secret"` - // AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation + // additionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation // and for service account token validation AdditionalSecrets []string `json:"additionalSecrets,omitempty" protobuf:"bytes,3,rep,name=additionalSecrets"` - // RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects + // respondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects RespondWithChallenges bool `json:"respondWithChallenges,omitempty" protobuf:"varint,4,opt,name=respondWithChallenges"` - // RedirectURIs is the valid redirection URIs associated with a client + // redirectURIs is the valid redirection URIs associated with a client // +patchStrategy=merge RedirectURIs []string `json:"redirectURIs,omitempty" patchStrategy:"merge" protobuf:"bytes,5,rep,name=redirectURIs"` - // GrantMethod is a required field which determines how to handle grants for this client. + // grantMethod is a required field which determines how to handle grants for this client. // Valid grant handling methods are: // - auto: always approves grant requests, useful for trusted clients // - prompt: prompts the end user for approval of grant requests, useful for third-party clients GrantMethod GrantHandlerType `json:"grantMethod,omitempty" protobuf:"bytes,6,opt,name=grantMethod,casttype=GrantHandlerType"` - // ScopeRestrictions describes which scopes this client can request. Each requested scope + // scopeRestrictions describes which scopes this client can request. Each requested scope // is checked against each restriction. If any restriction matches, then the scope is allowed. // If no restriction matches, then the scope is denied. ScopeRestrictions []ScopeRestriction `json:"scopeRestrictions,omitempty" protobuf:"bytes,7,rep,name=scopeRestrictions"` - // AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. + // accessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. // 0 means no expiration. AccessTokenMaxAgeSeconds *int32 `json:"accessTokenMaxAgeSeconds,omitempty" protobuf:"varint,8,opt,name=accessTokenMaxAgeSeconds"` - // AccessTokenInactivityTimeoutSeconds overrides the default token + // accessTokenInactivityTimeoutSeconds overrides the default token // inactivity timeout for tokens granted to this client. // The value represents the maximum amount of time that can occur between // consecutive uses of the token. Tokens become invalid if they are not @@ -174,17 +174,17 @@ type ScopeRestriction struct { // ExactValues means the scope has to match a particular set of strings exactly ExactValues []string `json:"literals,omitempty" protobuf:"bytes,1,rep,name=literals"` - // ClusterRole describes a set of restrictions for cluster role scoping. + // clusterRole describes a set of restrictions for cluster role scoping. ClusterRole *ClusterRoleScopeRestriction `json:"clusterRole,omitempty" protobuf:"bytes,2,opt,name=clusterRole"` } // ClusterRoleScopeRestriction describes restrictions on cluster role scopes type ClusterRoleScopeRestriction struct { - // RoleNames is the list of cluster roles that can referenced. * means anything + // roleNames is the list of cluster roles that can referenced. * means anything RoleNames []string `json:"roleNames" protobuf:"bytes,1,rep,name=roleNames"` - // Namespaces is the list of namespaces that can be referenced. * means any of them (including *) + // namespaces is the list of namespaces that can be referenced. * means any of them (including *) Namespaces []string `json:"namespaces" protobuf:"bytes,2,rep,name=namespaces"` - // AllowEscalation indicates whether you can request roles and their escalating resources + // allowEscalation indicates whether you can request roles and their escalating resources AllowEscalation bool `json:"allowEscalation" protobuf:"varint,3,opt,name=allowEscalation"` } @@ -203,17 +203,17 @@ type OAuthClientAuthorization struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // ClientName references the client that created this authorization + // clientName references the client that created this authorization ClientName string `json:"clientName,omitempty" protobuf:"bytes,2,opt,name=clientName"` - // UserName is the user name that authorized this client + // userName is the user name that authorized this client UserName string `json:"userName,omitempty" protobuf:"bytes,3,opt,name=userName"` - // UserUID is the unique UID associated with this authorization. UserUID and UserName + // userUID is the unique UID associated with this authorization. UserUID and UserName // must both match for this authorization to be valid. UserUID string `json:"userUID,omitempty" protobuf:"bytes,4,opt,name=userUID"` - // Scopes is an array of the granted scopes. + // scopes is an array of the granted scopes. Scopes []string `json:"scopes,omitempty" protobuf:"bytes,5,rep,name=scopes"` } @@ -230,7 +230,7 @@ type OAuthAccessTokenList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of OAuth access tokens + // items is the list of OAuth access tokens Items []OAuthAccessToken `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -247,7 +247,7 @@ type OAuthAuthorizeTokenList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of OAuth authorization tokens + // items is the list of OAuth authorization tokens Items []OAuthAuthorizeToken `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -264,7 +264,7 @@ type OAuthClientList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of OAuth clients + // items is the list of OAuth clients Items []OAuthClient `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -281,7 +281,7 @@ type OAuthClientAuthorizationList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of OAuth client authorizations + // items is the list of OAuth client authorizations Items []OAuthClientAuthorization `json:"items" protobuf:"bytes,2,rep,name=items"` } diff --git a/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go index f62b715c01..171b5221f6 100644 --- a/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/oauth/v1/zz_generated.swagger_doc_generated.go @@ -13,9 +13,9 @@ package v1 // AUTO-GENERATED FUNCTIONS START HERE var map_ClusterRoleScopeRestriction = map[string]string{ "": "ClusterRoleScopeRestriction describes restrictions on cluster role scopes", - "roleNames": "RoleNames is the list of cluster roles that can referenced. * means anything", - "namespaces": "Namespaces is the list of namespaces that can be referenced. * means any of them (including *)", - "allowEscalation": "AllowEscalation indicates whether you can request roles and their escalating resources", + "roleNames": "roleNames is the list of cluster roles that can referenced. * means anything", + "namespaces": "namespaces is the list of namespaces that can be referenced. * means any of them (including *)", + "allowEscalation": "allowEscalation indicates whether you can request roles and their escalating resources", } func (ClusterRoleScopeRestriction) SwaggerDoc() map[string]string { @@ -25,15 +25,15 @@ func (ClusterRoleScopeRestriction) SwaggerDoc() map[string]string { var map_OAuthAccessToken = map[string]string{ "": "OAuthAccessToken describes an OAuth access token. The name of a token must be prefixed with a `sha256~` string, must not contain \"/\" or \"%\" characters and must be at least 32 characters long.\n\nThe name of the token is constructed from the actual token by sha256-hashing it and using URL-safe unpadded base64-encoding (as described in RFC4648) on the hashed result.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "clientName": "ClientName references the client that created this token.", - "expiresIn": "ExpiresIn is the seconds from CreationTime before this token expires.", - "scopes": "Scopes is an array of the requested scopes.", - "redirectURI": "RedirectURI is the redirection associated with the token.", - "userName": "UserName is the user name associated with this token", - "userUID": "UserUID is the unique UID associated with this token", - "authorizeToken": "AuthorizeToken contains the token that authorized this token", - "refreshToken": "RefreshToken is the value by which this token can be renewed. Can be blank.", - "inactivityTimeoutSeconds": "InactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, after which this token can no longer be used. The value is automatically incremented when the token is used.", + "clientName": "clientName references the client that created this token.", + "expiresIn": "expiresIn is the seconds from CreationTime before this token expires.", + "scopes": "scopes is an array of the requested scopes.", + "redirectURI": "redirectURI is the redirection associated with the token.", + "userName": "userName is the user name associated with this token", + "userUID": "userUID is the unique UID associated with this token", + "authorizeToken": "authorizeToken contains the token that authorized this token", + "refreshToken": "refreshToken is the value by which this token can be renewed. Can be blank.", + "inactivityTimeoutSeconds": "inactivityTimeoutSeconds is the value in seconds, from the CreationTimestamp, after which this token can no longer be used. The value is automatically incremented when the token is used.", } func (OAuthAccessToken) SwaggerDoc() map[string]string { @@ -43,7 +43,7 @@ func (OAuthAccessToken) SwaggerDoc() map[string]string { var map_OAuthAccessTokenList = map[string]string{ "": "OAuthAccessTokenList is a collection of OAuth access tokens\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of OAuth access tokens", + "items": "items is the list of OAuth access tokens", } func (OAuthAccessTokenList) SwaggerDoc() map[string]string { @@ -53,15 +53,15 @@ func (OAuthAccessTokenList) SwaggerDoc() map[string]string { var map_OAuthAuthorizeToken = map[string]string{ "": "OAuthAuthorizeToken describes an OAuth authorization token\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "clientName": "ClientName references the client that created this token.", - "expiresIn": "ExpiresIn is the seconds from CreationTime before this token expires.", - "scopes": "Scopes is an array of the requested scopes.", - "redirectURI": "RedirectURI is the redirection associated with the token.", - "state": "State data from request", - "userName": "UserName is the user name associated with this token", - "userUID": "UserUID is the unique UID associated with this token. UserUID and UserName must both match for this token to be valid.", - "codeChallenge": "CodeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636", - "codeChallengeMethod": "CodeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636", + "clientName": "clientName references the client that created this token.", + "expiresIn": "expiresIn is the seconds from CreationTime before this token expires.", + "scopes": "scopes is an array of the requested scopes.", + "redirectURI": "redirectURI is the redirection associated with the token.", + "state": "state data from request", + "userName": "userName is the user name associated with this token", + "userUID": "userUID is the unique UID associated with this token. UserUID and UserName must both match for this token to be valid.", + "codeChallenge": "codeChallenge is the optional code_challenge associated with this authorization code, as described in rfc7636", + "codeChallengeMethod": "codeChallengeMethod is the optional code_challenge_method associated with this authorization code, as described in rfc7636", } func (OAuthAuthorizeToken) SwaggerDoc() map[string]string { @@ -71,7 +71,7 @@ func (OAuthAuthorizeToken) SwaggerDoc() map[string]string { var map_OAuthAuthorizeTokenList = map[string]string{ "": "OAuthAuthorizeTokenList is a collection of OAuth authorization tokens\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of OAuth authorization tokens", + "items": "items is the list of OAuth authorization tokens", } func (OAuthAuthorizeTokenList) SwaggerDoc() map[string]string { @@ -81,14 +81,14 @@ func (OAuthAuthorizeTokenList) SwaggerDoc() map[string]string { var map_OAuthClient = map[string]string{ "": "OAuthClient describes an OAuth client\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "secret": "Secret is the unique secret associated with a client", - "additionalSecrets": "AdditionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation and for service account token validation", - "respondWithChallenges": "RespondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects", - "redirectURIs": "RedirectURIs is the valid redirection URIs associated with a client", - "grantMethod": "GrantMethod is a required field which determines how to handle grants for this client. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients", - "scopeRestrictions": "ScopeRestrictions describes which scopes this client can request. Each requested scope is checked against each restriction. If any restriction matches, then the scope is allowed. If no restriction matches, then the scope is denied.", - "accessTokenMaxAgeSeconds": "AccessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. 0 means no expiration.", - "accessTokenInactivityTimeoutSeconds": "AccessTokenInactivityTimeoutSeconds overrides the default token inactivity timeout for tokens granted to this client. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. This value needs to be set only if the default set in configuration is not appropriate for this client. Valid values are: - 0: Tokens for this client never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)\n\nWARNING: existing tokens' timeout will not be affected (lowered) by changing this value", + "secret": "secret is the unique secret associated with a client", + "additionalSecrets": "additionalSecrets holds other secrets that may be used to identify the client. This is useful for rotation and for service account token validation", + "respondWithChallenges": "respondWithChallenges indicates whether the client wants authentication needed responses made in the form of challenges instead of redirects", + "redirectURIs": "redirectURIs is the valid redirection URIs associated with a client", + "grantMethod": "grantMethod is a required field which determines how to handle grants for this client. Valid grant handling methods are:\n - auto: always approves grant requests, useful for trusted clients\n - prompt: prompts the end user for approval of grant requests, useful for third-party clients", + "scopeRestrictions": "scopeRestrictions describes which scopes this client can request. Each requested scope is checked against each restriction. If any restriction matches, then the scope is allowed. If no restriction matches, then the scope is denied.", + "accessTokenMaxAgeSeconds": "accessTokenMaxAgeSeconds overrides the default access token max age for tokens granted to this client. 0 means no expiration.", + "accessTokenInactivityTimeoutSeconds": "accessTokenInactivityTimeoutSeconds overrides the default token inactivity timeout for tokens granted to this client. The value represents the maximum amount of time that can occur between consecutive uses of the token. Tokens become invalid if they are not used within this temporal window. The user will need to acquire a new token to regain access once a token times out. This value needs to be set only if the default set in configuration is not appropriate for this client. Valid values are: - 0: Tokens for this client never time out - X: Tokens time out if there is no activity for X seconds The current minimum allowed value for X is 300 (5 minutes)\n\nWARNING: existing tokens' timeout will not be affected (lowered) by changing this value", } func (OAuthClient) SwaggerDoc() map[string]string { @@ -98,10 +98,10 @@ func (OAuthClient) SwaggerDoc() map[string]string { var map_OAuthClientAuthorization = map[string]string{ "": "OAuthClientAuthorization describes an authorization created by an OAuth client\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "clientName": "ClientName references the client that created this authorization", - "userName": "UserName is the user name that authorized this client", - "userUID": "UserUID is the unique UID associated with this authorization. UserUID and UserName must both match for this authorization to be valid.", - "scopes": "Scopes is an array of the granted scopes.", + "clientName": "clientName references the client that created this authorization", + "userName": "userName is the user name that authorized this client", + "userUID": "userUID is the unique UID associated with this authorization. UserUID and UserName must both match for this authorization to be valid.", + "scopes": "scopes is an array of the granted scopes.", } func (OAuthClientAuthorization) SwaggerDoc() map[string]string { @@ -111,7 +111,7 @@ func (OAuthClientAuthorization) SwaggerDoc() map[string]string { var map_OAuthClientAuthorizationList = map[string]string{ "": "OAuthClientAuthorizationList is a collection of OAuth client authorizations\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of OAuth client authorizations", + "items": "items is the list of OAuth client authorizations", } func (OAuthClientAuthorizationList) SwaggerDoc() map[string]string { @@ -121,7 +121,7 @@ func (OAuthClientAuthorizationList) SwaggerDoc() map[string]string { var map_OAuthClientList = map[string]string{ "": "OAuthClientList is a collection of OAuth clients\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of OAuth clients", + "items": "items is the list of OAuth clients", } func (OAuthClientList) SwaggerDoc() map[string]string { @@ -152,7 +152,7 @@ func (RedirectReference) SwaggerDoc() map[string]string { var map_ScopeRestriction = map[string]string{ "": "ScopeRestriction describe one restriction on scopes. Exactly one option must be non-nil.", "literals": "ExactValues means the scope has to match a particular set of strings exactly", - "clusterRole": "ClusterRole describes a set of restrictions for cluster role scoping.", + "clusterRole": "clusterRole describes a set of restrictions for cluster role scoping.", } func (ScopeRestriction) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go index 33e3cf2912..498f78df6d 100644 --- a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/types.go @@ -123,15 +123,15 @@ type RoutingConfig struct { type ImportModeType string const ( - // ImportModeLegacy indicates that the legacy behaviour should be used. - // For manifest lists, the legacy behaviour will discard the manifest list and import a single - // sub-manifest. In this case, the platform is chosen in the following order of priority: - // 1. tag annotations; 2. control plane arch/os; 3. linux/amd64; 4. the first manifest in the list. - // This mode is the default. - ImportModeLegacy ImportModeType = "Legacy" - // ImportModePreserveOriginal indicates that the original manifest will be preserved. - // For manifest lists, the manifest list and all its sub-manifests will be imported. - ImportModePreserveOriginal ImportModeType = "PreserveOriginal" + // ImportModeLegacy indicates that the legacy behaviour should be used. + // For manifest lists, the legacy behaviour will discard the manifest list and import a single + // sub-manifest. In this case, the platform is chosen in the following order of priority: + // 1. tag annotations; 2. control plane arch/os; 3. linux/amd64; 4. the first manifest in the list. + // This mode is the default. + ImportModeLegacy ImportModeType = "Legacy" + // ImportModePreserveOriginal indicates that the original manifest will be preserved. + // For manifest lists, the manifest list and all its sub-manifests will be imported. + ImportModePreserveOriginal ImportModeType = "PreserveOriginal" ) type ImagePolicyConfig struct { @@ -180,11 +180,11 @@ type AllowedRegistries []RegistryLocation // RegistryLocation contains a location of the registry specified by the registry domain // name. The domain name might include wildcards, like '*' or '??'. type RegistryLocation struct { - // DomainName specifies a domain name for the registry + // domainName specifies a domain name for the registry // In case the registry use non-standard (80 or 443) port, the port should be included // in the domain name as well. DomainName string `json:"domainName"` - // Insecure indicates whether the registry is secure (https) or insecure (http) + // insecure indicates whether the registry is secure (https) or insecure (http) // By default (if not specified) the registry is assumed as secure. Insecure bool `json:"insecure,omitempty"` } @@ -440,36 +440,36 @@ type BuildOverridesConfig struct { // ImageConfig holds the necessary configuration options for building image names for system components type ImageConfig struct { - // Format is the format of the name to be built for the system component + // format is the format of the name to be built for the system component Format string `json:"format"` - // Latest determines if the latest tag will be pulled from the registry + // latest determines if the latest tag will be pulled from the registry Latest bool `json:"latest"` } // ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for // pods fulfilling a service to serve with. type ServiceServingCert struct { - // Signer holds the signing information used to automatically sign serving certificates. + // signer holds the signing information used to automatically sign serving certificates. // If this value is nil, then certs are not signed automatically. Signer *configv1.CertInfo `json:"signer"` } // ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips. type ClusterNetworkEntry struct { - // CIDR defines the total range of a cluster networks address space. + // cidr defines the total range of a cluster networks address space. CIDR string `json:"cidr"` - // HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. + // hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod. HostSubnetLength uint32 `json:"hostSubnetLength"` } // SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled. type SecurityAllocator struct { - // UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the + // uidAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the // block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks // before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the // ranges container images will use once user namespaces are started). UIDAllocatorRange string `json:"uidAllocatorRange"` - // MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is + // mcsAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is // "/[,]". The default is "s0/2" and will allocate from c0 -> c1023, which means a total of 535k labels // are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated // to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default @@ -480,7 +480,7 @@ type SecurityAllocator struct { // * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511 // MCSAllocatorRange string `json:"mcsAllocatorRange"` - // MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS + // mcsLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS // ranges (100k namespaces, 535k/5 labels). MCSLabelsPerProject int `json:"mcsLabelsPerProject"` } diff --git a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go index 5162e46ba0..0c73046ee1 100644 --- a/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/openshiftcontrolplane/v1/zz_generated.swagger_doc_generated.go @@ -59,8 +59,8 @@ func (BuildOverridesConfig) SwaggerDoc() map[string]string { var map_ClusterNetworkEntry = map[string]string{ "": "ClusterNetworkEntry defines an individual cluster network. The CIDRs cannot overlap with other cluster network CIDRs, CIDRs reserved for external ips, CIDRs reserved for service networks, and CIDRs reserved for ingress ips.", - "cidr": "CIDR defines the total range of a cluster networks address space.", - "hostSubnetLength": "HostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", + "cidr": "cidr defines the total range of a cluster networks address space.", + "hostSubnetLength": "hostSubnetLength is the number of bits of the accompanying CIDR address to allocate to each node. eg, 8 would mean that each node would have a /24 slice of the overlay network for its pod.", } func (ClusterNetworkEntry) SwaggerDoc() map[string]string { @@ -90,8 +90,8 @@ func (FrontProxyConfig) SwaggerDoc() map[string]string { var map_ImageConfig = map[string]string{ "": "ImageConfig holds the necessary configuration options for building image names for system components", - "format": "Format is the format of the name to be built for the system component", - "latest": "Latest determines if the latest tag will be pulled from the registry", + "format": "format is the format of the name to be built for the system component", + "latest": "latest determines if the latest tag will be pulled from the registry", } func (ImageConfig) SwaggerDoc() map[string]string { @@ -201,8 +201,8 @@ func (ProjectConfig) SwaggerDoc() map[string]string { var map_RegistryLocation = map[string]string{ "": "RegistryLocation contains a location of the registry specified by the registry domain name. The domain name might include wildcards, like '*' or '??'.", - "domainName": "DomainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", - "insecure": "Insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", + "domainName": "domainName specifies a domain name for the registry In case the registry use non-standard (80 or 443) port, the port should be included in the domain name as well.", + "insecure": "insecure indicates whether the registry is secure (https) or insecure (http) By default (if not specified) the registry is assumed as secure.", } func (RegistryLocation) SwaggerDoc() map[string]string { @@ -220,9 +220,9 @@ func (RoutingConfig) SwaggerDoc() map[string]string { var map_SecurityAllocator = map[string]string{ "": "SecurityAllocator controls the automatic allocation of UIDs and MCS labels to a project. If nil, allocation is disabled.", - "uidAllocatorRange": "UIDAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", - "mcsAllocatorRange": "MCSAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", - "mcsLabelsPerProject": "MCSLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", + "uidAllocatorRange": "uidAllocatorRange defines the total set of Unix user IDs (UIDs) that will be allocated to projects automatically, and the size of the block each namespace gets. For example, 1000-1999/10 will allocate ten UIDs per namespace, and will be able to allocate up to 100 blocks before running out of space. The default is to allocate from 1 billion to 2 billion in 10k blocks (which is the expected size of the ranges container images will use once user namespaces are started).", + "mcsAllocatorRange": "mcsAllocatorRange defines the range of MCS categories that will be assigned to namespaces. The format is \"/[,]\". The default is \"s0/2\" and will allocate from c0 -> c1023, which means a total of 535k labels are available (1024 choose 2 ~ 535k). If this value is changed after startup, new projects may receive labels that are already allocated to other projects. Prefix may be any valid SELinux set of terms (including user, role, and type), although leaving them as the default will allow the server to set them automatically.\n\nExamples: * s0:/2 - Allocate labels from s0:c0,c0 to s0:c511,c511 * s0:/2,512 - Allocate labels from s0:c0,c0,c0 to s0:c511,c511,511", + "mcsLabelsPerProject": "mcsLabelsPerProject defines the number of labels that should be reserved per project. The default is 5 to match the default UID and MCS ranges (100k namespaces, 535k/5 labels).", } func (SecurityAllocator) SwaggerDoc() map[string]string { @@ -239,7 +239,7 @@ func (ServiceAccountControllerConfig) SwaggerDoc() map[string]string { var map_ServiceServingCert = map[string]string{ "": "ServiceServingCert holds configuration for service serving cert signer which creates cert/key pairs for pods fulfilling a service to serve with.", - "signer": "Signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", + "signer": "signer holds the signing information used to automatically sign serving certificates. If this value is nil, then certs are not signed automatically.", } func (ServiceServingCert) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/operator/v1/register.go b/vendor/github.com/openshift/api/operator/v1/register.go index 21919f9a8b..5920c4fca7 100644 --- a/vendor/github.com/openshift/api/operator/v1/register.go +++ b/vendor/github.com/openshift/api/operator/v1/register.go @@ -62,6 +62,8 @@ func addKnownTypes(scheme *runtime.Scheme) error { &OpenShiftAPIServerList{}, &OpenShiftControllerManager{}, &OpenShiftControllerManagerList{}, + &OLM{}, + &OLMList{}, &ServiceCA{}, &ServiceCAList{}, &ServiceCatalogAPIServer{}, diff --git a/vendor/github.com/openshift/api/operator/v1/types.go b/vendor/github.com/openshift/api/operator/v1/types.go index f04b6846ae..b46448c8d6 100644 --- a/vendor/github.com/openshift/api/operator/v1/types.go +++ b/vendor/github.com/openshift/api/operator/v1/types.go @@ -16,7 +16,6 @@ type MyOperatorResource struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required // +required Spec MyOperatorResourceSpec `json:"spec"` Status MyOperatorResourceStatus `json:"status"` @@ -145,19 +144,19 @@ type OperatorStatus struct { // GenerationStatus keeps track of the generation for a given resource so that decisions about forced updates can be made. type GenerationStatus struct { // group is the group of the thing you're tracking - // +kubebuilder:validation:Required + // +required Group string `json:"group"` // resource is the resource type of the thing you're tracking - // +kubebuilder:validation:Required + // +required Resource string `json:"resource"` // namespace is where the thing you're tracking is - // +kubebuilder:validation:Required + // +required Namespace string `json:"namespace"` // name is the name of the thing you're tracking - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // TODO: Add validation for lastGeneration. The value for this field should generally increase, except when the associated @@ -194,21 +193,18 @@ type OperatorCondition struct { // useful (see .node.status.conditions), the ability to deconflict is important. // The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt) // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$` // +kubebuilder:validation:MaxLength=316 Type string `json:"type" protobuf:"bytes,1,opt,name=type"` // status of the condition, one of True, False, Unknown. // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Enum=True;False;Unknown Status ConditionStatus `json:"status"` // lastTransitionTime is the last time the condition transitioned from one status to another. // This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. // +required - // +kubebuilder:validation:Required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Format=date-time LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` @@ -262,7 +258,7 @@ type StaticPodOperatorStatus struct { // NodeStatus provides information about the current state of a particular node managed by this operator. type NodeStatus struct { // nodeName is the name of the node - // +kubebuilder:validation:Required + // +required NodeName string `json:"nodeName"` // currentRevision is the generation of the most recently successful deployment diff --git a/vendor/github.com/openshift/api/operator/v1/types_authentication.go b/vendor/github.com/openshift/api/operator/v1/types_authentication.go index 58d8748d97..bf103f19bb 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_authentication.go +++ b/vendor/github.com/openshift/api/operator/v1/types_authentication.go @@ -25,7 +25,6 @@ type Authentication struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec AuthenticationSpec `json:"spec,omitempty"` // +optional @@ -37,7 +36,7 @@ type AuthenticationSpec struct { } type AuthenticationStatus struct { - // OAuthAPIServer holds status specific only to oauth-apiserver + // oauthAPIServer holds status specific only to oauth-apiserver // +optional OAuthAPIServer OAuthAPIServerStatus `json:"oauthAPIServer,omitempty"` @@ -45,7 +44,7 @@ type AuthenticationStatus struct { } type OAuthAPIServerStatus struct { - // LatestAvailableRevision is the latest revision used as suffix of revisioned + // latestAvailableRevision is the latest revision used as suffix of revisioned // secrets like encryption-config. A new revision causes a new deployment of pods. // +optional // +kubebuilder:validation:Minimum=0 diff --git a/vendor/github.com/openshift/api/operator/v1/types_cloudcredential.go b/vendor/github.com/openshift/api/operator/v1/types_cloudcredential.go index 9666b27922..b6ef52e937 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_cloudcredential.go +++ b/vendor/github.com/openshift/api/operator/v1/types_cloudcredential.go @@ -25,7 +25,6 @@ type CloudCredential struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec CloudCredentialSpec `json:"spec"` // +optional @@ -60,7 +59,7 @@ const ( // CloudCredentialSpec is the specification of the desired behavior of the cloud-credential-operator. type CloudCredentialSpec struct { OperatorSpec `json:",inline"` - // CredentialsMode allows informing CCO that it should not attempt to dynamically + // credentialsMode allows informing CCO that it should not attempt to dynamically // determine the root cloud credentials capabilities, and it should just run in // the specified mode. // It also allows putting the operator into "manual" mode if desired. diff --git a/vendor/github.com/openshift/api/operator/v1/types_config.go b/vendor/github.com/openshift/api/operator/v1/types_config.go index e7c6d59dbb..f0d190e6db 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_config.go +++ b/vendor/github.com/openshift/api/operator/v1/types_config.go @@ -26,7 +26,6 @@ type Config struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Config Operator. - // +kubebuilder:validation:Required // +required Spec ConfigSpec `json:"spec"` @@ -56,6 +55,6 @@ type ConfigList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []Config `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_console.go b/vendor/github.com/openshift/api/operator/v1/types_console.go index aa39b2f950..68d9daa450 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_console.go +++ b/vendor/github.com/openshift/api/operator/v1/types_console.go @@ -26,7 +26,6 @@ type Console struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec ConsoleSpec `json:"spec,omitempty"` // +optional @@ -128,7 +127,7 @@ type CapabilityVisibility struct { // Disabling the capability in the console UI is represented by the "Disabled" value. // +unionDiscriminator // +kubebuilder:validation:Enum:="Enabled";"Disabled" - // +kubebuilder:validation:Required + // +required State CapabilityState `json:"state"` } @@ -137,10 +136,10 @@ type Capability struct { // name is the unique name of a capability. // Available capabilities are LightspeedButton and GettingStartedBanner. // +kubebuilder:validation:Enum:="LightspeedButton";"GettingStartedBanner" - // +kubebuilder:validation:Required + // +required Name ConsoleCapabilityName `json:"name"` // visibility defines the visibility state of the capability. - // +kubebuilder:validation:Required + // +required Visibility CapabilityVisibility `json:"visibility"` } @@ -184,21 +183,17 @@ type ConsoleCustomization struct { // +optional CustomLogoFile configv1.ConfigMapFileReference `json:"customLogoFile,omitempty"` // developerCatalog allows to configure the shown developer catalog categories (filters) and types (sub-catalogs). - // +kubebuilder:validation:Optional // +optional DeveloperCatalog DeveloperConsoleCatalogCustomization `json:"developerCatalog,omitempty"` // projectAccess allows customizing the available list of ClusterRoles in the Developer perspective // Project access page which can be used by a project admin to specify roles to other users and // restrict access within the project. If set, the list will replace the default ClusterRole options. - // +kubebuilder:validation:Optional // +optional ProjectAccess ProjectAccess `json:"projectAccess,omitempty"` // quickStarts allows customization of available ConsoleQuickStart resources in console. - // +kubebuilder:validation:Optional // +optional QuickStarts QuickStarts `json:"quickStarts,omitempty"` // addPage allows customizing actions on the Add page in developer perspective. - // +kubebuilder:validation:Optional // +optional AddPage AddPage `json:"addPage,omitempty"` // perspectives allows enabling/disabling of perspective(s) that user can see in the Perspective switcher dropdown. @@ -212,7 +207,6 @@ type ConsoleCustomization struct { type ProjectAccess struct { // availableClusterRoles is the list of ClusterRole names that are assignable to users // through the project access tab. - // +kubebuilder:validation:Optional // +optional AvailableClusterRoles []string `json:"availableClusterRoles,omitempty"` } @@ -235,7 +229,7 @@ type DeveloperConsoleCatalogTypes struct { // +kubebuilder:validation:Enum:="Enabled";"Disabled"; // +kubebuilder:default:="Enabled" // +default="Enabled" - // +kubebuilder:validation:Required + // +required State CatalogTypesState `json:"state,omitempty"` // enabled is a list of developer catalog types (sub-catalogs IDs) that will be shown to users. // Types (sub-catalogs) are added via console plugins, the available types (sub-catalog IDs) are available @@ -259,7 +253,6 @@ type DeveloperConsoleCatalogTypes struct { // DeveloperConsoleCatalogCustomization allow cluster admin to configure developer catalog. type DeveloperConsoleCatalogCustomization struct { // categories which are shown in the developer catalog. - // +kubebuilder:validation:Optional // +optional Categories []DeveloperConsoleCatalogCategory `json:"categories,omitempty"` // types allows enabling or disabling of sub-catalog types that user can see in the Developer catalog. @@ -270,23 +263,20 @@ type DeveloperConsoleCatalogCustomization struct { // DeveloperConsoleCatalogCategoryMeta are the key identifiers of a developer catalog category. type DeveloperConsoleCatalogCategoryMeta struct { - // ID is an identifier used in the URL to enable deep linking in console. + // id is an identifier used in the URL to enable deep linking in console. // ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=32 // +kubebuilder:validation:Pattern=`^[A-Za-z0-9-_]+$` // +required ID string `json:"id"` // label defines a category display label. It is required and must have 1-64 characters. - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=64 // +required Label string `json:"label"` // tags is a list of strings that will match the category. A selected category // show all items which has at least one overlapping tag between category and item. - // +kubebuilder:validation:Optional // +optional Tags []string `json:"tags,omitempty"` } @@ -296,7 +286,6 @@ type DeveloperConsoleCatalogCategory struct { // defines top level category ID, label and filter tags. DeveloperConsoleCatalogCategoryMeta `json:",inline"` // subcategories defines a list of child categories. - // +kubebuilder:validation:Optional // +optional Subcategories []DeveloperConsoleCatalogCategoryMeta `json:"subcategories,omitempty"` } @@ -304,7 +293,6 @@ type DeveloperConsoleCatalogCategory struct { // QuickStarts allow cluster admins to customize available ConsoleQuickStart resources. type QuickStarts struct { // disabled is a list of ConsoleQuickStart resource names that are not shown to users. - // +kubebuilder:validation:Optional // +optional Disabled []string `json:"disabled,omitempty"` } @@ -313,7 +301,6 @@ type QuickStarts struct { type AddPage struct { // disabledActions is a list of actions that are not shown to users. // Each action in the list is represented by its ID. - // +kubebuilder:validation:Optional // +kubebuilder:validation:MinItems=1 // +optional DisabledActions []string `json:"disabledActions,omitempty"` @@ -350,7 +337,7 @@ type PerspectiveVisibility struct { // state defines the perspective is enabled or disabled or access review check is required. // +unionDiscriminator // +kubebuilder:validation:Enum:="Enabled";"Disabled";"AccessReview" - // +kubebuilder:validation:Required + // +required State PerspectiveState `json:"state"` // accessReview defines required and missing access review checks. // +optional @@ -365,10 +352,10 @@ type Perspective struct { // Example: "dev", "admin". // The available perspective ids can be found in the code snippet section next to the yaml editor. // Incorrect or unknown ids will be ignored. - // +kubebuilder:validation:Required + // +required ID string `json:"id"` // visibility defines the state of perspective along with access review checks if needed for that perspective. - // +kubebuilder:validation:Required + // +required Visibility PerspectiveVisibility `json:"visibility"` // pinnedResources defines the list of default pinned resources that users will see on the perspective navigation if they have not customized these pinned resources themselves. // The list of available Kubernetes resources could be read via `kubectl api-resources`. @@ -386,20 +373,20 @@ type PinnedResourceReference struct { // This value should consist of only lowercase alphanumeric characters, hyphens and periods. // Example: "", "apps", "build.openshift.io", etc. // +kubebuilder:validation:Pattern:="^$|^[a-z0-9]([-a-z0-9]*[a-z0-9])?(.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$" - // +kubebuilder:validation:Required + // +required Group string `json:"group"` // version is the API Version of the Resource. // This value should consist of only lowercase alphanumeric characters. // Example: "v1", "v1beta1", etc. // +kubebuilder:validation:Pattern:="^[a-z0-9]+$" - // +kubebuilder:validation:Required + // +required Version string `json:"version"` // resource is the type that is being referenced. // It is normally the plural form of the resource kind in lowercase. // This value should consist of only lowercase alphanumeric characters and hyphens. // Example: "deployments", "deploymentconfigs", "pods", etc. // +kubebuilder:validation:Pattern:="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" - // +kubebuilder:validation:Required + // +required Resource string `json:"resource"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go b/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go index 0644b6a93c..731323750a 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go +++ b/vendor/github.com/openshift/api/operator/v1/types_csi_cluster_driver.go @@ -20,7 +20,7 @@ import ( // +kubebuilder:resource:path=clustercsidrivers,scope=Cluster // +kubebuilder:subresource:status // +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/701 -// +openshift:file-pattern=cvoRunLevel=0000_90,operatorName=csi-driver,operatorOrdering=01 +// +openshift:file-pattern=cvoRunLevel=0000_50,operatorName=csi-driver,operatorOrdering=01 // ClusterCSIDriver object allows management and configuration of a CSI driver operator // installed by default in OpenShift. Name of the object must be name of the CSI driver @@ -36,7 +36,6 @@ type ClusterCSIDriver struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ClusterCSIDriverSpec `json:"spec"` @@ -71,7 +70,7 @@ const ( RemovedStorageClass StorageClassStateName = "Removed" ) -// If you are adding a new driver name here, ensure that 0000_90_cluster_csi_driver_01_config.crd.yaml-merge-patch file is also updated with new driver name. +// If you are adding a new driver name here, ensure that 0000_50_cluster_csi_driver_01_config.crd.yaml-merge-patch file is also updated with new driver name. const ( AWSEBSCSIDriver CSIDriverName = "ebs.csi.aws.com" AWSEFSCSIDriver CSIDriverName = "efs.csi.aws.com" @@ -95,7 +94,7 @@ const ( // ClusterCSIDriverSpec is the desired behavior of CSI driver operator type ClusterCSIDriverSpec struct { OperatorSpec `json:",inline"` - // StorageClassState determines if CSI operator should create and manage storage classes. + // storageClassState determines if CSI operator should create and manage storage classes. // If this field value is empty or Managed - CSI operator will continuously reconcile // storage class and create if necessary. // If this field value is Unmanaged - CSI operator will not reconcile any previously created @@ -135,7 +134,7 @@ type CSIDriverConfigSpec struct { // driverConfig is being applied to. // Valid values are: AWS, Azure, GCP, IBMCloud, vSphere and omitted. // Consumers should treat unknown values as a NO-OP. - // +kubebuilder:validation:Required + // +required // +unionDiscriminator DriverType CSIDriverType `json:"driverType"` @@ -155,7 +154,7 @@ type CSIDriverConfigSpec struct { // +optional IBMCloud *IBMCloudCSIDriverConfigSpec `json:"ibmcloud,omitempty"` - // vsphere is used to configure the vsphere CSI driver. + // vSphere is used to configure the vsphere CSI driver. // +optional VSphere *VSphereCSIDriverConfigSpec `json:"vSphere,omitempty"` } @@ -198,7 +197,7 @@ type AWSEFSVolumeMetrics struct { // RecursiveWalk means the AWS EFS CSI Driver will recursively scan volumes to collect metrics. // This process may result in high CPU and memory usage, depending on the volume size. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required State AWSEFSVolumeMetricsState `json:"state"` // recursiveWalk provides additional configuration for collecting volume metrics in the AWS EFS CSI Driver @@ -240,7 +239,7 @@ type AzureDiskEncryptionSet struct { // 5. The second, third, and fourth groups should be 4 characters long. // 6. The fifth group should be 12 characters long. // An Example SubscrionID: f2007bbf-f802-4a47-9336-cf7c6b89b378 - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength:=36 // +kubebuilder:validation:Pattern:=`^[a-fA-F0-9]{8}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{4}-[a-fA-F0-9]{12}$` SubscriptionID string `json:"subscriptionID"` @@ -250,7 +249,7 @@ type AzureDiskEncryptionSet struct { // underscores (_), parentheses, hyphens and periods. // The value should not end in a period and be at most 90 characters in // length. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength:=90 // +kubebuilder:validation:Pattern:=`^[\w\.\-\(\)]*[\w\-\(\)]$` ResourceGroup string `json:"resourceGroup"` @@ -258,7 +257,7 @@ type AzureDiskEncryptionSet struct { // name is the name of the disk encryption set that will be set on the default storage class. // The value should consist of only alphanumberic characters, // underscores (_), hyphens, and be at most 80 characters in length. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength:=80 // +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$` Name string `json:"name"` @@ -281,7 +280,7 @@ type GCPKMSKeyReference struct { // +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$` // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // keyRing is the name of the KMS Key Ring which the KMS Key belongs to. @@ -291,7 +290,7 @@ type GCPKMSKeyReference struct { // +kubebuilder:validation:Pattern:=`^[a-zA-Z0-9\_-]+$` // +kubebuilder:validation:MinLength:=1 // +kubebuilder:validation:MaxLength:=63 - // +kubebuilder:validation:Required + // +required KeyRing string `json:"keyRing"` // projectID is the ID of the Project in which the KMS Key Ring exists. @@ -300,7 +299,7 @@ type GCPKMSKeyReference struct { // +kubebuilder:validation:Pattern:=`^[a-z][a-z0-9-]+[a-z0-9]$` // +kubebuilder:validation:MinLength:=6 // +kubebuilder:validation:MaxLength:=30 - // +kubebuilder:validation:Required + // +required ProjectID string `json:"projectID"` // location is the GCP location in which the Key Ring exists. @@ -323,7 +322,7 @@ type GCPCSIDriverConfigSpec struct { type IBMCloudCSIDriverConfigSpec struct { // encryptionKeyCRN is the IBM Cloud CRN of the customer-managed root key to use // for disk encryption of volumes for the default storage classes. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength:=154 // +kubebuilder:validation:MinLength:=144 // +kubebuilder:validation:Pattern:=`^crn:v[0-9]+:bluemix:(public|private):(kms|hs-crypto):[a-z-]+:a/[0-9a-f]+:[0-9a-f-]{36}:key:[0-9a-f-]{36}$` diff --git a/vendor/github.com/openshift/api/operator/v1/types_csi_snapshot.go b/vendor/github.com/openshift/api/operator/v1/types_csi_snapshot.go index f96384819c..d6d283d365 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_csi_snapshot.go +++ b/vendor/github.com/openshift/api/operator/v1/types_csi_snapshot.go @@ -25,7 +25,6 @@ type CSISnapshotController struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec CSISnapshotControllerSpec `json:"spec"` diff --git a/vendor/github.com/openshift/api/operator/v1/types_dns.go b/vendor/github.com/openshift/api/operator/v1/types_dns.go index 3d7cbb6c00..2588047868 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_dns.go +++ b/vendor/github.com/openshift/api/operator/v1/types_dns.go @@ -226,7 +226,7 @@ type DNSOverTLSConfig struct { // // + --- // + Inspired by the DNS1123 patterns in Kubernetes: https://github.com/kubernetes/kubernetes/blob/7c46f40bdf89a437ecdbc01df45e235b5f6d9745/staging/src/k8s.io/apimachinery/pkg/util/validation/validation.go#L178-L218 - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=253 // +kubebuilder:validation:Pattern=`^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9])(\.([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]{0,61}[a-zA-Z0-9]))*$` ServerName string `json:"serverName"` @@ -319,7 +319,7 @@ type ForwardPlugin struct { // * At least one upstream should be specified. // * the default policy is Sequential type UpstreamResolvers struct { - // Upstreams is a list of resolvers to forward name queries for the "." domain. + // upstreams is a list of resolvers to forward name queries for the "." domain. // Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream // returns an error during the exchange, another resolver is tried from Upstreams. The // Upstreams are selected in the order specified in Policy. @@ -332,7 +332,7 @@ type UpstreamResolvers struct { // +kubebuilder:default={{"type":"SystemResolvConf"}} Upstreams []Upstream `json:"upstreams"` - // Policy is used to determine the order in which upstream servers are selected for querying. + // policy is used to determine the order in which upstream servers are selected for querying. // Any one of the following values may be specified: // // * "Random" picks a random upstream server for each query. @@ -381,31 +381,28 @@ type UpstreamResolvers struct { // with an IP address or IP:port if the upstream listens on a port other than 53. type Upstream struct { - // Type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. + // type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. // Type accepts 2 possible values: SystemResolvConf or Network. // // * When SystemResolvConf is used, the Upstream structure does not require any further fields to be defined: // /etc/resolv.conf will be used // * When Network is used, the Upstream structure must contain at least an Address // - // +kubebuilder:validation:Required // +required Type UpstreamType `json:"type"` - // Address must be defined when Type is set to Network. It will be ignored otherwise. + // address must be defined when Type is set to Network. It will be ignored otherwise. // It must be a valid ipv4 or ipv6 address. // // +optional - // +kubebuilder:validation:Optional Address string `json:"address,omitempty"` - // Port may be defined when Type is set to Network. It will be ignored otherwise. + // port may be defined when Type is set to Network. It will be ignored otherwise. // Port must be between 65535 // // +optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 - // +kubebuilder:validation:Optional // +kubebuilder:default=53 Port uint32 `json:"port,omitempty"` } @@ -483,7 +480,6 @@ type DNSStatus struct { // // More info: https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies // - // +kubebuilder:validation:Required // +required ClusterIP string `json:"clusterIP"` @@ -494,7 +490,6 @@ type DNSStatus struct { // // More info: https://kubernetes.io/docs/concepts/services-networking/dns-pod-service // - // +kubebuilder:validation:Required // +required ClusterDomain string `json:"clusterDomain"` diff --git a/vendor/github.com/openshift/api/operator/v1/types_etcd.go b/vendor/github.com/openshift/api/operator/v1/types_etcd.go index 71345d7d78..375ec5fb7f 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_etcd.go +++ b/vendor/github.com/openshift/api/operator/v1/types_etcd.go @@ -24,7 +24,6 @@ type Etcd struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required // +required Spec EtcdSpec `json:"spec"` // +optional @@ -39,7 +38,6 @@ type EtcdSpec struct { // Valid values are "", "Standard" and "Slower". // "" means no opinion and the platform is left to choose a reasonable default // which is subject to change without notice. - // +kubebuilder:validation:Optional // +openshift:enable:FeatureGate=HardwareSpeed // +optional HardwareSpeed ControlPlaneHardwareSpeed `json:"controlPlaneHardwareSpeed"` @@ -93,6 +91,6 @@ type EtcdList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []Etcd `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_ingress.go b/vendor/github.com/openshift/api/operator/v1/types_ingress.go index 1f56643456..a8ea2d695b 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_ingress.go +++ b/vendor/github.com/openshift/api/operator/v1/types_ingress.go @@ -258,6 +258,75 @@ type IngressControllerSpec struct { // // +optional HTTPCompression HTTPCompressionPolicy `json:"httpCompression,omitempty"` + + // idleConnectionTerminationPolicy maps directly to HAProxy's + // idle-close-on-response option and controls whether HAProxy + // keeps idle frontend connections open during a soft stop + // (router reload). + // + // Allowed values for this field are "Immediate" and + // "Deferred". The default value is "Immediate". + // + // When set to "Immediate", idle connections are closed + // immediately during router reloads. This ensures immediate + // propagation of route changes but may impact clients + // sensitive to connection resets. + // + // When set to "Deferred", HAProxy will maintain idle + // connections during a soft reload instead of closing them + // immediately. These connections remain open until any of the + // following occurs: + // + // - A new request is received on the connection, in which + // case HAProxy handles it in the old process and closes + // the connection after sending the response. + // + // - HAProxy's `timeout http-keep-alive` duration expires + // (300 seconds in OpenShift's configuration, not + // configurable). + // + // - The client's keep-alive timeout expires, causing the + // client to close the connection. + // + // Setting Deferred can help prevent errors in clients or load + // balancers that do not properly handle connection resets. + // Additionally, this option allows you to retain the pre-2.4 + // HAProxy behaviour: in HAProxy version 2.2 (OpenShift + // versions < 4.14), maintaining idle connections during a + // soft reload was the default behaviour, but starting with + // HAProxy 2.4, the default changed to closing idle + // connections immediately. + // + // Important Consideration: + // + // - Using Deferred will result in temporary inconsistencies + // for the first request on each persistent connection + // after a route update and router reload. This request + // will be processed by the old HAProxy process using its + // old configuration. Subsequent requests will use the + // updated configuration. + // + // Operational Considerations: + // + // - Keeping idle connections open during reloads may lead + // to an accumulation of old HAProxy processes if + // connections remain idle for extended periods, + // especially in environments where frequent reloads + // occur. + // + // - Consider monitoring the number of HAProxy processes in + // the router pods when Deferred is set. + // + // - You may need to enable or adjust the + // `ingress.operator.openshift.io/hard-stop-after` + // duration (configured via an annotation on the + // IngressController resource) in environments with + // frequent reloads to prevent resource exhaustion. + // + // +optional + // +kubebuilder:default:="Immediate" + // +default="Immediate" + IdleConnectionTerminationPolicy IngressControllerConnectionTerminationPolicy `json:"idleConnectionTerminationPolicy,omitempty"` } // httpCompressionPolicy turns on compression for the specified MIME types. @@ -397,7 +466,6 @@ type LoadBalancerStrategy struct { // scope indicates the scope at which the load balancer is exposed. // Possible values are "External" and "Internal". // - // +kubebuilder:validation:Required // +required Scope LoadBalancerScope `json:"scope"` @@ -434,7 +502,7 @@ type LoadBalancerStrategy struct { // Valid values are: Managed and Unmanaged. // // +kubebuilder:default:="Managed" - // +kubebuilder:validation:Required + // +required // +default="Managed" DNSManagementPolicy LoadBalancerDNSManagementPolicy `json:"dnsManagementPolicy,omitempty"` } @@ -464,7 +532,6 @@ type ProviderLoadBalancerParameters struct { // "OpenStack", and "VSphere". // // +unionDiscriminator - // +kubebuilder:validation:Required // +required Type LoadBalancerProviderType `json:"type"` @@ -544,7 +611,6 @@ type AWSLoadBalancerParameters struct { // https://docs.aws.amazon.com/AmazonECS/latest/developerguide/load-balancer-types.html#nlb // // +unionDiscriminator - // +kubebuilder:validation:Required // +required Type AWSLoadBalancerType `json:"type"` @@ -713,7 +779,6 @@ type AWSClassicLoadBalancerParameters struct { // means no opinion, in which case a default value is used. The default // value for this field is 60s. This default is subject to change. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional ConnectionIdleTimeout metav1.Duration `json:"connectionIdleTimeout,omitempty"` @@ -828,7 +893,6 @@ type HostNetworkStrategy struct { // The empty string specifies the default, which is TCP without PROXY // protocol. Note that the default is subject to change. // - // +kubebuilder:validation:Optional // +optional Protocol IngressControllerProtocol `json:"protocol,omitempty"` @@ -836,7 +900,6 @@ type HostNetworkStrategy struct { // HTTP requests. This field should be set when port 80 is already in use. // The value should not coincide with the NodePort range of the cluster. // When the value is 0 or is not specified it defaults to 80. - // +kubebuilder:validation:Optional // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=80 @@ -847,7 +910,6 @@ type HostNetworkStrategy struct { // HTTPS requests. This field should be set when port 443 is already in use. // The value should not coincide with the NodePort range of the cluster. // When the value is 0 or is not specified it defaults to 443. - // +kubebuilder:validation:Optional // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=443 @@ -868,7 +930,6 @@ type HostNetworkStrategy struct { // a threshold of two successful or failed requests to become healthy or // unhealthy respectively, are well-tested values. When the value is 0 or // is not specified it defaults to 1936. - // +kubebuilder:validation:Optional // +kubebuilder:validation:Maximum=65535 // +kubebuilder:validation:Minimum=0 // +kubebuilder:default=1936 @@ -904,7 +965,6 @@ type PrivateStrategy struct { // The empty string specifies the default, which is TCP without PROXY // protocol. Note that the default is subject to change. // - // +kubebuilder:validation:Optional // +optional Protocol IngressControllerProtocol `json:"protocol,omitempty"` } @@ -936,7 +996,6 @@ type NodePortStrategy struct { // The empty string specifies the default, which is TCP without PROXY // protocol. Note that the default is subject to change. // - // +kubebuilder:validation:Optional // +optional Protocol IngressControllerProtocol `json:"protocol,omitempty"` } @@ -1004,7 +1063,6 @@ type EndpointPublishingStrategy struct { // field of the managed NodePort Service will preserved. // // +unionDiscriminator - // +kubebuilder:validation:Required // +required Type EndpointPublishingStrategyType `json:"type"` @@ -1054,7 +1112,6 @@ type ClientTLS struct { // edge-terminated and reencrypt TLS routes; it cannot check // certificates for cleartext HTTP or passthrough TLS routes. // - // +kubebuilder:validation:Required // +required ClientCertificatePolicy ClientCertificatePolicy `json:"clientCertificatePolicy"` @@ -1063,7 +1120,6 @@ type ClientTLS struct { // certificate. The administrator must create this configmap in the // openshift-config namespace. // - // +kubebuilder:validation:Required // +required ClientCA configv1.ConfigMapNameReference `json:"clientCA"` @@ -1167,14 +1223,12 @@ type SyslogLoggingDestinationParameters struct { // address is the IP address of the syslog endpoint that receives log // messages. // - // +kubebuilder:validation:Required // +required Address string `json:"address"` // port is the UDP port number of the syslog endpoint that receives log // messages. // - // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=65535 // +required @@ -1184,7 +1238,6 @@ type SyslogLoggingDestinationParameters struct { // // If this field is empty, the facility is "local1". // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Enum=kern;user;mail;daemon;auth;syslog;lpr;news;uucp;cron;auth2;ftp;ntp;audit;alert;cron2;local0;local1;local2;local3;local4;local5;local6;local7 // +optional Facility string `json:"facility,omitempty"` @@ -1244,7 +1297,6 @@ type LoggingDestination struct { // that the administrator has configured a custom syslog instance. // // +unionDiscriminator - // +kubebuilder:validation:Required // +required Type LoggingDestinationType `json:"type"` @@ -1267,7 +1319,6 @@ type IngressControllerCaptureHTTPHeader struct { // name specifies a header name. Its value must be a valid HTTP header // name as defined in RFC 2616 section 4.2. // - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$" // +required Name string `json:"name"` @@ -1277,7 +1328,6 @@ type IngressControllerCaptureHTTPHeader struct { // log message. Note that the ingress controller may impose a separate // bound on the total length of HTTP headers in a request. // - // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +required MaxLength int `json:"maxLength"` @@ -1331,7 +1381,6 @@ type IngressControllerCaptureHTTPCookie struct { // controller may impose a separate bound on the total length of HTTP // headers in a request. // - // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=1024 // +required @@ -1351,7 +1400,6 @@ type IngressControllerCaptureHTTPCookieUnion struct { // matching cookie is captured. // // +unionDiscriminator - // +kubebuilder:validation:Required // +required MatchType CookieMatchType `json:"matchType,omitempty"` @@ -1389,7 +1437,6 @@ const ( type AccessLogging struct { // destination is where access logs go. // - // +kubebuilder:validation:Required // +required Destination LoggingDestination `json:"destination"` @@ -1646,7 +1693,7 @@ type IngressControllerHTTPHeader struct { // Strict-Transport-Security, Proxy, Host, Cookie, Set-Cookie. // It must be no more than 255 characters in length. // Header name must be unique. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$" @@ -1657,7 +1704,7 @@ type IngressControllerHTTPHeader struct { // +kubebuilder:validation:XValidation:rule="self.lowerAscii() != 'set-cookie'",message="set-cookie header may not be modified via header actions" Name string `json:"name"` // action specifies actions to perform on headers, such as setting or deleting headers. - // +kubebuilder:validation:Required + // +required Action IngressControllerHTTPHeaderActionUnion `json:"action"` } @@ -1671,7 +1718,7 @@ type IngressControllerHTTPHeaderActionUnion struct { // Delete allows you to delete HTTP request and response headers. // +unionDiscriminator // +kubebuilder:validation:Enum:=Set;Delete - // +kubebuilder:validation:Required + // +required Type IngressControllerHTTPHeaderActionType `json:"type"` // set specifies how the HTTP header should be set. @@ -1704,7 +1751,7 @@ type IngressControllerSetHTTPHeader struct { // + --- // + Note: This limit was selected as most common web servers have a limit of 16384 characters or some lower limit. // + See . - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=16384 Value string `json:"value"` @@ -1725,7 +1772,6 @@ type IngressControllerTuningOptions struct { // headerBufferBytes values that are too large could cause the // IngressController to use significantly more memory than necessary. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=16384 // +optional HeaderBufferBytes int32 `json:"headerBufferBytes,omitempty"` @@ -1745,7 +1791,6 @@ type IngressControllerTuningOptions struct { // large could cause the IngressController to use significantly more memory // than necessary. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=4096 // +optional HeaderBufferMaxRewriteBytes int32 `json:"headerBufferMaxRewriteBytes,omitempty"` @@ -1763,7 +1808,6 @@ type IngressControllerTuningOptions struct { // Reducing the number of threads may cause the ingress controller to // perform poorly. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=64 // +optional @@ -1773,7 +1817,6 @@ type IngressControllerTuningOptions struct { // waiting for a client response. // // If unset, the default timeout is 30s - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional ClientTimeout *metav1.Duration `json:"clientTimeout,omitempty"` @@ -1783,7 +1826,6 @@ type IngressControllerTuningOptions struct { // connection. // // If unset, the default timeout is 1s - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional ClientFinTimeout *metav1.Duration `json:"clientFinTimeout,omitempty"` @@ -1792,7 +1834,6 @@ type IngressControllerTuningOptions struct { // waiting for a server/backend response. // // If unset, the default timeout is 30s - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional ServerTimeout *metav1.Duration `json:"serverTimeout,omitempty"` @@ -1802,7 +1843,6 @@ type IngressControllerTuningOptions struct { // connection. // // If unset, the default timeout is 1s - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional ServerFinTimeout *metav1.Duration `json:"serverFinTimeout,omitempty"` @@ -1811,12 +1851,11 @@ type IngressControllerTuningOptions struct { // websockets) will be held open while the tunnel is idle. // // If unset, the default timeout is 1h - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional TunnelTimeout *metav1.Duration `json:"tunnelTimeout,omitempty"` - // ConnectTimeout defines the maximum time to wait for + // connectTimeout defines the maximum time to wait for // a connection attempt to a server/backend to succeed. // // This field expects an unsigned duration string of decimal numbers, each with optional @@ -1827,7 +1866,6 @@ type IngressControllerTuningOptions struct { // to choose a reasonable default. This default is subject to change over time. // The current default is 5s. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ // +kubebuilder:validation:Type:=string // +optional @@ -1841,7 +1879,6 @@ type IngressControllerTuningOptions struct { // matching certificate could be used. // // If unset, the default inspect delay is 5s - // +kubebuilder:validation:Optional // +kubebuilder:validation:Format=duration // +optional TLSInspectDelay *metav1.Duration `json:"tlsInspectDelay,omitempty"` @@ -1867,7 +1904,6 @@ type IngressControllerTuningOptions struct { // Currently the minimum allowed value is 1s and the maximum allowed value is // 2147483647ms (24.85 days). Both are subject to change over time. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ // +kubebuilder:validation:Type:=string // +optional @@ -1914,7 +1950,6 @@ type IngressControllerTuningOptions struct { // processes in router containers with the following metric: // 'container_memory_working_set_bytes{container="router",namespace="openshift-ingress"}/container_processes{container="router",namespace="openshift-ingress"}'. // - // +kubebuilder:validation:Optional // +optional MaxConnections int32 `json:"maxConnections,omitempty"` @@ -1945,7 +1980,6 @@ type IngressControllerTuningOptions struct { // be reloaded less frequently, and newly created routes will not be served until the // subsequent reload. // - // +kubebuilder:validation:Optional // +kubebuilder:validation:Pattern=^(0|([0-9]+(\.[0-9]+)?(ns|us|µs|μs|ms|s|m|h))+)$ // +kubebuilder:validation:Type:=string // +optional @@ -2068,3 +2102,23 @@ type IngressControllerList struct { Items []IngressController `json:"items"` } + +// IngressControllerConnectionTerminationPolicy defines the behaviour +// for handling idle connections during a soft reload of the router. +// +// +kubebuilder:validation:Enum=Immediate;Deferred +type IngressControllerConnectionTerminationPolicy string + +const ( + // IngressControllerConnectionTerminationPolicyImmediate specifies + // that idle connections should be closed immediately during a + // router reload. + IngressControllerConnectionTerminationPolicyImmediate IngressControllerConnectionTerminationPolicy = "Immediate" + + // IngressControllerConnectionTerminationPolicyDeferred + // specifies that idle connections should remain open until a + // terminating event, such as a new request, the expiration of + // the proxy keep-alive timeout, or the client closing the + // connection. + IngressControllerConnectionTerminationPolicyDeferred IngressControllerConnectionTerminationPolicy = "Deferred" +) diff --git a/vendor/github.com/openshift/api/operator/v1/types_insights.go b/vendor/github.com/openshift/api/operator/v1/types_insights.go index 56e2b51c14..00eb360804 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_insights.go +++ b/vendor/github.com/openshift/api/operator/v1/types_insights.go @@ -25,7 +25,7 @@ type InsightsOperator struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Insights. - // +kubebuilder:validation:Required + // +required Spec InsightsOperatorSpec `json:"spec"` // status is the most recently observed status of the Insights operator. @@ -85,25 +85,25 @@ type InsightsReport struct { // healthCheck represents an Insights health check attributes. type HealthCheck struct { // description provides basic description of the healtcheck. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=2048 // +kubebuilder:validation:MinLength=10 Description string `json:"description"` // totalRisk of the healthcheck. Indicator of the total risk posed // by the detected issue; combination of impact and likelihood. The values can be from 1 to 4, // and the higher the number, the more important the issue. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Minimum=1 // +kubebuilder:validation:Maximum=4 TotalRisk int32 `json:"totalRisk"` // advisorURI provides the URL link to the Insights Advisor. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Pattern=`^https:\/\/\S+` AdvisorURI string `json:"advisorURI"` // state determines what the current state of the health check is. // Health check is enabled by default and can be disabled // by the user in the Insights advisor user interface. - // +kubebuilder:validation:Required + // +required State HealthCheckState `json:"state"` } @@ -124,16 +124,16 @@ const ( type GathererStatus struct { // conditions provide details on the status of each gatherer. // +listType=atomic - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinItems=1 Conditions []metav1.Condition `json:"conditions"` // name is the name of the gatherer. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MaxLength=256 // +kubebuilder:validation:MinLength=5 Name string `json:"name"` // lastGatherDuration represents the time spent gathering. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Type=string // +kubebuilder:validation:Pattern="^([1-9][0-9]*(\\.[0-9]+)?(ns|us|µs|ms|s|m|h))+$" LastGatherDuration metav1.Duration `json:"lastGatherDuration"` diff --git a/vendor/github.com/openshift/api/operator/v1/types_kubeapiserver.go b/vendor/github.com/openshift/api/operator/v1/types_kubeapiserver.go index 5c9d43a2a2..ce00b4b62c 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_kubeapiserver.go +++ b/vendor/github.com/openshift/api/operator/v1/types_kubeapiserver.go @@ -26,7 +26,6 @@ type KubeAPIServer struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Kubernetes API Server - // +kubebuilder:validation:Required // +required Spec KubeAPIServerSpec `json:"spec"` @@ -78,6 +77,6 @@ type KubeAPIServerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []KubeAPIServer `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_kubecontrollermanager.go b/vendor/github.com/openshift/api/operator/v1/types_kubecontrollermanager.go index 93ab209a0d..ee104aa506 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_kubecontrollermanager.go +++ b/vendor/github.com/openshift/api/operator/v1/types_kubecontrollermanager.go @@ -25,7 +25,6 @@ type KubeControllerManager struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Kubernetes Controller Manager - // +kubebuilder:validation:Required // +required Spec KubeControllerManagerSpec `json:"spec"` @@ -63,6 +62,6 @@ type KubeControllerManagerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []KubeControllerManager `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_kubestorageversionmigrator.go b/vendor/github.com/openshift/api/operator/v1/types_kubestorageversionmigrator.go index 470dc5097d..f3add49101 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_kubestorageversionmigrator.go +++ b/vendor/github.com/openshift/api/operator/v1/types_kubestorageversionmigrator.go @@ -24,7 +24,6 @@ type KubeStorageVersionMigrator struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required // +required Spec KubeStorageVersionMigratorSpec `json:"spec"` // +optional @@ -52,6 +51,6 @@ type KubeStorageVersionMigratorList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []KubeStorageVersionMigrator `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go b/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go index 8bd41eb69d..88b89f8188 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go +++ b/vendor/github.com/openshift/api/operator/v1/types_machineconfiguration.go @@ -25,7 +25,7 @@ type MachineConfiguration struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Machine Config Operator - // +kubebuilder:validation:Required + // +required Spec MachineConfigurationSpec `json:"spec"` // status is the most recently observed status of the Machine Config Operator @@ -111,7 +111,7 @@ type MachineConfigurationList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []MachineConfiguration `json:"items"` } @@ -131,17 +131,17 @@ type MachineManager struct { // resource is the machine management resource's type. // The only current valid value is machinesets. // machinesets means that the machine manager will only register resources of the kind MachineSet. - // +kubebuilder:validation:Required + // +required Resource MachineManagerMachineSetsResourceType `json:"resource"` // apiGroup is name of the APIGroup that the machine management resource belongs to. // The only current valid value is machine.openshift.io. // machine.openshift.io means that the machine manager will only register resources that belong to OpenShift machine API group. - // +kubebuilder:validation:Required + // +required APIGroup MachineManagerMachineSetsAPIGroupType `json:"apiGroup"` // selection allows granular control of the machine management resources that will be registered for boot image updates. - // +kubebuilder:validation:Required + // +required Selection MachineManagerSelector `json:"selection"` } @@ -153,7 +153,7 @@ type MachineManagerSelector struct { // All means that every resource matched by the machine manager will be updated. // Partial requires specified selector(s) and allows customisation of which resources matched by the machine manager will be updated. // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Mode MachineManagerSelectorMode `json:"mode"` // partial provides label selector(s) that can be used to match machine management resources. @@ -165,7 +165,7 @@ type MachineManagerSelector struct { // PartialSelector provides label selector(s) that can be used to match machine management resources. type PartialSelector struct { // machineResourceSelector is a label selector that can be used to select machine resources like MachineSets. - // +kubebuilder:validation:Required + // +required MachineResourceSelector *metav1.LabelSelector `json:"machineResourceSelector,omitempty"` } @@ -255,7 +255,7 @@ type NodeDisruptionPolicyClusterStatus struct { type NodeDisruptionPolicySpecFile struct { // path is the location of a file being managed through a MachineConfig. // The Actions in the policy will apply to changes to the file at this path. - // +kubebuilder:validation:Required + // +required Path string `json:"path"` // actions represents the series of commands to be executed on changes to the file at // the corresponding file path. Actions will be applied in the order that @@ -264,7 +264,7 @@ type NodeDisruptionPolicySpecFile struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -276,7 +276,7 @@ type NodeDisruptionPolicySpecFile struct { type NodeDisruptionPolicyStatusFile struct { // path is the location of a file being managed through a MachineConfig. // The Actions in the policy will apply to changes to the file at this path. - // +kubebuilder:validation:Required + // +required Path string `json:"path"` // actions represents the series of commands to be executed on changes to the file at // the corresponding file path. Actions will be applied in the order that @@ -285,7 +285,7 @@ type NodeDisruptionPolicyStatusFile struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -300,7 +300,7 @@ type NodeDisruptionPolicySpecUnit struct { // Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. // ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". // ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope". - // +kubebuilder:validation:Required + // +required Name NodeDisruptionPolicyServiceName `json:"name"` // actions represents the series of commands to be executed on changes to the file at @@ -310,7 +310,7 @@ type NodeDisruptionPolicySpecUnit struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -325,7 +325,7 @@ type NodeDisruptionPolicyStatusUnit struct { // Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. // ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". // ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope". - // +kubebuilder:validation:Required + // +required Name NodeDisruptionPolicyServiceName `json:"name"` // actions represents the series of commands to be executed on changes to the file at @@ -335,7 +335,7 @@ type NodeDisruptionPolicyStatusUnit struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -352,7 +352,7 @@ type NodeDisruptionPolicySpecSSHKey struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -369,7 +369,7 @@ type NodeDisruptionPolicyStatusSSHKey struct { // Valid actions are Reboot, Drain, Reload, DaemonReload and None. // The Reboot action and the None action cannot be used in conjunction with any of the other actions. // This list supports a maximum of 10 entries. - // +kubebuilder:validation:Required + // +required // +listType=atomic // +kubebuilder:validation:MaxItems=10 // +kubebuilder:validation:XValidation:rule="self.exists(x, x.type=='Reboot') ? size(self) == 1 : true", message="Reboot action can only be specified standalone, as it will override any other actions" @@ -386,7 +386,7 @@ type NodeDisruptionPolicySpecAction struct { // reload/restart requires a corresponding service target specified in the reload/restart field. // Other values require no further configuration // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Type NodeDisruptionPolicySpecActionType `json:"type"` // reload specifies the service to reload, only valid if type is reload // +optional @@ -405,7 +405,7 @@ type NodeDisruptionPolicyStatusAction struct { // reload/restart requires a corresponding service target specified in the reload/restart field. // Other values require no further configuration // +unionDiscriminator - // +kubebuilder:validation:Required + // +required Type NodeDisruptionPolicyStatusActionType `json:"type"` // reload specifies the service to reload, only valid if type is reload // +optional @@ -421,7 +421,7 @@ type ReloadService struct { // Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. // ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". // ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope". - // +kubebuilder:validation:Required + // +required ServiceName NodeDisruptionPolicyServiceName `json:"serviceName"` } @@ -431,7 +431,7 @@ type RestartService struct { // Service names should be of the format ${NAME}${SERVICETYPE} and can up to 255 characters long. // ${NAME} must be atleast 1 character long and can only consist of alphabets, digits, ":", "-", "_", ".", and "\". // ${SERVICETYPE} must be one of ".service", ".socket", ".device", ".mount", ".automount", ".swap", ".target", ".path", ".timer", ".snapshot", ".slice" or ".scope". - // +kubebuilder:validation:Required + // +required ServiceName NodeDisruptionPolicyServiceName `json:"serviceName"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_network.go b/vendor/github.com/openshift/api/operator/v1/types_network.go index 9b1588bc25..ba2f3b4712 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_network.go +++ b/vendor/github.com/openshift/api/operator/v1/types_network.go @@ -54,7 +54,7 @@ type NetworkList struct { // NetworkSpec is the top-level network configuration object. // +kubebuilder:validation:XValidation:rule="!has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding) || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == oldSelf.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Restricted' || self.defaultNetwork.ovnKubernetesConfig.gatewayConfig.ipForwarding == 'Global'",message="invalid value for IPForwarding, valid values are 'Restricted' or 'Global'" -// +openshift:validation:FeatureGateAwareXValidation:featureGate=AdditionalRoutingCapabilities,rule="(has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers)) || !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements) || self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements != 'Enabled'",message="Route advertisements cannot be Enabled if 'FRR' routing capability provider is not available" +// +openshift:validation:FeatureGateAwareXValidation:featureGate=RouteAdvertisements,rule="(has(self.additionalRoutingCapabilities) && ('FRR' in self.additionalRoutingCapabilities.providers)) || !has(self.defaultNetwork) || !has(self.defaultNetwork.ovnKubernetesConfig) || !has(self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements) || self.defaultNetwork.ovnKubernetesConfig.routeAdvertisements != 'Enabled'",message="Route advertisements cannot be Enabled if 'FRR' routing capability provider is not available" type NetworkSpec struct { OperatorSpec `json:",inline"` @@ -250,7 +250,7 @@ type DefaultNetworkDefinition struct { // All NetworkTypes are supported except for NetworkTypeRaw Type NetworkType `json:"type"` - // openShiftSDNConfig was previously used to configure the openshift-sdn plugin. + // openshiftSDNConfig was previously used to configure the openshift-sdn plugin. // DEPRECATED: OpenShift SDN is no longer supported. // +optional OpenShiftSDNConfig *OpenShiftSDNConfig `json:"openshiftSDNConfig,omitempty"` @@ -267,7 +267,7 @@ type SimpleMacvlanConfig struct { // +optional Master string `json:"master,omitempty"` - // IPAMConfig configures IPAM module will be used for IP Address Management (IPAM). + // ipamConfig configures IPAM module will be used for IP Address Management (IPAM). // +optional IPAMConfig *IPAMConfig `json:"ipamConfig,omitempty"` @@ -284,19 +284,19 @@ type SimpleMacvlanConfig struct { // StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses type StaticIPAMAddresses struct { - // Address is the IP address in CIDR format + // address is the IP address in CIDR format // +optional Address string `json:"address"` - // Gateway is IP inside of subnet to designate as the gateway + // gateway is IP inside of subnet to designate as the gateway // +optional Gateway string `json:"gateway,omitempty"` } // StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes type StaticIPAMRoutes struct { - // Destination points the IP route destination + // destination points the IP route destination Destination string `json:"destination"` - // Gateway is the route's next-hop IP address + // gateway is the route's next-hop IP address // If unset, a default gateway is assumed (as determined by the CNI plugin). // +optional Gateway string `json:"gateway,omitempty"` @@ -304,14 +304,14 @@ type StaticIPAMRoutes struct { // StaticIPAMDNS provides DNS related information for static IPAM type StaticIPAMDNS struct { - // Nameservers points DNS servers for IP lookup + // nameservers points DNS servers for IP lookup // +optional // +listType=atomic Nameservers []string `json:"nameservers,omitempty"` - // Domain configures the domainname the local domain used for short hostname lookups + // domain configures the domainname the local domain used for short hostname lookups // +optional Domain string `json:"domain,omitempty"` - // Search configures priority ordered search domains for short hostname lookups + // search configures priority ordered search domains for short hostname lookups // +optional // +listType=atomic Search []string `json:"search,omitempty"` @@ -319,26 +319,26 @@ type StaticIPAMDNS struct { // StaticIPAMConfig contains configurations for static IPAM (IP Address Management) type StaticIPAMConfig struct { - // Addresses configures IP address for the interface + // addresses configures IP address for the interface // +optional // +listType=atomic Addresses []StaticIPAMAddresses `json:"addresses,omitempty"` - // Routes configures IP routes for the interface + // routes configures IP routes for the interface // +optional // +listType=atomic Routes []StaticIPAMRoutes `json:"routes,omitempty"` - // DNS configures DNS for the interface + // dns configures DNS for the interface // +optional DNS *StaticIPAMDNS `json:"dns,omitempty"` } // IPAMConfig contains configurations for IPAM (IP Address Management) type IPAMConfig struct { - // Type is the type of IPAM module will be used for IP Address Management(IPAM). + // type is the type of IPAM module will be used for IP Address Management(IPAM). // The supported values are IPAMTypeDHCP, IPAMTypeStatic Type IPAMType `json:"type"` - // StaticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic + // staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic // +optional StaticIPAMConfig *StaticIPAMConfig `json:"staticIPAMConfig,omitempty"` } @@ -353,7 +353,7 @@ type AdditionalNetworkDefinition struct { // name is the name of the network. This will be populated in the resulting CRD // This must be unique. - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // namespace is the namespace of the network. This will be populated in the resulting CRD @@ -364,7 +364,7 @@ type AdditionalNetworkDefinition struct { // NetworkAttachmentDefinition CRD RawCNIConfig string `json:"rawCNIConfig,omitempty"` - // SimpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan + // simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan // +optional SimpleMacvlanConfig *SimpleMacvlanConfig `json:"simpleMacvlanConfig,omitempty"` } @@ -410,7 +410,7 @@ type OVNKubernetesConfig struct { // +kubebuilder:validation:Minimum=1 // +optional GenevePort *uint32 `json:"genevePort,omitempty"` - // HybridOverlayConfig configures an additional overlay network for peers that are + // hybridOverlayConfig configures an additional overlay network for peers that are // not using OVN. // +optional HybridOverlayConfig *HybridOverlayConfig `json:"hybridOverlayConfig,omitempty"` @@ -540,10 +540,10 @@ type IPv6OVNKubernetesConfig struct { } type HybridOverlayConfig struct { - // HybridClusterNetwork defines a network space given to nodes on an additional overlay network. + // hybridClusterNetwork defines a network space given to nodes on an additional overlay network. // +listType=atomic HybridClusterNetwork []ClusterNetworkEntry `json:"hybridClusterNetwork"` - // HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. + // hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. // Default is 4789 // +optional HybridOverlayVXLANPort *uint32 `json:"hybridOverlayVXLANPort,omitempty"` @@ -577,14 +577,14 @@ const ( // GatewayConfig holds node gateway-related parsed config file parameters and command-line overrides type GatewayConfig struct { - // RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port + // routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port // into the host before sending it out. If this is not set, traffic will always egress directly // from OVN to outside without touching the host stack. Setting this to true means hardware // offload will not be supported. Default is false if GatewayConfig is specified. // +kubebuilder:default:=false // +optional RoutingViaHost bool `json:"routingViaHost,omitempty"` - // IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). + // ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). // By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other // IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across // OVN-Kubernetes managed interfaces, then set this field to "Global". @@ -862,7 +862,7 @@ type AdditionalRoutingCapabilities struct { // is currrently "FRR" which provides FRR routing capabilities through the // deployment of FRR. // +listType=atomic - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinItems=1 // +kubebuilder:validation:MaxItems=1 // +kubebuilder:validation:XValidation:rule="self.all(x, self.exists_one(y, x == y))" diff --git a/vendor/github.com/openshift/api/operator/v1/types_olm.go b/vendor/github.com/openshift/api/operator/v1/types_olm.go new file mode 100644 index 0000000000..07c94ece2e --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/types_olm.go @@ -0,0 +1,61 @@ +package v1 + +import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + +// +genclient +// +genclient:nonNamespaced +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OLM provides information to configure an operator to manage the OLM controllers +// +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 +// +kubebuilder:object:root=true +// +kubebuilder:resource:path=olms,scope=Cluster +// +kubebuilder:subresource:status +// +kubebuilder:metadata:annotations=include.release.openshift.io/ibm-cloud-managed=false +// +kubebuilder:metadata:annotations=include.release.openshift.io/self-managed-high-availability=true +// +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1504 +// +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=operator-lifecycle-manager,operatorOrdering=01 +// +openshift:enable:FeatureGate=NewOLM +// +openshift:capability=OperatorLifecycleManagerV1 +// +kubebuilder:validation:XValidation:rule="self.metadata.name == 'cluster'",message="olm is a singleton, .metadata.name must be 'cluster'" +type OLM struct { + metav1.TypeMeta `json:",inline"` + + // metadata is the standard object's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + metav1.ObjectMeta `json:"metadata"` + + //spec holds user settable values for configuration + //+kubebuilder:validation:Required + Spec OLMSpec `json:"spec"` + // status holds observed values from the cluster. They may not be overridden. + // +optional + Status OLMStatus `json:"status"` +} + +type OLMSpec struct { + OperatorSpec `json:",inline"` +} + +type OLMStatus struct { + OperatorStatus `json:",inline"` +} + +// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object + +// OLMList is a collection of items +// +// Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). +// +openshift:compatibility-gen:level=1 +type OLMList struct { + metav1.TypeMeta `json:",inline"` + + // metadata is the standard list's metadata. + // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata + metav1.ListMeta `json:"metadata"` + + // items contains the items + Items []OLM `json:"items"` +} diff --git a/vendor/github.com/openshift/api/operator/v1/types_openshiftapiserver.go b/vendor/github.com/openshift/api/operator/v1/types_openshiftapiserver.go index cd2c8a588f..a96e033cb7 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_openshiftapiserver.go +++ b/vendor/github.com/openshift/api/operator/v1/types_openshiftapiserver.go @@ -25,7 +25,6 @@ type OpenShiftAPIServer struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the OpenShift API Server. - // +kubebuilder:validation:Required // +required Spec OpenShiftAPIServerSpec `json:"spec"` @@ -55,6 +54,6 @@ type OpenShiftAPIServerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []OpenShiftAPIServer `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_openshiftcontrollermanager.go b/vendor/github.com/openshift/api/operator/v1/types_openshiftcontrollermanager.go index 8e8929a903..8a553a0579 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_openshiftcontrollermanager.go +++ b/vendor/github.com/openshift/api/operator/v1/types_openshiftcontrollermanager.go @@ -24,7 +24,6 @@ type OpenShiftControllerManager struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required // +required Spec OpenShiftControllerManagerSpec `json:"spec"` // +optional @@ -52,6 +51,6 @@ type OpenShiftControllerManagerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []OpenShiftControllerManager `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_scheduler.go b/vendor/github.com/openshift/api/operator/v1/types_scheduler.go index 448c458c19..cfb04e8d94 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_scheduler.go +++ b/vendor/github.com/openshift/api/operator/v1/types_scheduler.go @@ -25,7 +25,6 @@ type KubeScheduler struct { metav1.ObjectMeta `json:"metadata"` // spec is the specification of the desired behavior of the Kubernetes Scheduler - // +kubebuilder:validation:Required // +required Spec KubeSchedulerSpec `json:"spec"` @@ -55,6 +54,6 @@ type KubeSchedulerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []KubeScheduler `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_serviceca.go b/vendor/github.com/openshift/api/operator/v1/types_serviceca.go index e4d8d1d7ad..48534d4c63 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_serviceca.go +++ b/vendor/github.com/openshift/api/operator/v1/types_serviceca.go @@ -25,7 +25,6 @@ type ServiceCA struct { metav1.ObjectMeta `json:"metadata"` //spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ServiceCASpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. @@ -54,6 +53,6 @@ type ServiceCAList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []ServiceCA `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_servicecatalogapiserver.go b/vendor/github.com/openshift/api/operator/v1/types_servicecatalogapiserver.go index 006b8bb99d..e058c065a6 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_servicecatalogapiserver.go +++ b/vendor/github.com/openshift/api/operator/v1/types_servicecatalogapiserver.go @@ -20,7 +20,6 @@ type ServiceCatalogAPIServer struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty"` - // +kubebuilder:validation:Required // +required Spec ServiceCatalogAPIServerSpec `json:"spec"` // +optional @@ -49,6 +48,6 @@ type ServiceCatalogAPIServerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []ServiceCatalogAPIServer `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_servicecatalogcontrollermanager.go b/vendor/github.com/openshift/api/operator/v1/types_servicecatalogcontrollermanager.go index 859965408b..4fe2aa46a3 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_servicecatalogcontrollermanager.go +++ b/vendor/github.com/openshift/api/operator/v1/types_servicecatalogcontrollermanager.go @@ -20,7 +20,6 @@ type ServiceCatalogControllerManager struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // +kubebuilder:validation:Required // +required Spec ServiceCatalogControllerManagerSpec `json:"spec"` // +optional @@ -49,6 +48,6 @@ type ServiceCatalogControllerManagerList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []ServiceCatalogControllerManager `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1/types_storage.go b/vendor/github.com/openshift/api/operator/v1/types_storage.go index aa48b0c84f..69691a83ad 100644 --- a/vendor/github.com/openshift/api/operator/v1/types_storage.go +++ b/vendor/github.com/openshift/api/operator/v1/types_storage.go @@ -25,7 +25,6 @@ type Storage struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec StorageSpec `json:"spec"` @@ -47,7 +46,7 @@ const ( type StorageSpec struct { OperatorSpec `json:",inline"` - // VSphereStorageDriver indicates the storage driver to use on VSphere clusters. + // vsphereStorageDriver indicates the storage driver to use on VSphere clusters. // Once this field is set to CSIWithMigrationDriver, it can not be changed. // If this is empty, the platform will choose a good default, // which may change over time without notice. diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml new file mode 100644 index 0000000000..ec93248567 --- /dev/null +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_10_operator-lifecycle-manager_01_olms.crd.yaml @@ -0,0 +1,214 @@ +apiVersion: apiextensions.k8s.io/v1 +kind: CustomResourceDefinition +metadata: + annotations: + api-approved.openshift.io: https://github.com/openshift/api/pull/1504 + api.openshift.io/merged-by-featuregates: "true" + capability.openshift.io/name: OperatorLifecycleManagerV1 + include.release.openshift.io/self-managed-high-availability: "true" + name: olms.operator.openshift.io +spec: + group: operator.openshift.io + names: + kind: OLM + listKind: OLMList + plural: olms + singular: olm + scope: Cluster + versions: + - name: v1 + schema: + openAPIV3Schema: + description: |- + OLM provides information to configure an operator to manage the OLM controllers + + Compatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer). + properties: + apiVersion: + description: |- + 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 + type: string + kind: + description: |- + 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 + type: string + metadata: + type: object + spec: + description: spec holds user settable values for configuration + properties: + logLevel: + default: Normal + description: |- + logLevel is an intent based logging for an overall component. It does not give fine grained control, but it is a + simple way to manage coarse grained logging choices that operators have to interpret for their operands. + + Valid values are: "Normal", "Debug", "Trace", "TraceAll". + Defaults to "Normal". + enum: + - "" + - Normal + - Debug + - Trace + - TraceAll + type: string + managementState: + description: managementState indicates whether and how the operator + should manage the component + pattern: ^(Managed|Unmanaged|Force|Removed)$ + type: string + observedConfig: + description: |- + observedConfig holds a sparse config that controller has observed from the cluster state. It exists in spec because + it is an input to the level for the operator + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + operatorLogLevel: + default: Normal + description: |- + operatorLogLevel is an intent based logging for the operator itself. It does not give fine grained control, but it is a + simple way to manage coarse grained logging choices that operators have to interpret for themselves. + + Valid values are: "Normal", "Debug", "Trace", "TraceAll". + Defaults to "Normal". + enum: + - "" + - Normal + - Debug + - Trace + - TraceAll + type: string + unsupportedConfigOverrides: + description: |- + unsupportedConfigOverrides overrides the final configuration that was computed by the operator. + Red Hat does not support the use of this field. + Misuse of this field could lead to unexpected behavior or conflict with other configuration options. + Seek guidance from the Red Hat support before using this field. + Use of this property blocks cluster upgrades, it must be removed before upgrading your cluster. + nullable: true + type: object + x-kubernetes-preserve-unknown-fields: true + type: object + status: + description: status holds observed values from the cluster. They may not + be overridden. + properties: + conditions: + description: conditions is a list of conditions and their status + items: + description: OperatorCondition is just the standard condition fields. + properties: + lastTransitionTime: + description: |- + lastTransitionTime is the last time the condition transitioned from one status to another. + This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable. + format: date-time + type: string + message: + type: string + reason: + type: string + status: + description: status of the condition, one of True, False, Unknown. + enum: + - "True" + - "False" + - Unknown + type: string + type: + description: type of condition in CamelCase or in foo.example.com/CamelCase. + maxLength: 316 + pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$ + type: string + required: + - lastTransitionTime + - status + - type + type: object + type: array + x-kubernetes-list-map-keys: + - type + x-kubernetes-list-type: map + generations: + description: generations are used to determine when an item needs + to be reconciled or has changed in a way that needs a reaction. + items: + description: GenerationStatus keeps track of the generation for + a given resource so that decisions about forced updates can be + made. + properties: + group: + description: group is the group of the thing you're tracking + type: string + hash: + description: hash is an optional field set for resources without + generation that are content sensitive like secrets and configmaps + type: string + lastGeneration: + description: lastGeneration is the last generation of the workload + controller involved + format: int64 + type: integer + name: + description: name is the name of the thing you're tracking + type: string + namespace: + description: namespace is where the thing you're tracking is + type: string + resource: + description: resource is the resource type of the thing you're + tracking + type: string + required: + - group + - name + - namespace + - resource + type: object + type: array + x-kubernetes-list-map-keys: + - group + - resource + - namespace + - name + x-kubernetes-list-type: map + latestAvailableRevision: + description: latestAvailableRevision is the deploymentID of the most + recent deployment + format: int32 + type: integer + x-kubernetes-validations: + - message: must only increase + rule: self >= oldSelf + observedGeneration: + description: observedGeneration is the last generation change you've + dealt with + format: int64 + type: integer + readyReplicas: + description: readyReplicas indicates how many replicas are ready and + at the desired state + format: int32 + type: integer + version: + description: version is the level this availability applies to + type: string + type: object + required: + - spec + type: object + x-kubernetes-validations: + - message: olm is a singleton, .metadata.name must be 'cluster' + rule: self.metadata.name == 'cluster' + served: true + storage: true + subresources: + status: {} diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_40_cloud-credential_00_cloudcredentials.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_40_cloud-credential_00_cloudcredentials.crd.yaml index bf6c616afc..1414aebd7d 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_40_cloud-credential_00_cloudcredentials.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_40_cloud-credential_00_cloudcredentials.crd.yaml @@ -48,7 +48,7 @@ spec: properties: credentialsMode: description: |- - CredentialsMode allows informing CCO that it should not attempt to dynamically + credentialsMode allows informing CCO that it should not attempt to dynamically determine the root cloud credentials capabilities, and it should just run in the specified mode. It also allows putting the operator into "manual" mode if desired. diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_authentication_01_authentications.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_authentication_01_authentications.crd.yaml index 3fab2ff1f5..029c91ac0f 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_authentication_01_authentications.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_authentication_01_authentications.crd.yaml @@ -185,11 +185,11 @@ spec: - message: must only increase rule: self >= oldSelf oauthAPIServer: - description: OAuthAPIServer holds status specific only to oauth-apiserver + description: oauthAPIServer holds status specific only to oauth-apiserver properties: latestAvailableRevision: description: |- - LatestAvailableRevision is the latest revision used as suffix of revisioned + latestAvailableRevision is the latest revision used as suffix of revisioned secrets like encryption-config. A new revision causes a new deployment of pods. format: int32 minimum: 0 diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_console_01_consoles.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_console_01_consoles.crd.yaml index 505332e4b5..6578035ed1 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_console_01_consoles.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_console_01_consoles.crd.yaml @@ -141,7 +141,7 @@ spec: SVG format preferred properties: key: - description: Key allows pointing to a specific key/value inside + description: key allows pointing to a specific key/value inside of the configmap. This is useful for logical file references. type: string name: @@ -164,7 +164,7 @@ spec: properties: id: description: |- - ID is an identifier used in the URL to enable deep linking in console. + id is an identifier used in the URL to enable deep linking in console. ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters. maxLength: 32 minLength: 1 @@ -184,7 +184,7 @@ spec: properties: id: description: |- - ID is an identifier used in the URL to enable deep linking in console. + id is an identifier used in the URL to enable deep linking in console. ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters. maxLength: 32 minLength: 1 diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_90_csi-driver_01_clustercsidrivers.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_csi-driver_01_clustercsidrivers.crd.yaml similarity index 99% rename from vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_90_csi-driver_01_clustercsidrivers.crd.yaml rename to vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_csi-driver_01_clustercsidrivers.crd.yaml index 9a65a695ac..1db446757e 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_90_csi-driver_01_clustercsidrivers.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_csi-driver_01_clustercsidrivers.crd.yaml @@ -253,7 +253,7 @@ spec: - encryptionKeyCRN type: object vSphere: - description: vsphere is used to configure the vsphere CSI driver. + description: vSphere is used to configure the vsphere CSI driver. properties: globalMaxSnapshotsPerBlockVolume: description: |- @@ -348,7 +348,7 @@ spec: type: string storageClassState: description: |- - StorageClassState determines if CSI operator should create and manage storage classes. + storageClassState determines if CSI operator should create and manage storage classes. If this field value is empty or Managed - CSI operator will continuously reconcile storage class and create if necessary. If this field value is Unmanaged - CSI operator will not reconcile any previously created diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers.crd.yaml index 2524b5a84a..10ca42895c 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_ingress_00_ingresscontrollers.crd.yaml @@ -1255,6 +1255,76 @@ spec: type: string type: object type: object + idleConnectionTerminationPolicy: + default: Immediate + description: |- + idleConnectionTerminationPolicy maps directly to HAProxy's + idle-close-on-response option and controls whether HAProxy + keeps idle frontend connections open during a soft stop + (router reload). + + Allowed values for this field are "Immediate" and + "Deferred". The default value is "Immediate". + + When set to "Immediate", idle connections are closed + immediately during router reloads. This ensures immediate + propagation of route changes but may impact clients + sensitive to connection resets. + + When set to "Deferred", HAProxy will maintain idle + connections during a soft reload instead of closing them + immediately. These connections remain open until any of the + following occurs: + + - A new request is received on the connection, in which + case HAProxy handles it in the old process and closes + the connection after sending the response. + + - HAProxy's `timeout http-keep-alive` duration expires + (300 seconds in OpenShift's configuration, not + configurable). + + - The client's keep-alive timeout expires, causing the + client to close the connection. + + Setting Deferred can help prevent errors in clients or load + balancers that do not properly handle connection resets. + Additionally, this option allows you to retain the pre-2.4 + HAProxy behaviour: in HAProxy version 2.2 (OpenShift + versions < 4.14), maintaining idle connections during a + soft reload was the default behaviour, but starting with + HAProxy 2.4, the default changed to closing idle + connections immediately. + + Important Consideration: + + - Using Deferred will result in temporary inconsistencies + for the first request on each persistent connection + after a route update and router reload. This request + will be processed by the old HAProxy process using its + old configuration. Subsequent requests will use the + updated configuration. + + Operational Considerations: + + - Keeping idle connections open during reloads may lead + to an accumulation of old HAProxy processes if + connections remain idle for extended periods, + especially in environments where frequent reloads + occur. + + - Consider monitoring the number of HAProxy processes in + the router pods when Deferred is set. + + - You may need to enable or adjust the + `ingress.operator.openshift.io/hard-stop-after` + duration (configured via an annotation on the + IngressController resource) in environments with + frequent reloads to prevent resource exhaustion. + enum: + - Immediate + - Deferred + type: string logging: description: |- logging defines parameters for what should be logged where. If this @@ -2089,7 +2159,7 @@ spec: type: string connectTimeout: description: |- - ConnectTimeout defines the maximum time to wait for + connectTimeout defines the maximum time to wait for a connection attempt to a server/backend to succeed. This field expects an unsigned duration string of decimal numbers, each with optional diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_storage_01_storages.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_storage_01_storages.crd.yaml index e0f8418814..2432d6c8bd 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_storage_01_storages.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_50_storage_01_storages.crd.yaml @@ -98,7 +98,7 @@ spec: x-kubernetes-preserve-unknown-fields: true vsphereStorageDriver: description: |- - VSphereStorageDriver indicates the storage driver to use on VSphere clusters. + vsphereStorageDriver indicates the storage driver to use on VSphere clusters. Once this field is set to CSIWithMigrationDriver, it can not be changed. If this is empty, the platform will choose a good default, which may change over time without notice. diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_dns_00_dnses.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_dns_00_dnses.crd.yaml index 7d2acd004f..946f6aaade 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_dns_00_dnses.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_dns_00_dnses.crd.yaml @@ -365,7 +365,7 @@ spec: policy: default: Sequential description: |- - Policy is used to determine the order in which upstream servers are selected for querying. + policy is used to determine the order in which upstream servers are selected for querying. Any one of the following values may be specified: * "Random" picks a random upstream server for each query. @@ -466,7 +466,7 @@ spec: default: - type: SystemResolvConf description: |- - Upstreams is a list of resolvers to forward name queries for the "." domain. + upstreams is a list of resolvers to forward name queries for the "." domain. Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream returns an error during the exchange, another resolver is tried from Upstreams. The Upstreams are selected in the order specified in Policy. @@ -505,13 +505,13 @@ spec: - format: ipv4 - format: ipv6 description: |- - Address must be defined when Type is set to Network. It will be ignored otherwise. + address must be defined when Type is set to Network. It will be ignored otherwise. It must be a valid ipv4 or ipv6 address. type: string port: default: 53 description: |- - Port may be defined when Type is set to Network. It will be ignored otherwise. + port may be defined when Type is set to Network. It will be ignored otherwise. Port must be between 65535 format: int32 maximum: 65535 @@ -519,7 +519,7 @@ spec: type: integer type: description: |- - Type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. + type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. Type accepts 2 possible values: SystemResolvConf or Network. * When SystemResolvConf is used, the Upstream structure does not require any further fields to be defined: diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-CustomNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-CustomNoUpgrade.crd.yaml index 146c684056..904e37149d 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-CustomNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-CustomNoUpgrade.crd.yaml @@ -72,51 +72,51 @@ spec: NetworkAttachmentDefinition CRD type: string simpleMacvlanConfig: - description: SimpleMacvlanConfig configures the macvlan interface + description: simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan properties: ipamConfig: - description: IPAMConfig configures IPAM module will be used + description: ipamConfig configures IPAM module will be used for IP Address Management (IPAM). properties: staticIPAMConfig: - description: StaticIPAMConfig configures the static + description: staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic properties: addresses: - description: Addresses configures IP address for + description: addresses configures IP address for the interface items: description: StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses properties: address: - description: Address is the IP address in + description: address is the IP address in CIDR format type: string gateway: - description: Gateway is IP inside of subnet + description: gateway is IP inside of subnet to designate as the gateway type: string type: object type: array x-kubernetes-list-type: atomic dns: - description: DNS configures DNS for the interface + description: dns configures DNS for the interface properties: domain: - description: Domain configures the domainname + description: domain configures the domainname the local domain used for short hostname lookups type: string nameservers: - description: Nameservers points DNS servers + description: nameservers points DNS servers for IP lookup items: type: string type: array x-kubernetes-list-type: atomic search: - description: Search configures priority ordered + description: search configures priority ordered search domains for short hostname lookups items: type: string @@ -124,19 +124,19 @@ spec: x-kubernetes-list-type: atomic type: object routes: - description: Routes configures IP routes for the + description: routes configures IP routes for the interface items: description: StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes properties: destination: - description: Destination points the IP route + description: destination points the IP route destination type: string gateway: description: |- - Gateway is the route's next-hop IP address + gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin). type: string type: object @@ -145,7 +145,7 @@ spec: type: object type: description: |- - Type is the type of IPAM module will be used for IP Address Management(IPAM). + type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic type: string type: object @@ -238,7 +238,7 @@ spec: properties: openshiftSDNConfig: description: |- - openShiftSDNConfig was previously used to configure the openshift-sdn plugin. + openshiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported. properties: enableUnidling: @@ -297,7 +297,7 @@ spec: properties: ipForwarding: description: |- - IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). + ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to "Global". @@ -361,7 +361,7 @@ spec: routingViaHost: default: false description: |- - RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port + routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified. @@ -376,11 +376,11 @@ spec: type: integer hybridOverlayConfig: description: |- - HybridOverlayConfig configures an additional overlay network for peers that are + hybridOverlayConfig configures an additional overlay network for peers that are not using OVN. properties: hybridClusterNetwork: - description: HybridClusterNetwork defines a network space + description: hybridClusterNetwork defines a network space given to nodes on an additional overlay network. items: description: |- @@ -400,7 +400,7 @@ spec: x-kubernetes-list-type: atomic hybridOverlayVXLANPort: description: |- - HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. + hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789 format: int32 type: integer diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-Default.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-Default.crd.yaml index 3f150defe7..de48ddd6d3 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-Default.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-Default.crd.yaml @@ -72,51 +72,51 @@ spec: NetworkAttachmentDefinition CRD type: string simpleMacvlanConfig: - description: SimpleMacvlanConfig configures the macvlan interface + description: simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan properties: ipamConfig: - description: IPAMConfig configures IPAM module will be used + description: ipamConfig configures IPAM module will be used for IP Address Management (IPAM). properties: staticIPAMConfig: - description: StaticIPAMConfig configures the static + description: staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic properties: addresses: - description: Addresses configures IP address for + description: addresses configures IP address for the interface items: description: StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses properties: address: - description: Address is the IP address in + description: address is the IP address in CIDR format type: string gateway: - description: Gateway is IP inside of subnet + description: gateway is IP inside of subnet to designate as the gateway type: string type: object type: array x-kubernetes-list-type: atomic dns: - description: DNS configures DNS for the interface + description: dns configures DNS for the interface properties: domain: - description: Domain configures the domainname + description: domain configures the domainname the local domain used for short hostname lookups type: string nameservers: - description: Nameservers points DNS servers + description: nameservers points DNS servers for IP lookup items: type: string type: array x-kubernetes-list-type: atomic search: - description: Search configures priority ordered + description: search configures priority ordered search domains for short hostname lookups items: type: string @@ -124,19 +124,19 @@ spec: x-kubernetes-list-type: atomic type: object routes: - description: Routes configures IP routes for the + description: routes configures IP routes for the interface items: description: StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes properties: destination: - description: Destination points the IP route + description: destination points the IP route destination type: string gateway: description: |- - Gateway is the route's next-hop IP address + gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin). type: string type: object @@ -145,7 +145,7 @@ spec: type: object type: description: |- - Type is the type of IPAM module will be used for IP Address Management(IPAM). + type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic type: string type: object @@ -178,6 +178,39 @@ spec: x-kubernetes-list-map-keys: - name x-kubernetes-list-type: map + additionalRoutingCapabilities: + description: |- + additionalRoutingCapabilities describes components and relevant + configuration providing additional routing capabilities. When set, it + enables such components and the usage of the routing capabilities they + provide for the machine network. Upstream operators, like MetalLB + operator, requiring these capabilities may rely on, or automatically set + this attribute. Network plugins may leverage advanced routing + capabilities acquired through the enablement of these components but may + require specific configuration on their side to do so; refer to their + respective documentation and configuration options. + properties: + providers: + description: |- + providers is a set of enabled components that provide additional routing + capabilities. Entries on this list must be unique. The only valid value + is currrently "FRR" which provides FRR routing capabilities through the + deployment of FRR. + items: + description: RoutingCapabilitiesProvider is a component providing + routing capabilities. + enum: + - FRR + type: string + maxItems: 1 + minItems: 1 + type: array + x-kubernetes-list-type: atomic + x-kubernetes-validations: + - rule: self.all(x, self.exists_one(y, x == y)) + required: + - providers + type: object clusterNetwork: description: |- clusterNetwork is the IP address pool to use for pod IPs. @@ -205,7 +238,7 @@ spec: properties: openshiftSDNConfig: description: |- - openShiftSDNConfig was previously used to configure the openshift-sdn plugin. + openshiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported. properties: enableUnidling: @@ -264,7 +297,7 @@ spec: properties: ipForwarding: description: |- - IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). + ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to "Global". @@ -328,7 +361,7 @@ spec: routingViaHost: default: false description: |- - RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port + routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified. @@ -343,11 +376,11 @@ spec: type: integer hybridOverlayConfig: description: |- - HybridOverlayConfig configures an additional overlay network for peers that are + hybridOverlayConfig configures an additional overlay network for peers that are not using OVN. properties: hybridClusterNetwork: - description: HybridClusterNetwork defines a network space + description: hybridClusterNetwork defines a network space given to nodes on an additional overlay network. items: description: |- @@ -367,7 +400,7 @@ spec: x-kubernetes-list-type: atomic hybridOverlayVXLANPort: description: |- - HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. + hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789 format: int32 type: integer diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-DevPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-DevPreviewNoUpgrade.crd.yaml index fd06797632..75bfc47bf0 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-DevPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-DevPreviewNoUpgrade.crd.yaml @@ -72,51 +72,51 @@ spec: NetworkAttachmentDefinition CRD type: string simpleMacvlanConfig: - description: SimpleMacvlanConfig configures the macvlan interface + description: simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan properties: ipamConfig: - description: IPAMConfig configures IPAM module will be used + description: ipamConfig configures IPAM module will be used for IP Address Management (IPAM). properties: staticIPAMConfig: - description: StaticIPAMConfig configures the static + description: staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic properties: addresses: - description: Addresses configures IP address for + description: addresses configures IP address for the interface items: description: StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses properties: address: - description: Address is the IP address in + description: address is the IP address in CIDR format type: string gateway: - description: Gateway is IP inside of subnet + description: gateway is IP inside of subnet to designate as the gateway type: string type: object type: array x-kubernetes-list-type: atomic dns: - description: DNS configures DNS for the interface + description: dns configures DNS for the interface properties: domain: - description: Domain configures the domainname + description: domain configures the domainname the local domain used for short hostname lookups type: string nameservers: - description: Nameservers points DNS servers + description: nameservers points DNS servers for IP lookup items: type: string type: array x-kubernetes-list-type: atomic search: - description: Search configures priority ordered + description: search configures priority ordered search domains for short hostname lookups items: type: string @@ -124,19 +124,19 @@ spec: x-kubernetes-list-type: atomic type: object routes: - description: Routes configures IP routes for the + description: routes configures IP routes for the interface items: description: StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes properties: destination: - description: Destination points the IP route + description: destination points the IP route destination type: string gateway: description: |- - Gateway is the route's next-hop IP address + gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin). type: string type: object @@ -145,7 +145,7 @@ spec: type: object type: description: |- - Type is the type of IPAM module will be used for IP Address Management(IPAM). + type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic type: string type: object @@ -238,7 +238,7 @@ spec: properties: openshiftSDNConfig: description: |- - openShiftSDNConfig was previously used to configure the openshift-sdn plugin. + openshiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported. properties: enableUnidling: @@ -297,7 +297,7 @@ spec: properties: ipForwarding: description: |- - IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). + ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to "Global". @@ -361,7 +361,7 @@ spec: routingViaHost: default: false description: |- - RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port + routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified. @@ -376,11 +376,11 @@ spec: type: integer hybridOverlayConfig: description: |- - HybridOverlayConfig configures an additional overlay network for peers that are + hybridOverlayConfig configures an additional overlay network for peers that are not using OVN. properties: hybridClusterNetwork: - description: HybridClusterNetwork defines a network space + description: hybridClusterNetwork defines a network space given to nodes on an additional overlay network. items: description: |- @@ -400,7 +400,7 @@ spec: x-kubernetes-list-type: atomic hybridOverlayVXLANPort: description: |- - HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. + hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789 format: int32 type: integer diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-TechPreviewNoUpgrade.crd.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-TechPreviewNoUpgrade.crd.yaml index e55b94afc3..7e01730245 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-TechPreviewNoUpgrade.crd.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.crd-manifests/0000_70_network_01_networks-TechPreviewNoUpgrade.crd.yaml @@ -72,51 +72,51 @@ spec: NetworkAttachmentDefinition CRD type: string simpleMacvlanConfig: - description: SimpleMacvlanConfig configures the macvlan interface + description: simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan properties: ipamConfig: - description: IPAMConfig configures IPAM module will be used + description: ipamConfig configures IPAM module will be used for IP Address Management (IPAM). properties: staticIPAMConfig: - description: StaticIPAMConfig configures the static + description: staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic properties: addresses: - description: Addresses configures IP address for + description: addresses configures IP address for the interface items: description: StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses properties: address: - description: Address is the IP address in + description: address is the IP address in CIDR format type: string gateway: - description: Gateway is IP inside of subnet + description: gateway is IP inside of subnet to designate as the gateway type: string type: object type: array x-kubernetes-list-type: atomic dns: - description: DNS configures DNS for the interface + description: dns configures DNS for the interface properties: domain: - description: Domain configures the domainname + description: domain configures the domainname the local domain used for short hostname lookups type: string nameservers: - description: Nameservers points DNS servers + description: nameservers points DNS servers for IP lookup items: type: string type: array x-kubernetes-list-type: atomic search: - description: Search configures priority ordered + description: search configures priority ordered search domains for short hostname lookups items: type: string @@ -124,19 +124,19 @@ spec: x-kubernetes-list-type: atomic type: object routes: - description: Routes configures IP routes for the + description: routes configures IP routes for the interface items: description: StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes properties: destination: - description: Destination points the IP route + description: destination points the IP route destination type: string gateway: description: |- - Gateway is the route's next-hop IP address + gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin). type: string type: object @@ -145,7 +145,7 @@ spec: type: object type: description: |- - Type is the type of IPAM module will be used for IP Address Management(IPAM). + type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic type: string type: object @@ -238,7 +238,7 @@ spec: properties: openshiftSDNConfig: description: |- - openShiftSDNConfig was previously used to configure the openshift-sdn plugin. + openshiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported. properties: enableUnidling: @@ -297,7 +297,7 @@ spec: properties: ipForwarding: description: |- - IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). + ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to "Global". @@ -361,7 +361,7 @@ spec: routingViaHost: default: false description: |- - RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port + routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified. @@ -376,11 +376,11 @@ spec: type: integer hybridOverlayConfig: description: |- - HybridOverlayConfig configures an additional overlay network for peers that are + hybridOverlayConfig configures an additional overlay network for peers that are not using OVN. properties: hybridClusterNetwork: - description: HybridClusterNetwork defines a network space + description: hybridClusterNetwork defines a network space given to nodes on an additional overlay network. items: description: |- @@ -400,7 +400,7 @@ spec: x-kubernetes-list-type: atomic hybridOverlayVXLANPort: description: |- - HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. + hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789 format: int32 type: integer diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go index 84edc0cab3..3b984f2a61 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.deepcopy.go @@ -3834,6 +3834,101 @@ func (in *OAuthAPIServerStatus) DeepCopy() *OAuthAPIServerStatus { return out } +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OLM) DeepCopyInto(out *OLM) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ObjectMeta.DeepCopyInto(&out.ObjectMeta) + in.Spec.DeepCopyInto(&out.Spec) + in.Status.DeepCopyInto(&out.Status) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OLM. +func (in *OLM) DeepCopy() *OLM { + if in == nil { + return nil + } + out := new(OLM) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OLM) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OLMList) DeepCopyInto(out *OLMList) { + *out = *in + out.TypeMeta = in.TypeMeta + in.ListMeta.DeepCopyInto(&out.ListMeta) + if in.Items != nil { + in, out := &in.Items, &out.Items + *out = make([]OLM, len(*in)) + for i := range *in { + (*in)[i].DeepCopyInto(&(*out)[i]) + } + } + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OLMList. +func (in *OLMList) DeepCopy() *OLMList { + if in == nil { + return nil + } + out := new(OLMList) + in.DeepCopyInto(out) + return out +} + +// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. +func (in *OLMList) DeepCopyObject() runtime.Object { + if c := in.DeepCopy(); c != nil { + return c + } + return nil +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OLMSpec) DeepCopyInto(out *OLMSpec) { + *out = *in + in.OperatorSpec.DeepCopyInto(&out.OperatorSpec) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OLMSpec. +func (in *OLMSpec) DeepCopy() *OLMSpec { + if in == nil { + return nil + } + out := new(OLMSpec) + in.DeepCopyInto(out) + return out +} + +// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. +func (in *OLMStatus) DeepCopyInto(out *OLMStatus) { + *out = *in + in.OperatorStatus.DeepCopyInto(&out.OperatorStatus) + return +} + +// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new OLMStatus. +func (in *OLMStatus) DeepCopy() *OLMStatus { + if in == nil { + return nil + } + out := new(OLMStatus) + in.DeepCopyInto(out) + return out +} + // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. func (in *OVNKubernetesConfig) DeepCopyInto(out *OVNKubernetesConfig) { *out = *in diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml index 9ed8975177..d45d8ac300 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.featuregated-crd-manifests.yaml @@ -73,7 +73,7 @@ clustercsidrivers.operator.openshift.io: - VSphereDriverConfiguration FilenameOperatorName: csi-driver FilenameOperatorOrdering: "01" - FilenameRunLevel: "0000_90" + FilenameRunLevel: "0000_50" GroupName: operator.openshift.io HasStatus: true KindName: ClusterCSIDriver @@ -346,6 +346,31 @@ networks.operator.openshift.io: TopLevelFeatureGates: [] Version: v1 +olms.operator.openshift.io: + Annotations: + include.release.openshift.io/ibm-cloud-managed: "false" + include.release.openshift.io/self-managed-high-availability: "true" + ApprovedPRNumber: https://github.com/openshift/api/pull/1504 + CRDName: olms.operator.openshift.io + Capability: OperatorLifecycleManagerV1 + Category: "" + FeatureGates: + - NewOLM + FilenameOperatorName: operator-lifecycle-manager + FilenameOperatorOrdering: "01" + FilenameRunLevel: "0000_10" + GroupName: operator.openshift.io + HasStatus: true + KindName: OLM + Labels: {} + PluralName: olms + PrinterColumns: [] + Scope: Cluster + ShortNames: null + TopLevelFeatureGates: + - NewOLM + Version: v1 + openshiftapiservers.operator.openshift.io: Annotations: {} ApprovedPRNumber: https://github.com/openshift/api/pull/475 diff --git a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go index 03d9e16edb..515160b222 100644 --- a/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operator/v1/zz_generated.swagger_doc_generated.go @@ -128,7 +128,7 @@ func (AuthenticationList) SwaggerDoc() map[string]string { } var map_AuthenticationStatus = map[string]string{ - "oauthAPIServer": "OAuthAPIServer holds status specific only to oauth-apiserver", + "oauthAPIServer": "oauthAPIServer holds status specific only to oauth-apiserver", } func (AuthenticationStatus) SwaggerDoc() map[string]string { @@ -136,7 +136,7 @@ func (AuthenticationStatus) SwaggerDoc() map[string]string { } var map_OAuthAPIServerStatus = map[string]string{ - "latestAvailableRevision": "LatestAvailableRevision is the latest revision used as suffix of revisioned secrets like encryption-config. A new revision causes a new deployment of pods.", + "latestAvailableRevision": "latestAvailableRevision is the latest revision used as suffix of revisioned secrets like encryption-config. A new revision causes a new deployment of pods.", } func (OAuthAPIServerStatus) SwaggerDoc() map[string]string { @@ -163,7 +163,7 @@ func (CloudCredentialList) SwaggerDoc() map[string]string { var map_CloudCredentialSpec = map[string]string{ "": "CloudCredentialSpec is the specification of the desired behavior of the cloud-credential-operator.", - "credentialsMode": "CredentialsMode allows informing CCO that it should not attempt to dynamically determine the root cloud credentials capabilities, and it should just run in the specified mode. It also allows putting the operator into \"manual\" mode if desired. Leaving the field in default mode runs CCO so that the cluster's cloud credentials will be dynamically probed for capabilities (on supported clouds/platforms). Supported modes:\n AWS/Azure/GCP: \"\" (Default), \"Mint\", \"Passthrough\", \"Manual\"\n Others: Do not set value as other platforms only support running in \"Passthrough\"", + "credentialsMode": "credentialsMode allows informing CCO that it should not attempt to dynamically determine the root cloud credentials capabilities, and it should just run in the specified mode. It also allows putting the operator into \"manual\" mode if desired. Leaving the field in default mode runs CCO so that the cluster's cloud credentials will be dynamically probed for capabilities (on supported clouds/platforms). Supported modes:\n AWS/Azure/GCP: \"\" (Default), \"Mint\", \"Passthrough\", \"Manual\"\n Others: Do not set value as other platforms only support running in \"Passthrough\"", } func (CloudCredentialSpec) SwaggerDoc() map[string]string { @@ -192,7 +192,7 @@ func (Config) SwaggerDoc() map[string]string { var map_ConfigList = map[string]string{ "": "ConfigList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (ConfigList) SwaggerDoc() map[string]string { @@ -314,7 +314,7 @@ func (DeveloperConsoleCatalogCategory) SwaggerDoc() map[string]string { var map_DeveloperConsoleCatalogCategoryMeta = map[string]string{ "": "DeveloperConsoleCatalogCategoryMeta are the key identifiers of a developer catalog category.", - "id": "ID is an identifier used in the URL to enable deep linking in console. ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters.", + "id": "id is an identifier used in the URL to enable deep linking in console. ID is required and must have 1-32 URL safe (A-Z, a-z, 0-9, - and _) characters.", "label": "label defines a category display label. It is required and must have 1-64 characters.", "tags": "tags is a list of strings that will match the category. A selected category show all items which has at least one overlapping tag between category and item.", } @@ -480,7 +480,7 @@ var map_CSIDriverConfigSpec = map[string]string{ "azure": "azure is used to configure the Azure CSI driver.", "gcp": "gcp is used to configure the GCP CSI driver.", "ibmcloud": "ibmcloud is used to configure the IBM Cloud CSI driver.", - "vSphere": "vsphere is used to configure the vsphere CSI driver.", + "vSphere": "vSphere is used to configure the vsphere CSI driver.", } func (CSIDriverConfigSpec) SwaggerDoc() map[string]string { @@ -509,7 +509,7 @@ func (ClusterCSIDriverList) SwaggerDoc() map[string]string { var map_ClusterCSIDriverSpec = map[string]string{ "": "ClusterCSIDriverSpec is the desired behavior of CSI driver operator", - "storageClassState": "StorageClassState determines if CSI operator should create and manage storage classes. If this field value is empty or Managed - CSI operator will continuously reconcile storage class and create if necessary. If this field value is Unmanaged - CSI operator will not reconcile any previously created storage class. If this field value is Removed - CSI operator will delete the storage class it created previously. When omitted, this means the user has no opinion and the platform chooses a reasonable default, which is subject to change over time. The current default behaviour is Managed.", + "storageClassState": "storageClassState determines if CSI operator should create and manage storage classes. If this field value is empty or Managed - CSI operator will continuously reconcile storage class and create if necessary. If this field value is Unmanaged - CSI operator will not reconcile any previously created storage class. If this field value is Removed - CSI operator will delete the storage class it created previously. When omitted, this means the user has no opinion and the platform chooses a reasonable default, which is subject to change over time. The current default behaviour is Managed.", "driverConfig": "driverConfig can be used to specify platform specific driver configuration. When omitted, this means no opinion and the platform is left to choose reasonable defaults. These defaults are subject to change over time.", } @@ -714,9 +714,9 @@ func (Server) SwaggerDoc() map[string]string { var map_Upstream = map[string]string{ "": "Upstream can either be of type SystemResolvConf, or of type Network.\n\n - For an Upstream of type SystemResolvConf, no further fields are necessary:\n The upstream will be configured to use /etc/resolv.conf.\n - For an Upstream of type Network, a NetworkResolver field needs to be defined\n with an IP address or IP:port if the upstream listens on a port other than 53.", - "type": "Type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. Type accepts 2 possible values: SystemResolvConf or Network.\n\n* When SystemResolvConf is used, the Upstream structure does not require any further fields to be defined:\n /etc/resolv.conf will be used\n* When Network is used, the Upstream structure must contain at least an Address", - "address": "Address must be defined when Type is set to Network. It will be ignored otherwise. It must be a valid ipv4 or ipv6 address.", - "port": "Port may be defined when Type is set to Network. It will be ignored otherwise. Port must be between 65535", + "type": "type defines whether this upstream contains an IP/IP:port resolver or the local /etc/resolv.conf. Type accepts 2 possible values: SystemResolvConf or Network.\n\n* When SystemResolvConf is used, the Upstream structure does not require any further fields to be defined:\n /etc/resolv.conf will be used\n* When Network is used, the Upstream structure must contain at least an Address", + "address": "address must be defined when Type is set to Network. It will be ignored otherwise. It must be a valid ipv4 or ipv6 address.", + "port": "port may be defined when Type is set to Network. It will be ignored otherwise. Port must be between 65535", } func (Upstream) SwaggerDoc() map[string]string { @@ -725,8 +725,8 @@ func (Upstream) SwaggerDoc() map[string]string { var map_UpstreamResolvers = map[string]string{ "": "UpstreamResolvers defines a schema for configuring the CoreDNS forward plugin in the specific case of the default (\".\") server. It defers from ForwardPlugin in the default values it accepts: * At least one upstream should be specified. * the default policy is Sequential", - "upstreams": "Upstreams is a list of resolvers to forward name queries for the \".\" domain. Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream returns an error during the exchange, another resolver is tried from Upstreams. The Upstreams are selected in the order specified in Policy.\n\nA maximum of 15 upstreams is allowed per ForwardPlugin. If no Upstreams are specified, /etc/resolv.conf is used by default", - "policy": "Policy is used to determine the order in which upstream servers are selected for querying. Any one of the following values may be specified:\n\n* \"Random\" picks a random upstream server for each query. * \"RoundRobin\" picks upstream servers in a round-robin order, moving to the next server for each new query. * \"Sequential\" tries querying upstream servers in a sequential order until one responds, starting with the first server for each new query.\n\nThe default value is \"Sequential\"", + "upstreams": "upstreams is a list of resolvers to forward name queries for the \".\" domain. Each instance of CoreDNS performs health checking of Upstreams. When a healthy upstream returns an error during the exchange, another resolver is tried from Upstreams. The Upstreams are selected in the order specified in Policy.\n\nA maximum of 15 upstreams is allowed per ForwardPlugin. If no Upstreams are specified, /etc/resolv.conf is used by default", + "policy": "policy is used to determine the order in which upstream servers are selected for querying. Any one of the following values may be specified:\n\n* \"Random\" picks a random upstream server for each query. * \"RoundRobin\" picks upstream servers in a round-robin order, moving to the next server for each new query. * \"Sequential\" tries querying upstream servers in a sequential order until one responds, starting with the first server for each new query.\n\nThe default value is \"Sequential\"", "transportConfig": "transportConfig is used to configure the transport type, server name, and optional custom CA or CA bundle to use when forwarding DNS requests to an upstream resolver.\n\nThe default value is \"\" (empty) which results in a standard cleartext connection being used when forwarding DNS requests to an upstream resolver.", "protocolStrategy": "protocolStrategy specifies the protocol to use for upstream DNS requests. Valid values for protocolStrategy are \"TCP\" and omitted. When omitted, this means no opinion and the platform is left to choose a reasonable default, which is subject to change over time. The current default is to use the protocol of the original client request. \"TCP\" specifies that the platform should use TCP for all upstream DNS requests, even if the client request uses UDP. \"TCP\" is useful for UDP-specific issues such as those created by non-compliant upstream resolvers, but may consume more bandwidth or increase DNS response time. Note that protocolStrategy only affects the protocol of DNS requests that CoreDNS makes to upstream resolvers. It does not affect the protocol of DNS requests between clients and CoreDNS.", } @@ -747,7 +747,7 @@ func (Etcd) SwaggerDoc() map[string]string { var map_EtcdList = map[string]string{ "": "KubeAPISOperatorConfigList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (EtcdList) SwaggerDoc() map[string]string { @@ -1020,24 +1020,25 @@ func (IngressControllerSetHTTPHeader) SwaggerDoc() map[string]string { } var map_IngressControllerSpec = map[string]string{ - "": "IngressControllerSpec is the specification of the desired behavior of the IngressController.", - "domain": "domain is a DNS name serviced by the ingress controller and is used to configure multiple features:\n\n* For the LoadBalancerService endpoint publishing strategy, domain is\n used to configure DNS records. See endpointPublishingStrategy.\n\n* When using a generated default certificate, the certificate will be valid\n for domain and its subdomains. See defaultCertificate.\n\n* The value is published to individual Route statuses so that end-users\n know where to target external DNS records.\n\ndomain must be unique among all IngressControllers, and cannot be updated.\n\nIf empty, defaults to ingress.config.openshift.io/cluster .spec.domain.", - "httpErrorCodePages": "httpErrorCodePages specifies a configmap with custom error pages. The administrator must create this configmap in the openshift-config namespace. This configmap should have keys in the format \"error-page-.http\", where is an HTTP error code. For example, \"error-page-503.http\" defines an error page for HTTP 503 responses. Currently only error pages for 503 and 404 responses can be customized. Each value in the configmap should be the full response, including HTTP headers. Eg- https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http If this field is empty, the ingress controller uses the default error pages.", - "replicas": "replicas is the desired number of ingress controller replicas. If unset, the default depends on the value of the defaultPlacement field in the cluster config.openshift.io/v1/ingresses status.\n\nThe value of replicas is set based on the value of a chosen field in the Infrastructure CR. If defaultPlacement is set to ControlPlane, the chosen field will be controlPlaneTopology. If it is set to Workers the chosen field will be infrastructureTopology. Replicas will then be set to 1 or 2 based whether the chosen field's value is SingleReplica or HighlyAvailable, respectively.\n\nThese defaults are subject to change.", - "endpointPublishingStrategy": "endpointPublishingStrategy is used to publish the ingress controller endpoints to other networks, enable load balancer integrations, etc.\n\nIf unset, the default is based on infrastructure.config.openshift.io/cluster .status.platform:\n\n AWS: LoadBalancerService (with External scope)\n Azure: LoadBalancerService (with External scope)\n GCP: LoadBalancerService (with External scope)\n IBMCloud: LoadBalancerService (with External scope)\n AlibabaCloud: LoadBalancerService (with External scope)\n Libvirt: HostNetwork\n\nAny other platform types (including None) default to HostNetwork.\n\nendpointPublishingStrategy cannot be updated.", - "defaultCertificate": "defaultCertificate is a reference to a secret containing the default certificate served by the ingress controller. When Routes don't specify their own certificate, defaultCertificate is used.\n\nThe secret must contain the following keys and data:\n\n tls.crt: certificate file contents\n tls.key: key file contents\n\nIf unset, a wildcard certificate is automatically generated and used. The certificate is valid for the ingress controller domain (and subdomains) and the generated certificate's CA will be automatically integrated with the cluster's trust store.\n\nIf a wildcard certificate is used and shared by multiple HTTP/2 enabled routes (which implies ALPN) then clients (i.e., notably browsers) are at liberty to reuse open connections. This means a client can reuse a connection to another route and that is likely to fail. This behaviour is generally known as connection coalescing.\n\nThe in-use certificate (whether generated or user-specified) will be automatically integrated with OpenShift's built-in OAuth server.", - "namespaceSelector": "namespaceSelector is used to filter the set of namespaces serviced by the ingress controller. This is useful for implementing shards.\n\nIf unset, the default is no filtering.", - "routeSelector": "routeSelector is used to filter the set of Routes serviced by the ingress controller. This is useful for implementing shards.\n\nIf unset, the default is no filtering.", - "nodePlacement": "nodePlacement enables explicit control over the scheduling of the ingress controller.\n\nIf unset, defaults are used. See NodePlacement for more details.", - "tlsSecurityProfile": "tlsSecurityProfile specifies settings for TLS connections for ingresscontrollers.\n\nIf unset, the default is based on the apiservers.config.openshift.io/cluster resource.\n\nNote that when using the Old, Intermediate, and Modern profile types, the effective profile configuration is subject to change between releases. For example, given a specification to use the Intermediate profile deployed on release X.Y.Z, an upgrade to release X.Y.Z+1 may cause a new profile configuration to be applied to the ingress controller, resulting in a rollout.", - "clientTLS": "clientTLS specifies settings for requesting and verifying client certificates, which can be used to enable mutual TLS for edge-terminated and reencrypt routes.", - "routeAdmission": "routeAdmission defines a policy for handling new route claims (for example, to allow or deny claims across namespaces).\n\nIf empty, defaults will be applied. See specific routeAdmission fields for details about their defaults.", - "logging": "logging defines parameters for what should be logged where. If this field is empty, operational logs are enabled but access logs are disabled.", - "httpHeaders": "httpHeaders defines policy for HTTP headers.\n\nIf this field is empty, the default values are used.", - "httpEmptyRequestsPolicy": "httpEmptyRequestsPolicy describes how HTTP connections should be handled if the connection times out before a request is received. Allowed values for this field are \"Respond\" and \"Ignore\". If the field is set to \"Respond\", the ingress controller sends an HTTP 400 or 408 response, logs the connection (if access logging is enabled), and counts the connection in the appropriate metrics. If the field is set to \"Ignore\", the ingress controller closes the connection without sending a response, logging the connection, or incrementing metrics. The default value is \"Respond\".\n\nTypically, these connections come from load balancers' health probes or Web browsers' speculative connections (\"preconnect\") and can be safely ignored. However, these requests may also be caused by network errors, and so setting this field to \"Ignore\" may impede detection and diagnosis of problems. In addition, these requests may be caused by port scans, in which case logging empty requests may aid in detecting intrusion attempts.", - "tuningOptions": "tuningOptions defines parameters for adjusting the performance of ingress controller pods. All fields are optional and will use their respective defaults if not set. See specific tuningOptions fields for more details.\n\nSetting fields within tuningOptions is generally not recommended. The default values are suitable for most configurations.", - "unsupportedConfigOverrides": "unsupportedConfigOverrides allows specifying unsupported configuration options. Its use is unsupported.", - "httpCompression": "httpCompression defines a policy for HTTP traffic compression. By default, there is no HTTP compression.", + "": "IngressControllerSpec is the specification of the desired behavior of the IngressController.", + "domain": "domain is a DNS name serviced by the ingress controller and is used to configure multiple features:\n\n* For the LoadBalancerService endpoint publishing strategy, domain is\n used to configure DNS records. See endpointPublishingStrategy.\n\n* When using a generated default certificate, the certificate will be valid\n for domain and its subdomains. See defaultCertificate.\n\n* The value is published to individual Route statuses so that end-users\n know where to target external DNS records.\n\ndomain must be unique among all IngressControllers, and cannot be updated.\n\nIf empty, defaults to ingress.config.openshift.io/cluster .spec.domain.", + "httpErrorCodePages": "httpErrorCodePages specifies a configmap with custom error pages. The administrator must create this configmap in the openshift-config namespace. This configmap should have keys in the format \"error-page-.http\", where is an HTTP error code. For example, \"error-page-503.http\" defines an error page for HTTP 503 responses. Currently only error pages for 503 and 404 responses can be customized. Each value in the configmap should be the full response, including HTTP headers. Eg- https://raw.githubusercontent.com/openshift/router/fadab45747a9b30cc3f0a4b41ad2871f95827a93/images/router/haproxy/conf/error-page-503.http If this field is empty, the ingress controller uses the default error pages.", + "replicas": "replicas is the desired number of ingress controller replicas. If unset, the default depends on the value of the defaultPlacement field in the cluster config.openshift.io/v1/ingresses status.\n\nThe value of replicas is set based on the value of a chosen field in the Infrastructure CR. If defaultPlacement is set to ControlPlane, the chosen field will be controlPlaneTopology. If it is set to Workers the chosen field will be infrastructureTopology. Replicas will then be set to 1 or 2 based whether the chosen field's value is SingleReplica or HighlyAvailable, respectively.\n\nThese defaults are subject to change.", + "endpointPublishingStrategy": "endpointPublishingStrategy is used to publish the ingress controller endpoints to other networks, enable load balancer integrations, etc.\n\nIf unset, the default is based on infrastructure.config.openshift.io/cluster .status.platform:\n\n AWS: LoadBalancerService (with External scope)\n Azure: LoadBalancerService (with External scope)\n GCP: LoadBalancerService (with External scope)\n IBMCloud: LoadBalancerService (with External scope)\n AlibabaCloud: LoadBalancerService (with External scope)\n Libvirt: HostNetwork\n\nAny other platform types (including None) default to HostNetwork.\n\nendpointPublishingStrategy cannot be updated.", + "defaultCertificate": "defaultCertificate is a reference to a secret containing the default certificate served by the ingress controller. When Routes don't specify their own certificate, defaultCertificate is used.\n\nThe secret must contain the following keys and data:\n\n tls.crt: certificate file contents\n tls.key: key file contents\n\nIf unset, a wildcard certificate is automatically generated and used. The certificate is valid for the ingress controller domain (and subdomains) and the generated certificate's CA will be automatically integrated with the cluster's trust store.\n\nIf a wildcard certificate is used and shared by multiple HTTP/2 enabled routes (which implies ALPN) then clients (i.e., notably browsers) are at liberty to reuse open connections. This means a client can reuse a connection to another route and that is likely to fail. This behaviour is generally known as connection coalescing.\n\nThe in-use certificate (whether generated or user-specified) will be automatically integrated with OpenShift's built-in OAuth server.", + "namespaceSelector": "namespaceSelector is used to filter the set of namespaces serviced by the ingress controller. This is useful for implementing shards.\n\nIf unset, the default is no filtering.", + "routeSelector": "routeSelector is used to filter the set of Routes serviced by the ingress controller. This is useful for implementing shards.\n\nIf unset, the default is no filtering.", + "nodePlacement": "nodePlacement enables explicit control over the scheduling of the ingress controller.\n\nIf unset, defaults are used. See NodePlacement for more details.", + "tlsSecurityProfile": "tlsSecurityProfile specifies settings for TLS connections for ingresscontrollers.\n\nIf unset, the default is based on the apiservers.config.openshift.io/cluster resource.\n\nNote that when using the Old, Intermediate, and Modern profile types, the effective profile configuration is subject to change between releases. For example, given a specification to use the Intermediate profile deployed on release X.Y.Z, an upgrade to release X.Y.Z+1 may cause a new profile configuration to be applied to the ingress controller, resulting in a rollout.", + "clientTLS": "clientTLS specifies settings for requesting and verifying client certificates, which can be used to enable mutual TLS for edge-terminated and reencrypt routes.", + "routeAdmission": "routeAdmission defines a policy for handling new route claims (for example, to allow or deny claims across namespaces).\n\nIf empty, defaults will be applied. See specific routeAdmission fields for details about their defaults.", + "logging": "logging defines parameters for what should be logged where. If this field is empty, operational logs are enabled but access logs are disabled.", + "httpHeaders": "httpHeaders defines policy for HTTP headers.\n\nIf this field is empty, the default values are used.", + "httpEmptyRequestsPolicy": "httpEmptyRequestsPolicy describes how HTTP connections should be handled if the connection times out before a request is received. Allowed values for this field are \"Respond\" and \"Ignore\". If the field is set to \"Respond\", the ingress controller sends an HTTP 400 or 408 response, logs the connection (if access logging is enabled), and counts the connection in the appropriate metrics. If the field is set to \"Ignore\", the ingress controller closes the connection without sending a response, logging the connection, or incrementing metrics. The default value is \"Respond\".\n\nTypically, these connections come from load balancers' health probes or Web browsers' speculative connections (\"preconnect\") and can be safely ignored. However, these requests may also be caused by network errors, and so setting this field to \"Ignore\" may impede detection and diagnosis of problems. In addition, these requests may be caused by port scans, in which case logging empty requests may aid in detecting intrusion attempts.", + "tuningOptions": "tuningOptions defines parameters for adjusting the performance of ingress controller pods. All fields are optional and will use their respective defaults if not set. See specific tuningOptions fields for more details.\n\nSetting fields within tuningOptions is generally not recommended. The default values are suitable for most configurations.", + "unsupportedConfigOverrides": "unsupportedConfigOverrides allows specifying unsupported configuration options. Its use is unsupported.", + "httpCompression": "httpCompression defines a policy for HTTP traffic compression. By default, there is no HTTP compression.", + "idleConnectionTerminationPolicy": "idleConnectionTerminationPolicy maps directly to HAProxy's idle-close-on-response option and controls whether HAProxy keeps idle frontend connections open during a soft stop (router reload).\n\nAllowed values for this field are \"Immediate\" and \"Deferred\". The default value is \"Immediate\".\n\nWhen set to \"Immediate\", idle connections are closed immediately during router reloads. This ensures immediate propagation of route changes but may impact clients sensitive to connection resets.\n\nWhen set to \"Deferred\", HAProxy will maintain idle connections during a soft reload instead of closing them immediately. These connections remain open until any of the following occurs:\n\n - A new request is received on the connection, in which\n case HAProxy handles it in the old process and closes\n the connection after sending the response.\n\n - HAProxy's `timeout http-keep-alive` duration expires\n (300 seconds in OpenShift's configuration, not\n configurable).\n\n - The client's keep-alive timeout expires, causing the\n client to close the connection.\n\nSetting Deferred can help prevent errors in clients or load balancers that do not properly handle connection resets. Additionally, this option allows you to retain the pre-2.4 HAProxy behaviour: in HAProxy version 2.2 (OpenShift versions < 4.14), maintaining idle connections during a soft reload was the default behaviour, but starting with HAProxy 2.4, the default changed to closing idle connections immediately.\n\nImportant Consideration:\n\n - Using Deferred will result in temporary inconsistencies\n for the first request on each persistent connection\n after a route update and router reload. This request\n will be processed by the old HAProxy process using its\n old configuration. Subsequent requests will use the\n updated configuration.\n\nOperational Considerations:\n\n - Keeping idle connections open during reloads may lead\n to an accumulation of old HAProxy processes if\n connections remain idle for extended periods,\n especially in environments where frequent reloads\n occur.\n\n - Consider monitoring the number of HAProxy processes in\n the router pods when Deferred is set.\n\n - You may need to enable or adjust the\n `ingress.operator.openshift.io/hard-stop-after`\n duration (configured via an annotation on the\n IngressController resource) in environments with\n frequent reloads to prevent resource exhaustion.", } func (IngressControllerSpec) SwaggerDoc() map[string]string { @@ -1071,7 +1072,7 @@ var map_IngressControllerTuningOptions = map[string]string{ "serverTimeout": "serverTimeout defines how long a connection will be held open while waiting for a server/backend response.\n\nIf unset, the default timeout is 30s", "serverFinTimeout": "serverFinTimeout defines how long a connection will be held open while waiting for the server/backend response to the client closing the connection.\n\nIf unset, the default timeout is 1s", "tunnelTimeout": "tunnelTimeout defines how long a tunnel connection (including websockets) will be held open while the tunnel is idle.\n\nIf unset, the default timeout is 1h", - "connectTimeout": "ConnectTimeout defines the maximum time to wait for a connection attempt to a server/backend to succeed.\n\nThis field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, e.g. \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\" U+00B5 or \"μs\" U+03BC), \"ms\", \"s\", \"m\", \"h\".\n\nWhen omitted, this means the user has no opinion and the platform is left to choose a reasonable default. This default is subject to change over time. The current default is 5s.", + "connectTimeout": "connectTimeout defines the maximum time to wait for a connection attempt to a server/backend to succeed.\n\nThis field expects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, e.g. \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\" U+00B5 or \"μs\" U+03BC), \"ms\", \"s\", \"m\", \"h\".\n\nWhen omitted, this means the user has no opinion and the platform is left to choose a reasonable default. This default is subject to change over time. The current default is 5s.", "tlsInspectDelay": "tlsInspectDelay defines how long the router can hold data to find a matching route.\n\nSetting this too short can cause the router to fall back to the default certificate for edge-terminated or reencrypt routes even when a better matching certificate could be used.\n\nIf unset, the default inspect delay is 5s", "healthCheckInterval": "healthCheckInterval defines how long the router waits between two consecutive health checks on its configured backends. This value is applied globally as a default for all routes, but may be overridden per-route by the route annotation \"router.openshift.io/haproxy.health.check.interval\".\n\nExpects an unsigned duration string of decimal numbers, each with optional fraction and a unit suffix, eg \"300ms\", \"1.5h\" or \"2h45m\". Valid time units are \"ns\", \"us\" (or \"µs\" U+00B5 or \"μs\" U+03BC), \"ms\", \"s\", \"m\", \"h\".\n\nSetting this to less than 5s can cause excess traffic due to too frequent TCP health checks and accompanying SYN packet storms. Alternatively, setting this too high can result in increased latency, due to backend servers that are no longer available, but haven't yet been detected as such.\n\nAn empty or zero healthCheckInterval means no opinion and IngressController chooses a default, which is subject to change over time. Currently the default healthCheckInterval value is 5s.\n\nCurrently the minimum allowed value is 1s and the maximum allowed value is 2147483647ms (24.85 days). Both are subject to change over time.", "maxConnections": "maxConnections defines the maximum number of simultaneous connections that can be established per HAProxy process. Increasing this value allows each ingress controller pod to handle more connections but at the cost of additional system resources being consumed.\n\nPermitted values are: empty, 0, -1, and the range 2000-2000000.\n\nIf this field is empty or 0, the IngressController will use the default value of 50000, but the default is subject to change in future releases.\n\nIf the value is -1 then HAProxy will dynamically compute a maximum value based on the available ulimits in the running container. Selecting -1 (i.e., auto) will result in a large value being computed (~520000 on OpenShift >=4.10 clusters) and therefore each HAProxy process will incur significant memory usage compared to the current default of 50000.\n\nSetting a value that is greater than the current operating system limit will prevent the HAProxy process from starting.\n\nIf you choose a discrete value (e.g., 750000) and the router pod is migrated to a new node, there's no guarantee that that new node has identical ulimits configured. In such a scenario the pod would fail to start. If you have nodes with different ulimits configured (e.g., different tuned profiles) and you choose a discrete value then the guidance is to use -1 and let the value be computed dynamically at runtime.\n\nYou can monitor memory usage for router containers with the following metric: 'container_memory_working_set_bytes{container=\"router\",namespace=\"openshift-ingress\"}'.\n\nYou can monitor memory usage of individual HAProxy processes in router containers with the following metric: 'container_memory_working_set_bytes{container=\"router\",namespace=\"openshift-ingress\"}/container_processes{container=\"router\",namespace=\"openshift-ingress\"}'.", @@ -1264,7 +1265,7 @@ func (KubeAPIServer) SwaggerDoc() map[string]string { var map_KubeAPIServerList = map[string]string{ "": "KubeAPIServerList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (KubeAPIServerList) SwaggerDoc() map[string]string { @@ -1302,7 +1303,7 @@ func (KubeControllerManager) SwaggerDoc() map[string]string { var map_KubeControllerManagerList = map[string]string{ "": "KubeControllerManagerList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (KubeControllerManagerList) SwaggerDoc() map[string]string { @@ -1329,7 +1330,7 @@ func (KubeStorageVersionMigrator) SwaggerDoc() map[string]string { var map_KubeStorageVersionMigratorList = map[string]string{ "": "KubeStorageVersionMigratorList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (KubeStorageVersionMigratorList) SwaggerDoc() map[string]string { @@ -1350,7 +1351,7 @@ func (MachineConfiguration) SwaggerDoc() map[string]string { var map_MachineConfigurationList = map[string]string{ "": "MachineConfigurationList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (MachineConfigurationList) SwaggerDoc() map[string]string { @@ -1545,7 +1546,7 @@ var map_AdditionalNetworkDefinition = map[string]string{ "name": "name is the name of the network. This will be populated in the resulting CRD This must be unique.", "namespace": "namespace is the namespace of the network. This will be populated in the resulting CRD If not given the network will be created in the default namespace.", "rawCNIConfig": "rawCNIConfig is the raw CNI configuration json to create in the NetworkAttachmentDefinition CRD", - "simpleMacvlanConfig": "SimpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan", + "simpleMacvlanConfig": "simpleMacvlanConfig configures the macvlan interface in case of type:NetworkTypeSimpleMacvlan", } func (AdditionalNetworkDefinition) SwaggerDoc() map[string]string { @@ -1572,7 +1573,7 @@ func (ClusterNetworkEntry) SwaggerDoc() map[string]string { var map_DefaultNetworkDefinition = map[string]string{ "": "DefaultNetworkDefinition represents a single network plugin's configuration. type must be specified, along with exactly one \"Config\" that matches the type.", "type": "type is the type of network All NetworkTypes are supported except for NetworkTypeRaw", - "openshiftSDNConfig": "openShiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported.", + "openshiftSDNConfig": "openshiftSDNConfig was previously used to configure the openshift-sdn plugin. DEPRECATED: OpenShift SDN is no longer supported.", "ovnKubernetesConfig": "ovnKubernetesConfig configures the ovn-kubernetes plugin.", } @@ -1611,8 +1612,8 @@ func (FeaturesMigration) SwaggerDoc() map[string]string { var map_GatewayConfig = map[string]string{ "": "GatewayConfig holds node gateway-related parsed config file parameters and command-line overrides", - "routingViaHost": "RoutingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified.", - "ipForwarding": "IPForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to \"Global\". The supported values are \"Restricted\" and \"Global\".", + "routingViaHost": "routingViaHost allows pod egress traffic to exit via the ovn-k8s-mp0 management port into the host before sending it out. If this is not set, traffic will always egress directly from OVN to outside without touching the host stack. Setting this to true means hardware offload will not be supported. Default is false if GatewayConfig is specified.", + "ipForwarding": "ipForwarding controls IP forwarding for all traffic on OVN-Kubernetes managed interfaces (such as br-ex). By default this is set to Restricted, and Kubernetes related traffic is still forwarded appropriately, but other IP traffic will not be routed by the OCP node. If there is a desire to allow the host to forward traffic across OVN-Kubernetes managed interfaces, then set this field to \"Global\". The supported values are \"Restricted\" and \"Global\".", "ipv4": "ipv4 allows users to configure IP settings for IPv4 connections. When omitted, this means no opinion and the default configuration is used. Check individual members fields within ipv4 for details of default values.", "ipv6": "ipv6 allows users to configure IP settings for IPv6 connections. When omitted, this means no opinion and the default configuration is used. Check individual members fields within ipv6 for details of default values.", } @@ -1622,8 +1623,8 @@ func (GatewayConfig) SwaggerDoc() map[string]string { } var map_HybridOverlayConfig = map[string]string{ - "hybridClusterNetwork": "HybridClusterNetwork defines a network space given to nodes on an additional overlay network.", - "hybridOverlayVXLANPort": "HybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789", + "hybridClusterNetwork": "hybridClusterNetwork defines a network space given to nodes on an additional overlay network.", + "hybridOverlayVXLANPort": "hybridOverlayVXLANPort defines the VXLAN port number to be used by the additional overlay network. Default is 4789", } func (HybridOverlayConfig) SwaggerDoc() map[string]string { @@ -1632,8 +1633,8 @@ func (HybridOverlayConfig) SwaggerDoc() map[string]string { var map_IPAMConfig = map[string]string{ "": "IPAMConfig contains configurations for IPAM (IP Address Management)", - "type": "Type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic", - "staticIPAMConfig": "StaticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic", + "type": "type is the type of IPAM module will be used for IP Address Management(IPAM). The supported values are IPAMTypeDHCP, IPAMTypeStatic", + "staticIPAMConfig": "staticIPAMConfig configures the static IP address in case of type:IPAMTypeStatic", } func (IPAMConfig) SwaggerDoc() map[string]string { @@ -1782,7 +1783,7 @@ var map_OVNKubernetesConfig = map[string]string{ "": "ovnKubernetesConfig contains the configuration parameters for networks using the ovn-kubernetes network project", "mtu": "mtu is the MTU to use for the tunnel interface. This must be 100 bytes smaller than the uplink mtu. Default is 1400", "genevePort": "geneve port is the UDP port to be used by geneve encapulation. Default is 6081", - "hybridOverlayConfig": "HybridOverlayConfig configures an additional overlay network for peers that are not using OVN.", + "hybridOverlayConfig": "hybridOverlayConfig configures an additional overlay network for peers that are not using OVN.", "ipsecConfig": "ipsecConfig enables and configures IPsec for pods on the pod network within the cluster.", "policyAuditConfig": "policyAuditConfig is the configuration for network policy audit events. If unset, reported defaults are used.", "gatewayConfig": "gatewayConfig holds the configuration for node gateway options.", @@ -1845,7 +1846,7 @@ func (SFlowConfig) SwaggerDoc() map[string]string { var map_SimpleMacvlanConfig = map[string]string{ "": "SimpleMacvlanConfig contains configurations for macvlan interface.", "master": "master is the host interface to create the macvlan interface from. If not specified, it will be default route interface", - "ipamConfig": "IPAMConfig configures IPAM module will be used for IP Address Management (IPAM).", + "ipamConfig": "ipamConfig configures IPAM module will be used for IP Address Management (IPAM).", "mode": "mode is the macvlan mode: bridge, private, vepa, passthru. The default is bridge", "mtu": "mtu is the mtu to use for the macvlan interface. if unset, host's kernel will select the value.", } @@ -1856,8 +1857,8 @@ func (SimpleMacvlanConfig) SwaggerDoc() map[string]string { var map_StaticIPAMAddresses = map[string]string{ "": "StaticIPAMAddresses provides IP address and Gateway for static IPAM addresses", - "address": "Address is the IP address in CIDR format", - "gateway": "Gateway is IP inside of subnet to designate as the gateway", + "address": "address is the IP address in CIDR format", + "gateway": "gateway is IP inside of subnet to designate as the gateway", } func (StaticIPAMAddresses) SwaggerDoc() map[string]string { @@ -1866,9 +1867,9 @@ func (StaticIPAMAddresses) SwaggerDoc() map[string]string { var map_StaticIPAMConfig = map[string]string{ "": "StaticIPAMConfig contains configurations for static IPAM (IP Address Management)", - "addresses": "Addresses configures IP address for the interface", - "routes": "Routes configures IP routes for the interface", - "dns": "DNS configures DNS for the interface", + "addresses": "addresses configures IP address for the interface", + "routes": "routes configures IP routes for the interface", + "dns": "dns configures DNS for the interface", } func (StaticIPAMConfig) SwaggerDoc() map[string]string { @@ -1877,9 +1878,9 @@ func (StaticIPAMConfig) SwaggerDoc() map[string]string { var map_StaticIPAMDNS = map[string]string{ "": "StaticIPAMDNS provides DNS related information for static IPAM", - "nameservers": "Nameservers points DNS servers for IP lookup", - "domain": "Domain configures the domainname the local domain used for short hostname lookups", - "search": "Search configures priority ordered search domains for short hostname lookups", + "nameservers": "nameservers points DNS servers for IP lookup", + "domain": "domain configures the domainname the local domain used for short hostname lookups", + "search": "search configures priority ordered search domains for short hostname lookups", } func (StaticIPAMDNS) SwaggerDoc() map[string]string { @@ -1888,14 +1889,35 @@ func (StaticIPAMDNS) SwaggerDoc() map[string]string { var map_StaticIPAMRoutes = map[string]string{ "": "StaticIPAMRoutes provides Destination/Gateway pairs for static IPAM routes", - "destination": "Destination points the IP route destination", - "gateway": "Gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin).", + "destination": "destination points the IP route destination", + "gateway": "gateway is the route's next-hop IP address If unset, a default gateway is assumed (as determined by the CNI plugin).", } func (StaticIPAMRoutes) SwaggerDoc() map[string]string { return map_StaticIPAMRoutes } +var map_OLM = map[string]string{ + "": "OLM provides information to configure an operator to manage the OLM controllers\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "spec": "spec holds user settable values for configuration", + "status": "status holds observed values from the cluster. They may not be overridden.", +} + +func (OLM) SwaggerDoc() map[string]string { + return map_OLM +} + +var map_OLMList = map[string]string{ + "": "OLMList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", + "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", + "items": "items contains the items", +} + +func (OLMList) SwaggerDoc() map[string]string { + return map_OLMList +} + var map_OpenShiftAPIServer = map[string]string{ "": "OpenShiftAPIServer provides information to configure an operator to manage openshift-apiserver.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", @@ -1910,7 +1932,7 @@ func (OpenShiftAPIServer) SwaggerDoc() map[string]string { var map_OpenShiftAPIServerList = map[string]string{ "": "OpenShiftAPIServerList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (OpenShiftAPIServerList) SwaggerDoc() map[string]string { @@ -1929,7 +1951,7 @@ func (OpenShiftControllerManager) SwaggerDoc() map[string]string { var map_OpenShiftControllerManagerList = map[string]string{ "": "OpenShiftControllerManagerList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (OpenShiftControllerManagerList) SwaggerDoc() map[string]string { @@ -1950,7 +1972,7 @@ func (KubeScheduler) SwaggerDoc() map[string]string { var map_KubeSchedulerList = map[string]string{ "": "KubeSchedulerList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (KubeSchedulerList) SwaggerDoc() map[string]string { @@ -1971,7 +1993,7 @@ func (ServiceCA) SwaggerDoc() map[string]string { var map_ServiceCAList = map[string]string{ "": "ServiceCAList is a collection of items\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (ServiceCAList) SwaggerDoc() map[string]string { @@ -1990,7 +2012,7 @@ func (ServiceCatalogAPIServer) SwaggerDoc() map[string]string { var map_ServiceCatalogAPIServerList = map[string]string{ "": "ServiceCatalogAPIServerList is a collection of items DEPRECATED: will be removed in 4.6\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (ServiceCatalogAPIServerList) SwaggerDoc() map[string]string { @@ -2009,7 +2031,7 @@ func (ServiceCatalogControllerManager) SwaggerDoc() map[string]string { var map_ServiceCatalogControllerManagerList = map[string]string{ "": "ServiceCatalogControllerManagerList is a collection of items DEPRECATED: will be removed in 4.6\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (ServiceCatalogControllerManagerList) SwaggerDoc() map[string]string { @@ -2038,7 +2060,7 @@ func (StorageList) SwaggerDoc() map[string]string { var map_StorageSpec = map[string]string{ "": "StorageSpec is the specification of the desired behavior of the cluster storage operator.", - "vsphereStorageDriver": "VSphereStorageDriver indicates the storage driver to use on VSphere clusters. Once this field is set to CSIWithMigrationDriver, it can not be changed. If this is empty, the platform will choose a good default, which may change over time without notice. The current default is CSIWithMigrationDriver and may not be changed. DEPRECATED: This field will be removed in a future release.", + "vsphereStorageDriver": "vsphereStorageDriver indicates the storage driver to use on VSphere clusters. Once this field is set to CSIWithMigrationDriver, it can not be changed. If this is empty, the platform will choose a good default, which may change over time without notice. The current default is CSIWithMigrationDriver and may not be changed. DEPRECATED: This field will be removed in a future release.", } func (StorageSpec) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/types.go b/vendor/github.com/openshift/api/operator/v1alpha1/types.go index 4d5a207e6a..932e8c5834 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/types.go +++ b/vendor/github.com/openshift/api/operator/v1alpha1/types.go @@ -149,7 +149,7 @@ type OperatorStatus struct { type GenericOperatorConfig struct { metav1.TypeMeta `json:",inline"` - // ServingInfo is the HTTP serving information for the controller's endpoints + // servingInfo is the HTTP serving information for the controller's endpoints ServingInfo configv1.HTTPServingInfo `json:"servingInfo,omitempty"` // leaderElection provides information to elect a leader. Only override this if you have a specific need diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/types_etcdbackup.go b/vendor/github.com/openshift/api/operator/v1alpha1/types_etcdbackup.go index 2654f57008..3c6f344b1e 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/types_etcdbackup.go +++ b/vendor/github.com/openshift/api/operator/v1alpha1/types_etcdbackup.go @@ -23,22 +23,19 @@ type EtcdBackup struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec EtcdBackupSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. - // +kubebuilder:validation:Optional // +optional Status EtcdBackupStatus `json:"status"` } type EtcdBackupSpec struct { - // PVCName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the + // pvcName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the // etcd backup file would be saved // The PVC itself must always be created in the "openshift-etcd" namespace // If the PVC is left unspecified "" then the platform will choose a reasonable default location to save the backup. // In the future this would be backups saved across the control-plane master nodes. - // +kubebuilder:validation:Optional // +optional // +kubebuilder:validation:XValidation:rule="self == oldSelf",message="pvcName is immutable once set" PVCName string `json:"pvcName"` @@ -56,7 +53,7 @@ type EtcdBackupStatus struct { // backupJob is the reference to the Job that executes the backup. // Optional - // +kubebuilder:validation:Optional + // +optional BackupJob *BackupJobReference `json:"backupJob"` } @@ -67,13 +64,13 @@ type BackupJobReference struct { // this is always expected to be "openshift-etcd" since the user provided PVC // is also required to be in "openshift-etcd" // Required - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:Pattern:=`^openshift-etcd$` Namespace string `json:"namespace"` // name is the name of the Job. // Required - // +kubebuilder:validation:Required + // +required Name string `json:"name"` } diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/types_image_content_source_policy.go b/vendor/github.com/openshift/api/operator/v1alpha1/types_image_content_source_policy.go index 0830ed7448..d4f7e17e67 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/types_image_content_source_policy.go +++ b/vendor/github.com/openshift/api/operator/v1alpha1/types_image_content_source_policy.go @@ -25,7 +25,6 @@ type ImageContentSourcePolicy struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec holds user settable values for configuration - // +kubebuilder:validation:Required // +required Spec ImageContentSourcePolicySpec `json:"spec"` } diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/types_olm.go b/vendor/github.com/openshift/api/operator/v1alpha1/types_olm.go index f29385b9fa..41d160a205 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/types_olm.go +++ b/vendor/github.com/openshift/api/operator/v1alpha1/types_olm.go @@ -17,6 +17,8 @@ import ( // +kubebuilder:object:root=true // +kubebuilder:resource:path=olms,scope=Cluster // +kubebuilder:subresource:status +// +kubebuilder:metadata:annotations=include.release.openshift.io/ibm-cloud-managed=false +// +kubebuilder:metadata:annotations=include.release.openshift.io/self-managed-high-availability=true // +openshift:api-approved.openshift.io=https://github.com/openshift/api/pull/1504 // +openshift:file-pattern=cvoRunLevel=0000_10,operatorName=operator-lifecycle-manager,operatorOrdering=01 // +openshift:enable:FeatureGate=NewOLM @@ -29,7 +31,7 @@ type OLM struct { metav1.ObjectMeta `json:"metadata"` //spec holds user settable values for configuration - // +kubebuilder:validation:Required + // +required Spec OLMSpec `json:"spec"` // status holds observed values from the cluster. They may not be overridden. // +optional @@ -57,6 +59,6 @@ type OLMList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []OLM `json:"items"` } diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml index 30c058236d..53d8ff23c3 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml +++ b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.featuregated-crd-manifests.yaml @@ -44,7 +44,9 @@ imagecontentsourcepolicies.operator.openshift.io: Version: v1alpha1 olms.operator.openshift.io: - Annotations: {} + Annotations: + include.release.openshift.io/ibm-cloud-managed: "false" + include.release.openshift.io/self-managed-high-availability: "true" ApprovedPRNumber: https://github.com/openshift/api/pull/1504 CRDName: olms.operator.openshift.io Capability: "" diff --git a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go index c8cce688f4..9a45dbd04a 100644 --- a/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operator/v1alpha1/zz_generated.swagger_doc_generated.go @@ -44,7 +44,7 @@ func (GenerationHistory) SwaggerDoc() map[string]string { var map_GenericOperatorConfig = map[string]string{ "": "GenericOperatorConfig provides information to configure an operator\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "servingInfo": "ServingInfo is the HTTP serving information for the controller's endpoints", + "servingInfo": "servingInfo is the HTTP serving information for the controller's endpoints", "leaderElection": "leaderElection provides information to elect a leader. Only override this if you have a specific need", "authentication": "authentication allows configuration of authentication for the endpoints", "authorization": "authorization allows configuration of authentication for the endpoints", @@ -164,7 +164,7 @@ func (EtcdBackupList) SwaggerDoc() map[string]string { } var map_EtcdBackupSpec = map[string]string{ - "pvcName": "PVCName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the etcd backup file would be saved The PVC itself must always be created in the \"openshift-etcd\" namespace If the PVC is left unspecified \"\" then the platform will choose a reasonable default location to save the backup. In the future this would be backups saved across the control-plane master nodes.", + "pvcName": "pvcName specifies the name of the PersistentVolumeClaim (PVC) which binds a PersistentVolume where the etcd backup file would be saved The PVC itself must always be created in the \"openshift-etcd\" namespace If the PVC is left unspecified \"\" then the platform will choose a reasonable default location to save the backup. In the future this would be backups saved across the control-plane master nodes.", } func (EtcdBackupSpec) SwaggerDoc() map[string]string { @@ -232,7 +232,7 @@ func (OLM) SwaggerDoc() map[string]string { var map_OLMList = map[string]string{ "": "OLMList is a collection of items\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (OLMList) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/types_conditioncheck.go b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/types_conditioncheck.go index f4b48e8545..ba92985c13 100644 --- a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/types_conditioncheck.go +++ b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/types_conditioncheck.go @@ -26,19 +26,17 @@ type PodNetworkConnectivityCheck struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata"` - // Spec defines the source and target of the connectivity check - // +kubebuilder:validation:Required + // spec defines the source and target of the connectivity check // +required Spec PodNetworkConnectivityCheckSpec `json:"spec"` - // Status contains the observed status of the connectivity check + // status contains the observed status of the connectivity check // +optional Status PodNetworkConnectivityCheckStatus `json:"status,omitempty"` } type PodNetworkConnectivityCheckSpec struct { - // SourcePod names the pod from which the condition will be checked - // +kubebuilder:validation:Required + // sourcePod names the pod from which the condition will be checked // +kubebuilder:validation:Pattern=`^[a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*$` // +required SourcePod string `json:"sourcePod"` @@ -46,7 +44,6 @@ type PodNetworkConnectivityCheckSpec struct { // EndpointAddress to check. A TCP address of the form host:port. Note that // if host is a DNS name, then the check would fail if the DNS name cannot // be resolved. Specify an IP address for host to bypass DNS name lookup. - // +kubebuilder:validation:Required // +kubebuilder:validation:Pattern=`^\S+:\d*$` // +required TargetEndpoint string `json:"targetEndpoint"` @@ -62,19 +59,19 @@ type PodNetworkConnectivityCheckSpec struct { // +k8s:deepcopy-gen=true type PodNetworkConnectivityCheckStatus struct { - // Successes contains logs successful check actions + // successes contains logs successful check actions // +optional Successes []LogEntry `json:"successes,omitempty"` - // Failures contains logs of unsuccessful check actions + // failures contains logs of unsuccessful check actions // +optional Failures []LogEntry `json:"failures,omitempty"` - // Outages contains logs of time periods of outages + // outages contains logs of time periods of outages // +optional Outages []OutageEntry `json:"outages,omitempty"` - // Conditions summarize the status of the check + // conditions summarize the status of the check // +patchMergeKey=type // +patchStrategy=merge // +optional @@ -84,25 +81,23 @@ type PodNetworkConnectivityCheckStatus struct { // LogEntry records events type LogEntry struct { // Start time of check action. - // +kubebuilder:validation:Required // +required // +nullable Start metav1.Time `json:"time"` - // Success indicates if the log entry indicates a success or failure. - // +kubebuilder:validation:Required + // success indicates if the log entry indicates a success or failure. // +required Success bool `json:"success"` - // Reason for status in a machine readable format. + // reason for status in a machine readable format. // +optional Reason string `json:"reason,omitempty"` - // Message explaining status in a human readable format. + // message explaining status in a human readable format. // +optional Message string `json:"message,omitempty"` - // Latency records how long the action mentioned in the entry took. + // latency records how long the action mentioned in the entry took. // +optional // +nullable Latency metav1.Duration `json:"latency,omitempty"` @@ -111,28 +106,27 @@ type LogEntry struct { // OutageEntry records time period of an outage type OutageEntry struct { - // Start of outage detected - // +kubebuilder:validation:Required + // start of outage detected // +required // +nullable Start metav1.Time `json:"start"` - // End of outage detected + // end of outage detected // +optional // +nullable End metav1.Time `json:"end,omitempty"` - // StartLogs contains log entries related to the start of this outage. Should contain + // startLogs contains log entries related to the start of this outage. Should contain // the original failure, any entries where the failure mode changed. // +optional StartLogs []LogEntry `json:"startLogs,omitempty"` - // EndLogs contains log entries related to the end of this outage. Should contain the success + // endLogs contains log entries related to the end of this outage. Should contain the success // entry that resolved the outage and possibly a few of the failure log entries that preceded it. // +optional EndLogs []LogEntry `json:"endLogs,omitempty"` - // Message summarizes outage details in a human readable format. + // message summarizes outage details in a human readable format. // +optional Message string `json:"message,omitempty"` } @@ -141,26 +135,23 @@ type OutageEntry struct { // +k8s:deepcopy-gen=true type PodNetworkConnectivityCheckCondition struct { - // Type of the condition - // +kubebuilder:validation:Required + // type of the condition // +required Type PodNetworkConnectivityCheckConditionType `json:"type"` - // Status of the condition - // +kubebuilder:validation:Required + // status of the condition // +required Status metav1.ConditionStatus `json:"status"` - // Reason for the condition's last status transition in a machine readable format. + // reason for the condition's last status transition in a machine readable format. // +optional Reason string `json:"reason,omitempty"` - // Message indicating details about last transition in a human readable format. + // message indicating details about last transition in a human readable format. // +optional Message string `json:"message,omitempty"` // Last time the condition transitioned from one status to another. - // +kubebuilder:validation:Required // +required // +nullable LastTransitionTime metav1.Time `json:"lastTransitionTime"` @@ -193,6 +184,6 @@ type PodNetworkConnectivityCheckList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata"` - // Items contains the items + // items contains the items Items []PodNetworkConnectivityCheck `json:"items"` } diff --git a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/zz_generated.swagger_doc_generated.go index 5ecc5e48af..f6cd1975de 100644 --- a/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/operatorcontrolplane/v1alpha1/zz_generated.swagger_doc_generated.go @@ -14,10 +14,10 @@ package v1alpha1 var map_LogEntry = map[string]string{ "": "LogEntry records events", "time": "Start time of check action.", - "success": "Success indicates if the log entry indicates a success or failure.", - "reason": "Reason for status in a machine readable format.", - "message": "Message explaining status in a human readable format.", - "latency": "Latency records how long the action mentioned in the entry took.", + "success": "success indicates if the log entry indicates a success or failure.", + "reason": "reason for status in a machine readable format.", + "message": "message explaining status in a human readable format.", + "latency": "latency records how long the action mentioned in the entry took.", } func (LogEntry) SwaggerDoc() map[string]string { @@ -26,11 +26,11 @@ func (LogEntry) SwaggerDoc() map[string]string { var map_OutageEntry = map[string]string{ "": "OutageEntry records time period of an outage", - "start": "Start of outage detected", - "end": "End of outage detected", - "startLogs": "StartLogs contains log entries related to the start of this outage. Should contain the original failure, any entries where the failure mode changed.", - "endLogs": "EndLogs contains log entries related to the end of this outage. Should contain the success entry that resolved the outage and possibly a few of the failure log entries that preceded it.", - "message": "Message summarizes outage details in a human readable format.", + "start": "start of outage detected", + "end": "end of outage detected", + "startLogs": "startLogs contains log entries related to the start of this outage. Should contain the original failure, any entries where the failure mode changed.", + "endLogs": "endLogs contains log entries related to the end of this outage. Should contain the success entry that resolved the outage and possibly a few of the failure log entries that preceded it.", + "message": "message summarizes outage details in a human readable format.", } func (OutageEntry) SwaggerDoc() map[string]string { @@ -40,8 +40,8 @@ func (OutageEntry) SwaggerDoc() map[string]string { var map_PodNetworkConnectivityCheck = map[string]string{ "": "PodNetworkConnectivityCheck\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec defines the source and target of the connectivity check", - "status": "Status contains the observed status of the connectivity check", + "spec": "spec defines the source and target of the connectivity check", + "status": "status contains the observed status of the connectivity check", } func (PodNetworkConnectivityCheck) SwaggerDoc() map[string]string { @@ -50,10 +50,10 @@ func (PodNetworkConnectivityCheck) SwaggerDoc() map[string]string { var map_PodNetworkConnectivityCheckCondition = map[string]string{ "": "PodNetworkConnectivityCheckCondition represents the overall status of the pod network connectivity.", - "type": "Type of the condition", - "status": "Status of the condition", - "reason": "Reason for the condition's last status transition in a machine readable format.", - "message": "Message indicating details about last transition in a human readable format.", + "type": "type of the condition", + "status": "status of the condition", + "reason": "reason for the condition's last status transition in a machine readable format.", + "message": "message indicating details about last transition in a human readable format.", "lastTransitionTime": "Last time the condition transitioned from one status to another.", } @@ -64,7 +64,7 @@ func (PodNetworkConnectivityCheckCondition) SwaggerDoc() map[string]string { var map_PodNetworkConnectivityCheckList = map[string]string{ "": "PodNetworkConnectivityCheckList is a collection of PodNetworkConnectivityCheck\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (PodNetworkConnectivityCheckList) SwaggerDoc() map[string]string { @@ -72,7 +72,7 @@ func (PodNetworkConnectivityCheckList) SwaggerDoc() map[string]string { } var map_PodNetworkConnectivityCheckSpec = map[string]string{ - "sourcePod": "SourcePod names the pod from which the condition will be checked", + "sourcePod": "sourcePod names the pod from which the condition will be checked", "targetEndpoint": "EndpointAddress to check. A TCP address of the form host:port. Note that if host is a DNS name, then the check would fail if the DNS name cannot be resolved. Specify an IP address for host to bypass DNS name lookup.", "tlsClientCert": "TLSClientCert, if specified, references a kubernetes.io/tls type secret with 'tls.crt' and 'tls.key' entries containing an optional TLS client certificate and key to be used when checking endpoints that require a client certificate in order to gracefully preform the scan without causing excessive logging in the endpoint process. The secret must exist in the same namespace as this resource.", } @@ -82,10 +82,10 @@ func (PodNetworkConnectivityCheckSpec) SwaggerDoc() map[string]string { } var map_PodNetworkConnectivityCheckStatus = map[string]string{ - "successes": "Successes contains logs successful check actions", - "failures": "Failures contains logs of unsuccessful check actions", - "outages": "Outages contains logs of time periods of outages", - "conditions": "Conditions summarize the status of the check", + "successes": "successes contains logs successful check actions", + "failures": "failures contains logs of unsuccessful check actions", + "outages": "outages contains logs of time periods of outages", + "conditions": "conditions summarize the status of the check", } func (PodNetworkConnectivityCheckStatus) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/operatoringress/v1/types.go b/vendor/github.com/openshift/api/operatoringress/v1/types.go index c4bee5c74f..a50d1148e5 100644 --- a/vendor/github.com/openshift/api/operatoringress/v1/types.go +++ b/vendor/github.com/openshift/api/operatoringress/v1/types.go @@ -43,25 +43,21 @@ type DNSRecord struct { type DNSRecordSpec struct { // dnsName is the hostname of the DNS record // - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required DNSName string `json:"dnsName"` // targets are record targets. // - // +kubebuilder:validation:Required // +kubebuilder:validation:MinItems=1 // +required Targets []string `json:"targets"` // recordType is the DNS record type. For example, "A" or "CNAME". - // +kubebuilder:validation:Required // +required RecordType DNSRecordType `json:"recordType"` // recordTTL is the record TTL in seconds. If zero, the default is 30. // RecordTTL will not be used in AWS regions Alias targets, but // will be used in CNAME targets, per AWS API contract. // - // +kubebuilder:validation:Required // +kubebuilder:validation:Minimum=0 // +required RecordTTL int64 `json:"recordTTL"` @@ -77,7 +73,7 @@ type DNSRecordSpec struct { // "Unmanaged". // // +kubebuilder:default:="Managed" - // +kubebuilder:validation:Required + // +required // +default="Managed" DNSManagementPolicy DNSManagementPolicy `json:"dnsManagementPolicy,omitempty"` } @@ -120,11 +116,9 @@ var ( // DNSZoneCondition is just the standard condition fields. type DNSZoneCondition struct { - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Type string `json:"type"` - // +kubebuilder:validation:Required // +kubebuilder:validation:MinLength=1 // +required Status string `json:"status"` diff --git a/vendor/github.com/openshift/api/osin/v1/types.go b/vendor/github.com/openshift/api/osin/v1/types.go index 0ea4be1ba0..35eb3ee8b0 100644 --- a/vendor/github.com/openshift/api/osin/v1/types.go +++ b/vendor/github.com/openshift/api/osin/v1/types.go @@ -473,7 +473,7 @@ type TokenConfig struct { type SessionSecrets struct { metav1.TypeMeta `json:",inline"` - // Secrets is a list of secrets + // secrets is a list of secrets // New sessions are signed and encrypted using the first secret. // Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets. Secrets []SessionSecret `json:"secrets"` @@ -481,8 +481,8 @@ type SessionSecrets struct { // SessionSecret is a secret used to authenticate/decrypt cookie-based sessions type SessionSecret struct { - // Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes. + // authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes. Authentication string `json:"authentication"` - // Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES- + // encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES- Encryption string `json:"encryption"` } diff --git a/vendor/github.com/openshift/api/osin/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/osin/v1/zz_generated.swagger_doc_generated.go index 0bffa8265b..890928a7a4 100644 --- a/vendor/github.com/openshift/api/osin/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/osin/v1/zz_generated.swagger_doc_generated.go @@ -248,8 +248,8 @@ func (SessionConfig) SwaggerDoc() map[string]string { var map_SessionSecret = map[string]string{ "": "SessionSecret is a secret used to authenticate/decrypt cookie-based sessions", - "authentication": "Authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes.", - "encryption": "Encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES-", + "authentication": "authentication is used to authenticate sessions using HMAC. Recommended to use a secret with 32 or 64 bytes.", + "encryption": "encryption is used to encrypt sessions. Must be 16, 24, or 32 characters long, to select AES-128, AES-", } func (SessionSecret) SwaggerDoc() map[string]string { @@ -258,7 +258,7 @@ func (SessionSecret) SwaggerDoc() map[string]string { var map_SessionSecrets = map[string]string{ "": "SessionSecrets list the secrets to use to sign/encrypt and authenticate/decrypt created sessions.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", - "secrets": "Secrets is a list of secrets New sessions are signed and encrypted using the first secret. Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets.", + "secrets": "secrets is a list of secrets New sessions are signed and encrypted using the first secret. Existing sessions are decrypted/authenticated by each secret until one succeeds. This allows rotating secrets.", } func (SessionSecrets) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/project/v1/generated.proto b/vendor/github.com/openshift/api/project/v1/generated.proto index 762dc99c65..d1ffbc341b 100644 --- a/vendor/github.com/openshift/api/project/v1/generated.proto +++ b/vendor/github.com/openshift/api/project/v1/generated.proto @@ -32,10 +32,10 @@ message Project { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec defines the behavior of the Namespace. + // spec defines the behavior of the Namespace. optional ProjectSpec spec = 2; - // Status describes the current status of a Namespace + // status describes the current status of a Namespace // +optional optional ProjectStatus status = 3; } @@ -49,7 +49,7 @@ message ProjectList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of projects + // items is the list of projects repeated Project items = 2; } @@ -62,22 +62,22 @@ message ProjectRequest { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // DisplayName is the display name to apply to a project + // displayName is the display name to apply to a project optional string displayName = 2; - // Description is the description to apply to a project + // description is the description to apply to a project optional string description = 3; } // ProjectSpec describes the attributes on a Project message ProjectSpec { - // Finalizers is an opaque list of values that must be empty to permanently remove object from storage + // finalizers is an opaque list of values that must be empty to permanently remove object from storage repeated string finalizers = 1; } // ProjectStatus is information about the current status of a Project message ProjectStatus { - // Phase is the current lifecycle phase of the project + // phase is the current lifecycle phase of the project // +optional optional string phase = 1; diff --git a/vendor/github.com/openshift/api/project/v1/types.go b/vendor/github.com/openshift/api/project/v1/types.go index 9c17a5deab..5e69b775b5 100644 --- a/vendor/github.com/openshift/api/project/v1/types.go +++ b/vendor/github.com/openshift/api/project/v1/types.go @@ -18,7 +18,7 @@ type ProjectList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of projects + // items is the list of projects Items []Project `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -36,13 +36,13 @@ const ( // ProjectSpec describes the attributes on a Project type ProjectSpec struct { - // Finalizers is an opaque list of values that must be empty to permanently remove object from storage + // finalizers is an opaque list of values that must be empty to permanently remove object from storage Finalizers []corev1.FinalizerName `json:"finalizers,omitempty" protobuf:"bytes,1,rep,name=finalizers,casttype=k8s.io/api/core/v1.FinalizerName"` } // ProjectStatus is information about the current status of a Project type ProjectStatus struct { - // Phase is the current lifecycle phase of the project + // phase is the current lifecycle phase of the project // +optional Phase corev1.NamespacePhase `json:"phase,omitempty" protobuf:"bytes,1,opt,name=phase,casttype=k8s.io/api/core/v1.NamespacePhase"` @@ -79,10 +79,10 @@ type Project struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Spec defines the behavior of the Namespace. + // spec defines the behavior of the Namespace. Spec ProjectSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"` - // Status describes the current status of a Namespace + // status describes the current status of a Namespace // +optional Status ProjectStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } @@ -104,8 +104,8 @@ type ProjectRequest struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // DisplayName is the display name to apply to a project + // displayName is the display name to apply to a project DisplayName string `json:"displayName,omitempty" protobuf:"bytes,2,opt,name=displayName"` - // Description is the description to apply to a project + // description is the description to apply to a project Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"` } diff --git a/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go index 890e651d73..b764eaface 100644 --- a/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/project/v1/zz_generated.swagger_doc_generated.go @@ -14,8 +14,8 @@ package v1 var map_Project = map[string]string{ "": "Projects are the unit of isolation and collaboration in OpenShift. A project has one or more members, a quota on the resources that the project may consume, and the security controls on the resources in the project. Within a project, members may have different roles - project administrators can set membership, editors can create and manage the resources, and viewers can see but not access running containers. In a normal cluster project administrators are not able to alter their quotas - that is restricted to cluster administrators.\n\nListing or watching projects will return only projects the user has the reader role on.\n\nAn OpenShift project is an alternative representation of a Kubernetes namespace. Projects are exposed as editable to end users while namespaces are not. Direct creation of a project is typically restricted to administrators, while end users should use the requestproject resource.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec defines the behavior of the Namespace.", - "status": "Status describes the current status of a Namespace", + "spec": "spec defines the behavior of the Namespace.", + "status": "status describes the current status of a Namespace", } func (Project) SwaggerDoc() map[string]string { @@ -25,7 +25,7 @@ func (Project) SwaggerDoc() map[string]string { var map_ProjectList = map[string]string{ "": "ProjectList is a list of Project objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of projects", + "items": "items is the list of projects", } func (ProjectList) SwaggerDoc() map[string]string { @@ -35,8 +35,8 @@ func (ProjectList) SwaggerDoc() map[string]string { var map_ProjectRequest = map[string]string{ "": "ProjectRequest is the set of options necessary to fully qualify a project request\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "displayName": "DisplayName is the display name to apply to a project", - "description": "Description is the description to apply to a project", + "displayName": "displayName is the display name to apply to a project", + "description": "description is the description to apply to a project", } func (ProjectRequest) SwaggerDoc() map[string]string { @@ -45,7 +45,7 @@ func (ProjectRequest) SwaggerDoc() map[string]string { var map_ProjectSpec = map[string]string{ "": "ProjectSpec describes the attributes on a Project", - "finalizers": "Finalizers is an opaque list of values that must be empty to permanently remove object from storage", + "finalizers": "finalizers is an opaque list of values that must be empty to permanently remove object from storage", } func (ProjectSpec) SwaggerDoc() map[string]string { @@ -54,7 +54,7 @@ func (ProjectSpec) SwaggerDoc() map[string]string { var map_ProjectStatus = map[string]string{ "": "ProjectStatus is information about the current status of a Project", - "phase": "Phase is the current lifecycle phase of the project", + "phase": "phase is the current lifecycle phase of the project", "conditions": "Represents the latest available observations of the project current state.", } diff --git a/vendor/github.com/openshift/api/quota/v1/generated.proto b/vendor/github.com/openshift/api/quota/v1/generated.proto index d08e8f0f9a..fb7fed242a 100644 --- a/vendor/github.com/openshift/api/quota/v1/generated.proto +++ b/vendor/github.com/openshift/api/quota/v1/generated.proto @@ -23,10 +23,10 @@ message AppliedClusterResourceQuota { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec defines the desired quota + // spec defines the desired quota optional ClusterResourceQuotaSpec spec = 2; - // Status defines the actual enforced quota and its current usage + // status defines the actual enforced quota and its current usage optional ClusterResourceQuotaStatus status = 3; } @@ -39,7 +39,7 @@ message AppliedClusterResourceQuotaList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of AppliedClusterResourceQuota + // items is a list of AppliedClusterResourceQuota repeated AppliedClusterResourceQuota items = 2; } @@ -59,10 +59,10 @@ message ClusterResourceQuota { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Spec defines the desired quota + // spec defines the desired quota optional ClusterResourceQuotaSpec spec = 2; - // Status defines the actual enforced quota and its current usage + // status defines the actual enforced quota and its current usage optional ClusterResourceQuotaStatus status = 3; } @@ -75,7 +75,7 @@ message ClusterResourceQuotaList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of ClusterResourceQuotas + // items is a list of ClusterResourceQuotas repeated ClusterResourceQuota items = 2; } @@ -96,22 +96,22 @@ message ClusterResourceQuotaSelector { // ClusterResourceQuotaSpec defines the desired quota restrictions message ClusterResourceQuotaSpec { - // Selector is the selector used to match projects. + // selector is the selector used to match projects. // It should only select active projects on the scale of dozens (though it can select // many more less active projects). These projects will contend on object creation through // this resource. optional ClusterResourceQuotaSelector selector = 1; - // Quota defines the desired quota + // quota defines the desired quota optional .k8s.io.api.core.v1.ResourceQuotaSpec quota = 2; } // ClusterResourceQuotaStatus defines the actual enforced quota and its current usage message ClusterResourceQuotaStatus { - // Total defines the actual enforced quota and its current usage across all projects + // total defines the actual enforced quota and its current usage across all projects optional .k8s.io.api.core.v1.ResourceQuotaStatus total = 1; - // Namespaces slices the usage by project. This division allows for quick resolution of + // namespaces slices the usage by project. This division allows for quick resolution of // deletion reconciliation inside of a single project without requiring a recalculation // across all projects. This can be used to pull the deltas for a given project. // +optional @@ -121,10 +121,10 @@ message ClusterResourceQuotaStatus { // ResourceQuotaStatusByNamespace gives status for a particular project message ResourceQuotaStatusByNamespace { - // Namespace the project this status applies to + // namespace the project this status applies to optional string namespace = 1; - // Status indicates how many resources have been consumed by this project + // status indicates how many resources have been consumed by this project optional .k8s.io.api.core.v1.ResourceQuotaStatus status = 2; } diff --git a/vendor/github.com/openshift/api/quota/v1/types.go b/vendor/github.com/openshift/api/quota/v1/types.go index 7a29ddcd4b..0cfb85f87e 100644 --- a/vendor/github.com/openshift/api/quota/v1/types.go +++ b/vendor/github.com/openshift/api/quota/v1/types.go @@ -27,22 +27,22 @@ type ClusterResourceQuota struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` - // Spec defines the desired quota + // spec defines the desired quota Spec ClusterResourceQuotaSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` - // Status defines the actual enforced quota and its current usage + // status defines the actual enforced quota and its current usage Status ClusterResourceQuotaStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } // ClusterResourceQuotaSpec defines the desired quota restrictions type ClusterResourceQuotaSpec struct { - // Selector is the selector used to match projects. + // selector is the selector used to match projects. // It should only select active projects on the scale of dozens (though it can select // many more less active projects). These projects will contend on object creation through // this resource. Selector ClusterResourceQuotaSelector `json:"selector" protobuf:"bytes,1,opt,name=selector"` - // Quota defines the desired quota + // quota defines the desired quota Quota corev1.ResourceQuotaSpec `json:"quota" protobuf:"bytes,2,opt,name=quota"` } @@ -63,10 +63,10 @@ type ClusterResourceQuotaSelector struct { // ClusterResourceQuotaStatus defines the actual enforced quota and its current usage type ClusterResourceQuotaStatus struct { - // Total defines the actual enforced quota and its current usage across all projects + // total defines the actual enforced quota and its current usage across all projects Total corev1.ResourceQuotaStatus `json:"total" protobuf:"bytes,1,opt,name=total"` - // Namespaces slices the usage by project. This division allows for quick resolution of + // namespaces slices the usage by project. This division allows for quick resolution of // deletion reconciliation inside of a single project without requiring a recalculation // across all projects. This can be used to pull the deltas for a given project. // +optional @@ -87,7 +87,7 @@ type ClusterResourceQuotaList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of ClusterResourceQuotas + // items is a list of ClusterResourceQuotas Items []ClusterResourceQuota `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -96,10 +96,10 @@ type ResourceQuotasStatusByNamespace []ResourceQuotaStatusByNamespace // ResourceQuotaStatusByNamespace gives status for a particular project type ResourceQuotaStatusByNamespace struct { - // Namespace the project this status applies to + // namespace the project this status applies to Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"` - // Status indicates how many resources have been consumed by this project + // status indicates how many resources have been consumed by this project Status corev1.ResourceQuotaStatus `json:"status" protobuf:"bytes,2,opt,name=status"` } @@ -120,10 +120,10 @@ type AppliedClusterResourceQuota struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` - // Spec defines the desired quota + // spec defines the desired quota Spec ClusterResourceQuotaSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` - // Status defines the actual enforced quota and its current usage + // status defines the actual enforced quota and its current usage Status ClusterResourceQuotaStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` } @@ -140,6 +140,6 @@ type AppliedClusterResourceQuotaList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of AppliedClusterResourceQuota + // items is a list of AppliedClusterResourceQuota Items []AppliedClusterResourceQuota `json:"items" protobuf:"bytes,2,rep,name=items"` } diff --git a/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go index 3072671c53..1bb84b8176 100644 --- a/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/quota/v1/zz_generated.swagger_doc_generated.go @@ -14,8 +14,8 @@ package v1 var map_AppliedClusterResourceQuota = map[string]string{ "": "AppliedClusterResourceQuota mirrors ClusterResourceQuota at a project scope, for projection into a project. It allows a project-admin to know which ClusterResourceQuotas are applied to his project and their associated usage.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec defines the desired quota", - "status": "Status defines the actual enforced quota and its current usage", + "spec": "spec defines the desired quota", + "status": "status defines the actual enforced quota and its current usage", } func (AppliedClusterResourceQuota) SwaggerDoc() map[string]string { @@ -25,7 +25,7 @@ func (AppliedClusterResourceQuota) SwaggerDoc() map[string]string { var map_AppliedClusterResourceQuotaList = map[string]string{ "": "AppliedClusterResourceQuotaList is a collection of AppliedClusterResourceQuotas\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of AppliedClusterResourceQuota", + "items": "items is a list of AppliedClusterResourceQuota", } func (AppliedClusterResourceQuotaList) SwaggerDoc() map[string]string { @@ -35,8 +35,8 @@ func (AppliedClusterResourceQuotaList) SwaggerDoc() map[string]string { var map_ClusterResourceQuota = map[string]string{ "": "ClusterResourceQuota mirrors ResourceQuota at a cluster scope. This object is easily convertible to synthetic ResourceQuota object to allow quota evaluation re-use.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "spec": "Spec defines the desired quota", - "status": "Status defines the actual enforced quota and its current usage", + "spec": "spec defines the desired quota", + "status": "status defines the actual enforced quota and its current usage", } func (ClusterResourceQuota) SwaggerDoc() map[string]string { @@ -46,7 +46,7 @@ func (ClusterResourceQuota) SwaggerDoc() map[string]string { var map_ClusterResourceQuotaList = map[string]string{ "": "ClusterResourceQuotaList is a collection of ClusterResourceQuotas\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of ClusterResourceQuotas", + "items": "items is a list of ClusterResourceQuotas", } func (ClusterResourceQuotaList) SwaggerDoc() map[string]string { @@ -65,8 +65,8 @@ func (ClusterResourceQuotaSelector) SwaggerDoc() map[string]string { var map_ClusterResourceQuotaSpec = map[string]string{ "": "ClusterResourceQuotaSpec defines the desired quota restrictions", - "selector": "Selector is the selector used to match projects. It should only select active projects on the scale of dozens (though it can select many more less active projects). These projects will contend on object creation through this resource.", - "quota": "Quota defines the desired quota", + "selector": "selector is the selector used to match projects. It should only select active projects on the scale of dozens (though it can select many more less active projects). These projects will contend on object creation through this resource.", + "quota": "quota defines the desired quota", } func (ClusterResourceQuotaSpec) SwaggerDoc() map[string]string { @@ -75,8 +75,8 @@ func (ClusterResourceQuotaSpec) SwaggerDoc() map[string]string { var map_ClusterResourceQuotaStatus = map[string]string{ "": "ClusterResourceQuotaStatus defines the actual enforced quota and its current usage", - "total": "Total defines the actual enforced quota and its current usage across all projects", - "namespaces": "Namespaces slices the usage by project. This division allows for quick resolution of deletion reconciliation inside of a single project without requiring a recalculation across all projects. This can be used to pull the deltas for a given project.", + "total": "total defines the actual enforced quota and its current usage across all projects", + "namespaces": "namespaces slices the usage by project. This division allows for quick resolution of deletion reconciliation inside of a single project without requiring a recalculation across all projects. This can be used to pull the deltas for a given project.", } func (ClusterResourceQuotaStatus) SwaggerDoc() map[string]string { @@ -85,8 +85,8 @@ func (ClusterResourceQuotaStatus) SwaggerDoc() map[string]string { var map_ResourceQuotaStatusByNamespace = map[string]string{ "": "ResourceQuotaStatusByNamespace gives status for a particular project", - "namespace": "Namespace the project this status applies to", - "status": "Status indicates how many resources have been consumed by this project", + "namespace": "namespace the project this status applies to", + "status": "status indicates how many resources have been consumed by this project", } func (ResourceQuotaStatusByNamespace) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/route/v1/generated.proto b/vendor/github.com/openshift/api/route/v1/generated.proto index 2a79b9a5a0..d6e1845b40 100644 --- a/vendor/github.com/openshift/api/route/v1/generated.proto +++ b/vendor/github.com/openshift/api/route/v1/generated.proto @@ -74,7 +74,7 @@ message RouteHTTPHeader { // Strict-Transport-Security, Proxy, Cookie, Set-Cookie. // It must be no more than 255 characters in length. // Header name must be unique. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$" @@ -85,7 +85,7 @@ message RouteHTTPHeader { optional string name = 1; // action specifies actions to perform on headers, such as setting or deleting headers. - // +kubebuilder:validation:Required + // +required optional RouteHTTPHeaderActionUnion action = 2; } @@ -99,7 +99,7 @@ message RouteHTTPHeaderActionUnion { // Delete allows you to delete HTTP request and response headers. // +unionDiscriminator // +kubebuilder:validation:Enum:=Set;Delete - // +kubebuilder:validation:Required + // +required optional string type = 1; // set defines the HTTP header that should be set: added if it doesn't exist or replaced if it does. @@ -192,13 +192,13 @@ message RouteHTTPHeaders { // RouteIngress holds information about the places where a route is exposed. message RouteIngress { - // Host is the host string under which the route is exposed; this value is required + // host is the host string under which the route is exposed; this value is required optional string host = 1; // Name is a name chosen by the router to identify itself; this value is required optional string routerName = 2; - // Conditions is the state of the route, may be empty. + // conditions is the state of the route, may be empty. // +listType=map // +listMapKey=type repeated RouteIngressCondition conditions = 3; @@ -214,11 +214,11 @@ message RouteIngress { // RouteIngressCondition contains details for the current condition of this route on a particular // router. message RouteIngressCondition { - // Type is the type of the condition. + // type is the type of the condition. // Currently only Admitted or UnservableInFutureVersions. optional string type = 1; - // Status is the status of the condition. + // status is the status of the condition. // Can be True, False, Unknown. optional string status = 2; @@ -267,7 +267,7 @@ message RouteSetHTTPHeader { // + --- // + Note: This limit was selected as most common web servers have a limit of 16384 characters or some lower limit. // + See . - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=16384 optional string value = 1; diff --git a/vendor/github.com/openshift/api/route/v1/types.go b/vendor/github.com/openshift/api/route/v1/types.go index 9416199946..8fc2508773 100644 --- a/vendor/github.com/openshift/api/route/v1/types.go +++ b/vendor/github.com/openshift/api/route/v1/types.go @@ -251,7 +251,7 @@ type RouteHTTPHeader struct { // Strict-Transport-Security, Proxy, Cookie, Set-Cookie. // It must be no more than 255 characters in length. // Header name must be unique. - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=255 // +kubebuilder:validation:Pattern="^[-!#$%&'*+.0-9A-Z^_`a-z|~]+$" @@ -262,7 +262,7 @@ type RouteHTTPHeader struct { Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // action specifies actions to perform on headers, such as setting or deleting headers. - // +kubebuilder:validation:Required + // +required Action RouteHTTPHeaderActionUnion `json:"action" protobuf:"bytes,2,opt,name=action"` } @@ -276,7 +276,7 @@ type RouteHTTPHeaderActionUnion struct { // Delete allows you to delete HTTP request and response headers. // +unionDiscriminator // +kubebuilder:validation:Enum:=Set;Delete - // +kubebuilder:validation:Required + // +required Type RouteHTTPHeaderActionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=RouteHTTPHeaderActionType"` // set defines the HTTP header that should be set: added if it doesn't exist or replaced if it does. @@ -299,7 +299,7 @@ type RouteSetHTTPHeader struct { // + --- // + Note: This limit was selected as most common web servers have a limit of 16384 characters or some lower limit. // + See . - // +kubebuilder:validation:Required + // +required // +kubebuilder:validation:MinLength=1 // +kubebuilder:validation:MaxLength=16384 Value string `json:"value" protobuf:"bytes,1,opt,name=value"` @@ -359,11 +359,11 @@ type RouteStatus struct { // RouteIngress holds information about the places where a route is exposed. type RouteIngress struct { - // Host is the host string under which the route is exposed; this value is required + // host is the host string under which the route is exposed; this value is required Host string `json:"host,omitempty" protobuf:"bytes,1,opt,name=host"` // Name is a name chosen by the router to identify itself; this value is required RouterName string `json:"routerName,omitempty" protobuf:"bytes,2,opt,name=routerName"` - // Conditions is the state of the route, may be empty. + // conditions is the state of the route, may be empty. // +listType=map // +listMapKey=type Conditions []RouteIngressCondition `json:"conditions,omitempty" protobuf:"bytes,3,rep,name=conditions"` @@ -389,10 +389,10 @@ const ( // RouteIngressCondition contains details for the current condition of this route on a particular // router. type RouteIngressCondition struct { - // Type is the type of the condition. + // type is the type of the condition. // Currently only Admitted or UnservableInFutureVersions. Type RouteIngressConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=RouteIngressConditionType"` - // Status is the status of the condition. + // status is the status of the condition. // Can be True, False, Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=k8s.io/api/core/v1.ConditionStatus"` // (brief) reason for the condition's last transition, and is usually a machine and human diff --git a/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go index 56a4e23e3d..1d59f10335 100644 --- a/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/route/v1/zz_generated.swagger_doc_generated.go @@ -72,9 +72,9 @@ func (RouteHTTPHeaders) SwaggerDoc() map[string]string { var map_RouteIngress = map[string]string{ "": "RouteIngress holds information about the places where a route is exposed.", - "host": "Host is the host string under which the route is exposed; this value is required", + "host": "host is the host string under which the route is exposed; this value is required", "routerName": "Name is a name chosen by the router to identify itself; this value is required", - "conditions": "Conditions is the state of the route, may be empty.", + "conditions": "conditions is the state of the route, may be empty.", "wildcardPolicy": "Wildcard policy is the wildcard policy that was allowed where this route is exposed.", "routerCanonicalHostname": "CanonicalHostname is the external host name for the router that can be used as a CNAME for the host requested for this route. This value is optional and may not be set in all cases.", } @@ -85,8 +85,8 @@ func (RouteIngress) SwaggerDoc() map[string]string { var map_RouteIngressCondition = map[string]string{ "": "RouteIngressCondition contains details for the current condition of this route on a particular router.", - "type": "Type is the type of the condition. Currently only Admitted or UnservableInFutureVersions.", - "status": "Status is the status of the condition. Can be True, False, Unknown.", + "type": "type is the type of the condition. Currently only Admitted or UnservableInFutureVersions.", + "status": "status is the status of the condition. Can be True, False, Unknown.", "reason": "(brief) reason for the condition's last transition, and is usually a machine and human readable constant", "message": "Human readable message indicating details about last transition.", "lastTransitionTime": "RFC 3339 date and time when this condition last transitioned", diff --git a/vendor/github.com/openshift/api/samples/v1/generated.proto b/vendor/github.com/openshift/api/samples/v1/generated.proto index be97c467db..eeda6835ae 100644 --- a/vendor/github.com/openshift/api/samples/v1/generated.proto +++ b/vendor/github.com/openshift/api/samples/v1/generated.proto @@ -30,7 +30,6 @@ message Config { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // +kubebuilder:validation:Required // +required optional ConfigSpec spec = 2; diff --git a/vendor/github.com/openshift/api/samples/v1/types_config.go b/vendor/github.com/openshift/api/samples/v1/types_config.go index c4bf380439..320500b0ce 100644 --- a/vendor/github.com/openshift/api/samples/v1/types_config.go +++ b/vendor/github.com/openshift/api/samples/v1/types_config.go @@ -29,7 +29,6 @@ type Config struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata" protobuf:"bytes,1,opt,name=metadata"` - // +kubebuilder:validation:Required // +required Spec ConfigSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` // +optional diff --git a/vendor/github.com/openshift/api/security/v1/generated.proto b/vendor/github.com/openshift/api/security/v1/generated.proto index fdb879ce0d..0e6bb094fb 100644 --- a/vendor/github.com/openshift/api/security/v1/generated.proto +++ b/vendor/github.com/openshift/api/security/v1/generated.proto @@ -14,16 +14,16 @@ option go_package = "github.com/openshift/api/security/v1"; // AllowedFlexVolume represents a single Flexvolume that is allowed to be used. message AllowedFlexVolume { - // Driver is the name of the Flexvolume driver. + // driver is the name of the Flexvolume driver. optional string driver = 1; } // FSGroupStrategyOptions defines the strategy type and options used to create the strategy. message FSGroupStrategyOptions { - // Type is the strategy that will dictate what FSGroup is used in the SecurityContext. + // type is the strategy that will dictate what FSGroup is used in the SecurityContext. optional string type = 1; - // Ranges are the allowed ranges of fs groups. If you would like to force a single + // ranges are the allowed ranges of fs groups. If you would like to force a single // fs group then supply a single range with the same start and end. // +listType=atomic repeated IDRange ranges = 2; @@ -32,10 +32,10 @@ message FSGroupStrategyOptions { // IDRange provides a min/max of an allowed range of IDs. // TODO: this could be reused for UIDs. message IDRange { - // Min is the start of the range, inclusive. + // min is the start of the range, inclusive. optional int64 min = 1; - // Max is the end of the range, inclusive. + // max is the end of the range, inclusive. optional int64 max = 2; } @@ -177,23 +177,23 @@ message RangeAllocationList { // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. message RunAsUserStrategyOptions { - // Type is the strategy that will dictate what RunAsUser is used in the SecurityContext. + // type is the strategy that will dictate what RunAsUser is used in the SecurityContext. optional string type = 1; - // UID is the user id that containers must run as. Required for the MustRunAs strategy if not using + // uid is the user id that containers must run as. Required for the MustRunAs strategy if not using // namespace/service account allocated uids. optional int64 uid = 2; - // UIDRangeMin defines the min value for a strategy that allocates by range. + // uidRangeMin defines the min value for a strategy that allocates by range. optional int64 uidRangeMin = 3; - // UIDRangeMax defines the max value for a strategy that allocates by range. + // uidRangeMax defines the max value for a strategy that allocates by range. optional int64 uidRangeMax = 4; } // SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy. message SELinuxContextStrategyOptions { - // Type is the strategy that will dictate what SELinux context is used in the SecurityContext. + // type is the strategy that will dictate what SELinux context is used in the SecurityContext. optional string type = 1; // seLinuxOptions required to run as; required for MustRunAs @@ -229,7 +229,7 @@ message SecurityContextConstraints { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Priority influences the sort order of SCCs when evaluating which SCCs to try first for + // priority influences the sort order of SCCs when evaluating which SCCs to try first for // a given pod request based on access in the Users and Groups fields. The higher the int, the // higher priority. An unset value is considered a 0 priority. If scores // for multiple SCCs are equal they will be sorted from most restrictive to @@ -238,23 +238,23 @@ message SecurityContextConstraints { // +nullable optional int32 priority = 2; - // AllowPrivilegedContainer determines if a container can request to be run as privileged. + // allowPrivilegedContainer determines if a container can request to be run as privileged. optional bool allowPrivilegedContainer = 3; - // DefaultAddCapabilities is the default set of capabilities that will be added to the container + // defaultAddCapabilities is the default set of capabilities that will be added to the container // unless the pod spec specifically drops the capability. You may not list a capabiility in both // DefaultAddCapabilities and RequiredDropCapabilities. // +nullable // +listType=atomic repeated string defaultAddCapabilities = 4; - // RequiredDropCapabilities are the capabilities that will be dropped from the container. These + // requiredDropCapabilities are the capabilities that will be dropped from the container. These // are required to be dropped and cannot be added. // +nullable // +listType=atomic repeated string requiredDropCapabilities = 5; - // AllowedCapabilities is a list of capabilities that can be requested to add to the container. + // allowedCapabilities is a list of capabilities that can be requested to add to the container. // Capabilities in this field maybe added at the pod author's discretion. // You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // To allow all capabilities you may use '*'. @@ -262,18 +262,18 @@ message SecurityContextConstraints { // +listType=atomic repeated string allowedCapabilities = 6; - // AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin + // allowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin // +k8s:conversion-gen=false optional bool allowHostDirVolumePlugin = 7; - // Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names + // volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names // of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use "*". // To allow no volumes, set to ["none"]. // +nullable // +listType=atomic repeated string volumes = 8; - // AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all + // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // is allowed in the "Volumes" field. // +optional @@ -281,16 +281,16 @@ message SecurityContextConstraints { // +listType=atomic repeated AllowedFlexVolume allowedFlexVolumes = 21; - // AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. + // allowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. optional bool allowHostNetwork = 9; - // AllowHostPorts determines if the policy allows host ports in the containers. + // allowHostPorts determines if the policy allows host ports in the containers. optional bool allowHostPorts = 10; - // AllowHostPID determines if the policy allows host pid in the containers. + // allowHostPID determines if the policy allows host pid in the containers. optional bool allowHostPID = 11; - // AllowHostIPC determines if the policy allows host ipc in the containers. + // allowHostIPC determines if the policy allows host ipc in the containers. optional bool allowHostIPC = 12; // userNamespaceLevel determines if the policy allows host users in containers. @@ -305,35 +305,35 @@ message SecurityContextConstraints { // +optional optional string userNamespaceLevel = 26; - // DefaultAllowPrivilegeEscalation controls the default setting for whether a + // defaultAllowPrivilegeEscalation controls the default setting for whether a // process can gain more privileges than its parent process. // +optional // +nullable optional bool defaultAllowPrivilegeEscalation = 22; - // AllowPrivilegeEscalation determines if a pod can request to allow + // allowPrivilegeEscalation determines if a pod can request to allow // privilege escalation. If unspecified, defaults to true. // +optional // +nullable optional bool allowPrivilegeEscalation = 23; - // SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. + // seLinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. // +nullable optional SELinuxContextStrategyOptions seLinuxContext = 13; - // RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. + // runAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. // +nullable optional RunAsUserStrategyOptions runAsUser = 14; - // SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. + // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // +nullable optional SupplementalGroupsStrategyOptions supplementalGroups = 15; - // FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. + // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext. // +nullable optional FSGroupStrategyOptions fsGroup = 16; - // ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file + // readOnlyRootFilesystem when set to true will force containers to run with a read only root file // system. If the container specifically requests to run with a non-read only root file system // the SCC should deny the pod. // If set to false the container may run with a read only root file system if it wishes but it @@ -352,7 +352,7 @@ message SecurityContextConstraints { // +listType=atomic repeated string groups = 19; - // SeccompProfiles lists the allowed profiles that may be set for the pod or + // seccompProfiles lists the allowed profiles that may be set for the pod or // container's seccomp annotations. An unset (nil) or empty value means that no profiles may // be specifid by the pod or container. The wildcard '*' may be used to allow all profiles. When // used to generate a value for a pod the first non-wildcard profile will be used as @@ -361,7 +361,7 @@ message SecurityContextConstraints { // +listType=atomic repeated string seccompProfiles = 20; - // AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. + // allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. // Each entry is either a plain sysctl name or ends in "*" in which case it is considered // as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. // Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. @@ -374,7 +374,7 @@ message SecurityContextConstraints { // +listType=atomic repeated string allowedUnsafeSysctls = 24; - // ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. + // forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. // Each entry is either a plain sysctl name or ends in "*" in which case it is considered // as a prefix of forbidden sysctls. Single * means all sysctls are forbidden. // @@ -410,10 +410,10 @@ message ServiceAccountPodSecurityPolicyReviewStatus { // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. message SupplementalGroupsStrategyOptions { - // Type is the strategy that will dictate what supplemental groups is used in the SecurityContext. + // type is the strategy that will dictate what supplemental groups is used in the SecurityContext. optional string type = 1; - // Ranges are the allowed ranges of supplemental groups. If you would like to force a single + // ranges are the allowed ranges of supplemental groups. If you would like to force a single // supplemental group then supply a single range with the same start and end. // +listType=atomic repeated IDRange ranges = 2; diff --git a/vendor/github.com/openshift/api/security/v1/types.go b/vendor/github.com/openshift/api/security/v1/types.go index 9d0af5c8dd..18585e97c0 100644 --- a/vendor/github.com/openshift/api/security/v1/types.go +++ b/vendor/github.com/openshift/api/security/v1/types.go @@ -45,7 +45,7 @@ type SecurityContextConstraints struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Priority influences the sort order of SCCs when evaluating which SCCs to try first for + // priority influences the sort order of SCCs when evaluating which SCCs to try first for // a given pod request based on access in the Users and Groups fields. The higher the int, the // higher priority. An unset value is considered a 0 priority. If scores // for multiple SCCs are equal they will be sorted from most restrictive to @@ -54,49 +54,49 @@ type SecurityContextConstraints struct { // +nullable Priority *int32 `json:"priority" protobuf:"varint,2,opt,name=priority"` - // AllowPrivilegedContainer determines if a container can request to be run as privileged. + // allowPrivilegedContainer determines if a container can request to be run as privileged. AllowPrivilegedContainer bool `json:"allowPrivilegedContainer" protobuf:"varint,3,opt,name=allowPrivilegedContainer"` - // DefaultAddCapabilities is the default set of capabilities that will be added to the container + // defaultAddCapabilities is the default set of capabilities that will be added to the container // unless the pod spec specifically drops the capability. You may not list a capabiility in both // DefaultAddCapabilities and RequiredDropCapabilities. // +nullable // +listType=atomic DefaultAddCapabilities []corev1.Capability `json:"defaultAddCapabilities" protobuf:"bytes,4,rep,name=defaultAddCapabilities,casttype=Capability"` - // RequiredDropCapabilities are the capabilities that will be dropped from the container. These + // requiredDropCapabilities are the capabilities that will be dropped from the container. These // are required to be dropped and cannot be added. // +nullable // +listType=atomic RequiredDropCapabilities []corev1.Capability `json:"requiredDropCapabilities" protobuf:"bytes,5,rep,name=requiredDropCapabilities,casttype=Capability"` - // AllowedCapabilities is a list of capabilities that can be requested to add to the container. + // allowedCapabilities is a list of capabilities that can be requested to add to the container. // Capabilities in this field maybe added at the pod author's discretion. // You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. // To allow all capabilities you may use '*'. // +nullable // +listType=atomic AllowedCapabilities []corev1.Capability `json:"allowedCapabilities" protobuf:"bytes,6,rep,name=allowedCapabilities,casttype=Capability"` - // AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin + // allowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin // +k8s:conversion-gen=false AllowHostDirVolumePlugin bool `json:"allowHostDirVolumePlugin" protobuf:"varint,7,opt,name=allowHostDirVolumePlugin"` - // Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names + // volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names // of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use "*". // To allow no volumes, set to ["none"]. // +nullable // +listType=atomic Volumes []FSType `json:"volumes" protobuf:"bytes,8,rep,name=volumes,casttype=FSType"` - // AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all + // allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all // Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes // is allowed in the "Volumes" field. // +optional // +nullable // +listType=atomic AllowedFlexVolumes []AllowedFlexVolume `json:"allowedFlexVolumes,omitempty" protobuf:"bytes,21,rep,name=allowedFlexVolumes"` - // AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. + // allowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec. AllowHostNetwork bool `json:"allowHostNetwork" protobuf:"varint,9,opt,name=allowHostNetwork"` - // AllowHostPorts determines if the policy allows host ports in the containers. + // allowHostPorts determines if the policy allows host ports in the containers. AllowHostPorts bool `json:"allowHostPorts" protobuf:"varint,10,opt,name=allowHostPorts"` - // AllowHostPID determines if the policy allows host pid in the containers. + // allowHostPID determines if the policy allows host pid in the containers. AllowHostPID bool `json:"allowHostPID" protobuf:"varint,11,opt,name=allowHostPID"` - // AllowHostIPC determines if the policy allows host ipc in the containers. + // allowHostIPC determines if the policy allows host ipc in the containers. AllowHostIPC bool `json:"allowHostIPC" protobuf:"varint,12,opt,name=allowHostIPC"` // userNamespaceLevel determines if the policy allows host users in containers. // Valid values are "AllowHostLevel", "RequirePodLevel", and omitted. @@ -109,29 +109,29 @@ type SecurityContextConstraints struct { // +default="AllowHostLevel" // +optional UserNamespaceLevel NamespaceLevelType `json:"userNamespaceLevel,omitempty" protobuf:"bytes,26,opt,name=userNamespaceLevel"` - // DefaultAllowPrivilegeEscalation controls the default setting for whether a + // defaultAllowPrivilegeEscalation controls the default setting for whether a // process can gain more privileges than its parent process. // +optional // +nullable DefaultAllowPrivilegeEscalation *bool `json:"defaultAllowPrivilegeEscalation,omitempty" protobuf:"varint,22,rep,name=defaultAllowPrivilegeEscalation"` - // AllowPrivilegeEscalation determines if a pod can request to allow + // allowPrivilegeEscalation determines if a pod can request to allow // privilege escalation. If unspecified, defaults to true. // +optional // +nullable AllowPrivilegeEscalation *bool `json:"allowPrivilegeEscalation,omitempty" protobuf:"varint,23,rep,name=allowPrivilegeEscalation"` - // SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. + // seLinuxContext is the strategy that will dictate what labels will be set in the SecurityContext. // +nullable SELinuxContext SELinuxContextStrategyOptions `json:"seLinuxContext,omitempty" protobuf:"bytes,13,opt,name=seLinuxContext"` - // RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. + // runAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext. // +nullable RunAsUser RunAsUserStrategyOptions `json:"runAsUser,omitempty" protobuf:"bytes,14,opt,name=runAsUser"` - // SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. + // supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext. // +nullable SupplementalGroups SupplementalGroupsStrategyOptions `json:"supplementalGroups,omitempty" protobuf:"bytes,15,opt,name=supplementalGroups"` - // FSGroup is the strategy that will dictate what fs group is used by the SecurityContext. + // fsGroup is the strategy that will dictate what fs group is used by the SecurityContext. // +nullable FSGroup FSGroupStrategyOptions `json:"fsGroup,omitempty" protobuf:"bytes,16,opt,name=fsGroup"` - // ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file + // readOnlyRootFilesystem when set to true will force containers to run with a read only root file // system. If the container specifically requests to run with a non-read only root file system // the SCC should deny the pod. // If set to false the container may run with a read only root file system if it wishes but it @@ -149,7 +149,7 @@ type SecurityContextConstraints struct { // +listType=atomic Groups []string `json:"groups" protobuf:"bytes,19,rep,name=groups"` - // SeccompProfiles lists the allowed profiles that may be set for the pod or + // seccompProfiles lists the allowed profiles that may be set for the pod or // container's seccomp annotations. An unset (nil) or empty value means that no profiles may // be specifid by the pod or container. The wildcard '*' may be used to allow all profiles. When // used to generate a value for a pod the first non-wildcard profile will be used as @@ -158,7 +158,7 @@ type SecurityContextConstraints struct { // +listType=atomic SeccompProfiles []string `json:"seccompProfiles,omitempty" protobuf:"bytes,20,opt,name=seccompProfiles"` - // AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. + // allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. // Each entry is either a plain sysctl name or ends in "*" in which case it is considered // as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. // Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection. @@ -170,7 +170,7 @@ type SecurityContextConstraints struct { // +nullable // +listType=atomic AllowedUnsafeSysctls []string `json:"allowedUnsafeSysctls,omitempty" protobuf:"bytes,24,rep,name=allowedUnsafeSysctls"` - // ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. + // forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. // Each entry is either a plain sysctl name or ends in "*" in which case it is considered // as a prefix of forbidden sysctls. Single * means all sysctls are forbidden. // @@ -223,13 +223,13 @@ var ( // AllowedFlexVolume represents a single Flexvolume that is allowed to be used. type AllowedFlexVolume struct { - // Driver is the name of the Flexvolume driver. + // driver is the name of the Flexvolume driver. Driver string `json:"driver" protobuf:"bytes,1,opt,name=driver"` } // SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy. type SELinuxContextStrategyOptions struct { - // Type is the strategy that will dictate what SELinux context is used in the SecurityContext. + // type is the strategy that will dictate what SELinux context is used in the SecurityContext. Type SELinuxContextStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=SELinuxContextStrategyType"` // seLinuxOptions required to run as; required for MustRunAs SELinuxOptions *corev1.SELinuxOptions `json:"seLinuxOptions,omitempty" protobuf:"bytes,2,opt,name=seLinuxOptions"` @@ -237,22 +237,22 @@ type SELinuxContextStrategyOptions struct { // RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy. type RunAsUserStrategyOptions struct { - // Type is the strategy that will dictate what RunAsUser is used in the SecurityContext. + // type is the strategy that will dictate what RunAsUser is used in the SecurityContext. Type RunAsUserStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=RunAsUserStrategyType"` - // UID is the user id that containers must run as. Required for the MustRunAs strategy if not using + // uid is the user id that containers must run as. Required for the MustRunAs strategy if not using // namespace/service account allocated uids. UID *int64 `json:"uid,omitempty" protobuf:"varint,2,opt,name=uid"` - // UIDRangeMin defines the min value for a strategy that allocates by range. + // uidRangeMin defines the min value for a strategy that allocates by range. UIDRangeMin *int64 `json:"uidRangeMin,omitempty" protobuf:"varint,3,opt,name=uidRangeMin"` - // UIDRangeMax defines the max value for a strategy that allocates by range. + // uidRangeMax defines the max value for a strategy that allocates by range. UIDRangeMax *int64 `json:"uidRangeMax,omitempty" protobuf:"varint,4,opt,name=uidRangeMax"` } // FSGroupStrategyOptions defines the strategy type and options used to create the strategy. type FSGroupStrategyOptions struct { - // Type is the strategy that will dictate what FSGroup is used in the SecurityContext. + // type is the strategy that will dictate what FSGroup is used in the SecurityContext. Type FSGroupStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=FSGroupStrategyType"` - // Ranges are the allowed ranges of fs groups. If you would like to force a single + // ranges are the allowed ranges of fs groups. If you would like to force a single // fs group then supply a single range with the same start and end. // +listType=atomic Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` @@ -260,9 +260,9 @@ type FSGroupStrategyOptions struct { // SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy. type SupplementalGroupsStrategyOptions struct { - // Type is the strategy that will dictate what supplemental groups is used in the SecurityContext. + // type is the strategy that will dictate what supplemental groups is used in the SecurityContext. Type SupplementalGroupsStrategyType `json:"type,omitempty" protobuf:"bytes,1,opt,name=type,casttype=SupplementalGroupsStrategyType"` - // Ranges are the allowed ranges of supplemental groups. If you would like to force a single + // ranges are the allowed ranges of supplemental groups. If you would like to force a single // supplemental group then supply a single range with the same start and end. // +listType=atomic Ranges []IDRange `json:"ranges,omitempty" protobuf:"bytes,2,rep,name=ranges"` @@ -271,9 +271,9 @@ type SupplementalGroupsStrategyOptions struct { // IDRange provides a min/max of an allowed range of IDs. // TODO: this could be reused for UIDs. type IDRange struct { - // Min is the start of the range, inclusive. + // min is the start of the range, inclusive. Min int64 `json:"min,omitempty" protobuf:"varint,1,opt,name=min"` - // Max is the end of the range, inclusive. + // max is the end of the range, inclusive. Max int64 `json:"max,omitempty" protobuf:"varint,2,opt,name=max"` } diff --git a/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go index 2f242366a8..29cddf7e64 100644 --- a/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/security/v1/zz_generated.swagger_doc_generated.go @@ -13,7 +13,7 @@ package v1 // AUTO-GENERATED FUNCTIONS START HERE var map_AllowedFlexVolume = map[string]string{ "": "AllowedFlexVolume represents a single Flexvolume that is allowed to be used.", - "driver": "Driver is the name of the Flexvolume driver.", + "driver": "driver is the name of the Flexvolume driver.", } func (AllowedFlexVolume) SwaggerDoc() map[string]string { @@ -22,8 +22,8 @@ func (AllowedFlexVolume) SwaggerDoc() map[string]string { var map_FSGroupStrategyOptions = map[string]string{ "": "FSGroupStrategyOptions defines the strategy type and options used to create the strategy.", - "type": "Type is the strategy that will dictate what FSGroup is used in the SecurityContext.", - "ranges": "Ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", + "type": "type is the strategy that will dictate what FSGroup is used in the SecurityContext.", + "ranges": "ranges are the allowed ranges of fs groups. If you would like to force a single fs group then supply a single range with the same start and end.", } func (FSGroupStrategyOptions) SwaggerDoc() map[string]string { @@ -32,8 +32,8 @@ func (FSGroupStrategyOptions) SwaggerDoc() map[string]string { var map_IDRange = map[string]string{ "": "IDRange provides a min/max of an allowed range of IDs.", - "min": "Min is the start of the range, inclusive.", - "max": "Max is the end of the range, inclusive.", + "min": "min is the start of the range, inclusive.", + "max": "max is the end of the range, inclusive.", } func (IDRange) SwaggerDoc() map[string]string { @@ -146,10 +146,10 @@ func (RangeAllocationList) SwaggerDoc() map[string]string { var map_RunAsUserStrategyOptions = map[string]string{ "": "RunAsUserStrategyOptions defines the strategy type and any options used to create the strategy.", - "type": "Type is the strategy that will dictate what RunAsUser is used in the SecurityContext.", - "uid": "UID is the user id that containers must run as. Required for the MustRunAs strategy if not using namespace/service account allocated uids.", - "uidRangeMin": "UIDRangeMin defines the min value for a strategy that allocates by range.", - "uidRangeMax": "UIDRangeMax defines the max value for a strategy that allocates by range.", + "type": "type is the strategy that will dictate what RunAsUser is used in the SecurityContext.", + "uid": "uid is the user id that containers must run as. Required for the MustRunAs strategy if not using namespace/service account allocated uids.", + "uidRangeMin": "uidRangeMin defines the min value for a strategy that allocates by range.", + "uidRangeMax": "uidRangeMax defines the max value for a strategy that allocates by range.", } func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string { @@ -158,7 +158,7 @@ func (RunAsUserStrategyOptions) SwaggerDoc() map[string]string { var map_SELinuxContextStrategyOptions = map[string]string{ "": "SELinuxContextStrategyOptions defines the strategy type and any options used to create the strategy.", - "type": "Type is the strategy that will dictate what SELinux context is used in the SecurityContext.", + "type": "type is the strategy that will dictate what SELinux context is used in the SecurityContext.", "seLinuxOptions": "seLinuxOptions required to run as; required for MustRunAs", } @@ -169,31 +169,31 @@ func (SELinuxContextStrategyOptions) SwaggerDoc() map[string]string { var map_SecurityContextConstraints = map[string]string{ "": "SecurityContextConstraints governs the ability to make requests that affect the SecurityContext that will be applied to a container. For historical reasons SCC was exposed under the core Kubernetes API group. That exposure is deprecated and will be removed in a future release - users should instead use the security.openshift.io group to manage SecurityContextConstraints.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "priority": "Priority influences the sort order of SCCs when evaluating which SCCs to try first for a given pod request based on access in the Users and Groups fields. The higher the int, the higher priority. An unset value is considered a 0 priority. If scores for multiple SCCs are equal they will be sorted from most restrictive to least restrictive. If both priorities and restrictions are equal the SCCs will be sorted by name.", - "allowPrivilegedContainer": "AllowPrivilegedContainer determines if a container can request to be run as privileged.", - "defaultAddCapabilities": "DefaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.", - "requiredDropCapabilities": "RequiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", - "allowedCapabilities": "AllowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field maybe added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. To allow all capabilities you may use '*'.", - "allowHostDirVolumePlugin": "AllowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin", - "volumes": "Volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use \"*\". To allow no volumes, set to [\"none\"].", - "allowedFlexVolumes": "AllowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.", - "allowHostNetwork": "AllowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", - "allowHostPorts": "AllowHostPorts determines if the policy allows host ports in the containers.", - "allowHostPID": "AllowHostPID determines if the policy allows host pid in the containers.", - "allowHostIPC": "AllowHostIPC determines if the policy allows host ipc in the containers.", + "priority": "priority influences the sort order of SCCs when evaluating which SCCs to try first for a given pod request based on access in the Users and Groups fields. The higher the int, the higher priority. An unset value is considered a 0 priority. If scores for multiple SCCs are equal they will be sorted from most restrictive to least restrictive. If both priorities and restrictions are equal the SCCs will be sorted by name.", + "allowPrivilegedContainer": "allowPrivilegedContainer determines if a container can request to be run as privileged.", + "defaultAddCapabilities": "defaultAddCapabilities is the default set of capabilities that will be added to the container unless the pod spec specifically drops the capability. You may not list a capabiility in both DefaultAddCapabilities and RequiredDropCapabilities.", + "requiredDropCapabilities": "requiredDropCapabilities are the capabilities that will be dropped from the container. These are required to be dropped and cannot be added.", + "allowedCapabilities": "allowedCapabilities is a list of capabilities that can be requested to add to the container. Capabilities in this field maybe added at the pod author's discretion. You must not list a capability in both AllowedCapabilities and RequiredDropCapabilities. To allow all capabilities you may use '*'.", + "allowHostDirVolumePlugin": "allowHostDirVolumePlugin determines if the policy allow containers to use the HostDir volume plugin", + "volumes": "volumes is a white list of allowed volume plugins. FSType corresponds directly with the field names of a VolumeSource (azureFile, configMap, emptyDir). To allow all volumes you may use \"*\". To allow no volumes, set to [\"none\"].", + "allowedFlexVolumes": "allowedFlexVolumes is a whitelist of allowed Flexvolumes. Empty or nil indicates that all Flexvolumes may be used. This parameter is effective only when the usage of the Flexvolumes is allowed in the \"Volumes\" field.", + "allowHostNetwork": "allowHostNetwork determines if the policy allows the use of HostNetwork in the pod spec.", + "allowHostPorts": "allowHostPorts determines if the policy allows host ports in the containers.", + "allowHostPID": "allowHostPID determines if the policy allows host pid in the containers.", + "allowHostIPC": "allowHostIPC determines if the policy allows host ipc in the containers.", "userNamespaceLevel": "userNamespaceLevel determines if the policy allows host users in containers. Valid values are \"AllowHostLevel\", \"RequirePodLevel\", and omitted. When \"AllowHostLevel\" is set, a pod author may set `hostUsers` to either `true` or `false`. When \"RequirePodLevel\" is set, a pod author must set `hostUsers` to `false`. When omitted, the default value is \"AllowHostLevel\".", - "defaultAllowPrivilegeEscalation": "DefaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.", - "allowPrivilegeEscalation": "AllowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.", - "seLinuxContext": "SELinuxContext is the strategy that will dictate what labels will be set in the SecurityContext.", - "runAsUser": "RunAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext.", - "supplementalGroups": "SupplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", - "fsGroup": "FSGroup is the strategy that will dictate what fs group is used by the SecurityContext.", - "readOnlyRootFilesystem": "ReadOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the SCC should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", + "defaultAllowPrivilegeEscalation": "defaultAllowPrivilegeEscalation controls the default setting for whether a process can gain more privileges than its parent process.", + "allowPrivilegeEscalation": "allowPrivilegeEscalation determines if a pod can request to allow privilege escalation. If unspecified, defaults to true.", + "seLinuxContext": "seLinuxContext is the strategy that will dictate what labels will be set in the SecurityContext.", + "runAsUser": "runAsUser is the strategy that will dictate what RunAsUser is used in the SecurityContext.", + "supplementalGroups": "supplementalGroups is the strategy that will dictate what supplemental groups are used by the SecurityContext.", + "fsGroup": "fsGroup is the strategy that will dictate what fs group is used by the SecurityContext.", + "readOnlyRootFilesystem": "readOnlyRootFilesystem when set to true will force containers to run with a read only root file system. If the container specifically requests to run with a non-read only root file system the SCC should deny the pod. If set to false the container may run with a read only root file system if it wishes but it will not be forced to.", "users": "The users who have permissions to use this security context constraints", "groups": "The groups that have permission to use this security context constraints", - "seccompProfiles": "SeccompProfiles lists the allowed profiles that may be set for the pod or container's seccomp annotations. An unset (nil) or empty value means that no profiles may be specifid by the pod or container.\tThe wildcard '*' may be used to allow all profiles. When used to generate a value for a pod the first non-wildcard profile will be used as the default.", - "allowedUnsafeSysctls": "AllowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection.\n\nExamples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc.", - "forbiddenSysctls": "ForbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.\n\nExamples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc.", + "seccompProfiles": "seccompProfiles lists the allowed profiles that may be set for the pod or container's seccomp annotations. An unset (nil) or empty value means that no profiles may be specifid by the pod or container.\tThe wildcard '*' may be used to allow all profiles. When used to generate a value for a pod the first non-wildcard profile will be used as the default.", + "allowedUnsafeSysctls": "allowedUnsafeSysctls is a list of explicitly allowed unsafe sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of allowed sysctls. Single * means all unsafe sysctls are allowed. Kubelet has to whitelist all allowed unsafe sysctls explicitly to avoid rejection.\n\nExamples: e.g. \"foo/*\" allows \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" allows \"foo.bar\", \"foo.baz\", etc.", + "forbiddenSysctls": "forbiddenSysctls is a list of explicitly forbidden sysctls, defaults to none. Each entry is either a plain sysctl name or ends in \"*\" in which case it is considered as a prefix of forbidden sysctls. Single * means all sysctls are forbidden.\n\nExamples: e.g. \"foo/*\" forbids \"foo/bar\", \"foo/baz\", etc. e.g. \"foo.*\" forbids \"foo.bar\", \"foo.baz\", etc.", } func (SecurityContextConstraints) SwaggerDoc() map[string]string { @@ -221,8 +221,8 @@ func (ServiceAccountPodSecurityPolicyReviewStatus) SwaggerDoc() map[string]strin var map_SupplementalGroupsStrategyOptions = map[string]string{ "": "SupplementalGroupsStrategyOptions defines the strategy type and options used to create the strategy.", - "type": "Type is the strategy that will dictate what supplemental groups is used in the SecurityContext.", - "ranges": "Ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", + "type": "type is the strategy that will dictate what supplemental groups is used in the SecurityContext.", + "ranges": "ranges are the allowed ranges of supplemental groups. If you would like to force a single supplemental group then supply a single range with the same start and end.", } func (SupplementalGroupsStrategyOptions) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go index ebd8d75efc..3ad1c560fd 100644 --- a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/types.go @@ -48,6 +48,6 @@ type ServiceCertSignerOperatorConfigList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty"` - // Items contains the items + // items contains the items Items []ServiceCertSignerOperatorConfig `json:"items"` } diff --git a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go index 13b3b73644..5e341b1dad 100644 --- a/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/servicecertsigner/v1alpha1/zz_generated.swagger_doc_generated.go @@ -23,7 +23,7 @@ func (ServiceCertSignerOperatorConfig) SwaggerDoc() map[string]string { var map_ServiceCertSignerOperatorConfigList = map[string]string{ "": "ServiceCertSignerOperatorConfigList is a collection of items\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items contains the items", + "items": "items contains the items", } func (ServiceCertSignerOperatorConfigList) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_configmap.go b/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_configmap.go index 1eea47d02d..3b6e6be374 100644 --- a/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_configmap.go +++ b/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_configmap.go @@ -11,19 +11,20 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" // "csi.sharedresource.openshift.io" CSI driver and a reference to the SharedConfigMap in the volume attributes: // // spec: -// volumes: -// - name: shared-configmap -// csi: -// driver: csi.sharedresource.openshift.io -// volumeAttributes: -// sharedConfigMap: my-share +// +// volumes: +// - name: shared-configmap +// csi: +// driver: csi.sharedresource.openshift.io +// volumeAttributes: +// sharedConfigMap: my-share // // For the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedConfigMap object // within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating // such Role and RoleBinding objects. // -// `oc create role shared-resource-my-share --verb=use --resource=sharedconfigmaps.sharedresource.openshift.io --resource-name=my-share` -// `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default` +// `oc create role shared-resource-my-share --verb=use --resource=sharedconfigmaps.sharedresource.openshift.io --resource-name=my-share` +// `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default` // // Shared resource objects, in this case ConfigMaps, have default permissions of list, get, and watch for system authenticated users. // @@ -45,7 +46,7 @@ type SharedConfigMap struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec is the specification of the desired shared configmap - // +kubebuilder:validation:Required + // +required Spec SharedConfigMapSpec `json:"spec,omitempty"` // status is the observed status of the shared configmap @@ -72,10 +73,10 @@ type SharedConfigMapList struct { // SharedConfigMapReference contains information about which ConfigMap to share type SharedConfigMapReference struct { // name represents the name of the ConfigMap that is being referenced. - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // namespace represents the namespace where the referenced ConfigMap is located. - // +kubebuilder:validation:Required + // +required Namespace string `json:"namespace"` } @@ -83,7 +84,7 @@ type SharedConfigMapReference struct { // +k8s:openapi-gen=true type SharedConfigMapSpec struct { //configMapRef is a reference to the ConfigMap to share - // +kubebuilder:validation:Required + // +required ConfigMapRef SharedConfigMapReference `json:"configMapRef"` // description is a user readable explanation of what the backing resource provides. Description string `json:"description,omitempty"` diff --git a/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_secret.go b/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_secret.go index 654106bce6..3ea9260f0c 100644 --- a/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_secret.go +++ b/vendor/github.com/openshift/api/sharedresource/v1alpha1/types_shared_secret.go @@ -11,19 +11,20 @@ import metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" // "csi.sharedresource.openshift.io" CSI driver and a reference to the SharedSecret in the volume attributes: // // spec: -// volumes: -// - name: shared-secret -// csi: -// driver: csi.sharedresource.openshift.io -// volumeAttributes: -// sharedSecret: my-share +// +// volumes: +// - name: shared-secret +// csi: +// driver: csi.sharedresource.openshift.io +// volumeAttributes: +// sharedSecret: my-share // // For the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedSecret object // within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating // such Role and RoleBinding objects. // -// `oc create role shared-resource-my-share --verb=use --resource=sharedsecrets.sharedresource.openshift.io --resource-name=my-share` -// `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default` +// `oc create role shared-resource-my-share --verb=use --resource=sharedsecrets.sharedresource.openshift.io --resource-name=my-share` +// `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default` // // Shared resource objects, in this case Secrets, have default permissions of list, get, and watch for system authenticated users. // @@ -44,7 +45,7 @@ type SharedSecret struct { metav1.ObjectMeta `json:"metadata,omitempty"` // spec is the specification of the desired shared secret - // +kubebuilder:validation:Required + // +required Spec SharedSecretSpec `json:"spec,omitempty"` // status is the observed status of the shared secret @@ -71,10 +72,10 @@ type SharedSecretList struct { // SharedSecretReference contains information about which Secret to share type SharedSecretReference struct { // name represents the name of the Secret that is being referenced. - // +kubebuilder:validation:Required + // +required Name string `json:"name"` // namespace represents the namespace where the referenced Secret is located. - // +kubebuilder:validation:Required + // +required Namespace string `json:"namespace"` } @@ -82,7 +83,7 @@ type SharedSecretReference struct { // +k8s:openapi-gen=true type SharedSecretSpec struct { // secretRef is a reference to the Secret to share - // +kubebuilder:validation:Required + // +required SecretRef SharedSecretReference `json:"secretRef"` // description is a user readable explanation of what the backing resource provides. Description string `json:"description,omitempty"` diff --git a/vendor/github.com/openshift/api/sharedresource/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/sharedresource/v1alpha1/zz_generated.swagger_doc_generated.go index f432d63f77..ea6334d147 100644 --- a/vendor/github.com/openshift/api/sharedresource/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/sharedresource/v1alpha1/zz_generated.swagger_doc_generated.go @@ -12,7 +12,7 @@ package v1alpha1 // AUTO-GENERATED FUNCTIONS START HERE var map_SharedConfigMap = map[string]string{ - "": "SharedConfigMap allows a ConfigMap to be shared across namespaces. Pods can mount the shared ConfigMap by adding a CSI volume to the pod specification using the \"csi.sharedresource.openshift.io\" CSI driver and a reference to the SharedConfigMap in the volume attributes:\n\nspec:\n volumes:\n - name: shared-configmap\n csi:\n driver: csi.sharedresource.openshift.io\n volumeAttributes:\n sharedConfigMap: my-share\n\nFor the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedConfigMap object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.\n\n `oc create role shared-resource-my-share --verb=use --resource=sharedconfigmaps.sharedresource.openshift.io --resource-name=my-share`\n `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`\n\nShared resource objects, in this case ConfigMaps, have default permissions of list, get, and watch for system authenticated users.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support.", + "": "SharedConfigMap allows a ConfigMap to be shared across namespaces. Pods can mount the shared ConfigMap by adding a CSI volume to the pod specification using the \"csi.sharedresource.openshift.io\" CSI driver and a reference to the SharedConfigMap in the volume attributes:\n\nspec:\n\n\tvolumes:\n\t- name: shared-configmap\n\t csi:\n\t driver: csi.sharedresource.openshift.io\n\t volumeAttributes:\n\t sharedConfigMap: my-share\n\nFor the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedConfigMap object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.\n\n\t`oc create role shared-resource-my-share --verb=use --resource=sharedconfigmaps.sharedresource.openshift.io --resource-name=my-share`\n\t`oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`\n\nShared resource objects, in this case ConfigMaps, have default permissions of list, get, and watch for system authenticated users.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "spec": "spec is the specification of the desired shared configmap", "status": "status is the observed status of the shared configmap", @@ -61,7 +61,7 @@ func (SharedConfigMapStatus) SwaggerDoc() map[string]string { } var map_SharedSecret = map[string]string{ - "": "SharedSecret allows a Secret to be shared across namespaces. Pods can mount the shared Secret by adding a CSI volume to the pod specification using the \"csi.sharedresource.openshift.io\" CSI driver and a reference to the SharedSecret in the volume attributes:\n\nspec:\n volumes:\n - name: shared-secret\n csi:\n driver: csi.sharedresource.openshift.io\n volumeAttributes:\n sharedSecret: my-share\n\nFor the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedSecret object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.\n\n `oc create role shared-resource-my-share --verb=use --resource=sharedsecrets.sharedresource.openshift.io --resource-name=my-share`\n `oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`\n\nShared resource objects, in this case Secrets, have default permissions of list, get, and watch for system authenticated users.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support.", + "": "SharedSecret allows a Secret to be shared across namespaces. Pods can mount the shared Secret by adding a CSI volume to the pod specification using the \"csi.sharedresource.openshift.io\" CSI driver and a reference to the SharedSecret in the volume attributes:\n\nspec:\n\n\tvolumes:\n\t- name: shared-secret\n\t csi:\n\t driver: csi.sharedresource.openshift.io\n\t volumeAttributes:\n\t sharedSecret: my-share\n\nFor the mount to be successful, the pod's service account must be granted permission to 'use' the named SharedSecret object within its namespace with an appropriate Role and RoleBinding. For compactness, here are example `oc` invocations for creating such Role and RoleBinding objects.\n\n\t`oc create role shared-resource-my-share --verb=use --resource=sharedsecrets.sharedresource.openshift.io --resource-name=my-share`\n\t`oc create rolebinding shared-resource-my-share --role=shared-resource-my-share --serviceaccount=my-namespace:default`\n\nShared resource objects, in this case Secrets, have default permissions of list, get, and watch for system authenticated users.\n\nCompatibility level 4: No compatibility is provided, the API can change at any point for any reason. These capabilities should not be used by applications needing long term support. These capabilities should not be used by applications needing long term support.", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", "spec": "spec is the specification of the desired shared secret", "status": "status is the observed status of the shared secret", diff --git a/vendor/github.com/openshift/api/template/v1/generated.proto b/vendor/github.com/openshift/api/template/v1/generated.proto index 5ff4d7b1d6..8f27eb48a0 100644 --- a/vendor/github.com/openshift/api/template/v1/generated.proto +++ b/vendor/github.com/openshift/api/template/v1/generated.proto @@ -42,7 +42,7 @@ message BrokerTemplateInstanceList { // BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance. message BrokerTemplateInstanceSpec { - // templateinstance is a reference to a TemplateInstance object residing + // templateInstance is a reference to a TemplateInstance object residing // in a namespace. optional .k8s.io.api.core.v1.ObjectReference templateInstance = 1; @@ -50,7 +50,7 @@ message BrokerTemplateInstanceSpec { // containing the necessary template parameters. optional .k8s.io.api.core.v1.ObjectReference secret = 2; - // bindingids is a list of 'binding_id's provided during successive bind + // bindingIDs is a list of 'binding_id's provided during successive bind // calls to the template service broker. repeated string bindingIDs = 3; } @@ -67,17 +67,17 @@ message ExtraValue { // Parameter defines a name/value variable that is to be processed during // the Template to Config transformation. message Parameter { - // Name must be set and it can be referenced in Template + // name must be set and it can be referenced in Template // Items using ${PARAMETER_NAME}. Required. optional string name = 1; // Optional: The name that will show in UI instead of parameter 'Name' optional string displayName = 2; - // Description of a parameter. Optional. + // description of a parameter. Optional. optional string description = 3; - // Value holds the Parameter data. If specified, the generator will be + // value holds the Parameter data. If specified, the generator will be // ignored. The value replaces all occurrences of the Parameter ${Name} // expression during the Template to Config transformation. Optional. optional string value = 4; @@ -101,7 +101,7 @@ message Parameter { // "[a-zA-Z0-9]{8}" | "hW4yQU5i" optional string generate = 5; - // From is an input value for the generator. Optional. + // from is an input value for the generator. Optional. optional string from = 6; // Optional: Indicates the parameter must have a value. Defaults to false. @@ -164,21 +164,21 @@ message TemplateInstance { // TemplateInstanceCondition contains condition information for a // TemplateInstance. message TemplateInstanceCondition { - // Type of the condition, currently Ready or InstantiateFailure. + // type of the condition, currently Ready or InstantiateFailure. optional string type = 1; - // Status of the condition, one of True, False or Unknown. + // status of the condition, one of True, False or Unknown. optional string status = 2; - // LastTransitionTime is the last time a condition status transitioned from + // lastTransitionTime is the last time a condition status transitioned from // one state to another. optional .k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; - // Reason is a brief machine readable explanation for the condition's last + // reason is a brief machine readable explanation for the condition's last // transition. optional string reason = 4; - // Message is a human readable description of the details of the last + // message is a human readable description of the details of the last // transition, complementing reason. optional string message = 5; } @@ -243,7 +243,7 @@ message TemplateInstanceStatus { // TemplateInstance's current state. repeated TemplateInstanceCondition conditions = 1; - // Objects references the objects created by the TemplateInstance. + // objects references the objects created by the TemplateInstance. repeated TemplateInstanceObject objects = 2; } @@ -256,7 +256,7 @@ message TemplateList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is a list of templates + // items is a list of templates repeated Template items = 2; } diff --git a/vendor/github.com/openshift/api/template/v1/types.go b/vendor/github.com/openshift/api/template/v1/types.go index 9d95912b28..5510b0f90b 100644 --- a/vendor/github.com/openshift/api/template/v1/types.go +++ b/vendor/github.com/openshift/api/template/v1/types.go @@ -61,24 +61,24 @@ type TemplateList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is a list of templates + // items is a list of templates Items []Template `json:"items" protobuf:"bytes,2,rep,name=items"` } // Parameter defines a name/value variable that is to be processed during // the Template to Config transformation. type Parameter struct { - // Name must be set and it can be referenced in Template + // name must be set and it can be referenced in Template // Items using ${PARAMETER_NAME}. Required. Name string `json:"name" protobuf:"bytes,1,opt,name=name"` // Optional: The name that will show in UI instead of parameter 'Name' DisplayName string `json:"displayName,omitempty" protobuf:"bytes,2,opt,name=displayName"` - // Description of a parameter. Optional. + // description of a parameter. Optional. Description string `json:"description,omitempty" protobuf:"bytes,3,opt,name=description"` - // Value holds the Parameter data. If specified, the generator will be + // value holds the Parameter data. If specified, the generator will be // ignored. The value replaces all occurrences of the Parameter ${Name} // expression during the Template to Config transformation. Optional. Value string `json:"value,omitempty" protobuf:"bytes,4,opt,name=value"` @@ -103,7 +103,7 @@ type Parameter struct { // Generate string `json:"generate,omitempty" protobuf:"bytes,5,opt,name=generate"` - // From is an input value for the generator. Optional. + // from is an input value for the generator. Optional. From string `json:"from,omitempty" protobuf:"bytes,6,opt,name=from"` // Optional: Indicates the parameter must have a value. Defaults to false. @@ -181,24 +181,24 @@ type TemplateInstanceStatus struct { // TemplateInstance's current state. Conditions []TemplateInstanceCondition `json:"conditions,omitempty" protobuf:"bytes,1,rep,name=conditions"` - // Objects references the objects created by the TemplateInstance. + // objects references the objects created by the TemplateInstance. Objects []TemplateInstanceObject `json:"objects,omitempty" protobuf:"bytes,2,rep,name=objects"` } // TemplateInstanceCondition contains condition information for a // TemplateInstance. type TemplateInstanceCondition struct { - // Type of the condition, currently Ready or InstantiateFailure. + // type of the condition, currently Ready or InstantiateFailure. Type TemplateInstanceConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=TemplateInstanceConditionType"` - // Status of the condition, one of True, False or Unknown. + // status of the condition, one of True, False or Unknown. Status corev1.ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status"` - // LastTransitionTime is the last time a condition status transitioned from + // lastTransitionTime is the last time a condition status transitioned from // one state to another. LastTransitionTime metav1.Time `json:"lastTransitionTime" protobuf:"bytes,3,opt,name=lastTransitionTime"` - // Reason is a brief machine readable explanation for the condition's last + // reason is a brief machine readable explanation for the condition's last // transition. Reason string `json:"reason" protobuf:"bytes,4,opt,name=reason"` - // Message is a human readable description of the details of the last + // message is a human readable description of the details of the last // transition, complementing reason. Message string `json:"message" protobuf:"bytes,5,opt,name=message"` } @@ -263,7 +263,7 @@ type BrokerTemplateInstance struct { // BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance. type BrokerTemplateInstanceSpec struct { - // templateinstance is a reference to a TemplateInstance object residing + // templateInstance is a reference to a TemplateInstance object residing // in a namespace. TemplateInstance corev1.ObjectReference `json:"templateInstance" protobuf:"bytes,1,opt,name=templateInstance"` @@ -271,7 +271,7 @@ type BrokerTemplateInstanceSpec struct { // containing the necessary template parameters. Secret corev1.ObjectReference `json:"secret" protobuf:"bytes,2,opt,name=secret"` - // bindingids is a list of 'binding_id's provided during successive bind + // bindingIDs is a list of 'binding_id's provided during successive bind // calls to the template service broker. BindingIDs []string `json:"bindingIDs,omitempty" protobuf:"bytes,3,rep,name=bindingIDs"` } diff --git a/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go index 8ed3822c8d..761390d02f 100644 --- a/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/template/v1/zz_generated.swagger_doc_generated.go @@ -33,9 +33,9 @@ func (BrokerTemplateInstanceList) SwaggerDoc() map[string]string { var map_BrokerTemplateInstanceSpec = map[string]string{ "": "BrokerTemplateInstanceSpec describes the state of a BrokerTemplateInstance.", - "templateInstance": "templateinstance is a reference to a TemplateInstance object residing in a namespace.", + "templateInstance": "templateInstance is a reference to a TemplateInstance object residing in a namespace.", "secret": "secret is a reference to a Secret object residing in a namespace, containing the necessary template parameters.", - "bindingIDs": "bindingids is a list of 'binding_id's provided during successive bind calls to the template service broker.", + "bindingIDs": "bindingIDs is a list of 'binding_id's provided during successive bind calls to the template service broker.", } func (BrokerTemplateInstanceSpec) SwaggerDoc() map[string]string { @@ -44,12 +44,12 @@ func (BrokerTemplateInstanceSpec) SwaggerDoc() map[string]string { var map_Parameter = map[string]string{ "": "Parameter defines a name/value variable that is to be processed during the Template to Config transformation.", - "name": "Name must be set and it can be referenced in Template Items using ${PARAMETER_NAME}. Required.", + "name": "name must be set and it can be referenced in Template Items using ${PARAMETER_NAME}. Required.", "displayName": "Optional: The name that will show in UI instead of parameter 'Name'", - "description": "Description of a parameter. Optional.", - "value": "Value holds the Parameter data. If specified, the generator will be ignored. The value replaces all occurrences of the Parameter ${Name} expression during the Template to Config transformation. Optional.", + "description": "description of a parameter. Optional.", + "value": "value holds the Parameter data. If specified, the generator will be ignored. The value replaces all occurrences of the Parameter ${Name} expression during the Template to Config transformation. Optional.", "generate": "generate specifies the generator to be used to generate random string from an input value specified by From field. The result string is stored into Value field. If empty, no generator is being used, leaving the result Value untouched. Optional.\n\nThe only supported generator is \"expression\", which accepts a \"from\" value in the form of a simple regular expression containing the range expression \"[a-zA-Z0-9]\", and the length expression \"a{length}\".\n\nExamples:\n\nfrom | value", - "from": "From is an input value for the generator. Optional.", + "from": "from is an input value for the generator. Optional.", "required": "Optional: Indicates the parameter must have a value. Defaults to false.", } @@ -83,11 +83,11 @@ func (TemplateInstance) SwaggerDoc() map[string]string { var map_TemplateInstanceCondition = map[string]string{ "": "TemplateInstanceCondition contains condition information for a TemplateInstance.", - "type": "Type of the condition, currently Ready or InstantiateFailure.", - "status": "Status of the condition, one of True, False or Unknown.", - "lastTransitionTime": "LastTransitionTime is the last time a condition status transitioned from one state to another.", - "reason": "Reason is a brief machine readable explanation for the condition's last transition.", - "message": "Message is a human readable description of the details of the last transition, complementing reason.", + "type": "type of the condition, currently Ready or InstantiateFailure.", + "status": "status of the condition, one of True, False or Unknown.", + "lastTransitionTime": "lastTransitionTime is the last time a condition status transitioned from one state to another.", + "reason": "reason is a brief machine readable explanation for the condition's last transition.", + "message": "message is a human readable description of the details of the last transition, complementing reason.", } func (TemplateInstanceCondition) SwaggerDoc() map[string]string { @@ -139,7 +139,7 @@ func (TemplateInstanceSpec) SwaggerDoc() map[string]string { var map_TemplateInstanceStatus = map[string]string{ "": "TemplateInstanceStatus describes the current state of a TemplateInstance.", "conditions": "conditions represent the latest available observations of a TemplateInstance's current state.", - "objects": "Objects references the objects created by the TemplateInstance.", + "objects": "objects references the objects created by the TemplateInstance.", } func (TemplateInstanceStatus) SwaggerDoc() map[string]string { @@ -149,7 +149,7 @@ func (TemplateInstanceStatus) SwaggerDoc() map[string]string { var map_TemplateList = map[string]string{ "": "TemplateList is a list of Template objects.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is a list of templates", + "items": "items is a list of templates", } func (TemplateList) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/unidling/v1alpha1/types.go b/vendor/github.com/openshift/api/unidling/v1alpha1/types.go index d6ac1cc2e0..0fba167f6e 100644 --- a/vendor/github.com/openshift/api/unidling/v1alpha1/types.go +++ b/vendor/github.com/openshift/api/unidling/v1alpha1/types.go @@ -32,12 +32,12 @@ type RecordedScaleReference struct { // namespace in the specified group. It is similar to // autoscaling.CrossVersionObjectReference. type CrossGroupObjectReference struct { - // Kind of the referent; More info: http://releases.k8s.io/release-1.3/docs/devel/api-conventions.md#types-kinds" + // kind of the referent; More info: http://releases.k8s.io/release-1.3/docs/devel/api-conventions.md#types-kinds" Kind string `json:"kind" protobuf:"bytes,1,opt,name=kind"` - // Name of the referent; More info: http://releases.k8s.io/release-1.3/docs/user-guide/identifiers.md#names + // name of the referent; More info: http://releases.k8s.io/release-1.3/docs/user-guide/identifiers.md#names Name string `json:"name" protobuf:"bytes,2,opt,name=name"` // API version of the referent (deprecated, prefer usng Group instead) APIVersion string `json:"apiVersion,omitempty" protobuf:"bytes,3,opt,name=apiVersion"` - // Group of the referent + // group of the referent Group string `json:"group,omitempty" protobuf:"bytes,3,opt,name=group"` } diff --git a/vendor/github.com/openshift/api/unidling/v1alpha1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/unidling/v1alpha1/zz_generated.swagger_doc_generated.go index 5eabb4abb7..9b3b8ac25e 100644 --- a/vendor/github.com/openshift/api/unidling/v1alpha1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/unidling/v1alpha1/zz_generated.swagger_doc_generated.go @@ -13,10 +13,10 @@ package v1alpha1 // AUTO-GENERATED FUNCTIONS START HERE var map_CrossGroupObjectReference = map[string]string{ "": "CrossGroupObjectReference is a reference to an object in the same namespace in the specified group. It is similar to autoscaling.CrossVersionObjectReference.", - "kind": "Kind of the referent; More info: http://releases.k8s.io/release-1.3/docs/devel/api-conventions.md#types-kinds\"", - "name": "Name of the referent; More info: http://releases.k8s.io/release-1.3/docs/user-guide/identifiers.md#names", + "kind": "kind of the referent; More info: http://releases.k8s.io/release-1.3/docs/devel/api-conventions.md#types-kinds\"", + "name": "name of the referent; More info: http://releases.k8s.io/release-1.3/docs/user-guide/identifiers.md#names", "apiVersion": "API version of the referent (deprecated, prefer usng Group instead)", - "group": "Group of the referent", + "group": "group of the referent", } func (CrossGroupObjectReference) SwaggerDoc() map[string]string { diff --git a/vendor/github.com/openshift/api/user/v1/generated.proto b/vendor/github.com/openshift/api/user/v1/generated.proto index c1c2b8156b..f07b446ad4 100644 --- a/vendor/github.com/openshift/api/user/v1/generated.proto +++ b/vendor/github.com/openshift/api/user/v1/generated.proto @@ -21,7 +21,7 @@ message Group { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Users is the list of users in this group. + // users is the list of users in this group. optional OptionalNames users = 2; } @@ -34,7 +34,7 @@ message GroupList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of groups + // items is the list of groups repeated Group items = 2; } @@ -51,17 +51,17 @@ message Identity { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // ProviderName is the source of identity information + // providerName is the source of identity information optional string providerName = 2; - // ProviderUserName uniquely represents this identity in the scope of the provider + // providerUserName uniquely represents this identity in the scope of the provider optional string providerUserName = 3; - // User is a reference to the user this identity is associated with + // user is a reference to the user this identity is associated with // Both Name and UID must be set optional .k8s.io.api.core.v1.ObjectReference user = 4; - // Extra holds extra information about this identity + // extra holds extra information about this identity map extra = 5; } @@ -74,7 +74,7 @@ message IdentityList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of identities + // items is the list of identities repeated Identity items = 2; } @@ -100,14 +100,14 @@ message User { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // FullName is the full name of user + // fullName is the full name of user optional string fullName = 2; - // Identities are the identities associated with this user + // identities are the identities associated with this user // +optional repeated string identities = 3; - // Groups specifies group names this user is a member of. + // groups specifies group names this user is a member of. // This field is deprecated and will be removed in a future release. // Instead, create a Group object containing the name of this User. repeated string groups = 4; @@ -122,10 +122,10 @@ message UserIdentityMapping { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; - // Identity is a reference to an identity + // identity is a reference to an identity optional .k8s.io.api.core.v1.ObjectReference identity = 2; - // User is a reference to a user + // user is a reference to a user optional .k8s.io.api.core.v1.ObjectReference user = 3; } @@ -138,7 +138,7 @@ message UserList { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata optional .k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; - // Items is the list of users + // items is the list of users repeated User items = 2; } diff --git a/vendor/github.com/openshift/api/user/v1/types.go b/vendor/github.com/openshift/api/user/v1/types.go index 7014bbfac7..64ae8c8300 100644 --- a/vendor/github.com/openshift/api/user/v1/types.go +++ b/vendor/github.com/openshift/api/user/v1/types.go @@ -26,14 +26,14 @@ type User struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // FullName is the full name of user + // fullName is the full name of user FullName string `json:"fullName,omitempty" protobuf:"bytes,2,opt,name=fullName"` - // Identities are the identities associated with this user + // identities are the identities associated with this user // +optional Identities []string `json:"identities,omitempty" protobuf:"bytes,3,rep,name=identities"` - // Groups specifies group names this user is a member of. + // groups specifies group names this user is a member of. // This field is deprecated and will be removed in a future release. // Instead, create a Group object containing the name of this User. Groups []string `json:"groups" protobuf:"bytes,4,rep,name=groups"` @@ -52,7 +52,7 @@ type UserList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of users + // items is the list of users Items []User `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -75,17 +75,17 @@ type Identity struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // ProviderName is the source of identity information + // providerName is the source of identity information ProviderName string `json:"providerName" protobuf:"bytes,2,opt,name=providerName"` - // ProviderUserName uniquely represents this identity in the scope of the provider + // providerUserName uniquely represents this identity in the scope of the provider ProviderUserName string `json:"providerUserName" protobuf:"bytes,3,opt,name=providerUserName"` - // User is a reference to the user this identity is associated with + // user is a reference to the user this identity is associated with // Both Name and UID must be set User corev1.ObjectReference `json:"user" protobuf:"bytes,4,opt,name=user"` - // Extra holds extra information about this identity + // extra holds extra information about this identity Extra map[string]string `json:"extra,omitempty" protobuf:"bytes,5,rep,name=extra"` } @@ -102,7 +102,7 @@ type IdentityList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of identities + // items is the list of identities Items []Identity `json:"items" protobuf:"bytes,2,rep,name=items"` } @@ -122,9 +122,9 @@ type UserIdentityMapping struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Identity is a reference to an identity + // identity is a reference to an identity Identity corev1.ObjectReference `json:"identity,omitempty" protobuf:"bytes,2,opt,name=identity"` - // User is a reference to a user + // user is a reference to a user User corev1.ObjectReference `json:"user,omitempty" protobuf:"bytes,3,opt,name=user"` } @@ -152,7 +152,7 @@ type Group struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Users is the list of users in this group. + // users is the list of users in this group. Users OptionalNames `json:"users" protobuf:"bytes,2,rep,name=users"` } @@ -169,6 +169,6 @@ type GroupList struct { // More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` - // Items is the list of groups + // items is the list of groups Items []Group `json:"items" protobuf:"bytes,2,rep,name=items"` } diff --git a/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go b/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go index 5844723a72..d85e7dfc58 100644 --- a/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go +++ b/vendor/github.com/openshift/api/user/v1/zz_generated.swagger_doc_generated.go @@ -14,7 +14,7 @@ package v1 var map_Group = map[string]string{ "": "Group represents a referenceable set of Users\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "users": "Users is the list of users in this group.", + "users": "users is the list of users in this group.", } func (Group) SwaggerDoc() map[string]string { @@ -24,7 +24,7 @@ func (Group) SwaggerDoc() map[string]string { var map_GroupList = map[string]string{ "": "GroupList is a collection of Groups\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of groups", + "items": "items is the list of groups", } func (GroupList) SwaggerDoc() map[string]string { @@ -34,10 +34,10 @@ func (GroupList) SwaggerDoc() map[string]string { var map_Identity = map[string]string{ "": "Identity records a successful authentication of a user with an identity provider. The information about the source of authentication is stored on the identity, and the identity is then associated with a single user object. Multiple identities can reference a single user. Information retrieved from the authentication provider is stored in the extra field using a schema determined by the provider.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "providerName": "ProviderName is the source of identity information", - "providerUserName": "ProviderUserName uniquely represents this identity in the scope of the provider", - "user": "User is a reference to the user this identity is associated with Both Name and UID must be set", - "extra": "Extra holds extra information about this identity", + "providerName": "providerName is the source of identity information", + "providerUserName": "providerUserName uniquely represents this identity in the scope of the provider", + "user": "user is a reference to the user this identity is associated with Both Name and UID must be set", + "extra": "extra holds extra information about this identity", } func (Identity) SwaggerDoc() map[string]string { @@ -47,7 +47,7 @@ func (Identity) SwaggerDoc() map[string]string { var map_IdentityList = map[string]string{ "": "IdentityList is a collection of Identities\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of identities", + "items": "items is the list of identities", } func (IdentityList) SwaggerDoc() map[string]string { @@ -57,9 +57,9 @@ func (IdentityList) SwaggerDoc() map[string]string { var map_User = map[string]string{ "": "Upon log in, every user of the system receives a User and Identity resource. Administrators may directly manipulate the attributes of the users for their own tracking, or set groups via the API. The user name is unique and is chosen based on the value provided by the identity provider - if a user already exists with the incoming name, the user name may have a number appended to it depending on the configuration of the system.\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "fullName": "FullName is the full name of user", - "identities": "Identities are the identities associated with this user", - "groups": "Groups specifies group names this user is a member of. This field is deprecated and will be removed in a future release. Instead, create a Group object containing the name of this User.", + "fullName": "fullName is the full name of user", + "identities": "identities are the identities associated with this user", + "groups": "groups specifies group names this user is a member of. This field is deprecated and will be removed in a future release. Instead, create a Group object containing the name of this User.", } func (User) SwaggerDoc() map[string]string { @@ -69,8 +69,8 @@ func (User) SwaggerDoc() map[string]string { var map_UserIdentityMapping = map[string]string{ "": "UserIdentityMapping maps a user to an identity\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard object's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "identity": "Identity is a reference to an identity", - "user": "User is a reference to a user", + "identity": "identity is a reference to an identity", + "user": "user is a reference to a user", } func (UserIdentityMapping) SwaggerDoc() map[string]string { @@ -80,7 +80,7 @@ func (UserIdentityMapping) SwaggerDoc() map[string]string { var map_UserList = map[string]string{ "": "UserList is a collection of Users\n\nCompatibility level 1: Stable within a major release for a minimum of 12 months or 3 minor releases (whichever is longer).", "metadata": "metadata is the standard list's metadata. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata", - "items": "Items is the list of users", + "items": "items is the list of users", } func (UserList) SwaggerDoc() map[string]string { diff --git a/vendor/modules.txt b/vendor/modules.txt index 5af154c6c5..7b53e21dde 100644 --- a/vendor/modules.txt +++ b/vendor/modules.txt @@ -410,7 +410,7 @@ github.com/mxk/go-flowrate/flowrate # github.com/oklog/ulid v1.3.1 ## explicit github.com/oklog/ulid -# github.com/openshift/api v3.9.1-0.20190924102528-32369d4db2ad+incompatible => github.com/openshift/api v0.0.0-20241018083007-4f6053f954b0 +# github.com/openshift/api v3.9.1-0.20190924102528-32369d4db2ad+incompatible => github.com/frobware/api v0.0.0-20241209160021-000e4bc7faac ## explicit; go 1.22.0 github.com/openshift/api github.com/openshift/api/annotations @@ -1395,5 +1395,5 @@ sigs.k8s.io/structured-merge-diff/v4/value sigs.k8s.io/yaml sigs.k8s.io/yaml/goyaml.v2 # bitbucket.org/ww/goautoneg => github.com/munnerz/goautoneg v0.0.0-20120707110453-a547fc61f48d -# github.com/openshift/api => github.com/openshift/api v0.0.0-20241018083007-4f6053f954b0 +# github.com/openshift/api => github.com/frobware/api v0.0.0-20241209160021-000e4bc7faac # k8s.io/client-go => k8s.io/client-go v0.31.1 From 6449f4c7ec3fb9accc981f16c8a6d928d37c9e97 Mon Sep 17 00:00:00 2001 From: Andrew McDermott Date: Tue, 19 Nov 2024 11:29:40 +0000 Subject: [PATCH 3/3] OCPBUGS-43745: Add support for idle connection termination policy Introduce logic in desiredRouterDeployment to set the environment variable `ROUTER_IDLE_CLOSE_ON_RESPONSE` when the `IdleConnectionTerminationPolicy` field in the IngressController spec is set to `Deferred`. This change enables configuring HAProxy with the `idle-close-on-response` option for better control over idle connection termination behaviour. --- pkg/operator/controller/ingress/deployment.go | 7 + .../controller/ingress/deployment_test.go | 51 ++ test/e2e/all_test.go | 1 + test/e2e/idle_connection_test.go | 778 ++++++++++++++++++ 4 files changed, 837 insertions(+) create mode 100644 test/e2e/idle_connection_test.go diff --git a/pkg/operator/controller/ingress/deployment.go b/pkg/operator/controller/ingress/deployment.go index 9bfcdf729a..4800c64109 100644 --- a/pkg/operator/controller/ingress/deployment.go +++ b/pkg/operator/controller/ingress/deployment.go @@ -1185,6 +1185,13 @@ func desiredRouterDeployment(ci *operatorv1.IngressController, ingressController ) } + if ci.Spec.IdleConnectionTerminationPolicy == operatorv1.IngressControllerConnectionTerminationPolicyDeferred { + env = append(env, corev1.EnvVar{ + Name: "ROUTER_IDLE_CLOSE_ON_RESPONSE", + Value: "true", + }) + } + // TODO: The only connections from the router that may need the cluster-wide proxy are those for downloading CRLs, // which, as of writing this, will always be http. If https becomes necessary, the router will need to mount the // trusted CA bundle that cluster-network-operator generates. The process for adding that is described here: diff --git a/pkg/operator/controller/ingress/deployment_test.go b/pkg/operator/controller/ingress/deployment_test.go index c192bab928..20be47cc90 100644 --- a/pkg/operator/controller/ingress/deployment_test.go +++ b/pkg/operator/controller/ingress/deployment_test.go @@ -2564,3 +2564,54 @@ func TestDesiredRouterDeploymentRouterExternalCertificate(t *testing.T) { checkDeploymentHasEnvSorted(t, deployment) } + +// Test_IdleConnectionTerminationPolicy validates that the ingress +// controller correctly sets the ROUTER_IDLE_CLOSE_ON_RESPONSE +// environment variable based on the IngressController's +// IdleConnectionTerminationPolicy field. +func Test_IdleConnectionTerminationPolicy(t *testing.T) { + ic, ingressConfig, infraConfig, apiConfig, networkConfig, _, clusterProxyConfig := getRouterDeploymentComponents(t) + + for _, tc := range []struct { + name string + policy operatorv1.IngressControllerConnectionTerminationPolicy + expectEnvVarPresent bool + expectedEnvVarValue string + }{{ + name: "IdleConnectionTerminationPolicy is Deferred", + policy: operatorv1.IngressControllerConnectionTerminationPolicyDeferred, + expectEnvVarPresent: true, + expectedEnvVarValue: "true", + }, { + name: "IdleConnectionTerminationPolicy is not set", + policy: "", + expectEnvVarPresent: false, + expectedEnvVarValue: "", + }, { + name: "IdleConnectionTerminationPolicy is Immediate (default)", + policy: operatorv1.IngressControllerConnectionTerminationPolicyImmediate, + expectEnvVarPresent: false, + expectedEnvVarValue: "", + }} { + t.Run(tc.name, func(t *testing.T) { + ic.Spec.IdleConnectionTerminationPolicy = tc.policy + + deployment, err := desiredRouterDeployment(ic, ingressControllerImage, ingressConfig, infraConfig, apiConfig, networkConfig, false, false, nil, clusterProxyConfig, false, false) + if err != nil { + t.Fatalf("failed to generate desired router Deployment: %v", err) + } + + expectedEnv := []envData{{ + name: "ROUTER_IDLE_CLOSE_ON_RESPONSE", + expectPresent: tc.expectEnvVarPresent, + expectedValue: tc.expectedEnvVarValue, + }} + + if err := checkDeploymentEnvironment(t, deployment, expectedEnv); err != nil { + t.Errorf("environment variable check failed: %v", err) + } + + checkDeploymentHasEnvSorted(t, deployment) + }) + } +} diff --git a/test/e2e/all_test.go b/test/e2e/all_test.go index f7bfc3b551..9779d9fec1 100644 --- a/test/e2e/all_test.go +++ b/test/e2e/all_test.go @@ -88,6 +88,7 @@ func TestAll(t *testing.T) { t.Run("TestUnmanagedAWSLBSubnets", TestUnmanagedAWSLBSubnets) t.Run("TestAWSEIPAllocationsForNLB", TestAWSEIPAllocationsForNLB) t.Run("TestUnmanagedAWSEIPAllocations", TestUnmanagedAWSEIPAllocations) + t.Run("Test_IdleConnectionTerminationPolicy", Test_IdleConnectionTerminationPolicy) }) t.Run("serial", func(t *testing.T) { diff --git a/test/e2e/idle_connection_test.go b/test/e2e/idle_connection_test.go new file mode 100644 index 0000000000..6d2980ee61 --- /dev/null +++ b/test/e2e/idle_connection_test.go @@ -0,0 +1,778 @@ +//go:build e2e +// +build e2e + +package e2e + +import ( + "bufio" + "bytes" + "context" + "errors" + "fmt" + "io" + "net/http" + "strings" + "testing" + "time" + + appsv1 "k8s.io/api/apps/v1" + corev1 "k8s.io/api/core/v1" + metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" + "k8s.io/apimachinery/pkg/types" + "k8s.io/apimachinery/pkg/util/intstr" + "k8s.io/apimachinery/pkg/util/rand" + "k8s.io/apimachinery/pkg/util/wait" + "k8s.io/utils/ptr" + + operatorv1 "github.com/openshift/api/operator/v1" + routev1 "github.com/openshift/api/route/v1" + operatorcontroller "github.com/openshift/cluster-ingress-operator/pkg/operator/controller" +) + +const ( + idleConnectionServer1Response = "web server 1" + idleConnectionServer2Response = "web server 2" +) + +type idleConnectionTestConfig struct { + deployments []*appsv1.Deployment + httpClient *http.Client + pods []*corev1.Pod + routeName types.NamespacedName + services []*corev1.Service + testLabels map[string]string +} + +// haproxyBackend represents an HAProxy backend configuration section +// with its associated settings and servers. +type haproxyBackend struct { + name string // Name of the backend as defined in HAProxy config. + settings []string // Non-server settings. + servers []string // Server entries in this backend. +} + +// getHAProxyConfigFromRouterPod retrieves the HAProxy configuration +// from a pod. +func getHAProxyConfigFromRouterPod(t *testing.T, pod *corev1.Pod) (string, error) { + var stdout, stderr bytes.Buffer + if err := podExec(t, *pod, &stdout, &stderr, []string{"cat", "/var/lib/haproxy/conf/haproxy.config"}); err != nil { + return "", fmt.Errorf("%s/%s: cat /var/lib/haproxy/conf/haproxy.config: %w (stderr=%q)", pod.Namespace, pod.Name, err, stderr.String()) + } + + return stdout.String(), nil +} + +// parseHAProxyConfigBackends parses raw HAProxy configuration content +// and extracts backend sections. Returns an error if the config is +// malformed or cannot be parsed. +func parseHAProxyConfigBackends(content string) ([]haproxyBackend, error) { + var ( + backends []haproxyBackend + currentBackend *haproxyBackend + ) + + scanner := bufio.NewScanner(strings.NewReader(content)) + lineNum := 0 + + for scanner.Scan() { + lineNum++ + line := scanner.Text() + trimmedLine := strings.TrimSpace(line) + + if trimmedLine == "" { + continue + } + + if strings.HasPrefix(trimmedLine, "backend ") { + if currentBackend != nil { + backends = append(backends, *currentBackend) + } + + name := strings.TrimSpace(strings.TrimPrefix(trimmedLine, "backend")) + if name == "" { + return nil, fmt.Errorf("empty backend name on line %d", lineNum) + } + + currentBackend = &haproxyBackend{ + name: name, + settings: []string{}, + servers: []string{}, + } + + continue + } + + if currentBackend == nil { + continue + } + + if strings.HasPrefix(trimmedLine, "server ") { + currentBackend.servers = append(currentBackend.servers, trimmedLine) + } else { + currentBackend.settings = append(currentBackend.settings, trimmedLine) + } + } + + if currentBackend != nil { + backends = append(backends, *currentBackend) + } + + if err := scanner.Err(); err != nil { + return nil, fmt.Errorf("error reading HAProxy config: %w", err) + } + + if len(backends) == 0 { + return nil, errors.New("no backends found in HAProxy configuration") + } + + return backends, nil +} + +// findHAProxyBackendWithServiceServer searches for a specific backend +// name that contains a server referencing the given service name in +// the HAProxy config. Returns the matching backend and true if found, +// or an empty backend and false if not found. +func findHAProxyBackendWithServiceServer(backends []haproxyBackend, expectedBackendName, expectedServiceName string) (haproxyBackend, bool) { + if expectedBackendName == "" || expectedServiceName == "" { + return haproxyBackend{}, false + } + + for _, b := range backends { + if b.name == expectedBackendName { + for _, server := range b.servers { + if strings.Contains(server, expectedServiceName) { + return b, true + } + } + } + } + + return haproxyBackend{}, false +} + +// waitForHAProxyConfigUpdate ensures the HAProxy configuration in all +// router pods matches the expected backend and server entries. It +// repeatedly polls the HAProxy configuration of pods selected by the +// given label selector, checking for consistency across all pods. The +// function continues polling until the configuration is verified or +// the provided context is cancelled. +func waitForHAProxyConfigUpdate(ctx context.Context, t *testing.T, ic *operatorv1.IngressController, backendName, serverName string) error { + return wait.PollUntilContextCancel(ctx, 6*time.Second, true, func(ctx context.Context) (bool, error) { + deploymentName := operatorcontroller.RouterDeploymentName(ic) + deployment, err := getDeployment(t, kclient, deploymentName, time.Minute) + if err != nil { + t.Logf("Failed to get deployment %s: %v, retrying...", deploymentName, err) + return false, nil + } + + podList, err := getPods(t, kclient, deployment) + if err != nil { + t.Logf("Failed to get pods for deployment %s: %v, retrying...", deploymentName, err) + return false, nil + } + + if len(podList.Items) == 0 { + return false, fmt.Errorf("no router pods found for deployment %s", deploymentName) + } + + allPodsMatch := true + for _, pod := range podList.Items { + if pod.Status.Phase == corev1.PodSucceeded || pod.Status.Phase == corev1.PodFailed { + t.Logf("Skipping terminated pod %s/%s (phase: %v)", pod.Namespace, pod.Name, pod.Status.Phase) + continue + } + + haproxyConfig, err := getHAProxyConfigFromRouterPod(t, &pod) + if err != nil { + t.Logf("Failed to get HAProxy config from pod %s/%s: %v, retrying...", pod.Namespace, pod.Name, err) + allPodsMatch = false + continue + } + + backends, err := parseHAProxyConfigBackends(haproxyConfig) + if err != nil { + t.Logf("Failed to parse HAProxy config from pod %s/%s: %v", pod.Namespace, pod.Name, err) + allPodsMatch = false + continue + } + + backend, found := findHAProxyBackendWithServiceServer(backends, backendName, serverName) + if !found { + allPodsMatch = false + t.Logf("Waiting for HAProxy backend %q in pod %s/%s", backendName, pod.Namespace, pod.Name) + continue + } + + t.Logf("Found HAProxy backend in pod %s/%s:\nBackend: %s\nServers: %s", pod.Namespace, pod.Name, backendName, strings.Join(backend.servers, "\n ")) + } + + return allPodsMatch, nil + }) +} + +func idleConnectionTestSetup(ctx context.Context, t *testing.T, ns *corev1.Namespace, ic *operatorv1.IngressController) (*idleConnectionTestConfig, error) { + canaryImageReference := func(t *testing.T) (string, error) { + ingressOperatorName := types.NamespacedName{ + Name: "ingress-operator", + Namespace: operatorNamespace, + } + + deployment, err := getDeployment(t, kclient, ingressOperatorName, 1*time.Minute) + if err != nil { + return "", fmt.Errorf("failed to get deployment %s/%s: %w", ingressOperatorName.Namespace, ingressOperatorName.Name, err) + } + + for _, container := range deployment.Spec.Template.Spec.Containers { + for _, env := range container.Env { + if env.Name == "CANARY_IMAGE" { + return env.Value, nil + } + } + } + + return "", fmt.Errorf("CANARY_IMAGE environment variable not found in deployment %s/%s", ingressOperatorName.Namespace, ingressOperatorName.Name) + } + + tc := &idleConnectionTestConfig{ + testLabels: map[string]string{ + "ingress-controller": ic.Name, + }, + } + + image, err := canaryImageReference(t) + if err != nil { + return nil, fmt.Errorf("failed to get canary image: %w", err) + } + + if err := idleConnectionCreateBackendService(ctx, t, ns, tc, 1, idleConnectionServer1Response, image); err != nil { + return nil, fmt.Errorf("failed to create backend 1: %w", err) + } + + if err := idleConnectionCreateBackendService(ctx, t, ns, tc, 2, idleConnectionServer2Response, image); err != nil { + return nil, fmt.Errorf("failed to create backend 2: %w", err) + } + + for _, deployment := range tc.deployments { + t.Logf("Waiting for deployment %s/%s to be ready...", deployment.Namespace, deployment.Name) + + if err := waitForDeploymentComplete(t, kclient, deployment, 2*time.Minute); err != nil { + return nil, fmt.Errorf("deployment %s/%s is not ready: %w", deployment.Namespace, deployment.Name, err) + } + + podList, err := getPods(t, kclient, deployment) + if err != nil { + return nil, fmt.Errorf("failed to fetch pods for deployment %s/%s: %w", deployment.Namespace, deployment.Name, err) + } + + if len(podList.Items) == 0 { + return nil, fmt.Errorf("no pods in deployment %s/%s", deployment.Namespace, deployment.Name) + } + + for i := range podList.Items { + tc.pods = append(tc.pods, &podList.Items[i]) + } + } + + route, err := idleConnectionCreateRoute(ctx, ns.Name, "test", tc.services[0].Name, tc.testLabels) + if err != nil { + return nil, fmt.Errorf("failed to create test route: %w", err) + } + + routeAdmittedCondition := routev1.RouteIngressCondition{ + Type: routev1.RouteAdmitted, + Status: corev1.ConditionTrue, + } + + if err := waitForRouteIngressConditions(t, kclient, types.NamespacedName{Name: route.Name, Namespace: route.Namespace}, ic.Name, routeAdmittedCondition); err != nil { + return nil, fmt.Errorf("error waiting for route to be admitted: %w", err) + } + + t.Logf("Route %s/%s admitted by ingresscontroller %s", route.Namespace, route.Name, ic.Name) + + if len(tc.deployments) != 2 { + return nil, fmt.Errorf("expected 2 deployments, but got %d", len(tc.deployments)) + } + + if len(tc.services) != 2 { + return nil, fmt.Errorf("expected 2 services, but got %d", len(tc.services)) + } + + if len(tc.pods) != 2 { + return nil, fmt.Errorf("expected 2 pods, but got %d", len(tc.pods)) + } + + tc.routeName = types.NamespacedName{Namespace: route.Namespace, Name: route.Name} + + return tc, nil +} + +func idleConnectionCreateBackendService(ctx context.Context, t *testing.T, ns *corev1.Namespace, tc *idleConnectionTestConfig, index int, serverResponse, image string) error { + svc, err := idleConnectionCreateService(ctx, ns.Name, index) + if err != nil { + return fmt.Errorf("failed to create service %d: %w", index, err) + } + tc.services = append(tc.services, svc) + + deployment, err := idleConnectionCreateDeployment(ctx, ns.Name, index, serverResponse, image) + if err != nil { + return fmt.Errorf("failed to create deployment %d: %w", index, err) + } + tc.deployments = append(tc.deployments, deployment) + + if err := waitForDeploymentComplete(t, kclient, deployment, 2*time.Minute); err != nil { + return fmt.Errorf("deployment %d is not ready: %w", index, err) + } + + return nil +} + +func idleConnectionCreateDeployment(ctx context.Context, namespace string, serviceNumber int, serverResponse, image string) (*appsv1.Deployment, error) { + name := fmt.Sprintf("web-server-%d", serviceNumber) + secretName := fmt.Sprintf("serving-cert-%s-%s", namespace, name) + + selectorLabels := map[string]string{ + "app": "web-server", + "instance": fmt.Sprintf("%d", serviceNumber), + } + + deployment := &appsv1.Deployment{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: namespace, + Labels: selectorLabels, + }, + Spec: appsv1.DeploymentSpec{ + Replicas: ptr.To[int32](1), + Selector: &metav1.LabelSelector{ + MatchLabels: selectorLabels, + }, + Template: corev1.PodTemplateSpec{ + ObjectMeta: metav1.ObjectMeta{ + Labels: selectorLabels, + }, + Spec: corev1.PodSpec{ + Containers: []corev1.Container{ + { + Name: name, + Image: image, + ImagePullPolicy: corev1.PullIfNotPresent, + Command: []string{"/usr/bin/ingress-operator"}, + Args: []string{"serve-http2-test-server"}, + Ports: []corev1.ContainerPort{ + {Name: "http", ContainerPort: 8080}, + }, + Env: []corev1.EnvVar{ + {Name: "CUSTOM_RESPONSE", Value: serverResponse}, + {Name: "PORT", Value: "8080"}, + {Name: "TLS_CERT", Value: "/etc/serving-cert/tls.crt"}, + {Name: "TLS_KEY", Value: "/etc/serving-cert/tls.key"}, + }, + ReadinessProbe: &corev1.Probe{ + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "/healthz", + Port: intstr.FromInt32(8080), + Scheme: corev1.URISchemeHTTP, + }, + }, + InitialDelaySeconds: 1, + PeriodSeconds: 1, + TimeoutSeconds: 5, + }, + LivenessProbe: &corev1.Probe{ + ProbeHandler: corev1.ProbeHandler{ + HTTPGet: &corev1.HTTPGetAction{ + Path: "/healthz", + Port: intstr.FromInt32(8080), + Scheme: corev1.URISchemeHTTP, + }, + }, + InitialDelaySeconds: 1, + PeriodSeconds: 1, + TimeoutSeconds: 5, + }, + + VolumeMounts: []corev1.VolumeMount{ + { + Name: "serving-cert", + MountPath: "/etc/serving-cert", + }, + }, + }, + }, + Volumes: []corev1.Volume{ + { + Name: "serving-cert", + VolumeSource: corev1.VolumeSource{ + Secret: &corev1.SecretVolumeSource{ + SecretName: secretName, + }, + }, + }, + }, + }, + }, + }, + } + + if err := kclient.Create(ctx, deployment); err != nil { + return nil, fmt.Errorf("failed to create deployment %s/%s: %w", deployment.Namespace, deployment.Name, err) + } + + return deployment, nil +} + +func idleConnectionCreateService(ctx context.Context, namespace string, serviceNumber int) (*corev1.Service, error) { + name := fmt.Sprintf("web-server-%d", serviceNumber) + secretName := fmt.Sprintf("serving-cert-%s-%s", namespace, name) + selectorLabels := map[string]string{ + "app": "web-server", + "instance": fmt.Sprintf("%d", serviceNumber), + } + + service := &corev1.Service{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: namespace, + Labels: selectorLabels, + Annotations: map[string]string{ + "service.beta.openshift.io/serving-cert-secret-name": secretName, + }, + }, + Spec: corev1.ServiceSpec{ + Selector: selectorLabels, + Ports: []corev1.ServicePort{{ + Name: "http", + Port: 8080, + TargetPort: intstr.FromInt32(8080), + Protocol: corev1.ProtocolTCP, + }}, + }, + } + + if err := kclient.Create(ctx, service); err != nil { + return nil, fmt.Errorf("failed to create service %s/%s: %w", service.Namespace, service.Name, err) + } + + return service, nil +} + +func idleConnectionCreateRoute(ctx context.Context, namespace, name, serviceName string, labels map[string]string) (*routev1.Route, error) { + route := &routev1.Route{ + ObjectMeta: metav1.ObjectMeta{ + Name: name, + Namespace: namespace, + Labels: labels, + }, + Spec: routev1.RouteSpec{ + Subdomain: name, + To: routev1.RouteTargetReference{ + Kind: "Service", + Name: serviceName, + }, + Port: &routev1.RoutePort{ + TargetPort: intstr.FromString("http"), + }, + WildcardPolicy: routev1.WildcardPolicyNone, + }, + } + + if err := kclient.Create(ctx, route); err != nil { + return nil, fmt.Errorf("failed to create route %s/%s: %w", route.Namespace, route.Name, err) + } + + return route, nil +} + +func idleConnectionSwitchRouteService(t *testing.T, ic *operatorv1.IngressController, tc *idleConnectionTestConfig, routeName types.NamespacedName, serviceIndex int) (*routev1.Route, error) { + if serviceIndex >= len(tc.services) { + return nil, fmt.Errorf("service index %d out of range", serviceIndex) + } + + service := tc.services[serviceIndex] + + var updatedRoute *routev1.Route + if err := updateRouteWithRetryOnConflict(t, routeName, time.Minute, func(route *routev1.Route) { + route.Spec.To.Name = service.Name + updatedRoute = route + }); err != nil { + return nil, fmt.Errorf("failed to update route %s to point to service %s/%s: %w", routeName, service.Namespace, service.Name, err) + } + + t.Logf("Switched route %s to service %s/%s", routeName, service.Namespace, service.Name) + + routeAdmittedCondition := routev1.RouteIngressCondition{ + Type: routev1.RouteAdmitted, + Status: corev1.ConditionTrue, + } + if err := waitForRouteIngressConditions(t, kclient, routeName, ic.Name, routeAdmittedCondition); err != nil { + return nil, fmt.Errorf("error waiting for route to be admitted: %w", err) + } + + t.Logf("Route %s admitted by ingresscontroller %s", routeName, ic.Name) + + expectedBackendName := fmt.Sprintf("be_http:%s:%s", routeName.Namespace, routeName.Name) + expectedServerName := fmt.Sprintf("pod:%s:%s:http:%s:%d", tc.pods[serviceIndex].Name, service.Name, tc.pods[serviceIndex].Status.PodIP, service.Spec.Ports[0].Port) + + ctx, cancel := context.WithTimeout(context.Background(), 5*time.Minute) + defer cancel() + if err := waitForHAProxyConfigUpdate(ctx, t, ic, expectedBackendName, expectedServerName); err != nil { + return nil, fmt.Errorf("error waiting for HAProxy configuration update for route %s to point to service %s/%s: %w", routeName, service.Namespace, service.Name, err) + } + + t.Logf("HAProxy configuration updated for route %s to point to service %s/%s", routeName, service.Namespace, service.Name) + + return updatedRoute, nil +} + +func idleConnectionFetchResponse(t *testing.T, client *http.Client, elbHostname, hostname string) (string, error) { + url := fmt.Sprintf("http://%s/custom-response", elbHostname) + req, err := http.NewRequest(http.MethodGet, url, nil) + if err != nil { + return "", fmt.Errorf("failed to create request: %w", err) + } + req.Host = hostname + t.Logf("GET %s with Host %s", url, req.Host) + + var responseBody string + compareFunc := func(resp *http.Response) bool { + if resp.StatusCode == http.StatusServiceUnavailable { + t.Logf("Got %v Service Unavailable, retrying...", resp.StatusCode) + return false + } + if resp.StatusCode != http.StatusOK { + t.Logf("Got unexpected status code: %d", resp.StatusCode) + return false + } + + bodyBytes, err := io.ReadAll(resp.Body) + if err != nil { + t.Logf("Failed to read response body: %v", err) + return false + } + responseBody = string(bodyBytes) + return true + } + + if err := waitForHTTPClientCondition(t, client, req, 6*time.Second, time.Minute, compareFunc); err != nil { + return "", fmt.Errorf("failed waiting for successful response: %w", err) + } + + return responseBody, nil +} + +func idleConnectionSwitchIdleTerminationPolicy(t *testing.T, ic *operatorv1.IngressController, icName types.NamespacedName, policy operatorv1.IngressControllerConnectionTerminationPolicy) error { + if err := updateIngressControllerWithRetryOnConflict(t, icName, 5*time.Minute, func(ic *operatorv1.IngressController) { + ic.Spec.IdleConnectionTerminationPolicy = policy + }); err != nil { + return fmt.Errorf("failed to update IdleConnectionTerminationPolicy to %q for ingresscontroller %s: %w", policy, icName, err) + } + + t.Logf("Updated IdleConnectionTerminationPolicy from %q to %q for ingresscontroller %s", ic.Spec.IdleConnectionTerminationPolicy, policy, icName) + + if err := waitForDeploymentCompleteWithOldPodTermination(t, kclient, operatorcontroller.RouterDeploymentName(ic), 3*time.Minute); err != nil { + return fmt.Errorf("failed to observe router deployment completion: %w", err) + } + + t.Logf("Waiting for ingresscontroller to stabilise after policy switch to %q", policy) + + if err := waitForIngressControllerCondition(t, kclient, 5*time.Minute, icName, availableConditionsForIngressControllerWithLoadBalancer...); err != nil { + return fmt.Errorf("failed to observe expected conditions after switching policy to %q: %w", policy, err) + } + + t.Logf("IngressController available after policy switch to %q", policy) + + routerDeployment := appsv1.Deployment{} + if err := kclient.Get(context.TODO(), operatorcontroller.RouterDeploymentName(ic), &routerDeployment); err != nil { + t.Fatalf("failed to get ingresscontroller deployment: %v", err) + } + + verifyRouterEnvVar := func(expectValue string) error { + state := "unset" + if expectValue != "" { + state = fmt.Sprintf("set to %q", expectValue) + } + + t.Logf("Waiting for router deployment to have environment variable ROUTER_IDLE_CLOSE_ON_RESPONSE %s", state) + + if err := waitForDeploymentEnvVar(t, kclient, &routerDeployment, 2*time.Minute, "ROUTER_IDLE_CLOSE_ON_RESPONSE", expectValue); err != nil { + return fmt.Errorf("expected router deployment to have ROUTER_IDLE_CLOSE_ON_RESPONSE %s: %w", state, err) + } + + t.Logf("Router deployment has environment variable ROUTER_IDLE_CLOSE_ON_RESPONSE %s", state) + return nil + } + + switch policy { + case operatorv1.IngressControllerConnectionTerminationPolicyDeferred: + if err := verifyRouterEnvVar("true"); err != nil { + return err + } + case operatorv1.IngressControllerConnectionTerminationPolicyImmediate: + if err := verifyRouterEnvVar(""); err != nil { + return err + } + default: + return fmt.Errorf("unsupported idle connection termination policy: %q", policy) + } + + return nil +} + +// Test_IdleConnectionTerminationPolicy verifies that the +// IngressController correctly handles backend switching under +// different IdleConnectionTerminationPolicy settings. +// +// This test: +// 1. Deploys two backend services (`web-server-1` and `web-server-2`). +// 2. Alternates a Route between the backends. +// 3. Validates that HAProxy routes requests to the correct backend +// according to the policy (`Immediate` or `Deferred`). +// 4. Ensures router pods correctly apply the expected environment +// variable (`ROUTER_IDLE_CLOSE_ON_RESPONSE`) for each policy. +// +// Note: In the `Deferred` policy case, due to keep-alive behaviour, +// the first request after switching backends will still be routed to +// the previously active backend. The test accounts for this expected +// behaviour and validates subsequent requests route correctly to the +// new backend. +func Test_IdleConnectionTerminationPolicy(t *testing.T) { + t.Parallel() + testName := "idle-close-on-response-" + rand.String(5) + icName := types.NamespacedName{Namespace: operatorNamespace, Name: testName} + ns := createNamespace(t, icName.Name) + ic := newLoadBalancerController(icName, icName.Name+"."+dnsConfig.Spec.BaseDomain) + ic.Spec.EndpointPublishingStrategy.LoadBalancer = &operatorv1.LoadBalancerStrategy{ + Scope: operatorv1.ExternalLoadBalancer, + DNSManagementPolicy: operatorv1.ManagedLoadBalancerDNS, + } + if err := kclient.Create(context.TODO(), ic); err != nil { + t.Fatalf("failed to create ingresscontroller: %v", err) + } + defer assertIngressControllerDeleted(t, kclient, ic) + + if err := waitForIngressControllerCondition(t, kclient, 5*time.Minute, icName, availableConditionsForIngressControllerWithLoadBalancer...); err != nil { + t.Fatalf("failed to observe expected conditions: %v", err) + } + + ic, err := getIngressController(t, kclient, icName, 1*time.Minute) + if err != nil { + t.Fatalf("failed to get ingresscontroller: %v", err) + } + + elbHostname := getIngressControllerLBAddress(t, ic) + externalTestPodName := types.NamespacedName{Name: icName.Name + "-external-verify", Namespace: icName.Namespace} + verifyExternalIngressController(t, externalTestPodName, "apps."+ic.Spec.Domain, elbHostname) + + lbService := &corev1.Service{} + if err := kclient.Get(context.TODO(), operatorcontroller.LoadBalancerServiceName(ic), lbService); err != nil { + t.Fatalf("failed to get LoadBalancer service for ingresscontroller %s: %v", icName, err) + } + + currentIdleTerminationPolicy := ic.Spec.IdleConnectionTerminationPolicy + t.Logf("IngressController %s initial IdleConnectionTerminationPolicy=%q", ic.Name, currentIdleTerminationPolicy) + + tc, err := idleConnectionTestSetup(context.Background(), t, ns, ic) + if err != nil { + t.Fatalf("test setup failed: %v", err) + } + + var route routev1.Route + if err := kclient.Get(context.TODO(), tc.routeName, &route); err != nil { + t.Fatalf("failed to get route %s: %v", tc.routeName, err) + } + + routeHost := getRouteHost(&route, ic.Name) + if routeHost == "" { + t.Fatalf("Route %s has no host assigned by ingresscontroller %s", tc.routeName, ic.Name) + } + + expectedResponses := map[operatorv1.IngressControllerConnectionTerminationPolicy][]string{ + operatorv1.IngressControllerConnectionTerminationPolicyDeferred: { + idleConnectionServer1Response, // Step 1: Switch to web-server-1 and GET response. + idleConnectionServer1Response, // Step 2: GET response. + idleConnectionServer1Response, // Step 3: Switch to web-server-2 and GET response. + idleConnectionServer2Response, // Step 4: GET response. + }, + operatorv1.IngressControllerConnectionTerminationPolicyImmediate: { + idleConnectionServer1Response, // Step 1: Switch to web-server-1 and GET response. + idleConnectionServer1Response, // Step 2: GET response. + idleConnectionServer2Response, // Step 3: Switch to web-server-2 and GET response. + idleConnectionServer2Response, // Step 4: GET response. + }, + } + + actions := []func() (string, error){ + func() (string, error) { + // Step 1: Set the route back to service web-server-1 and fetch the response. + if _, err := idleConnectionSwitchRouteService(t, ic, tc, tc.routeName, 0); err != nil { + return "", fmt.Errorf("failed to switch route back to web-server-1: %w", err) + } + return idleConnectionFetchResponse(t, tc.httpClient, elbHostname, routeHost) + }, + func() (string, error) { + // Step 2: Verify the response from web-server-1. + return idleConnectionFetchResponse(t, tc.httpClient, elbHostname, routeHost) + }, + func() (string, error) { + // Step 3: Switch the route to service web-server-2 and fetch the response. + if _, err := idleConnectionSwitchRouteService(t, ic, tc, tc.routeName, 1); err != nil { + return "", fmt.Errorf("failed to switch route to web-server-2: %w", err) + } + return idleConnectionFetchResponse(t, tc.httpClient, elbHostname, routeHost) + }, + func() (string, error) { + // Step 4: Fetch the final response (expected to be from web-server-2). + return idleConnectionFetchResponse(t, tc.httpClient, elbHostname, routeHost) + }, + } + + policiesToTest := []operatorv1.IngressControllerConnectionTerminationPolicy{ + operatorv1.IngressControllerConnectionTerminationPolicyImmediate, + operatorv1.IngressControllerConnectionTerminationPolicyDeferred, + } + + // If the current policy is Deferred, reorder the test cases + // to start with Deferred. Later in the test, we skip updating + // the policy when it matches our test case. This way, if the + // IngressController starts with Deferred policy, we avoid an + // unnecessary rollout in the beginning of our test. + if currentIdleTerminationPolicy == operatorv1.IngressControllerConnectionTerminationPolicyDeferred { + t.Log("Reordering test cases to avoid initial policy switch") + policiesToTest = []operatorv1.IngressControllerConnectionTerminationPolicy{ + operatorv1.IngressControllerConnectionTerminationPolicyDeferred, + operatorv1.IngressControllerConnectionTerminationPolicyImmediate, + } + } + + tc.httpClient = &http.Client{ + Timeout: time.Minute, + Transport: &http.Transport{ + IdleConnTimeout: 300 * time.Second, + }, + } + + for i, policy := range policiesToTest { + if i == 0 && policy == currentIdleTerminationPolicy { + t.Logf("Skipping initial policy switch as current policy %q already matches %q", currentIdleTerminationPolicy, policy) + } else { + if err := idleConnectionSwitchIdleTerminationPolicy(t, ic, icName, policy); err != nil { + t.Fatalf("failed to switch to policy %q: %v", policy, err) + } + } + + for j, action := range actions { + resp, err := action() + if err != nil { + t.Fatalf("Step %d failed: %v", j+1, err) + } + + if resp != expectedResponses[policy][j] { + t.Fatalf("unexpected response at step %d for policy %q: got %q, want %q", + j+1, policy, resp, expectedResponses[policy][j]) + } + + t.Logf("Step %d response for policy %q matches expected value %q", j+1, policy, resp) + } + } +}