var _ … // NewQueryParamVerifierV3 returns a pointer to the created queryParamVerifier3 struct, // which implements the Verifier interface. The caching characteristics of the // OpenAPI V3 specs are determined by the passed oapiClient. For memory caching, the // client should be wrapped beforehand as: cached.NewClient(oapiClient). The disk // caching is determined by the discovery client the oapiClient is created from. func NewQueryParamVerifierV3(dynamicClient dynamic.Interface, oapiClient openapi.Client, queryParam VerifiableQueryParam) Verifier { … } type queryParamVerifierV3 … var namespaceGVK … // HasSupport returns nil error if the passed GVK supports the parameter // (stored in struct; usually "fieldValidation") for Patch endpoint. // Returns an error if the passed GVK does not support the query param, // or if another error occurred. If the Open API V3 spec for a CRD is not // found, then the spec for Namespace is checked for query param support instead. func (v *queryParamVerifierV3) HasSupport(gvk schema.GroupVersionKind) error { … } // hasGVKExtensionV3 returns true if the passed OpenAPI extensions map contains // the passed GVK; false otherwise. func hasGVKExtensionV3(extensions spec.Extensions, gvk schema.GroupVersionKind) bool { … } // supportsQueryParam is a method that let's us look in the OpenAPI if the // specific group-version-kind supports the specific query parameter for // the PATCH end-point. Returns nil if the passed GVK supports the passed // query parameter; otherwise, a "paramUnsupportedError" is returned (except // when an invalid document error is returned when an invalid OpenAPI V3 // is passed in). func supportsQueryParamV3(doc *spec3.OpenAPI, gvk schema.GroupVersionKind, queryParam VerifiableQueryParam) error { … }