vendor: revendor
This commit is contained in:
		
							
								
								
									
										262
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										262
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,262 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| import "k8s.io/apimachinery/pkg/runtime" | ||||
|  | ||||
| // TODO: Update this after a tag is created for interface fields in DeepCopy | ||||
| func (in *JSONSchemaProps) DeepCopy() *JSONSchemaProps { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaProps) | ||||
|  | ||||
| 	*out = *in | ||||
|  | ||||
| 	if in.Default != nil { | ||||
| 		defaultJSON := JSON(runtime.DeepCopyJSONValue(*(in.Default))) | ||||
| 		out.Default = &(defaultJSON) | ||||
| 	} else { | ||||
| 		out.Default = nil | ||||
| 	} | ||||
|  | ||||
| 	if in.Example != nil { | ||||
| 		exampleJSON := JSON(runtime.DeepCopyJSONValue(*(in.Example))) | ||||
| 		out.Example = &(exampleJSON) | ||||
| 	} else { | ||||
| 		out.Example = nil | ||||
| 	} | ||||
|  | ||||
| 	if in.Ref != nil { | ||||
| 		in, out := &in.Ref, &out.Ref | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(string) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Maximum != nil { | ||||
| 		in, out := &in.Maximum, &out.Maximum | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Minimum != nil { | ||||
| 		in, out := &in.Minimum, &out.Minimum | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MaxLength != nil { | ||||
| 		in, out := &in.MaxLength, &out.MaxLength | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinLength != nil { | ||||
| 		in, out := &in.MinLength, &out.MinLength | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
| 	if in.MaxItems != nil { | ||||
| 		in, out := &in.MaxItems, &out.MaxItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinItems != nil { | ||||
| 		in, out := &in.MinItems, &out.MinItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MultipleOf != nil { | ||||
| 		in, out := &in.MultipleOf, &out.MultipleOf | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Enum != nil { | ||||
| 		out.Enum = make([]JSON, len(in.Enum)) | ||||
| 		for i := range in.Enum { | ||||
| 			out.Enum[i] = runtime.DeepCopyJSONValue(in.Enum[i]) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MaxProperties != nil { | ||||
| 		in, out := &in.MaxProperties, &out.MaxProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinProperties != nil { | ||||
| 		in, out := &in.MinProperties, &out.MinProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Required != nil { | ||||
| 		in, out := &in.Required, &out.Required | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
|  | ||||
| 	if in.Items != nil { | ||||
| 		in, out := &in.Items, &out.Items | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrArray) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AllOf != nil { | ||||
| 		in, out := &in.AllOf, &out.AllOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.OneOf != nil { | ||||
| 		in, out := &in.OneOf, &out.OneOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	if in.AnyOf != nil { | ||||
| 		in, out := &in.AnyOf, &out.AnyOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Not != nil { | ||||
| 		in, out := &in.Not, &out.Not | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaProps) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Properties != nil { | ||||
| 		in, out := &in.Properties, &out.Properties | ||||
| 		*out = make(map[string]JSONSchemaProps, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AdditionalProperties != nil { | ||||
| 		in, out := &in.AdditionalProperties, &out.AdditionalProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrBool) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.PatternProperties != nil { | ||||
| 		in, out := &in.PatternProperties, &out.PatternProperties | ||||
| 		*out = make(map[string]JSONSchemaProps, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Dependencies != nil { | ||||
| 		in, out := &in.Dependencies, &out.Dependencies | ||||
| 		*out = make(JSONSchemaDependencies, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AdditionalItems != nil { | ||||
| 		in, out := &in.AdditionalItems, &out.AdditionalItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrBool) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Definitions != nil { | ||||
| 		in, out := &in.Definitions, &out.Definitions | ||||
| 		*out = make(JSONSchemaDefinitions, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.ExternalDocs != nil { | ||||
| 		in, out := &in.ExternalDocs, &out.ExternalDocs | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(ExternalDocumentation) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return out | ||||
| } | ||||
							
								
								
									
										21
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,21 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // +k8s:deepcopy-gen=package | ||||
| // +groupName=apiextensions.k8s.io | ||||
|  | ||||
| // Package apiextensions is the internal version of the API. | ||||
| package apiextensions // import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" | ||||
							
								
								
									
										256
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										256
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/helpers.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,256 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| import ( | ||||
| 	"fmt" | ||||
| 	"time" | ||||
|  | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| ) | ||||
|  | ||||
| var swaggerMetadataDescriptions = metav1.ObjectMeta{}.SwaggerDoc() | ||||
|  | ||||
| // SetCRDCondition sets the status condition. It either overwrites the existing one or creates a new one. | ||||
| func SetCRDCondition(crd *CustomResourceDefinition, newCondition CustomResourceDefinitionCondition) { | ||||
| 	existingCondition := FindCRDCondition(crd, newCondition.Type) | ||||
| 	if existingCondition == nil { | ||||
| 		newCondition.LastTransitionTime = metav1.NewTime(time.Now()) | ||||
| 		crd.Status.Conditions = append(crd.Status.Conditions, newCondition) | ||||
| 		return | ||||
| 	} | ||||
|  | ||||
| 	if existingCondition.Status != newCondition.Status { | ||||
| 		existingCondition.Status = newCondition.Status | ||||
| 		existingCondition.LastTransitionTime = newCondition.LastTransitionTime | ||||
| 	} | ||||
|  | ||||
| 	existingCondition.Reason = newCondition.Reason | ||||
| 	existingCondition.Message = newCondition.Message | ||||
| } | ||||
|  | ||||
| // RemoveCRDCondition removes the status condition. | ||||
| func RemoveCRDCondition(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) { | ||||
| 	newConditions := []CustomResourceDefinitionCondition{} | ||||
| 	for _, condition := range crd.Status.Conditions { | ||||
| 		if condition.Type != conditionType { | ||||
| 			newConditions = append(newConditions, condition) | ||||
| 		} | ||||
| 	} | ||||
| 	crd.Status.Conditions = newConditions | ||||
| } | ||||
|  | ||||
| // FindCRDCondition returns the condition you're looking for or nil. | ||||
| func FindCRDCondition(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) *CustomResourceDefinitionCondition { | ||||
| 	for i := range crd.Status.Conditions { | ||||
| 		if crd.Status.Conditions[i].Type == conditionType { | ||||
| 			return &crd.Status.Conditions[i] | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // IsCRDConditionTrue indicates if the condition is present and strictly true. | ||||
| func IsCRDConditionTrue(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) bool { | ||||
| 	return IsCRDConditionPresentAndEqual(crd, conditionType, ConditionTrue) | ||||
| } | ||||
|  | ||||
| // IsCRDConditionFalse indicates if the condition is present and false. | ||||
| func IsCRDConditionFalse(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType) bool { | ||||
| 	return IsCRDConditionPresentAndEqual(crd, conditionType, ConditionFalse) | ||||
| } | ||||
|  | ||||
| // IsCRDConditionPresentAndEqual indicates if the condition is present and equal to the given status. | ||||
| func IsCRDConditionPresentAndEqual(crd *CustomResourceDefinition, conditionType CustomResourceDefinitionConditionType, status ConditionStatus) bool { | ||||
| 	for _, condition := range crd.Status.Conditions { | ||||
| 		if condition.Type == conditionType { | ||||
| 			return condition.Status == status | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // IsCRDConditionEquivalent returns true if the lhs and rhs are equivalent except for times. | ||||
| func IsCRDConditionEquivalent(lhs, rhs *CustomResourceDefinitionCondition) bool { | ||||
| 	if lhs == nil && rhs == nil { | ||||
| 		return true | ||||
| 	} | ||||
| 	if lhs == nil || rhs == nil { | ||||
| 		return false | ||||
| 	} | ||||
|  | ||||
| 	return lhs.Message == rhs.Message && lhs.Reason == rhs.Reason && lhs.Status == rhs.Status && lhs.Type == rhs.Type | ||||
| } | ||||
|  | ||||
| // CRDHasFinalizer returns true if the finalizer is in the list. | ||||
| func CRDHasFinalizer(crd *CustomResourceDefinition, needle string) bool { | ||||
| 	for _, finalizer := range crd.Finalizers { | ||||
| 		if finalizer == needle { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // CRDRemoveFinalizer removes the finalizer if present. | ||||
| func CRDRemoveFinalizer(crd *CustomResourceDefinition, needle string) { | ||||
| 	newFinalizers := []string{} | ||||
| 	for _, finalizer := range crd.Finalizers { | ||||
| 		if finalizer != needle { | ||||
| 			newFinalizers = append(newFinalizers, finalizer) | ||||
| 		} | ||||
| 	} | ||||
| 	crd.Finalizers = newFinalizers | ||||
| } | ||||
|  | ||||
| // HasServedCRDVersion returns true if the given version is in the list of CRD's versions and the Served flag is set. | ||||
| func HasServedCRDVersion(crd *CustomResourceDefinition, version string) bool { | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if v.Name == version { | ||||
| 			return v.Served | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // GetCRDStorageVersion returns the storage version for given CRD. | ||||
| func GetCRDStorageVersion(crd *CustomResourceDefinition) (string, error) { | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if v.Storage { | ||||
| 			return v.Name, nil | ||||
| 		} | ||||
| 	} | ||||
| 	// This should not happened if crd is valid | ||||
| 	return "", fmt.Errorf("invalid CustomResourceDefinition, no storage version") | ||||
| } | ||||
|  | ||||
| // IsStoredVersion returns whether the given version is the storage version of the CRD. | ||||
| func IsStoredVersion(crd *CustomResourceDefinition, version string) bool { | ||||
| 	for _, v := range crd.Status.StoredVersions { | ||||
| 		if version == v { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // GetSchemaForVersion returns the validation schema for the given version or nil. | ||||
| func GetSchemaForVersion(crd *CustomResourceDefinition, version string) (*CustomResourceValidation, error) { | ||||
| 	if !HasPerVersionSchema(crd.Spec.Versions) { | ||||
| 		return crd.Spec.Validation, nil | ||||
| 	} | ||||
| 	if crd.Spec.Validation != nil { | ||||
| 		return nil, fmt.Errorf("malformed CustomResourceDefinition %s version %s: top-level and per-version schemas must be mutual exclusive", crd.Name, version) | ||||
| 	} | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if version == v.Name { | ||||
| 			return v.Schema, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, fmt.Errorf("version %s not found in CustomResourceDefinition: %v", version, crd.Name) | ||||
| } | ||||
|  | ||||
| // GetSubresourcesForVersion returns the subresources for given version or nil. | ||||
| func GetSubresourcesForVersion(crd *CustomResourceDefinition, version string) (*CustomResourceSubresources, error) { | ||||
| 	if !HasPerVersionSubresources(crd.Spec.Versions) { | ||||
| 		return crd.Spec.Subresources, nil | ||||
| 	} | ||||
| 	if crd.Spec.Subresources != nil { | ||||
| 		return nil, fmt.Errorf("malformed CustomResourceDefinition %s version %s: top-level and per-version subresources must be mutual exclusive", crd.Name, version) | ||||
| 	} | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if version == v.Name { | ||||
| 			return v.Subresources, nil | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, fmt.Errorf("version %s not found in CustomResourceDefinition: %v", version, crd.Name) | ||||
| } | ||||
|  | ||||
| // GetColumnsForVersion returns the columns for given version or nil. | ||||
| // NOTE: the newly logically-defaulted columns is not pointing to the original CRD object. | ||||
| // One cannot mutate the original CRD columns using the logically-defaulted columns. Please iterate through | ||||
| // the original CRD object instead. | ||||
| func GetColumnsForVersion(crd *CustomResourceDefinition, version string) ([]CustomResourceColumnDefinition, error) { | ||||
| 	if !HasPerVersionColumns(crd.Spec.Versions) { | ||||
| 		return serveDefaultColumnsIfEmpty(crd.Spec.AdditionalPrinterColumns), nil | ||||
| 	} | ||||
| 	if len(crd.Spec.AdditionalPrinterColumns) > 0 { | ||||
| 		return nil, fmt.Errorf("malformed CustomResourceDefinition %s version %s: top-level and per-version additionalPrinterColumns must be mutual exclusive", crd.Name, version) | ||||
| 	} | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if version == v.Name { | ||||
| 			return serveDefaultColumnsIfEmpty(v.AdditionalPrinterColumns), nil | ||||
| 		} | ||||
| 	} | ||||
| 	return nil, fmt.Errorf("version %s not found in CustomResourceDefinition: %v", version, crd.Name) | ||||
| } | ||||
|  | ||||
| // HasPerVersionSchema returns true if a CRD uses per-version schema. | ||||
| func HasPerVersionSchema(versions []CustomResourceDefinitionVersion) bool { | ||||
| 	for _, v := range versions { | ||||
| 		if v.Schema != nil { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // HasPerVersionSubresources returns true if a CRD uses per-version subresources. | ||||
| func HasPerVersionSubresources(versions []CustomResourceDefinitionVersion) bool { | ||||
| 	for _, v := range versions { | ||||
| 		if v.Subresources != nil { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // HasPerVersionColumns returns true if a CRD uses per-version columns. | ||||
| func HasPerVersionColumns(versions []CustomResourceDefinitionVersion) bool { | ||||
| 	for _, v := range versions { | ||||
| 		if len(v.AdditionalPrinterColumns) > 0 { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
|  | ||||
| // serveDefaultColumnsIfEmpty applies logically defaulting to columns, if the input columns is empty. | ||||
| // NOTE: in this way, the newly logically-defaulted columns is not pointing to the original CRD object. | ||||
| // One cannot mutate the original CRD columns using the logically-defaulted columns. Please iterate through | ||||
| // the original CRD object instead. | ||||
| func serveDefaultColumnsIfEmpty(columns []CustomResourceColumnDefinition) []CustomResourceColumnDefinition { | ||||
| 	if len(columns) > 0 { | ||||
| 		return columns | ||||
| 	} | ||||
| 	return []CustomResourceColumnDefinition{ | ||||
| 		{Name: "Age", Type: "date", Description: swaggerMetadataDescriptions["creationTimestamp"], JSONPath: ".metadata.creationTimestamp"}, | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // HasVersionServed returns true if given CRD has given version served. | ||||
| func HasVersionServed(crd *CustomResourceDefinition, version string) bool { | ||||
| 	for _, v := range crd.Spec.Versions { | ||||
| 		if !v.Served || v.Name != version { | ||||
| 			continue | ||||
| 		} | ||||
| 		return true | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
							
								
								
									
										51
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/register.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| import ( | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||
| ) | ||||
|  | ||||
| const GroupName = "apiextensions.k8s.io" | ||||
|  | ||||
| // SchemeGroupVersion is group version used to register these objects | ||||
| var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: runtime.APIVersionInternal} | ||||
|  | ||||
| // Kind takes an unqualified kind and returns back a Group qualified GroupKind | ||||
| func Kind(kind string) schema.GroupKind { | ||||
| 	return SchemeGroupVersion.WithKind(kind).GroupKind() | ||||
| } | ||||
|  | ||||
| // Resource takes an unqualified resource and returns back a Group qualified GroupResource | ||||
| func Resource(resource string) schema.GroupResource { | ||||
| 	return SchemeGroupVersion.WithResource(resource).GroupResource() | ||||
| } | ||||
|  | ||||
| var ( | ||||
| 	SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) | ||||
| 	AddToScheme   = SchemeBuilder.AddToScheme | ||||
| ) | ||||
|  | ||||
| // Adds the list of known types to the given scheme. | ||||
| func addKnownTypes(scheme *runtime.Scheme) error { | ||||
| 	scheme.AddKnownTypes(SchemeGroupVersion, | ||||
| 		&CustomResourceDefinition{}, | ||||
| 		&CustomResourceDefinitionList{}, | ||||
| 	) | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										377
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										377
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,377 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| ) | ||||
|  | ||||
| // ConversionStrategyType describes different conversion types. | ||||
| type ConversionStrategyType string | ||||
|  | ||||
| const ( | ||||
| 	// NoneConverter is a converter that only sets apiversion of the CR and leave everything else unchanged. | ||||
| 	NoneConverter ConversionStrategyType = "None" | ||||
| 	// WebhookConverter is a converter that calls to an external webhook to convert the CR. | ||||
| 	WebhookConverter ConversionStrategyType = "Webhook" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionSpec describes how a user wants their resource to appear | ||||
| type CustomResourceDefinitionSpec struct { | ||||
| 	// Group is the group this resource belongs in | ||||
| 	Group string | ||||
| 	// Version is the version this resource belongs in | ||||
| 	// Should be always first item in Versions field if provided. | ||||
| 	// Optional, but at least one of Version or Versions must be set. | ||||
| 	// Deprecated: Please use `Versions`. | ||||
| 	Version string | ||||
| 	// Names are the names used to describe this custom resource | ||||
| 	Names CustomResourceDefinitionNames | ||||
| 	// Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced | ||||
| 	Scope ResourceScope | ||||
| 	// Validation describes the validation methods for CustomResources | ||||
| 	// Optional, the global validation schema for all versions. | ||||
| 	// Top-level and per-version schemas are mutually exclusive. | ||||
| 	// +optional | ||||
| 	Validation *CustomResourceValidation | ||||
| 	// Subresources describes the subresources for CustomResource | ||||
| 	// Optional, the global subresources for all versions. | ||||
| 	// Top-level and per-version subresources are mutually exclusive. | ||||
| 	// +optional | ||||
| 	Subresources *CustomResourceSubresources | ||||
| 	// Versions is the list of all supported versions for this resource. | ||||
| 	// If Version field is provided, this field is optional. | ||||
| 	// Validation: All versions must use the same validation schema for now. i.e., top | ||||
| 	// level Validation field is applied to all of these versions. | ||||
| 	// Order: The version name will be used to compute the order. | ||||
| 	// If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered | ||||
| 	// lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), | ||||
| 	// then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first | ||||
| 	// by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing | ||||
| 	// major version, then minor version. An example sorted list of versions: | ||||
| 	// v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. | ||||
| 	Versions []CustomResourceDefinitionVersion | ||||
| 	// AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
| 	// Optional, the global columns for all versions. | ||||
| 	// Top-level and per-version columns are mutually exclusive. | ||||
| 	// +optional | ||||
| 	AdditionalPrinterColumns []CustomResourceColumnDefinition | ||||
|  | ||||
| 	// `conversion` defines conversion settings for the CRD. | ||||
| 	Conversion *CustomResourceConversion | ||||
| } | ||||
|  | ||||
| // CustomResourceConversion describes how to convert different versions of a CR. | ||||
| type CustomResourceConversion struct { | ||||
| 	// `strategy` specifies the conversion strategy. Allowed values are: | ||||
| 	// - `None`: The converter only change the apiVersion and would not touch any other field in the CR. | ||||
| 	// - `Webhook`: API Server will call to an external webhook to do the conversion. Additional information is needed for this option. | ||||
| 	Strategy ConversionStrategyType | ||||
|  | ||||
| 	// `webhookClientConfig` is the instructions for how to call the webhook if strategy is `Webhook`. | ||||
| 	WebhookClientConfig *WebhookClientConfig | ||||
|  | ||||
| 	// ConversionReviewVersions is an ordered list of preferred `ConversionReview` | ||||
| 	// versions the Webhook expects. API server will try to use first version in | ||||
| 	// the list which it supports. If none of the versions specified in this list | ||||
| 	// supported by API server, conversion will fail for this object. | ||||
| 	// If a persisted Webhook configuration specifies allowed versions and does not | ||||
| 	// include any versions known to the API Server, calls to the webhook will fail. | ||||
| 	// +optional | ||||
| 	ConversionReviewVersions []string | ||||
| } | ||||
|  | ||||
| // WebhookClientConfig contains the information to make a TLS | ||||
| // connection with the webhook. It has the same field as admissionregistration.internal.WebhookClientConfig. | ||||
| type WebhookClientConfig struct { | ||||
| 	// `url` gives the location of the webhook, in standard URL form | ||||
| 	// (`scheme://host:port/path`). Exactly one of `url` or `service` | ||||
| 	// must be specified. | ||||
| 	// | ||||
| 	// The `host` should not refer to a service running in the cluster; use | ||||
| 	// the `service` field instead. The host might be resolved via external | ||||
| 	// DNS in some apiservers (e.g., `kube-apiserver` cannot resolve | ||||
| 	// in-cluster DNS as that would be a layering violation). `host` may | ||||
| 	// also be an IP address. | ||||
| 	// | ||||
| 	// Please note that using `localhost` or `127.0.0.1` as a `host` is | ||||
| 	// risky unless you take great care to run this webhook on all hosts | ||||
| 	// which run an apiserver which might need to make calls to this | ||||
| 	// webhook. Such installs are likely to be non-portable, i.e., not easy | ||||
| 	// to turn up in a new cluster. | ||||
| 	// | ||||
| 	// The scheme must be "https"; the URL must begin with "https://". | ||||
| 	// | ||||
| 	// A path is optional, and if present may be any string permissible in | ||||
| 	// a URL. You may use the path to pass an arbitrary string to the | ||||
| 	// webhook, for example, a cluster identifier. | ||||
| 	// | ||||
| 	// Attempting to use a user or basic auth e.g. "user:password@" is not | ||||
| 	// allowed. Fragments ("#...") and query parameters ("?...") are not | ||||
| 	// allowed, either. | ||||
| 	// | ||||
| 	// +optional | ||||
| 	URL *string | ||||
|  | ||||
| 	// `service` is a reference to the service for this webhook. Either | ||||
| 	// `service` or `url` must be specified. | ||||
| 	// | ||||
| 	// If the webhook is running within the cluster, then you should use `service`. | ||||
| 	// | ||||
| 	// Port 443 will be used if it is open, otherwise it is an error. | ||||
| 	// | ||||
| 	// +optional | ||||
| 	Service *ServiceReference | ||||
|  | ||||
| 	// `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. | ||||
| 	// If unspecified, system trust roots on the apiserver are used. | ||||
| 	// +optional | ||||
| 	CABundle []byte | ||||
| } | ||||
|  | ||||
| // ServiceReference holds a reference to Service.legacy.k8s.io | ||||
| type ServiceReference struct { | ||||
| 	// `namespace` is the namespace of the service. | ||||
| 	// Required | ||||
| 	Namespace string | ||||
| 	// `name` is the name of the service. | ||||
| 	// Required | ||||
| 	Name string | ||||
|  | ||||
| 	// `path` is an optional URL path which will be sent in any request to | ||||
| 	// this service. | ||||
| 	// +optional | ||||
| 	Path *string | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionVersion describes a version for CRD. | ||||
| type CustomResourceDefinitionVersion struct { | ||||
| 	// Name is the version name, e.g. “v1”, “v2beta1”, etc. | ||||
| 	Name string | ||||
| 	// Served is a flag enabling/disabling this version from being served via REST APIs | ||||
| 	Served bool | ||||
| 	// Storage flags the version as storage version. There must be exactly one flagged | ||||
| 	// as storage version. | ||||
| 	Storage bool | ||||
| 	// Schema describes the schema for CustomResource used in validation, pruning, and defaulting. | ||||
| 	// Top-level and per-version schemas are mutually exclusive. | ||||
| 	// Per-version schemas must not all be set to identical values (top-level validation schema should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// +optional | ||||
| 	Schema *CustomResourceValidation | ||||
| 	// Subresources describes the subresources for CustomResource | ||||
| 	// Top-level and per-version subresources are mutually exclusive. | ||||
| 	// Per-version subresources must not all be set to identical values (top-level subresources should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// +optional | ||||
| 	Subresources *CustomResourceSubresources | ||||
| 	// AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
| 	// Top-level and per-version columns are mutually exclusive. | ||||
| 	// Per-version columns must not all be set to identical values (top-level columns should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// NOTE: CRDs created prior to 1.13 populated the top-level additionalPrinterColumns field by default. To apply an | ||||
| 	// update that changes to per-version additionalPrinterColumns, the top-level additionalPrinterColumns field must | ||||
| 	// be explicitly set to null | ||||
| 	// +optional | ||||
| 	AdditionalPrinterColumns []CustomResourceColumnDefinition | ||||
| } | ||||
|  | ||||
| // CustomResourceColumnDefinition specifies a column for server side printing. | ||||
| type CustomResourceColumnDefinition struct { | ||||
| 	// name is a human readable name for the column. | ||||
| 	Name string | ||||
| 	// type is an OpenAPI type definition for this column. | ||||
| 	// See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
| 	Type string | ||||
| 	// format is an optional OpenAPI type definition for this column. The 'name' format is applied | ||||
| 	// to the primary identifier column to assist in clients identifying column is the resource name. | ||||
| 	// See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
| 	Format string | ||||
| 	// description is a human readable description of this column. | ||||
| 	Description string | ||||
| 	// priority is an integer defining the relative importance of this column compared to others. Lower | ||||
| 	// numbers are considered higher priority. Columns that may be omitted in limited space scenarios | ||||
| 	// should be given a higher priority. | ||||
| 	Priority int32 | ||||
|  | ||||
| 	// JSONPath is a simple JSON path, i.e. without array notation. | ||||
| 	JSONPath string | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition | ||||
| type CustomResourceDefinitionNames struct { | ||||
| 	// Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration | ||||
| 	// too: plural.group and it must be all lowercase. | ||||
| 	Plural string | ||||
| 	// Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased <kind> | ||||
| 	Singular string | ||||
| 	// ShortNames are short names for the resource.  It must be all lowercase. | ||||
| 	ShortNames []string | ||||
| 	// Kind is the serialized kind of the resource.  It is normally CamelCase and singular. | ||||
| 	Kind string | ||||
| 	// ListKind is the serialized kind of the list for this resource.  Defaults to <kind>List. | ||||
| 	ListKind string | ||||
| 	// Categories is a list of grouped resources custom resources belong to (e.g. 'all') | ||||
| 	// +optional | ||||
| 	Categories []string | ||||
| } | ||||
|  | ||||
| // ResourceScope is an enum defining the different scopes available to a custom resource | ||||
| type ResourceScope string | ||||
|  | ||||
| const ( | ||||
| 	ClusterScoped   ResourceScope = "Cluster" | ||||
| 	NamespaceScoped ResourceScope = "Namespaced" | ||||
| ) | ||||
|  | ||||
| type ConditionStatus string | ||||
|  | ||||
| // These are valid condition statuses. "ConditionTrue" means a resource is in the condition. | ||||
| // "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes | ||||
| // can't decide if a resource is in the condition or not. In the future, we could add other | ||||
| // intermediate conditions, e.g. ConditionDegraded. | ||||
| const ( | ||||
| 	ConditionTrue    ConditionStatus = "True" | ||||
| 	ConditionFalse   ConditionStatus = "False" | ||||
| 	ConditionUnknown ConditionStatus = "Unknown" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionConditionType is a valid value for CustomResourceDefinitionCondition.Type | ||||
| type CustomResourceDefinitionConditionType string | ||||
|  | ||||
| const ( | ||||
| 	// Established means that the resource has become active. A resource is established when all names are | ||||
| 	// accepted without a conflict for the first time. A resource stays established until deleted, even during | ||||
| 	// a later NamesAccepted due to changed names. Note that not all names can be changed. | ||||
| 	Established CustomResourceDefinitionConditionType = "Established" | ||||
| 	// NamesAccepted means the names chosen for this CustomResourceDefinition do not conflict with others in | ||||
| 	// the group and are therefore accepted. | ||||
| 	NamesAccepted CustomResourceDefinitionConditionType = "NamesAccepted" | ||||
| 	// Terminating means that the CustomResourceDefinition has been deleted and is cleaning up. | ||||
| 	Terminating CustomResourceDefinitionConditionType = "Terminating" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionCondition contains details for the current condition of this pod. | ||||
| type CustomResourceDefinitionCondition struct { | ||||
| 	// Type is the type of the condition. | ||||
| 	Type CustomResourceDefinitionConditionType | ||||
| 	// Status is the status of the condition. | ||||
| 	// Can be True, False, Unknown. | ||||
| 	Status ConditionStatus | ||||
| 	// Last time the condition transitioned from one status to another. | ||||
| 	// +optional | ||||
| 	LastTransitionTime metav1.Time | ||||
| 	// Unique, one-word, CamelCase reason for the condition's last transition. | ||||
| 	// +optional | ||||
| 	Reason string | ||||
| 	// Human-readable message indicating details about last transition. | ||||
| 	// +optional | ||||
| 	Message string | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition | ||||
| type CustomResourceDefinitionStatus struct { | ||||
| 	// Conditions indicate state for particular aspects of a CustomResourceDefinition | ||||
| 	Conditions []CustomResourceDefinitionCondition | ||||
|  | ||||
| 	// AcceptedNames are the names that are actually being used to serve discovery | ||||
| 	// They may be different than the names in spec. | ||||
| 	AcceptedNames CustomResourceDefinitionNames | ||||
|  | ||||
| 	// StoredVersions are all versions of CustomResources that were ever persisted. Tracking these | ||||
| 	// versions allows a migration path for stored versions in etcd. The field is mutable | ||||
| 	// so the migration controller can first finish a migration to another version (i.e. | ||||
| 	// that no old objects are left in the storage), and then remove the rest of the | ||||
| 	// versions from this list. | ||||
| 	// None of the versions in this list can be removed from the spec.Versions field. | ||||
| 	StoredVersions []string | ||||
| } | ||||
|  | ||||
| // CustomResourceCleanupFinalizer is the name of the finalizer which will delete instances of | ||||
| // a CustomResourceDefinition | ||||
| const CustomResourceCleanupFinalizer = "customresourcecleanup.apiextensions.k8s.io" | ||||
|  | ||||
| // +genclient | ||||
| // +genclient:nonNamespaced | ||||
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||||
|  | ||||
| // CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format | ||||
| // <.spec.name>.<.spec.group>. | ||||
| type CustomResourceDefinition struct { | ||||
| 	metav1.TypeMeta | ||||
| 	metav1.ObjectMeta | ||||
|  | ||||
| 	// Spec describes how the user wants the resources to appear | ||||
| 	Spec CustomResourceDefinitionSpec | ||||
| 	// Status indicates the actual state of the CustomResourceDefinition | ||||
| 	Status CustomResourceDefinitionStatus | ||||
| } | ||||
|  | ||||
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||||
|  | ||||
| // CustomResourceDefinitionList is a list of CustomResourceDefinition objects. | ||||
| type CustomResourceDefinitionList struct { | ||||
| 	metav1.TypeMeta | ||||
| 	metav1.ListMeta | ||||
|  | ||||
| 	// Items individual CustomResourceDefinitions | ||||
| 	Items []CustomResourceDefinition | ||||
| } | ||||
|  | ||||
| // CustomResourceValidation is a list of validation methods for CustomResources. | ||||
| type CustomResourceValidation struct { | ||||
| 	// OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. | ||||
| 	OpenAPIV3Schema *JSONSchemaProps | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresources defines the status and scale subresources for CustomResources. | ||||
| type CustomResourceSubresources struct { | ||||
| 	// Status denotes the status subresource for CustomResources | ||||
| 	Status *CustomResourceSubresourceStatus | ||||
| 	// Scale denotes the scale subresource for CustomResources | ||||
| 	Scale *CustomResourceSubresourceScale | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. | ||||
| // Status is represented by the `.status` JSON path inside of a CustomResource. When set, | ||||
| // * exposes a /status subresource for the custom resource | ||||
| // * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza | ||||
| // * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza | ||||
| type CustomResourceSubresourceStatus struct{} | ||||
|  | ||||
| // CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. | ||||
| type CustomResourceSubresourceScale struct { | ||||
| 	// SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .spec. | ||||
| 	// If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. | ||||
| 	SpecReplicasPath string | ||||
| 	// StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .status. | ||||
| 	// If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource | ||||
| 	// will default to 0. | ||||
| 	StatusReplicasPath string | ||||
| 	// LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .status. | ||||
| 	// Must be set to work with HPA. | ||||
| 	// If there is no value under the given path in the CustomResource, the status label selector value in the /scale | ||||
| 	// subresource will default to the empty string. | ||||
| 	// +optional | ||||
| 	LabelSelectorPath *string | ||||
| } | ||||
							
								
								
									
										97
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										97
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/types_jsonschema.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,97 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| // JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). | ||||
| type JSONSchemaProps struct { | ||||
| 	ID                   string | ||||
| 	Schema               JSONSchemaURL | ||||
| 	Ref                  *string | ||||
| 	Description          string | ||||
| 	Type                 string | ||||
| 	Nullable             bool | ||||
| 	Format               string | ||||
| 	Title                string | ||||
| 	Default              *JSON | ||||
| 	Maximum              *float64 | ||||
| 	ExclusiveMaximum     bool | ||||
| 	Minimum              *float64 | ||||
| 	ExclusiveMinimum     bool | ||||
| 	MaxLength            *int64 | ||||
| 	MinLength            *int64 | ||||
| 	Pattern              string | ||||
| 	MaxItems             *int64 | ||||
| 	MinItems             *int64 | ||||
| 	UniqueItems          bool | ||||
| 	MultipleOf           *float64 | ||||
| 	Enum                 []JSON | ||||
| 	MaxProperties        *int64 | ||||
| 	MinProperties        *int64 | ||||
| 	Required             []string | ||||
| 	Items                *JSONSchemaPropsOrArray | ||||
| 	AllOf                []JSONSchemaProps | ||||
| 	OneOf                []JSONSchemaProps | ||||
| 	AnyOf                []JSONSchemaProps | ||||
| 	Not                  *JSONSchemaProps | ||||
| 	Properties           map[string]JSONSchemaProps | ||||
| 	AdditionalProperties *JSONSchemaPropsOrBool | ||||
| 	PatternProperties    map[string]JSONSchemaProps | ||||
| 	Dependencies         JSONSchemaDependencies | ||||
| 	AdditionalItems      *JSONSchemaPropsOrBool | ||||
| 	Definitions          JSONSchemaDefinitions | ||||
| 	ExternalDocs         *ExternalDocumentation | ||||
| 	Example              *JSON | ||||
| } | ||||
|  | ||||
| // JSON represents any valid JSON value. | ||||
| // These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. | ||||
| type JSON interface{} | ||||
|  | ||||
| // JSONSchemaURL represents a schema url. | ||||
| type JSONSchemaURL string | ||||
|  | ||||
| // JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps | ||||
| // or an array of JSONSchemaProps. Mainly here for serialization purposes. | ||||
| type JSONSchemaPropsOrArray struct { | ||||
| 	Schema      *JSONSchemaProps | ||||
| 	JSONSchemas []JSONSchemaProps | ||||
| } | ||||
|  | ||||
| // JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. | ||||
| // Defaults to true for the boolean property. | ||||
| type JSONSchemaPropsOrBool struct { | ||||
| 	Allows bool | ||||
| 	Schema *JSONSchemaProps | ||||
| } | ||||
|  | ||||
| // JSONSchemaDependencies represent a dependencies property. | ||||
| type JSONSchemaDependencies map[string]JSONSchemaPropsOrStringArray | ||||
|  | ||||
| // JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. | ||||
| type JSONSchemaPropsOrStringArray struct { | ||||
| 	Schema   *JSONSchemaProps | ||||
| 	Property []string | ||||
| } | ||||
|  | ||||
| // JSONSchemaDefinitions contains the models explicitly defined in this spec. | ||||
| type JSONSchemaDefinitions map[string]JSONSchemaProps | ||||
|  | ||||
| // ExternalDocumentation allows referencing an external resource for extended documentation. | ||||
| type ExternalDocumentation struct { | ||||
| 	Description string | ||||
| 	URL         string | ||||
| } | ||||
							
								
								
									
										73
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/conversion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,73 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	"k8s.io/apimachinery/pkg/conversion" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/util/json" | ||||
|  | ||||
| 	"k8s.io/apiextensions-apiserver/pkg/apis/apiextensions" | ||||
| ) | ||||
|  | ||||
| func addConversionFuncs(scheme *runtime.Scheme) error { | ||||
| 	// Add non-generated conversion functions | ||||
| 	err := scheme.AddConversionFuncs( | ||||
| 		Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps, | ||||
| 		Convert_apiextensions_JSON_To_v1beta1_JSON, | ||||
| 		Convert_v1beta1_JSON_To_apiextensions_JSON, | ||||
| 	) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func Convert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(in *apiextensions.JSONSchemaProps, out *JSONSchemaProps, s conversion.Scope) error { | ||||
| 	if err := autoConvert_apiextensions_JSONSchemaProps_To_v1beta1_JSONSchemaProps(in, out, s); err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	if in.Default != nil && *(in.Default) == nil { | ||||
| 		out.Default = nil | ||||
| 	} | ||||
| 	if in.Example != nil && *(in.Example) == nil { | ||||
| 		out.Example = nil | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func Convert_apiextensions_JSON_To_v1beta1_JSON(in *apiextensions.JSON, out *JSON, s conversion.Scope) error { | ||||
| 	raw, err := json.Marshal(*in) | ||||
| 	if err != nil { | ||||
| 		return err | ||||
| 	} | ||||
| 	out.Raw = raw | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func Convert_v1beta1_JSON_To_apiextensions_JSON(in *JSON, out *apiextensions.JSON, s conversion.Scope) error { | ||||
| 	if in != nil { | ||||
| 		var i interface{} | ||||
| 		if err := json.Unmarshal(in.Raw, &i); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		*out = i | ||||
| 	} else { | ||||
| 		out = nil | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										238
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										238
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,238 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| // TODO: Update this after a tag is created for interface fields in DeepCopy | ||||
| func (in *JSONSchemaProps) DeepCopy() *JSONSchemaProps { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaProps) | ||||
| 	*out = *in | ||||
|  | ||||
| 	if in.Ref != nil { | ||||
| 		in, out := &in.Ref, &out.Ref | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(string) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Maximum != nil { | ||||
| 		in, out := &in.Maximum, &out.Maximum | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Minimum != nil { | ||||
| 		in, out := &in.Minimum, &out.Minimum | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MaxLength != nil { | ||||
| 		in, out := &in.MaxLength, &out.MaxLength | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinLength != nil { | ||||
| 		in, out := &in.MinLength, &out.MinLength | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
| 	if in.MaxItems != nil { | ||||
| 		in, out := &in.MaxItems, &out.MaxItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinItems != nil { | ||||
| 		in, out := &in.MinItems, &out.MinItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MultipleOf != nil { | ||||
| 		in, out := &in.MultipleOf, &out.MultipleOf | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(float64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MaxProperties != nil { | ||||
| 		in, out := &in.MaxProperties, &out.MaxProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.MinProperties != nil { | ||||
| 		in, out := &in.MinProperties, &out.MinProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(int64) | ||||
| 			**out = **in | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Required != nil { | ||||
| 		in, out := &in.Required, &out.Required | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
|  | ||||
| 	if in.Items != nil { | ||||
| 		in, out := &in.Items, &out.Items | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrArray) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AllOf != nil { | ||||
| 		in, out := &in.AllOf, &out.AllOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.OneOf != nil { | ||||
| 		in, out := &in.OneOf, &out.OneOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	if in.AnyOf != nil { | ||||
| 		in, out := &in.AnyOf, &out.AnyOf | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Not != nil { | ||||
| 		in, out := &in.Not, &out.Not | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaProps) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Properties != nil { | ||||
| 		in, out := &in.Properties, &out.Properties | ||||
| 		*out = make(map[string]JSONSchemaProps, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AdditionalProperties != nil { | ||||
| 		in, out := &in.AdditionalProperties, &out.AdditionalProperties | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrBool) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.PatternProperties != nil { | ||||
| 		in, out := &in.PatternProperties, &out.PatternProperties | ||||
| 		*out = make(map[string]JSONSchemaProps, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Dependencies != nil { | ||||
| 		in, out := &in.Dependencies, &out.Dependencies | ||||
| 		*out = make(JSONSchemaDependencies, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.AdditionalItems != nil { | ||||
| 		in, out := &in.AdditionalItems, &out.AdditionalItems | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(JSONSchemaPropsOrBool) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.Definitions != nil { | ||||
| 		in, out := &in.Definitions, &out.Definitions | ||||
| 		*out = make(JSONSchemaDefinitions, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	if in.ExternalDocs != nil { | ||||
| 		in, out := &in.ExternalDocs, &out.ExternalDocs | ||||
| 		if *in == nil { | ||||
| 			*out = nil | ||||
| 		} else { | ||||
| 			*out = new(ExternalDocumentation) | ||||
| 			(*in).DeepCopyInto(*out) | ||||
| 		} | ||||
| 	} | ||||
|  | ||||
| 	return out | ||||
| } | ||||
							
								
								
									
										84
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,84 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	"strings" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| ) | ||||
|  | ||||
| func addDefaultingFuncs(scheme *runtime.Scheme) error { | ||||
| 	scheme.AddTypeDefaultingFunc(&CustomResourceDefinition{}, func(obj interface{}) { SetDefaults_CustomResourceDefinition(obj.(*CustomResourceDefinition)) }) | ||||
| 	// TODO figure out why I can't seem to get my defaulter generated | ||||
| 	// return RegisterDefaults(scheme) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func SetDefaults_CustomResourceDefinition(obj *CustomResourceDefinition) { | ||||
| 	SetDefaults_CustomResourceDefinitionSpec(&obj.Spec) | ||||
| 	if len(obj.Status.StoredVersions) == 0 { | ||||
| 		for _, v := range obj.Spec.Versions { | ||||
| 			if v.Storage { | ||||
| 				obj.Status.StoredVersions = append(obj.Status.StoredVersions, v.Name) | ||||
| 				break | ||||
| 			} | ||||
| 		} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| func SetDefaults_CustomResourceDefinitionSpec(obj *CustomResourceDefinitionSpec) { | ||||
| 	if len(obj.Scope) == 0 { | ||||
| 		obj.Scope = NamespaceScoped | ||||
| 	} | ||||
| 	if len(obj.Names.Singular) == 0 { | ||||
| 		obj.Names.Singular = strings.ToLower(obj.Names.Kind) | ||||
| 	} | ||||
| 	if len(obj.Names.ListKind) == 0 && len(obj.Names.Kind) > 0 { | ||||
| 		obj.Names.ListKind = obj.Names.Kind + "List" | ||||
| 	} | ||||
| 	// If there is no list of versions, create on using deprecated Version field. | ||||
| 	if len(obj.Versions) == 0 && len(obj.Version) != 0 { | ||||
| 		obj.Versions = []CustomResourceDefinitionVersion{{ | ||||
| 			Name:    obj.Version, | ||||
| 			Storage: true, | ||||
| 			Served:  true, | ||||
| 		}} | ||||
| 	} | ||||
| 	// For backward compatibility set the version field to the first item in versions list. | ||||
| 	if len(obj.Version) == 0 && len(obj.Versions) != 0 { | ||||
| 		obj.Version = obj.Versions[0].Name | ||||
| 	} | ||||
| 	if obj.Conversion == nil { | ||||
| 		obj.Conversion = &CustomResourceConversion{ | ||||
| 			Strategy: NoneConverter, | ||||
| 		} | ||||
| 	} | ||||
| 	if obj.Conversion.Strategy == WebhookConverter && len(obj.Conversion.ConversionReviewVersions) == 0 { | ||||
| 		obj.Conversion.ConversionReviewVersions = []string{SchemeGroupVersion.Version} | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // hasPerVersionColumns returns true if a CRD uses per-version columns. | ||||
| func hasPerVersionColumns(versions []CustomResourceDefinitionVersion) bool { | ||||
| 	for _, v := range versions { | ||||
| 		if len(v.AdditionalPrinterColumns) > 0 { | ||||
| 			return true | ||||
| 		} | ||||
| 	} | ||||
| 	return false | ||||
| } | ||||
							
								
								
									
										25
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										25
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/doc.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,25 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // +k8s:deepcopy-gen=package | ||||
| // +k8s:protobuf-gen=package | ||||
| // +k8s:conversion-gen=k8s.io/apiextensions-apiserver/pkg/apis/apiextensions | ||||
| // +k8s:defaulter-gen=TypeMeta | ||||
| // +k8s:openapi-gen=true | ||||
| // +groupName=apiextensions.k8s.io | ||||
|  | ||||
| // Package v1beta1 is the v1beta1 version of the API. | ||||
| package v1beta1 // import "k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1" | ||||
							
								
								
									
										7514
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										7514
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.pb.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										534
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										534
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/generated.proto
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,534 @@ | ||||
| /* | ||||
| Copyright The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
|  | ||||
| // This file was autogenerated by go-to-protobuf. Do not edit it manually! | ||||
|  | ||||
| syntax = 'proto2'; | ||||
|  | ||||
| package k8s.io.apiextensions_apiserver.pkg.apis.apiextensions.v1beta1; | ||||
|  | ||||
| import "k8s.io/apimachinery/pkg/apis/meta/v1/generated.proto"; | ||||
| import "k8s.io/apimachinery/pkg/runtime/generated.proto"; | ||||
| import "k8s.io/apimachinery/pkg/runtime/schema/generated.proto"; | ||||
|  | ||||
| // Package-wide variables from generator "generated". | ||||
| option go_package = "v1beta1"; | ||||
|  | ||||
| // ConversionRequest describes the conversion request parameters. | ||||
| message ConversionRequest { | ||||
|   // `uid` is an identifier for the individual request/response. It allows us to distinguish instances of requests which are | ||||
|   // otherwise identical (parallel requests, requests when earlier requests did not modify etc) | ||||
|   // The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request. | ||||
|   // It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. | ||||
|   optional string uid = 1; | ||||
|  | ||||
|   // `desiredAPIVersion` is the version to convert given objects to. e.g. "myapi.example.com/v1" | ||||
|   optional string desiredAPIVersion = 2; | ||||
|  | ||||
|   // `objects` is the list of CR objects to be converted. | ||||
|   repeated k8s.io.apimachinery.pkg.runtime.RawExtension objects = 3; | ||||
| } | ||||
|  | ||||
| // ConversionResponse describes a conversion response. | ||||
| message ConversionResponse { | ||||
|   // `uid` is an identifier for the individual request/response. | ||||
|   // This should be copied over from the corresponding AdmissionRequest. | ||||
|   optional string uid = 1; | ||||
|  | ||||
|   // `convertedObjects` is the list of converted version of `request.objects` if the `result` is successful otherwise empty. | ||||
|   // The webhook is expected to set apiVersion of these objects to the ConversionRequest.desiredAPIVersion. The list | ||||
|   // must also has the same size as input list with the same objects in the same order(i.e. equal UIDs and object meta) | ||||
|   repeated k8s.io.apimachinery.pkg.runtime.RawExtension convertedObjects = 2; | ||||
|  | ||||
|   // `result` contains the result of conversion with extra details if the conversion failed. `result.status` determines if | ||||
|   // the conversion failed or succeeded. The `result.status` field is required and represent the success or failure of the | ||||
|   // conversion. A successful conversion must set `result.status` to `Success`. A failed conversion must set | ||||
|   // `result.status` to `Failure` and provide more details in `result.message` and return http status 200. The `result.message` | ||||
|   // will be used to construct an error message for the end user. | ||||
|   optional k8s.io.apimachinery.pkg.apis.meta.v1.Status result = 3; | ||||
| } | ||||
|  | ||||
| // ConversionReview describes a conversion request/response. | ||||
| message ConversionReview { | ||||
|   // `request` describes the attributes for the conversion request. | ||||
|   // +optional | ||||
|   optional ConversionRequest request = 1; | ||||
|  | ||||
|   // `response` describes the attributes for the conversion response. | ||||
|   // +optional | ||||
|   optional ConversionResponse response = 2; | ||||
| } | ||||
|  | ||||
| // CustomResourceColumnDefinition specifies a column for server side printing. | ||||
| message CustomResourceColumnDefinition { | ||||
|   // name is a human readable name for the column. | ||||
|   optional string name = 1; | ||||
|  | ||||
|   // type is an OpenAPI type definition for this column. | ||||
|   // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
|   optional string type = 2; | ||||
|  | ||||
|   // format is an optional OpenAPI type definition for this column. The 'name' format is applied | ||||
|   // to the primary identifier column to assist in clients identifying column is the resource name. | ||||
|   // See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
|   // +optional | ||||
|   optional string format = 3; | ||||
|  | ||||
|   // description is a human readable description of this column. | ||||
|   // +optional | ||||
|   optional string description = 4; | ||||
|  | ||||
|   // priority is an integer defining the relative importance of this column compared to others. Lower | ||||
|   // numbers are considered higher priority. Columns that may be omitted in limited space scenarios | ||||
|   // should be given a higher priority. | ||||
|   // +optional | ||||
|   optional int32 priority = 5; | ||||
|  | ||||
|   // JSONPath is a simple JSON path, i.e. with array notation. | ||||
|   optional string JSONPath = 6; | ||||
| } | ||||
|  | ||||
| // CustomResourceConversion describes how to convert different versions of a CR. | ||||
| message CustomResourceConversion { | ||||
|   // `strategy` specifies the conversion strategy. Allowed values are: | ||||
|   // - `None`: The converter only change the apiVersion and would not touch any other field in the CR. | ||||
|   // - `Webhook`: API Server will call to an external webhook to do the conversion. Additional information is needed for this option. | ||||
|   optional string strategy = 1; | ||||
|  | ||||
|   // `webhookClientConfig` is the instructions for how to call the webhook if strategy is `Webhook`. This field is | ||||
|   // alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
|   // +optional | ||||
|   optional WebhookClientConfig webhookClientConfig = 2; | ||||
|  | ||||
|   // ConversionReviewVersions is an ordered list of preferred `ConversionReview` | ||||
|   // versions the Webhook expects. API server will try to use first version in | ||||
|   // the list which it supports. If none of the versions specified in this list | ||||
|   // supported by API server, conversion will fail for this object. | ||||
|   // If a persisted Webhook configuration specifies allowed versions and does not | ||||
|   // include any versions known to the API Server, calls to the webhook will fail. | ||||
|   // Default to `['v1beta1']`. | ||||
|   // +optional | ||||
|   repeated string conversionReviewVersions = 3; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format | ||||
| // <.spec.name>.<.spec.group>. | ||||
| message CustomResourceDefinition { | ||||
|   optional k8s.io.apimachinery.pkg.apis.meta.v1.ObjectMeta metadata = 1; | ||||
|  | ||||
|   // Spec describes how the user wants the resources to appear | ||||
|   optional CustomResourceDefinitionSpec spec = 2; | ||||
|  | ||||
|   // Status indicates the actual state of the CustomResourceDefinition | ||||
|   // +optional | ||||
|   optional CustomResourceDefinitionStatus status = 3; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionCondition contains details for the current condition of this pod. | ||||
| message CustomResourceDefinitionCondition { | ||||
|   // Type is the type of the condition. | ||||
|   optional string type = 1; | ||||
|  | ||||
|   // Status is the status of the condition. | ||||
|   // Can be True, False, Unknown. | ||||
|   optional string status = 2; | ||||
|  | ||||
|   // Last time the condition transitioned from one status to another. | ||||
|   // +optional | ||||
|   optional k8s.io.apimachinery.pkg.apis.meta.v1.Time lastTransitionTime = 3; | ||||
|  | ||||
|   // Unique, one-word, CamelCase reason for the condition's last transition. | ||||
|   // +optional | ||||
|   optional string reason = 4; | ||||
|  | ||||
|   // Human-readable message indicating details about last transition. | ||||
|   // +optional | ||||
|   optional string message = 5; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionList is a list of CustomResourceDefinition objects. | ||||
| message CustomResourceDefinitionList { | ||||
|   optional k8s.io.apimachinery.pkg.apis.meta.v1.ListMeta metadata = 1; | ||||
|  | ||||
|   // Items individual CustomResourceDefinitions | ||||
|   repeated CustomResourceDefinition items = 2; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition | ||||
| message CustomResourceDefinitionNames { | ||||
|   // Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration | ||||
|   // too: plural.group and it must be all lowercase. | ||||
|   optional string plural = 1; | ||||
|  | ||||
|   // Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased <kind> | ||||
|   // +optional | ||||
|   optional string singular = 2; | ||||
|  | ||||
|   // ShortNames are short names for the resource.  It must be all lowercase. | ||||
|   // +optional | ||||
|   repeated string shortNames = 3; | ||||
|  | ||||
|   // Kind is the serialized kind of the resource.  It is normally CamelCase and singular. | ||||
|   optional string kind = 4; | ||||
|  | ||||
|   // ListKind is the serialized kind of the list for this resource.  Defaults to <kind>List. | ||||
|   // +optional | ||||
|   optional string listKind = 5; | ||||
|  | ||||
|   // Categories is a list of grouped resources custom resources belong to (e.g. 'all') | ||||
|   // +optional | ||||
|   repeated string categories = 6; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionSpec describes how a user wants their resource to appear | ||||
| message CustomResourceDefinitionSpec { | ||||
|   // Group is the group this resource belongs in | ||||
|   optional string group = 1; | ||||
|  | ||||
|   // Version is the version this resource belongs in | ||||
|   // Should be always first item in Versions field if provided. | ||||
|   // Optional, but at least one of Version or Versions must be set. | ||||
|   // Deprecated: Please use `Versions`. | ||||
|   // +optional | ||||
|   optional string version = 2; | ||||
|  | ||||
|   // Names are the names used to describe this custom resource | ||||
|   optional CustomResourceDefinitionNames names = 3; | ||||
|  | ||||
|   // Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced | ||||
|   optional string scope = 4; | ||||
|  | ||||
|   // Validation describes the validation methods for CustomResources | ||||
|   // Optional, the global validation schema for all versions. | ||||
|   // Top-level and per-version schemas are mutually exclusive. | ||||
|   // +optional | ||||
|   optional CustomResourceValidation validation = 5; | ||||
|  | ||||
|   // Subresources describes the subresources for CustomResource | ||||
|   // Optional, the global subresources for all versions. | ||||
|   // Top-level and per-version subresources are mutually exclusive. | ||||
|   // +optional | ||||
|   optional CustomResourceSubresources subresources = 6; | ||||
|  | ||||
|   // Versions is the list of all supported versions for this resource. | ||||
|   // If Version field is provided, this field is optional. | ||||
|   // Validation: All versions must use the same validation schema for now. i.e., top | ||||
|   // level Validation field is applied to all of these versions. | ||||
|   // Order: The version name will be used to compute the order. | ||||
|   // If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered | ||||
|   // lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), | ||||
|   // then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first | ||||
|   // by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing | ||||
|   // major version, then minor version. An example sorted list of versions: | ||||
|   // v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. | ||||
|   // +optional | ||||
|   repeated CustomResourceDefinitionVersion versions = 7; | ||||
|  | ||||
|   // AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
|   // Optional, the global columns for all versions. | ||||
|   // Top-level and per-version columns are mutually exclusive. | ||||
|   // +optional | ||||
|   repeated CustomResourceColumnDefinition additionalPrinterColumns = 8; | ||||
|  | ||||
|   // `conversion` defines conversion settings for the CRD. | ||||
|   // +optional | ||||
|   optional CustomResourceConversion conversion = 9; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition | ||||
| message CustomResourceDefinitionStatus { | ||||
|   // Conditions indicate state for particular aspects of a CustomResourceDefinition | ||||
|   repeated CustomResourceDefinitionCondition conditions = 1; | ||||
|  | ||||
|   // AcceptedNames are the names that are actually being used to serve discovery | ||||
|   // They may be different than the names in spec. | ||||
|   optional CustomResourceDefinitionNames acceptedNames = 2; | ||||
|  | ||||
|   // StoredVersions are all versions of CustomResources that were ever persisted. Tracking these | ||||
|   // versions allows a migration path for stored versions in etcd. The field is mutable | ||||
|   // so the migration controller can first finish a migration to another version (i.e. | ||||
|   // that no old objects are left in the storage), and then remove the rest of the | ||||
|   // versions from this list. | ||||
|   // None of the versions in this list can be removed from the spec.Versions field. | ||||
|   repeated string storedVersions = 3; | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionVersion describes a version for CRD. | ||||
| message CustomResourceDefinitionVersion { | ||||
|   // Name is the version name, e.g. “v1”, “v2beta1”, etc. | ||||
|   optional string name = 1; | ||||
|  | ||||
|   // Served is a flag enabling/disabling this version from being served via REST APIs | ||||
|   optional bool served = 2; | ||||
|  | ||||
|   // Storage flags the version as storage version. There must be exactly one | ||||
|   // flagged as storage version. | ||||
|   optional bool storage = 3; | ||||
|  | ||||
|   // Schema describes the schema for CustomResource used in validation, pruning, and defaulting. | ||||
|   // Top-level and per-version schemas are mutually exclusive. | ||||
|   // Per-version schemas must not all be set to identical values (top-level validation schema should be used instead) | ||||
|   // This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
|   // +optional | ||||
|   optional CustomResourceValidation schema = 4; | ||||
|  | ||||
|   // Subresources describes the subresources for CustomResource | ||||
|   // Top-level and per-version subresources are mutually exclusive. | ||||
|   // Per-version subresources must not all be set to identical values (top-level subresources should be used instead) | ||||
|   // This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
|   // +optional | ||||
|   optional CustomResourceSubresources subresources = 5; | ||||
|  | ||||
|   // AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
|   // Top-level and per-version columns are mutually exclusive. | ||||
|   // Per-version columns must not all be set to identical values (top-level columns should be used instead) | ||||
|   // This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
|   // NOTE: CRDs created prior to 1.13 populated the top-level additionalPrinterColumns field by default. To apply an | ||||
|   // update that changes to per-version additionalPrinterColumns, the top-level additionalPrinterColumns field must | ||||
|   // be explicitly set to null | ||||
|   // +optional | ||||
|   repeated CustomResourceColumnDefinition additionalPrinterColumns = 6; | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. | ||||
| message CustomResourceSubresourceScale { | ||||
|   // SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. | ||||
|   // Only JSON paths without the array notation are allowed. | ||||
|   // Must be a JSON Path under .spec. | ||||
|   // If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. | ||||
|   optional string specReplicasPath = 1; | ||||
|  | ||||
|   // StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. | ||||
|   // Only JSON paths without the array notation are allowed. | ||||
|   // Must be a JSON Path under .status. | ||||
|   // If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource | ||||
|   // will default to 0. | ||||
|   optional string statusReplicasPath = 2; | ||||
|  | ||||
|   // LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. | ||||
|   // Only JSON paths without the array notation are allowed. | ||||
|   // Must be a JSON Path under .status. | ||||
|   // Must be set to work with HPA. | ||||
|   // If there is no value under the given path in the CustomResource, the status label selector value in the /scale | ||||
|   // subresource will default to the empty string. | ||||
|   // +optional | ||||
|   optional string labelSelectorPath = 3; | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. | ||||
| // Status is represented by the `.status` JSON path inside of a CustomResource. When set, | ||||
| // * exposes a /status subresource for the custom resource | ||||
| // * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza | ||||
| // * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza | ||||
| message CustomResourceSubresourceStatus { | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresources defines the status and scale subresources for CustomResources. | ||||
| message CustomResourceSubresources { | ||||
|   // Status denotes the status subresource for CustomResources | ||||
|   // +optional | ||||
|   optional CustomResourceSubresourceStatus status = 1; | ||||
|  | ||||
|   // Scale denotes the scale subresource for CustomResources | ||||
|   // +optional | ||||
|   optional CustomResourceSubresourceScale scale = 2; | ||||
| } | ||||
|  | ||||
| // CustomResourceValidation is a list of validation methods for CustomResources. | ||||
| message CustomResourceValidation { | ||||
|   // OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. | ||||
|   // +optional | ||||
|   optional JSONSchemaProps openAPIV3Schema = 1; | ||||
| } | ||||
|  | ||||
| // ExternalDocumentation allows referencing an external resource for extended documentation. | ||||
| message ExternalDocumentation { | ||||
|   optional string description = 1; | ||||
|  | ||||
|   optional string url = 2; | ||||
| } | ||||
|  | ||||
| // JSON represents any valid JSON value. | ||||
| // These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. | ||||
| message JSON { | ||||
|   optional bytes raw = 1; | ||||
| } | ||||
|  | ||||
| // JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). | ||||
| message JSONSchemaProps { | ||||
|   optional string id = 1; | ||||
|  | ||||
|   optional string schema = 2; | ||||
|  | ||||
|   optional string ref = 3; | ||||
|  | ||||
|   optional string description = 4; | ||||
|  | ||||
|   optional string type = 5; | ||||
|  | ||||
|   optional string format = 6; | ||||
|  | ||||
|   optional string title = 7; | ||||
|  | ||||
|   optional JSON default = 8; | ||||
|  | ||||
|   optional double maximum = 9; | ||||
|  | ||||
|   optional bool exclusiveMaximum = 10; | ||||
|  | ||||
|   optional double minimum = 11; | ||||
|  | ||||
|   optional bool exclusiveMinimum = 12; | ||||
|  | ||||
|   optional int64 maxLength = 13; | ||||
|  | ||||
|   optional int64 minLength = 14; | ||||
|  | ||||
|   optional string pattern = 15; | ||||
|  | ||||
|   optional int64 maxItems = 16; | ||||
|  | ||||
|   optional int64 minItems = 17; | ||||
|  | ||||
|   optional bool uniqueItems = 18; | ||||
|  | ||||
|   optional double multipleOf = 19; | ||||
|  | ||||
|   repeated JSON enum = 20; | ||||
|  | ||||
|   optional int64 maxProperties = 21; | ||||
|  | ||||
|   optional int64 minProperties = 22; | ||||
|  | ||||
|   repeated string required = 23; | ||||
|  | ||||
|   optional JSONSchemaPropsOrArray items = 24; | ||||
|  | ||||
|   repeated JSONSchemaProps allOf = 25; | ||||
|  | ||||
|   repeated JSONSchemaProps oneOf = 26; | ||||
|  | ||||
|   repeated JSONSchemaProps anyOf = 27; | ||||
|  | ||||
|   optional JSONSchemaProps not = 28; | ||||
|  | ||||
|   map<string, JSONSchemaProps> properties = 29; | ||||
|  | ||||
|   optional JSONSchemaPropsOrBool additionalProperties = 30; | ||||
|  | ||||
|   map<string, JSONSchemaProps> patternProperties = 31; | ||||
|  | ||||
|   map<string, JSONSchemaPropsOrStringArray> dependencies = 32; | ||||
|  | ||||
|   optional JSONSchemaPropsOrBool additionalItems = 33; | ||||
|  | ||||
|   map<string, JSONSchemaProps> definitions = 34; | ||||
|  | ||||
|   optional ExternalDocumentation externalDocs = 35; | ||||
|  | ||||
|   optional JSON example = 36; | ||||
|  | ||||
|   optional bool nullable = 37; | ||||
| } | ||||
|  | ||||
| // JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps | ||||
| // or an array of JSONSchemaProps. Mainly here for serialization purposes. | ||||
| message JSONSchemaPropsOrArray { | ||||
|   optional JSONSchemaProps schema = 1; | ||||
|  | ||||
|   repeated JSONSchemaProps jSONSchemas = 2; | ||||
| } | ||||
|  | ||||
| // JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. | ||||
| // Defaults to true for the boolean property. | ||||
| message JSONSchemaPropsOrBool { | ||||
|   optional bool allows = 1; | ||||
|  | ||||
|   optional JSONSchemaProps schema = 2; | ||||
| } | ||||
|  | ||||
| // JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. | ||||
| message JSONSchemaPropsOrStringArray { | ||||
|   optional JSONSchemaProps schema = 1; | ||||
|  | ||||
|   repeated string property = 2; | ||||
| } | ||||
|  | ||||
| // ServiceReference holds a reference to Service.legacy.k8s.io | ||||
| message ServiceReference { | ||||
|   // `namespace` is the namespace of the service. | ||||
|   // Required | ||||
|   optional string namespace = 1; | ||||
|  | ||||
|   // `name` is the name of the service. | ||||
|   // Required | ||||
|   optional string name = 2; | ||||
|  | ||||
|   // `path` is an optional URL path which will be sent in any request to | ||||
|   // this service. | ||||
|   // +optional | ||||
|   optional string path = 3; | ||||
| } | ||||
|  | ||||
| // WebhookClientConfig contains the information to make a TLS | ||||
| // connection with the webhook. It has the same field as admissionregistration.v1beta1.WebhookClientConfig. | ||||
| message WebhookClientConfig { | ||||
|   // `url` gives the location of the webhook, in standard URL form | ||||
|   // (`scheme://host:port/path`). Exactly one of `url` or `service` | ||||
|   // must be specified. | ||||
|   // | ||||
|   // The `host` should not refer to a service running in the cluster; use | ||||
|   // the `service` field instead. The host might be resolved via external | ||||
|   // DNS in some apiservers (e.g., `kube-apiserver` cannot resolve | ||||
|   // in-cluster DNS as that would be a layering violation). `host` may | ||||
|   // also be an IP address. | ||||
|   // | ||||
|   // Please note that using `localhost` or `127.0.0.1` as a `host` is | ||||
|   // risky unless you take great care to run this webhook on all hosts | ||||
|   // which run an apiserver which might need to make calls to this | ||||
|   // webhook. Such installs are likely to be non-portable, i.e., not easy | ||||
|   // to turn up in a new cluster. | ||||
|   // | ||||
|   // The scheme must be "https"; the URL must begin with "https://". | ||||
|   // | ||||
|   // A path is optional, and if present may be any string permissible in | ||||
|   // a URL. You may use the path to pass an arbitrary string to the | ||||
|   // webhook, for example, a cluster identifier. | ||||
|   // | ||||
|   // Attempting to use a user or basic auth e.g. "user:password@" is not | ||||
|   // allowed. Fragments ("#...") and query parameters ("?...") are not | ||||
|   // allowed, either. | ||||
|   // | ||||
|   // +optional | ||||
|   optional string url = 3; | ||||
|  | ||||
|   // `service` is a reference to the service for this webhook. Either | ||||
|   // `service` or `url` must be specified. | ||||
|   // | ||||
|   // If the webhook is running within the cluster, then you should use `service`. | ||||
|   // | ||||
|   // Port 443 will be used if it is open, otherwise it is an error. | ||||
|   // | ||||
|   // +optional | ||||
|   optional ServiceReference service = 1; | ||||
|  | ||||
|   // `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. | ||||
|   // If unspecified, system trust roots on the apiserver are used. | ||||
|   // +optional | ||||
|   optional bytes caBundle = 2; | ||||
| } | ||||
|  | ||||
							
								
								
									
										135
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										135
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/marshal.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,135 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	"errors" | ||||
|  | ||||
| 	"k8s.io/apimachinery/pkg/util/json" | ||||
| ) | ||||
|  | ||||
| var jsTrue = []byte("true") | ||||
| var jsFalse = []byte("false") | ||||
|  | ||||
| func (s JSONSchemaPropsOrBool) MarshalJSON() ([]byte, error) { | ||||
| 	if s.Schema != nil { | ||||
| 		return json.Marshal(s.Schema) | ||||
| 	} | ||||
|  | ||||
| 	if s.Schema == nil && !s.Allows { | ||||
| 		return jsFalse, nil | ||||
| 	} | ||||
| 	return jsTrue, nil | ||||
| } | ||||
|  | ||||
| func (s *JSONSchemaPropsOrBool) UnmarshalJSON(data []byte) error { | ||||
| 	var nw JSONSchemaPropsOrBool | ||||
| 	switch { | ||||
| 	case len(data) == 0: | ||||
| 	case data[0] == '{': | ||||
| 		var sch JSONSchemaProps | ||||
| 		if err := json.Unmarshal(data, &sch); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		nw.Allows = true | ||||
| 		nw.Schema = &sch | ||||
| 	case len(data) == 4 && string(data) == "true": | ||||
| 		nw.Allows = true | ||||
| 	case len(data) == 5 && string(data) == "false": | ||||
| 		nw.Allows = false | ||||
| 	default: | ||||
| 		return errors.New("boolean or JSON schema expected") | ||||
| 	} | ||||
| 	*s = nw | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (s JSONSchemaPropsOrStringArray) MarshalJSON() ([]byte, error) { | ||||
| 	if len(s.Property) > 0 { | ||||
| 		return json.Marshal(s.Property) | ||||
| 	} | ||||
| 	if s.Schema != nil { | ||||
| 		return json.Marshal(s.Schema) | ||||
| 	} | ||||
| 	return []byte("null"), nil | ||||
| } | ||||
|  | ||||
| func (s *JSONSchemaPropsOrStringArray) UnmarshalJSON(data []byte) error { | ||||
| 	var first byte | ||||
| 	if len(data) > 1 { | ||||
| 		first = data[0] | ||||
| 	} | ||||
| 	var nw JSONSchemaPropsOrStringArray | ||||
| 	if first == '{' { | ||||
| 		var sch JSONSchemaProps | ||||
| 		if err := json.Unmarshal(data, &sch); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		nw.Schema = &sch | ||||
| 	} | ||||
| 	if first == '[' { | ||||
| 		if err := json.Unmarshal(data, &nw.Property); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 	*s = nw | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (s JSONSchemaPropsOrArray) MarshalJSON() ([]byte, error) { | ||||
| 	if len(s.JSONSchemas) > 0 { | ||||
| 		return json.Marshal(s.JSONSchemas) | ||||
| 	} | ||||
| 	return json.Marshal(s.Schema) | ||||
| } | ||||
|  | ||||
| func (s *JSONSchemaPropsOrArray) UnmarshalJSON(data []byte) error { | ||||
| 	var nw JSONSchemaPropsOrArray | ||||
| 	var first byte | ||||
| 	if len(data) > 1 { | ||||
| 		first = data[0] | ||||
| 	} | ||||
| 	if first == '{' { | ||||
| 		var sch JSONSchemaProps | ||||
| 		if err := json.Unmarshal(data, &sch); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 		nw.Schema = &sch | ||||
| 	} | ||||
| 	if first == '[' { | ||||
| 		if err := json.Unmarshal(data, &nw.JSONSchemas); err != nil { | ||||
| 			return err | ||||
| 		} | ||||
| 	} | ||||
| 	*s = nw | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func (s JSON) MarshalJSON() ([]byte, error) { | ||||
| 	if len(s.Raw) > 0 { | ||||
| 		return s.Raw, nil | ||||
| 	} | ||||
| 	return []byte("null"), nil | ||||
|  | ||||
| } | ||||
|  | ||||
| func (s *JSON) UnmarshalJSON(data []byte) error { | ||||
| 	if len(data) > 0 && string(data) != "null" { | ||||
| 		s.Raw = data | ||||
| 	} | ||||
| 	return nil | ||||
| } | ||||
							
								
								
									
										62
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										62
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/register.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,62 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/runtime/schema" | ||||
| ) | ||||
|  | ||||
| const GroupName = "apiextensions.k8s.io" | ||||
|  | ||||
| // SchemeGroupVersion is group version used to register these objects | ||||
| var SchemeGroupVersion = schema.GroupVersion{Group: GroupName, Version: "v1beta1"} | ||||
|  | ||||
| // Kind takes an unqualified kind and returns back a Group qualified GroupKind | ||||
| func Kind(kind string) schema.GroupKind { | ||||
| 	return SchemeGroupVersion.WithKind(kind).GroupKind() | ||||
| } | ||||
|  | ||||
| // Resource takes an unqualified resource and returns back a Group qualified GroupResource | ||||
| func Resource(resource string) schema.GroupResource { | ||||
| 	return SchemeGroupVersion.WithResource(resource).GroupResource() | ||||
| } | ||||
|  | ||||
| var ( | ||||
| 	SchemeBuilder      = runtime.NewSchemeBuilder(addKnownTypes, addDefaultingFuncs, addConversionFuncs) | ||||
| 	localSchemeBuilder = &SchemeBuilder | ||||
| 	AddToScheme        = localSchemeBuilder.AddToScheme | ||||
| ) | ||||
|  | ||||
| // Adds the list of known types to the given scheme. | ||||
| func addKnownTypes(scheme *runtime.Scheme) error { | ||||
| 	scheme.AddKnownTypes(SchemeGroupVersion, | ||||
| 		&CustomResourceDefinition{}, | ||||
| 		&CustomResourceDefinitionList{}, | ||||
| 		&ConversionReview{}, | ||||
| 	) | ||||
| 	metav1.AddToGroupVersion(scheme, SchemeGroupVersion) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func init() { | ||||
| 	// We only register manually written functions here. The registration of the | ||||
| 	// generated functions takes place in the generated files. The separation | ||||
| 	// makes the code compile even when the generated files are missing. | ||||
| 	localSchemeBuilder.Register(addDefaultingFuncs, addConversionFuncs) | ||||
| } | ||||
							
								
								
									
										438
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										438
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,438 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	metav1 "k8s.io/apimachinery/pkg/apis/meta/v1" | ||||
| 	"k8s.io/apimachinery/pkg/runtime" | ||||
| 	"k8s.io/apimachinery/pkg/types" | ||||
| ) | ||||
|  | ||||
| // ConversionStrategyType describes different conversion types. | ||||
| type ConversionStrategyType string | ||||
|  | ||||
| const ( | ||||
| 	// NoneConverter is a converter that only sets apiversion of the CR and leave everything else unchanged. | ||||
| 	NoneConverter ConversionStrategyType = "None" | ||||
| 	// WebhookConverter is a converter that calls to an external webhook to convert the CR. | ||||
| 	WebhookConverter ConversionStrategyType = "Webhook" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionSpec describes how a user wants their resource to appear | ||||
| type CustomResourceDefinitionSpec struct { | ||||
| 	// Group is the group this resource belongs in | ||||
| 	Group string `json:"group" protobuf:"bytes,1,opt,name=group"` | ||||
| 	// Version is the version this resource belongs in | ||||
| 	// Should be always first item in Versions field if provided. | ||||
| 	// Optional, but at least one of Version or Versions must be set. | ||||
| 	// Deprecated: Please use `Versions`. | ||||
| 	// +optional | ||||
| 	Version string `json:"version,omitempty" protobuf:"bytes,2,opt,name=version"` | ||||
| 	// Names are the names used to describe this custom resource | ||||
| 	Names CustomResourceDefinitionNames `json:"names" protobuf:"bytes,3,opt,name=names"` | ||||
| 	// Scope indicates whether this resource is cluster or namespace scoped.  Default is namespaced | ||||
| 	Scope ResourceScope `json:"scope" protobuf:"bytes,4,opt,name=scope,casttype=ResourceScope"` | ||||
| 	// Validation describes the validation methods for CustomResources | ||||
| 	// Optional, the global validation schema for all versions. | ||||
| 	// Top-level and per-version schemas are mutually exclusive. | ||||
| 	// +optional | ||||
| 	Validation *CustomResourceValidation `json:"validation,omitempty" protobuf:"bytes,5,opt,name=validation"` | ||||
| 	// Subresources describes the subresources for CustomResource | ||||
| 	// Optional, the global subresources for all versions. | ||||
| 	// Top-level and per-version subresources are mutually exclusive. | ||||
| 	// +optional | ||||
| 	Subresources *CustomResourceSubresources `json:"subresources,omitempty" protobuf:"bytes,6,opt,name=subresources"` | ||||
| 	// Versions is the list of all supported versions for this resource. | ||||
| 	// If Version field is provided, this field is optional. | ||||
| 	// Validation: All versions must use the same validation schema for now. i.e., top | ||||
| 	// level Validation field is applied to all of these versions. | ||||
| 	// Order: The version name will be used to compute the order. | ||||
| 	// If the version string is "kube-like", it will sort above non "kube-like" version strings, which are ordered | ||||
| 	// lexicographically. "Kube-like" versions start with a "v", then are followed by a number (the major version), | ||||
| 	// then optionally the string "alpha" or "beta" and another number (the minor version). These are sorted first | ||||
| 	// by GA > beta > alpha (where GA is a version with no suffix such as beta or alpha), and then by comparing | ||||
| 	// major version, then minor version. An example sorted list of versions: | ||||
| 	// v10, v2, v1, v11beta2, v10beta3, v3beta1, v12alpha1, v11alpha2, foo1, foo10. | ||||
| 	// +optional | ||||
| 	Versions []CustomResourceDefinitionVersion `json:"versions,omitempty" protobuf:"bytes,7,rep,name=versions"` | ||||
| 	// AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
| 	// Optional, the global columns for all versions. | ||||
| 	// Top-level and per-version columns are mutually exclusive. | ||||
| 	// +optional | ||||
| 	AdditionalPrinterColumns []CustomResourceColumnDefinition `json:"additionalPrinterColumns,omitempty" protobuf:"bytes,8,rep,name=additionalPrinterColumns"` | ||||
|  | ||||
| 	// `conversion` defines conversion settings for the CRD. | ||||
| 	// +optional | ||||
| 	Conversion *CustomResourceConversion `json:"conversion,omitempty" protobuf:"bytes,9,opt,name=conversion"` | ||||
| } | ||||
|  | ||||
| // CustomResourceConversion describes how to convert different versions of a CR. | ||||
| type CustomResourceConversion struct { | ||||
| 	// `strategy` specifies the conversion strategy. Allowed values are: | ||||
| 	// - `None`: The converter only change the apiVersion and would not touch any other field in the CR. | ||||
| 	// - `Webhook`: API Server will call to an external webhook to do the conversion. Additional information is needed for this option. | ||||
| 	Strategy ConversionStrategyType `json:"strategy" protobuf:"bytes,1,name=strategy"` | ||||
|  | ||||
| 	// `webhookClientConfig` is the instructions for how to call the webhook if strategy is `Webhook`. This field is | ||||
| 	// alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// +optional | ||||
| 	WebhookClientConfig *WebhookClientConfig `json:"webhookClientConfig,omitempty" protobuf:"bytes,2,name=webhookClientConfig"` | ||||
|  | ||||
| 	// ConversionReviewVersions is an ordered list of preferred `ConversionReview` | ||||
| 	// versions the Webhook expects. API server will try to use first version in | ||||
| 	// the list which it supports. If none of the versions specified in this list | ||||
| 	// supported by API server, conversion will fail for this object. | ||||
| 	// If a persisted Webhook configuration specifies allowed versions and does not | ||||
| 	// include any versions known to the API Server, calls to the webhook will fail. | ||||
| 	// Default to `['v1beta1']`. | ||||
| 	// +optional | ||||
| 	ConversionReviewVersions []string `json:"conversionReviewVersions,omitempty" protobuf:"bytes,3,rep,name=conversionReviewVersions"` | ||||
| } | ||||
|  | ||||
| // WebhookClientConfig contains the information to make a TLS | ||||
| // connection with the webhook. It has the same field as admissionregistration.v1beta1.WebhookClientConfig. | ||||
| type WebhookClientConfig struct { | ||||
| 	// `url` gives the location of the webhook, in standard URL form | ||||
| 	// (`scheme://host:port/path`). Exactly one of `url` or `service` | ||||
| 	// must be specified. | ||||
| 	// | ||||
| 	// The `host` should not refer to a service running in the cluster; use | ||||
| 	// the `service` field instead. The host might be resolved via external | ||||
| 	// DNS in some apiservers (e.g., `kube-apiserver` cannot resolve | ||||
| 	// in-cluster DNS as that would be a layering violation). `host` may | ||||
| 	// also be an IP address. | ||||
| 	// | ||||
| 	// Please note that using `localhost` or `127.0.0.1` as a `host` is | ||||
| 	// risky unless you take great care to run this webhook on all hosts | ||||
| 	// which run an apiserver which might need to make calls to this | ||||
| 	// webhook. Such installs are likely to be non-portable, i.e., not easy | ||||
| 	// to turn up in a new cluster. | ||||
| 	// | ||||
| 	// The scheme must be "https"; the URL must begin with "https://". | ||||
| 	// | ||||
| 	// A path is optional, and if present may be any string permissible in | ||||
| 	// a URL. You may use the path to pass an arbitrary string to the | ||||
| 	// webhook, for example, a cluster identifier. | ||||
| 	// | ||||
| 	// Attempting to use a user or basic auth e.g. "user:password@" is not | ||||
| 	// allowed. Fragments ("#...") and query parameters ("?...") are not | ||||
| 	// allowed, either. | ||||
| 	// | ||||
| 	// +optional | ||||
| 	URL *string `json:"url,omitempty" protobuf:"bytes,3,opt,name=url"` | ||||
|  | ||||
| 	// `service` is a reference to the service for this webhook. Either | ||||
| 	// `service` or `url` must be specified. | ||||
| 	// | ||||
| 	// If the webhook is running within the cluster, then you should use `service`. | ||||
| 	// | ||||
| 	// Port 443 will be used if it is open, otherwise it is an error. | ||||
| 	// | ||||
| 	// +optional | ||||
| 	Service *ServiceReference `json:"service,omitempty" protobuf:"bytes,1,opt,name=service"` | ||||
|  | ||||
| 	// `caBundle` is a PEM encoded CA bundle which will be used to validate the webhook's server certificate. | ||||
| 	// If unspecified, system trust roots on the apiserver are used. | ||||
| 	// +optional | ||||
| 	CABundle []byte `json:"caBundle,omitempty" protobuf:"bytes,2,opt,name=caBundle"` | ||||
| } | ||||
|  | ||||
| // ServiceReference holds a reference to Service.legacy.k8s.io | ||||
| type ServiceReference struct { | ||||
| 	// `namespace` is the namespace of the service. | ||||
| 	// Required | ||||
| 	Namespace string `json:"namespace" protobuf:"bytes,1,opt,name=namespace"` | ||||
| 	// `name` is the name of the service. | ||||
| 	// Required | ||||
| 	Name string `json:"name" protobuf:"bytes,2,opt,name=name"` | ||||
|  | ||||
| 	// `path` is an optional URL path which will be sent in any request to | ||||
| 	// this service. | ||||
| 	// +optional | ||||
| 	Path *string `json:"path,omitempty" protobuf:"bytes,3,opt,name=path"` | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionVersion describes a version for CRD. | ||||
| type CustomResourceDefinitionVersion struct { | ||||
| 	// Name is the version name, e.g. “v1”, “v2beta1”, etc. | ||||
| 	Name string `json:"name" protobuf:"bytes,1,opt,name=name"` | ||||
| 	// Served is a flag enabling/disabling this version from being served via REST APIs | ||||
| 	Served bool `json:"served" protobuf:"varint,2,opt,name=served"` | ||||
| 	// Storage flags the version as storage version. There must be exactly one | ||||
| 	// flagged as storage version. | ||||
| 	Storage bool `json:"storage" protobuf:"varint,3,opt,name=storage"` | ||||
| 	// Schema describes the schema for CustomResource used in validation, pruning, and defaulting. | ||||
| 	// Top-level and per-version schemas are mutually exclusive. | ||||
| 	// Per-version schemas must not all be set to identical values (top-level validation schema should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// +optional | ||||
| 	Schema *CustomResourceValidation `json:"schema,omitempty" protobuf:"bytes,4,opt,name=schema"` | ||||
| 	// Subresources describes the subresources for CustomResource | ||||
| 	// Top-level and per-version subresources are mutually exclusive. | ||||
| 	// Per-version subresources must not all be set to identical values (top-level subresources should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// +optional | ||||
| 	Subresources *CustomResourceSubresources `json:"subresources,omitempty" protobuf:"bytes,5,opt,name=subresources"` | ||||
| 	// AdditionalPrinterColumns are additional columns shown e.g. in kubectl next to the name. Defaults to a created-at column. | ||||
| 	// Top-level and per-version columns are mutually exclusive. | ||||
| 	// Per-version columns must not all be set to identical values (top-level columns should be used instead) | ||||
| 	// This field is alpha-level and is only honored by servers that enable the CustomResourceWebhookConversion feature. | ||||
| 	// NOTE: CRDs created prior to 1.13 populated the top-level additionalPrinterColumns field by default. To apply an | ||||
| 	// update that changes to per-version additionalPrinterColumns, the top-level additionalPrinterColumns field must | ||||
| 	// be explicitly set to null | ||||
| 	// +optional | ||||
| 	AdditionalPrinterColumns []CustomResourceColumnDefinition `json:"additionalPrinterColumns,omitempty" protobuf:"bytes,6,rep,name=additionalPrinterColumns"` | ||||
| } | ||||
|  | ||||
| // CustomResourceColumnDefinition specifies a column for server side printing. | ||||
| type CustomResourceColumnDefinition struct { | ||||
| 	// name is a human readable name for the column. | ||||
| 	Name string `json:"name" protobuf:"bytes,1,opt,name=name"` | ||||
| 	// type is an OpenAPI type definition for this column. | ||||
| 	// See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
| 	Type string `json:"type" protobuf:"bytes,2,opt,name=type"` | ||||
| 	// format is an optional OpenAPI type definition for this column. The 'name' format is applied | ||||
| 	// to the primary identifier column to assist in clients identifying column is the resource name. | ||||
| 	// See https://github.com/OAI/OpenAPI-Specification/blob/master/versions/2.0.md#data-types for more. | ||||
| 	// +optional | ||||
| 	Format string `json:"format,omitempty" protobuf:"bytes,3,opt,name=format"` | ||||
| 	// description is a human readable description of this column. | ||||
| 	// +optional | ||||
| 	Description string `json:"description,omitempty" protobuf:"bytes,4,opt,name=description"` | ||||
| 	// priority is an integer defining the relative importance of this column compared to others. Lower | ||||
| 	// numbers are considered higher priority. Columns that may be omitted in limited space scenarios | ||||
| 	// should be given a higher priority. | ||||
| 	// +optional | ||||
| 	Priority int32 `json:"priority,omitempty" protobuf:"bytes,5,opt,name=priority"` | ||||
|  | ||||
| 	// JSONPath is a simple JSON path, i.e. with array notation. | ||||
| 	JSONPath string `json:"JSONPath" protobuf:"bytes,6,opt,name=JSONPath"` | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionNames indicates the names to serve this CustomResourceDefinition | ||||
| type CustomResourceDefinitionNames struct { | ||||
| 	// Plural is the plural name of the resource to serve.  It must match the name of the CustomResourceDefinition-registration | ||||
| 	// too: plural.group and it must be all lowercase. | ||||
| 	Plural string `json:"plural" protobuf:"bytes,1,opt,name=plural"` | ||||
| 	// Singular is the singular name of the resource.  It must be all lowercase  Defaults to lowercased <kind> | ||||
| 	// +optional | ||||
| 	Singular string `json:"singular,omitempty" protobuf:"bytes,2,opt,name=singular"` | ||||
| 	// ShortNames are short names for the resource.  It must be all lowercase. | ||||
| 	// +optional | ||||
| 	ShortNames []string `json:"shortNames,omitempty" protobuf:"bytes,3,opt,name=shortNames"` | ||||
| 	// Kind is the serialized kind of the resource.  It is normally CamelCase and singular. | ||||
| 	Kind string `json:"kind" protobuf:"bytes,4,opt,name=kind"` | ||||
| 	// ListKind is the serialized kind of the list for this resource.  Defaults to <kind>List. | ||||
| 	// +optional | ||||
| 	ListKind string `json:"listKind,omitempty" protobuf:"bytes,5,opt,name=listKind"` | ||||
| 	// Categories is a list of grouped resources custom resources belong to (e.g. 'all') | ||||
| 	// +optional | ||||
| 	Categories []string `json:"categories,omitempty" protobuf:"bytes,6,rep,name=categories"` | ||||
| } | ||||
|  | ||||
| // ResourceScope is an enum defining the different scopes available to a custom resource | ||||
| type ResourceScope string | ||||
|  | ||||
| const ( | ||||
| 	ClusterScoped   ResourceScope = "Cluster" | ||||
| 	NamespaceScoped ResourceScope = "Namespaced" | ||||
| ) | ||||
|  | ||||
| type ConditionStatus string | ||||
|  | ||||
| // These are valid condition statuses. "ConditionTrue" means a resource is in the condition. | ||||
| // "ConditionFalse" means a resource is not in the condition. "ConditionUnknown" means kubernetes | ||||
| // can't decide if a resource is in the condition or not. In the future, we could add other | ||||
| // intermediate conditions, e.g. ConditionDegraded. | ||||
| const ( | ||||
| 	ConditionTrue    ConditionStatus = "True" | ||||
| 	ConditionFalse   ConditionStatus = "False" | ||||
| 	ConditionUnknown ConditionStatus = "Unknown" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionConditionType is a valid value for CustomResourceDefinitionCondition.Type | ||||
| type CustomResourceDefinitionConditionType string | ||||
|  | ||||
| const ( | ||||
| 	// Established means that the resource has become active. A resource is established when all names are | ||||
| 	// accepted without a conflict for the first time. A resource stays established until deleted, even during | ||||
| 	// a later NamesAccepted due to changed names. Note that not all names can be changed. | ||||
| 	Established CustomResourceDefinitionConditionType = "Established" | ||||
| 	// NamesAccepted means the names chosen for this CustomResourceDefinition do not conflict with others in | ||||
| 	// the group and are therefore accepted. | ||||
| 	NamesAccepted CustomResourceDefinitionConditionType = "NamesAccepted" | ||||
| 	// Terminating means that the CustomResourceDefinition has been deleted and is cleaning up. | ||||
| 	Terminating CustomResourceDefinitionConditionType = "Terminating" | ||||
| ) | ||||
|  | ||||
| // CustomResourceDefinitionCondition contains details for the current condition of this pod. | ||||
| type CustomResourceDefinitionCondition struct { | ||||
| 	// Type is the type of the condition. | ||||
| 	Type CustomResourceDefinitionConditionType `json:"type" protobuf:"bytes,1,opt,name=type,casttype=CustomResourceDefinitionConditionType"` | ||||
| 	// Status is the status of the condition. | ||||
| 	// Can be True, False, Unknown. | ||||
| 	Status ConditionStatus `json:"status" protobuf:"bytes,2,opt,name=status,casttype=ConditionStatus"` | ||||
| 	// Last time the condition transitioned from one status to another. | ||||
| 	// +optional | ||||
| 	LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty" protobuf:"bytes,3,opt,name=lastTransitionTime"` | ||||
| 	// Unique, one-word, CamelCase reason for the condition's last transition. | ||||
| 	// +optional | ||||
| 	Reason string `json:"reason,omitempty" protobuf:"bytes,4,opt,name=reason"` | ||||
| 	// Human-readable message indicating details about last transition. | ||||
| 	// +optional | ||||
| 	Message string `json:"message,omitempty" protobuf:"bytes,5,opt,name=message"` | ||||
| } | ||||
|  | ||||
| // CustomResourceDefinitionStatus indicates the state of the CustomResourceDefinition | ||||
| type CustomResourceDefinitionStatus struct { | ||||
| 	// Conditions indicate state for particular aspects of a CustomResourceDefinition | ||||
| 	Conditions []CustomResourceDefinitionCondition `json:"conditions" protobuf:"bytes,1,opt,name=conditions"` | ||||
|  | ||||
| 	// AcceptedNames are the names that are actually being used to serve discovery | ||||
| 	// They may be different than the names in spec. | ||||
| 	AcceptedNames CustomResourceDefinitionNames `json:"acceptedNames" protobuf:"bytes,2,opt,name=acceptedNames"` | ||||
|  | ||||
| 	// StoredVersions are all versions of CustomResources that were ever persisted. Tracking these | ||||
| 	// versions allows a migration path for stored versions in etcd. The field is mutable | ||||
| 	// so the migration controller can first finish a migration to another version (i.e. | ||||
| 	// that no old objects are left in the storage), and then remove the rest of the | ||||
| 	// versions from this list. | ||||
| 	// None of the versions in this list can be removed from the spec.Versions field. | ||||
| 	StoredVersions []string `json:"storedVersions" protobuf:"bytes,3,rep,name=storedVersions"` | ||||
| } | ||||
|  | ||||
| // CustomResourceCleanupFinalizer is the name of the finalizer which will delete instances of | ||||
| // a CustomResourceDefinition | ||||
| const CustomResourceCleanupFinalizer = "customresourcecleanup.apiextensions.k8s.io" | ||||
|  | ||||
| // +genclient | ||||
| // +genclient:nonNamespaced | ||||
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||||
|  | ||||
| // CustomResourceDefinition represents a resource that should be exposed on the API server.  Its name MUST be in the format | ||||
| // <.spec.name>.<.spec.group>. | ||||
| type CustomResourceDefinition struct { | ||||
| 	metav1.TypeMeta   `json:",inline"` | ||||
| 	metav1.ObjectMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` | ||||
|  | ||||
| 	// Spec describes how the user wants the resources to appear | ||||
| 	Spec CustomResourceDefinitionSpec `json:"spec" protobuf:"bytes,2,opt,name=spec"` | ||||
| 	// Status indicates the actual state of the CustomResourceDefinition | ||||
| 	// +optional | ||||
| 	Status CustomResourceDefinitionStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"` | ||||
| } | ||||
|  | ||||
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||||
|  | ||||
| // CustomResourceDefinitionList is a list of CustomResourceDefinition objects. | ||||
| type CustomResourceDefinitionList struct { | ||||
| 	metav1.TypeMeta `json:",inline"` | ||||
| 	metav1.ListMeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"` | ||||
|  | ||||
| 	// Items individual CustomResourceDefinitions | ||||
| 	Items []CustomResourceDefinition `json:"items" protobuf:"bytes,2,rep,name=items"` | ||||
| } | ||||
|  | ||||
| // CustomResourceValidation is a list of validation methods for CustomResources. | ||||
| type CustomResourceValidation struct { | ||||
| 	// OpenAPIV3Schema is the OpenAPI v3 schema to be validated against. | ||||
| 	// +optional | ||||
| 	OpenAPIV3Schema *JSONSchemaProps `json:"openAPIV3Schema,omitempty" protobuf:"bytes,1,opt,name=openAPIV3Schema"` | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresources defines the status and scale subresources for CustomResources. | ||||
| type CustomResourceSubresources struct { | ||||
| 	// Status denotes the status subresource for CustomResources | ||||
| 	// +optional | ||||
| 	Status *CustomResourceSubresourceStatus `json:"status,omitempty" protobuf:"bytes,1,opt,name=status"` | ||||
| 	// Scale denotes the scale subresource for CustomResources | ||||
| 	// +optional | ||||
| 	Scale *CustomResourceSubresourceScale `json:"scale,omitempty" protobuf:"bytes,2,opt,name=scale"` | ||||
| } | ||||
|  | ||||
| // CustomResourceSubresourceStatus defines how to serve the status subresource for CustomResources. | ||||
| // Status is represented by the `.status` JSON path inside of a CustomResource. When set, | ||||
| // * exposes a /status subresource for the custom resource | ||||
| // * PUT requests to the /status subresource take a custom resource object, and ignore changes to anything except the status stanza | ||||
| // * PUT/POST/PATCH requests to the custom resource ignore changes to the status stanza | ||||
| type CustomResourceSubresourceStatus struct{} | ||||
|  | ||||
| // CustomResourceSubresourceScale defines how to serve the scale subresource for CustomResources. | ||||
| type CustomResourceSubresourceScale struct { | ||||
| 	// SpecReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Spec.Replicas. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .spec. | ||||
| 	// If there is no value under the given path in the CustomResource, the /scale subresource will return an error on GET. | ||||
| 	SpecReplicasPath string `json:"specReplicasPath" protobuf:"bytes,1,name=specReplicasPath"` | ||||
| 	// StatusReplicasPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Replicas. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .status. | ||||
| 	// If there is no value under the given path in the CustomResource, the status replica value in the /scale subresource | ||||
| 	// will default to 0. | ||||
| 	StatusReplicasPath string `json:"statusReplicasPath" protobuf:"bytes,2,opt,name=statusReplicasPath"` | ||||
| 	// LabelSelectorPath defines the JSON path inside of a CustomResource that corresponds to Scale.Status.Selector. | ||||
| 	// Only JSON paths without the array notation are allowed. | ||||
| 	// Must be a JSON Path under .status. | ||||
| 	// Must be set to work with HPA. | ||||
| 	// If there is no value under the given path in the CustomResource, the status label selector value in the /scale | ||||
| 	// subresource will default to the empty string. | ||||
| 	// +optional | ||||
| 	LabelSelectorPath *string `json:"labelSelectorPath,omitempty" protobuf:"bytes,3,opt,name=labelSelectorPath"` | ||||
| } | ||||
|  | ||||
| // +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object | ||||
|  | ||||
| // ConversionReview describes a conversion request/response. | ||||
| type ConversionReview struct { | ||||
| 	metav1.TypeMeta `json:",inline"` | ||||
| 	// `request` describes the attributes for the conversion request. | ||||
| 	// +optional | ||||
| 	Request *ConversionRequest `json:"request,omitempty" protobuf:"bytes,1,opt,name=request"` | ||||
| 	// `response` describes the attributes for the conversion response. | ||||
| 	// +optional | ||||
| 	Response *ConversionResponse `json:"response,omitempty" protobuf:"bytes,2,opt,name=response"` | ||||
| } | ||||
|  | ||||
| // ConversionRequest describes the conversion request parameters. | ||||
| type ConversionRequest struct { | ||||
| 	// `uid` is an identifier for the individual request/response. It allows us to distinguish instances of requests which are | ||||
| 	// otherwise identical (parallel requests, requests when earlier requests did not modify etc) | ||||
| 	// The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request. | ||||
| 	// It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging. | ||||
| 	UID types.UID `json:"uid" protobuf:"bytes,1,name=uid"` | ||||
| 	// `desiredAPIVersion` is the version to convert given objects to. e.g. "myapi.example.com/v1" | ||||
| 	DesiredAPIVersion string `json:"desiredAPIVersion" protobuf:"bytes,2,name=desiredAPIVersion"` | ||||
| 	// `objects` is the list of CR objects to be converted. | ||||
| 	Objects []runtime.RawExtension `json:"objects" protobuf:"bytes,3,rep,name=objects"` | ||||
| } | ||||
|  | ||||
| // ConversionResponse describes a conversion response. | ||||
| type ConversionResponse struct { | ||||
| 	// `uid` is an identifier for the individual request/response. | ||||
| 	// This should be copied over from the corresponding AdmissionRequest. | ||||
| 	UID types.UID `json:"uid" protobuf:"bytes,1,name=uid"` | ||||
| 	// `convertedObjects` is the list of converted version of `request.objects` if the `result` is successful otherwise empty. | ||||
| 	// The webhook is expected to set apiVersion of these objects to the ConversionRequest.desiredAPIVersion. The list | ||||
| 	// must also has the same size as input list with the same objects in the same order(i.e. equal UIDs and object meta) | ||||
| 	ConvertedObjects []runtime.RawExtension `json:"convertedObjects" protobuf:"bytes,2,rep,name=convertedObjects"` | ||||
| 	// `result` contains the result of conversion with extra details if the conversion failed. `result.status` determines if | ||||
| 	// the conversion failed or succeeded. The `result.status` field is required and represent the success or failure of the | ||||
| 	// conversion. A successful conversion must set `result.status` to `Success`. A failed conversion must set | ||||
| 	// `result.status` to `Failure` and provide more details in `result.message` and return http status 200. The `result.message` | ||||
| 	// will be used to construct an error message for the end user. | ||||
| 	Result metav1.Status `json:"result" protobuf:"bytes,3,name=result"` | ||||
| } | ||||
							
								
								
									
										151
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										151
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/types_jsonschema.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,151 @@ | ||||
| /* | ||||
| Copyright 2017 The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| // JSONSchemaProps is a JSON-Schema following Specification Draft 4 (http://json-schema.org/). | ||||
| type JSONSchemaProps struct { | ||||
| 	ID                   string                     `json:"id,omitempty" protobuf:"bytes,1,opt,name=id"` | ||||
| 	Schema               JSONSchemaURL              `json:"$schema,omitempty" protobuf:"bytes,2,opt,name=schema"` | ||||
| 	Ref                  *string                    `json:"$ref,omitempty" protobuf:"bytes,3,opt,name=ref"` | ||||
| 	Description          string                     `json:"description,omitempty" protobuf:"bytes,4,opt,name=description"` | ||||
| 	Type                 string                     `json:"type,omitempty" protobuf:"bytes,5,opt,name=type"` | ||||
| 	Format               string                     `json:"format,omitempty" protobuf:"bytes,6,opt,name=format"` | ||||
| 	Title                string                     `json:"title,omitempty" protobuf:"bytes,7,opt,name=title"` | ||||
| 	Default              *JSON                      `json:"default,omitempty" protobuf:"bytes,8,opt,name=default"` | ||||
| 	Maximum              *float64                   `json:"maximum,omitempty" protobuf:"bytes,9,opt,name=maximum"` | ||||
| 	ExclusiveMaximum     bool                       `json:"exclusiveMaximum,omitempty" protobuf:"bytes,10,opt,name=exclusiveMaximum"` | ||||
| 	Minimum              *float64                   `json:"minimum,omitempty" protobuf:"bytes,11,opt,name=minimum"` | ||||
| 	ExclusiveMinimum     bool                       `json:"exclusiveMinimum,omitempty" protobuf:"bytes,12,opt,name=exclusiveMinimum"` | ||||
| 	MaxLength            *int64                     `json:"maxLength,omitempty" protobuf:"bytes,13,opt,name=maxLength"` | ||||
| 	MinLength            *int64                     `json:"minLength,omitempty" protobuf:"bytes,14,opt,name=minLength"` | ||||
| 	Pattern              string                     `json:"pattern,omitempty" protobuf:"bytes,15,opt,name=pattern"` | ||||
| 	MaxItems             *int64                     `json:"maxItems,omitempty" protobuf:"bytes,16,opt,name=maxItems"` | ||||
| 	MinItems             *int64                     `json:"minItems,omitempty" protobuf:"bytes,17,opt,name=minItems"` | ||||
| 	UniqueItems          bool                       `json:"uniqueItems,omitempty" protobuf:"bytes,18,opt,name=uniqueItems"` | ||||
| 	MultipleOf           *float64                   `json:"multipleOf,omitempty" protobuf:"bytes,19,opt,name=multipleOf"` | ||||
| 	Enum                 []JSON                     `json:"enum,omitempty" protobuf:"bytes,20,rep,name=enum"` | ||||
| 	MaxProperties        *int64                     `json:"maxProperties,omitempty" protobuf:"bytes,21,opt,name=maxProperties"` | ||||
| 	MinProperties        *int64                     `json:"minProperties,omitempty" protobuf:"bytes,22,opt,name=minProperties"` | ||||
| 	Required             []string                   `json:"required,omitempty" protobuf:"bytes,23,rep,name=required"` | ||||
| 	Items                *JSONSchemaPropsOrArray    `json:"items,omitempty" protobuf:"bytes,24,opt,name=items"` | ||||
| 	AllOf                []JSONSchemaProps          `json:"allOf,omitempty" protobuf:"bytes,25,rep,name=allOf"` | ||||
| 	OneOf                []JSONSchemaProps          `json:"oneOf,omitempty" protobuf:"bytes,26,rep,name=oneOf"` | ||||
| 	AnyOf                []JSONSchemaProps          `json:"anyOf,omitempty" protobuf:"bytes,27,rep,name=anyOf"` | ||||
| 	Not                  *JSONSchemaProps           `json:"not,omitempty" protobuf:"bytes,28,opt,name=not"` | ||||
| 	Properties           map[string]JSONSchemaProps `json:"properties,omitempty" protobuf:"bytes,29,rep,name=properties"` | ||||
| 	AdditionalProperties *JSONSchemaPropsOrBool     `json:"additionalProperties,omitempty" protobuf:"bytes,30,opt,name=additionalProperties"` | ||||
| 	PatternProperties    map[string]JSONSchemaProps `json:"patternProperties,omitempty" protobuf:"bytes,31,rep,name=patternProperties"` | ||||
| 	Dependencies         JSONSchemaDependencies     `json:"dependencies,omitempty" protobuf:"bytes,32,opt,name=dependencies"` | ||||
| 	AdditionalItems      *JSONSchemaPropsOrBool     `json:"additionalItems,omitempty" protobuf:"bytes,33,opt,name=additionalItems"` | ||||
| 	Definitions          JSONSchemaDefinitions      `json:"definitions,omitempty" protobuf:"bytes,34,opt,name=definitions"` | ||||
| 	ExternalDocs         *ExternalDocumentation     `json:"externalDocs,omitempty" protobuf:"bytes,35,opt,name=externalDocs"` | ||||
| 	Example              *JSON                      `json:"example,omitempty" protobuf:"bytes,36,opt,name=example"` | ||||
| 	Nullable             bool                       `json:"nullable,omitempty" protobuf:"bytes,37,opt,name=nullable"` | ||||
| } | ||||
|  | ||||
| // JSON represents any valid JSON value. | ||||
| // These types are supported: bool, int64, float64, string, []interface{}, map[string]interface{} and nil. | ||||
| type JSON struct { | ||||
| 	Raw []byte `protobuf:"bytes,1,opt,name=raw"` | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaType is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| // | ||||
| // See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators | ||||
| func (_ JSON) OpenAPISchemaType() []string { | ||||
| 	// TODO: return actual types when anyOf is supported | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaFormat is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| func (_ JSON) OpenAPISchemaFormat() string { return "" } | ||||
|  | ||||
| // JSONSchemaURL represents a schema url. | ||||
| type JSONSchemaURL string | ||||
|  | ||||
| // JSONSchemaPropsOrArray represents a value that can either be a JSONSchemaProps | ||||
| // or an array of JSONSchemaProps. Mainly here for serialization purposes. | ||||
| type JSONSchemaPropsOrArray struct { | ||||
| 	Schema      *JSONSchemaProps  `protobuf:"bytes,1,opt,name=schema"` | ||||
| 	JSONSchemas []JSONSchemaProps `protobuf:"bytes,2,rep,name=jSONSchemas"` | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaType is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| // | ||||
| // See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators | ||||
| func (_ JSONSchemaPropsOrArray) OpenAPISchemaType() []string { | ||||
| 	// TODO: return actual types when anyOf is supported | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaFormat is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| func (_ JSONSchemaPropsOrArray) OpenAPISchemaFormat() string { return "" } | ||||
|  | ||||
| // JSONSchemaPropsOrBool represents JSONSchemaProps or a boolean value. | ||||
| // Defaults to true for the boolean property. | ||||
| type JSONSchemaPropsOrBool struct { | ||||
| 	Allows bool             `protobuf:"varint,1,opt,name=allows"` | ||||
| 	Schema *JSONSchemaProps `protobuf:"bytes,2,opt,name=schema"` | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaType is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| // | ||||
| // See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators | ||||
| func (_ JSONSchemaPropsOrBool) OpenAPISchemaType() []string { | ||||
| 	// TODO: return actual types when anyOf is supported | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaFormat is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| func (_ JSONSchemaPropsOrBool) OpenAPISchemaFormat() string { return "" } | ||||
|  | ||||
| // JSONSchemaDependencies represent a dependencies property. | ||||
| type JSONSchemaDependencies map[string]JSONSchemaPropsOrStringArray | ||||
|  | ||||
| // JSONSchemaPropsOrStringArray represents a JSONSchemaProps or a string array. | ||||
| type JSONSchemaPropsOrStringArray struct { | ||||
| 	Schema   *JSONSchemaProps `protobuf:"bytes,1,opt,name=schema"` | ||||
| 	Property []string         `protobuf:"bytes,2,rep,name=property"` | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaType is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| // | ||||
| // See: https://github.com/kubernetes/kube-openapi/tree/master/pkg/generators | ||||
| func (_ JSONSchemaPropsOrStringArray) OpenAPISchemaType() []string { | ||||
| 	// TODO: return actual types when anyOf is supported | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| // OpenAPISchemaFormat is used by the kube-openapi generator when constructing | ||||
| // the OpenAPI spec of this type. | ||||
| func (_ JSONSchemaPropsOrStringArray) OpenAPISchemaFormat() string { return "" } | ||||
|  | ||||
| // JSONSchemaDefinitions contains the models explicitly defined in this spec. | ||||
| type JSONSchemaDefinitions map[string]JSONSchemaProps | ||||
|  | ||||
| // ExternalDocumentation allows referencing an external resource for extended documentation. | ||||
| type ExternalDocumentation struct { | ||||
| 	Description string `json:"description,omitempty" protobuf:"bytes,1,opt,name=description"` | ||||
| 	URL         string `json:"url,omitempty" protobuf:"bytes,2,opt,name=url"` | ||||
| } | ||||
							
								
								
									
										1273
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										1273
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.conversion.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
							
								
								
									
										652
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										652
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,652 @@ | ||||
| // +build !ignore_autogenerated | ||||
|  | ||||
| /* | ||||
| Copyright The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Code generated by deepcopy-gen. DO NOT EDIT. | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	runtime "k8s.io/apimachinery/pkg/runtime" | ||||
| ) | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ConversionRequest) DeepCopyInto(out *ConversionRequest) { | ||||
| 	*out = *in | ||||
| 	if in.Objects != nil { | ||||
| 		in, out := &in.Objects, &out.Objects | ||||
| 		*out = make([]runtime.RawExtension, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConversionRequest. | ||||
| func (in *ConversionRequest) DeepCopy() *ConversionRequest { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ConversionRequest) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ConversionResponse) DeepCopyInto(out *ConversionResponse) { | ||||
| 	*out = *in | ||||
| 	if in.ConvertedObjects != nil { | ||||
| 		in, out := &in.ConvertedObjects, &out.ConvertedObjects | ||||
| 		*out = make([]runtime.RawExtension, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	in.Result.DeepCopyInto(&out.Result) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConversionResponse. | ||||
| func (in *ConversionResponse) DeepCopy() *ConversionResponse { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ConversionResponse) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ConversionReview) DeepCopyInto(out *ConversionReview) { | ||||
| 	*out = *in | ||||
| 	out.TypeMeta = in.TypeMeta | ||||
| 	if in.Request != nil { | ||||
| 		in, out := &in.Request, &out.Request | ||||
| 		*out = new(ConversionRequest) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Response != nil { | ||||
| 		in, out := &in.Response, &out.Response | ||||
| 		*out = new(ConversionResponse) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ConversionReview. | ||||
| func (in *ConversionReview) DeepCopy() *ConversionReview { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ConversionReview) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. | ||||
| func (in *ConversionReview) 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 *CustomResourceColumnDefinition) DeepCopyInto(out *CustomResourceColumnDefinition) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceColumnDefinition. | ||||
| func (in *CustomResourceColumnDefinition) DeepCopy() *CustomResourceColumnDefinition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceColumnDefinition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceConversion) DeepCopyInto(out *CustomResourceConversion) { | ||||
| 	*out = *in | ||||
| 	if in.WebhookClientConfig != nil { | ||||
| 		in, out := &in.WebhookClientConfig, &out.WebhookClientConfig | ||||
| 		*out = new(WebhookClientConfig) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.ConversionReviewVersions != nil { | ||||
| 		in, out := &in.ConversionReviewVersions, &out.ConversionReviewVersions | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceConversion. | ||||
| func (in *CustomResourceConversion) DeepCopy() *CustomResourceConversion { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceConversion) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinition) DeepCopyInto(out *CustomResourceDefinition) { | ||||
| 	*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 CustomResourceDefinition. | ||||
| func (in *CustomResourceDefinition) DeepCopy() *CustomResourceDefinition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. | ||||
| func (in *CustomResourceDefinition) 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 *CustomResourceDefinitionCondition) DeepCopyInto(out *CustomResourceDefinitionCondition) { | ||||
| 	*out = *in | ||||
| 	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionCondition. | ||||
| func (in *CustomResourceDefinitionCondition) DeepCopy() *CustomResourceDefinitionCondition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionCondition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionList) DeepCopyInto(out *CustomResourceDefinitionList) { | ||||
| 	*out = *in | ||||
| 	out.TypeMeta = in.TypeMeta | ||||
| 	out.ListMeta = in.ListMeta | ||||
| 	if in.Items != nil { | ||||
| 		in, out := &in.Items, &out.Items | ||||
| 		*out = make([]CustomResourceDefinition, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionList. | ||||
| func (in *CustomResourceDefinitionList) DeepCopy() *CustomResourceDefinitionList { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionList) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. | ||||
| func (in *CustomResourceDefinitionList) 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 *CustomResourceDefinitionNames) DeepCopyInto(out *CustomResourceDefinitionNames) { | ||||
| 	*out = *in | ||||
| 	if in.ShortNames != nil { | ||||
| 		in, out := &in.ShortNames, &out.ShortNames | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	if in.Categories != nil { | ||||
| 		in, out := &in.Categories, &out.Categories | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionNames. | ||||
| func (in *CustomResourceDefinitionNames) DeepCopy() *CustomResourceDefinitionNames { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionNames) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) { | ||||
| 	*out = *in | ||||
| 	in.Names.DeepCopyInto(&out.Names) | ||||
| 	if in.Validation != nil { | ||||
| 		in, out := &in.Validation, &out.Validation | ||||
| 		*out = new(CustomResourceValidation) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Subresources != nil { | ||||
| 		in, out := &in.Subresources, &out.Subresources | ||||
| 		*out = new(CustomResourceSubresources) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Versions != nil { | ||||
| 		in, out := &in.Versions, &out.Versions | ||||
| 		*out = make([]CustomResourceDefinitionVersion, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	if in.AdditionalPrinterColumns != nil { | ||||
| 		in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns | ||||
| 		*out = make([]CustomResourceColumnDefinition, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	if in.Conversion != nil { | ||||
| 		in, out := &in.Conversion, &out.Conversion | ||||
| 		*out = new(CustomResourceConversion) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionSpec. | ||||
| func (in *CustomResourceDefinitionSpec) DeepCopy() *CustomResourceDefinitionSpec { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionSpec) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionStatus) DeepCopyInto(out *CustomResourceDefinitionStatus) { | ||||
| 	*out = *in | ||||
| 	if in.Conditions != nil { | ||||
| 		in, out := &in.Conditions, &out.Conditions | ||||
| 		*out = make([]CustomResourceDefinitionCondition, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	in.AcceptedNames.DeepCopyInto(&out.AcceptedNames) | ||||
| 	if in.StoredVersions != nil { | ||||
| 		in, out := &in.StoredVersions, &out.StoredVersions | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionStatus. | ||||
| func (in *CustomResourceDefinitionStatus) DeepCopy() *CustomResourceDefinitionStatus { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionStatus) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionVersion) DeepCopyInto(out *CustomResourceDefinitionVersion) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = new(CustomResourceValidation) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Subresources != nil { | ||||
| 		in, out := &in.Subresources, &out.Subresources | ||||
| 		*out = new(CustomResourceSubresources) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.AdditionalPrinterColumns != nil { | ||||
| 		in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns | ||||
| 		*out = make([]CustomResourceColumnDefinition, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionVersion. | ||||
| func (in *CustomResourceDefinitionVersion) DeepCopy() *CustomResourceDefinitionVersion { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionVersion) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresourceScale) DeepCopyInto(out *CustomResourceSubresourceScale) { | ||||
| 	*out = *in | ||||
| 	if in.LabelSelectorPath != nil { | ||||
| 		in, out := &in.LabelSelectorPath, &out.LabelSelectorPath | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceScale. | ||||
| func (in *CustomResourceSubresourceScale) DeepCopy() *CustomResourceSubresourceScale { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresourceScale) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresourceStatus) DeepCopyInto(out *CustomResourceSubresourceStatus) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceStatus. | ||||
| func (in *CustomResourceSubresourceStatus) DeepCopy() *CustomResourceSubresourceStatus { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresourceStatus) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresources) DeepCopyInto(out *CustomResourceSubresources) { | ||||
| 	*out = *in | ||||
| 	if in.Status != nil { | ||||
| 		in, out := &in.Status, &out.Status | ||||
| 		*out = new(CustomResourceSubresourceStatus) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	if in.Scale != nil { | ||||
| 		in, out := &in.Scale, &out.Scale | ||||
| 		*out = new(CustomResourceSubresourceScale) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresources. | ||||
| func (in *CustomResourceSubresources) DeepCopy() *CustomResourceSubresources { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresources) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceValidation) DeepCopyInto(out *CustomResourceValidation) { | ||||
| 	*out = *in | ||||
| 	if in.OpenAPIV3Schema != nil { | ||||
| 		in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceValidation. | ||||
| func (in *CustomResourceValidation) DeepCopy() *CustomResourceValidation { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceValidation) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ExternalDocumentation) DeepCopyInto(out *ExternalDocumentation) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDocumentation. | ||||
| func (in *ExternalDocumentation) DeepCopy() *ExternalDocumentation { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ExternalDocumentation) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSON) DeepCopyInto(out *JSON) { | ||||
| 	*out = *in | ||||
| 	if in.Raw != nil { | ||||
| 		in, out := &in.Raw, &out.Raw | ||||
| 		*out = make([]byte, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSON. | ||||
| func (in *JSON) DeepCopy() *JSON { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSON) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in JSONSchemaDefinitions) DeepCopyInto(out *JSONSchemaDefinitions) { | ||||
| 	{ | ||||
| 		in := &in | ||||
| 		*out = make(JSONSchemaDefinitions, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDefinitions. | ||||
| func (in JSONSchemaDefinitions) DeepCopy() JSONSchemaDefinitions { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaDefinitions) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return *out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in JSONSchemaDependencies) DeepCopyInto(out *JSONSchemaDependencies) { | ||||
| 	{ | ||||
| 		in := &in | ||||
| 		*out = make(JSONSchemaDependencies, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDependencies. | ||||
| func (in JSONSchemaDependencies) DeepCopy() JSONSchemaDependencies { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaDependencies) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return *out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaProps) DeepCopyInto(out *JSONSchemaProps) { | ||||
| 	clone := in.DeepCopy() | ||||
| 	*out = *clone | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrArray) DeepCopyInto(out *JSONSchemaPropsOrArray) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	if in.JSONSchemas != nil { | ||||
| 		in, out := &in.JSONSchemas, &out.JSONSchemas | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrArray. | ||||
| func (in *JSONSchemaPropsOrArray) DeepCopy() *JSONSchemaPropsOrArray { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrArray) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrBool) DeepCopyInto(out *JSONSchemaPropsOrBool) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrBool. | ||||
| func (in *JSONSchemaPropsOrBool) DeepCopy() *JSONSchemaPropsOrBool { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrBool) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrStringArray) DeepCopyInto(out *JSONSchemaPropsOrStringArray) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	if in.Property != nil { | ||||
| 		in, out := &in.Property, &out.Property | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrStringArray. | ||||
| func (in *JSONSchemaPropsOrStringArray) DeepCopy() *JSONSchemaPropsOrStringArray { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrStringArray) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ServiceReference) DeepCopyInto(out *ServiceReference) { | ||||
| 	*out = *in | ||||
| 	if in.Path != nil { | ||||
| 		in, out := &in.Path, &out.Path | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference. | ||||
| func (in *ServiceReference) DeepCopy() *ServiceReference { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ServiceReference) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *WebhookClientConfig) DeepCopyInto(out *WebhookClientConfig) { | ||||
| 	*out = *in | ||||
| 	if in.URL != nil { | ||||
| 		in, out := &in.URL, &out.URL | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	if in.Service != nil { | ||||
| 		in, out := &in.Service, &out.Service | ||||
| 		*out = new(ServiceReference) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.CABundle != nil { | ||||
| 		in, out := &in.CABundle, &out.CABundle | ||||
| 		*out = make([]byte, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookClientConfig. | ||||
| func (in *WebhookClientConfig) DeepCopy() *WebhookClientConfig { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(WebhookClientConfig) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
							
								
								
									
										48
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										48
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/v1beta1/zz_generated.defaults.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,48 @@ | ||||
| // +build !ignore_autogenerated | ||||
|  | ||||
| /* | ||||
| Copyright The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Code generated by defaulter-gen. DO NOT EDIT. | ||||
|  | ||||
| package v1beta1 | ||||
|  | ||||
| import ( | ||||
| 	runtime "k8s.io/apimachinery/pkg/runtime" | ||||
| ) | ||||
|  | ||||
| // RegisterDefaults adds defaulters functions to the given scheme. | ||||
| // Public to allow building arbitrary schemes. | ||||
| // All generated defaulters are covering - they call all nested defaulters. | ||||
| func RegisterDefaults(scheme *runtime.Scheme) error { | ||||
| 	scheme.AddTypeDefaultingFunc(&CustomResourceDefinition{}, func(obj interface{}) { SetObjectDefaults_CustomResourceDefinition(obj.(*CustomResourceDefinition)) }) | ||||
| 	scheme.AddTypeDefaultingFunc(&CustomResourceDefinitionList{}, func(obj interface{}) { | ||||
| 		SetObjectDefaults_CustomResourceDefinitionList(obj.(*CustomResourceDefinitionList)) | ||||
| 	}) | ||||
| 	return nil | ||||
| } | ||||
|  | ||||
| func SetObjectDefaults_CustomResourceDefinition(in *CustomResourceDefinition) { | ||||
| 	SetDefaults_CustomResourceDefinition(in) | ||||
| 	SetDefaults_CustomResourceDefinitionSpec(&in.Spec) | ||||
| } | ||||
|  | ||||
| func SetObjectDefaults_CustomResourceDefinitionList(in *CustomResourceDefinitionList) { | ||||
| 	for i := range in.Items { | ||||
| 		a := &in.Items[i] | ||||
| 		SetObjectDefaults_CustomResourceDefinition(a) | ||||
| 	} | ||||
| } | ||||
							
								
								
									
										549
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							
							
						
						
									
										549
									
								
								vendor/k8s.io/apiextensions-apiserver/pkg/apis/apiextensions/zz_generated.deepcopy.go
									
									
									
										generated
									
									
										vendored
									
									
										Normal file
									
								
							| @@ -0,0 +1,549 @@ | ||||
| // +build !ignore_autogenerated | ||||
|  | ||||
| /* | ||||
| Copyright The Kubernetes Authors. | ||||
|  | ||||
| Licensed under the Apache License, Version 2.0 (the "License"); | ||||
| you may not use this file except in compliance with the License. | ||||
| You may obtain a copy of the License at | ||||
|  | ||||
|     http://www.apache.org/licenses/LICENSE-2.0 | ||||
|  | ||||
| Unless required by applicable law or agreed to in writing, software | ||||
| distributed under the License is distributed on an "AS IS" BASIS, | ||||
| WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | ||||
| See the License for the specific language governing permissions and | ||||
| limitations under the License. | ||||
| */ | ||||
|  | ||||
| // Code generated by deepcopy-gen. DO NOT EDIT. | ||||
|  | ||||
| package apiextensions | ||||
|  | ||||
| import ( | ||||
| 	runtime "k8s.io/apimachinery/pkg/runtime" | ||||
| ) | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceColumnDefinition) DeepCopyInto(out *CustomResourceColumnDefinition) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceColumnDefinition. | ||||
| func (in *CustomResourceColumnDefinition) DeepCopy() *CustomResourceColumnDefinition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceColumnDefinition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceConversion) DeepCopyInto(out *CustomResourceConversion) { | ||||
| 	*out = *in | ||||
| 	if in.WebhookClientConfig != nil { | ||||
| 		in, out := &in.WebhookClientConfig, &out.WebhookClientConfig | ||||
| 		*out = new(WebhookClientConfig) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.ConversionReviewVersions != nil { | ||||
| 		in, out := &in.ConversionReviewVersions, &out.ConversionReviewVersions | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceConversion. | ||||
| func (in *CustomResourceConversion) DeepCopy() *CustomResourceConversion { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceConversion) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinition) DeepCopyInto(out *CustomResourceDefinition) { | ||||
| 	*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 CustomResourceDefinition. | ||||
| func (in *CustomResourceDefinition) DeepCopy() *CustomResourceDefinition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. | ||||
| func (in *CustomResourceDefinition) 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 *CustomResourceDefinitionCondition) DeepCopyInto(out *CustomResourceDefinitionCondition) { | ||||
| 	*out = *in | ||||
| 	in.LastTransitionTime.DeepCopyInto(&out.LastTransitionTime) | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionCondition. | ||||
| func (in *CustomResourceDefinitionCondition) DeepCopy() *CustomResourceDefinitionCondition { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionCondition) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionList) DeepCopyInto(out *CustomResourceDefinitionList) { | ||||
| 	*out = *in | ||||
| 	out.TypeMeta = in.TypeMeta | ||||
| 	out.ListMeta = in.ListMeta | ||||
| 	if in.Items != nil { | ||||
| 		in, out := &in.Items, &out.Items | ||||
| 		*out = make([]CustomResourceDefinition, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionList. | ||||
| func (in *CustomResourceDefinitionList) DeepCopy() *CustomResourceDefinitionList { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionList) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object. | ||||
| func (in *CustomResourceDefinitionList) 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 *CustomResourceDefinitionNames) DeepCopyInto(out *CustomResourceDefinitionNames) { | ||||
| 	*out = *in | ||||
| 	if in.ShortNames != nil { | ||||
| 		in, out := &in.ShortNames, &out.ShortNames | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	if in.Categories != nil { | ||||
| 		in, out := &in.Categories, &out.Categories | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionNames. | ||||
| func (in *CustomResourceDefinitionNames) DeepCopy() *CustomResourceDefinitionNames { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionNames) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionSpec) DeepCopyInto(out *CustomResourceDefinitionSpec) { | ||||
| 	*out = *in | ||||
| 	in.Names.DeepCopyInto(&out.Names) | ||||
| 	if in.Validation != nil { | ||||
| 		in, out := &in.Validation, &out.Validation | ||||
| 		*out = new(CustomResourceValidation) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Subresources != nil { | ||||
| 		in, out := &in.Subresources, &out.Subresources | ||||
| 		*out = new(CustomResourceSubresources) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Versions != nil { | ||||
| 		in, out := &in.Versions, &out.Versions | ||||
| 		*out = make([]CustomResourceDefinitionVersion, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	if in.AdditionalPrinterColumns != nil { | ||||
| 		in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns | ||||
| 		*out = make([]CustomResourceColumnDefinition, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	if in.Conversion != nil { | ||||
| 		in, out := &in.Conversion, &out.Conversion | ||||
| 		*out = new(CustomResourceConversion) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionSpec. | ||||
| func (in *CustomResourceDefinitionSpec) DeepCopy() *CustomResourceDefinitionSpec { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionSpec) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionStatus) DeepCopyInto(out *CustomResourceDefinitionStatus) { | ||||
| 	*out = *in | ||||
| 	if in.Conditions != nil { | ||||
| 		in, out := &in.Conditions, &out.Conditions | ||||
| 		*out = make([]CustomResourceDefinitionCondition, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	in.AcceptedNames.DeepCopyInto(&out.AcceptedNames) | ||||
| 	if in.StoredVersions != nil { | ||||
| 		in, out := &in.StoredVersions, &out.StoredVersions | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionStatus. | ||||
| func (in *CustomResourceDefinitionStatus) DeepCopy() *CustomResourceDefinitionStatus { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionStatus) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceDefinitionVersion) DeepCopyInto(out *CustomResourceDefinitionVersion) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = new(CustomResourceValidation) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.Subresources != nil { | ||||
| 		in, out := &in.Subresources, &out.Subresources | ||||
| 		*out = new(CustomResourceSubresources) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.AdditionalPrinterColumns != nil { | ||||
| 		in, out := &in.AdditionalPrinterColumns, &out.AdditionalPrinterColumns | ||||
| 		*out = make([]CustomResourceColumnDefinition, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceDefinitionVersion. | ||||
| func (in *CustomResourceDefinitionVersion) DeepCopy() *CustomResourceDefinitionVersion { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceDefinitionVersion) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresourceScale) DeepCopyInto(out *CustomResourceSubresourceScale) { | ||||
| 	*out = *in | ||||
| 	if in.LabelSelectorPath != nil { | ||||
| 		in, out := &in.LabelSelectorPath, &out.LabelSelectorPath | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceScale. | ||||
| func (in *CustomResourceSubresourceScale) DeepCopy() *CustomResourceSubresourceScale { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresourceScale) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresourceStatus) DeepCopyInto(out *CustomResourceSubresourceStatus) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresourceStatus. | ||||
| func (in *CustomResourceSubresourceStatus) DeepCopy() *CustomResourceSubresourceStatus { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresourceStatus) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceSubresources) DeepCopyInto(out *CustomResourceSubresources) { | ||||
| 	*out = *in | ||||
| 	if in.Status != nil { | ||||
| 		in, out := &in.Status, &out.Status | ||||
| 		*out = new(CustomResourceSubresourceStatus) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	if in.Scale != nil { | ||||
| 		in, out := &in.Scale, &out.Scale | ||||
| 		*out = new(CustomResourceSubresourceScale) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceSubresources. | ||||
| func (in *CustomResourceSubresources) DeepCopy() *CustomResourceSubresources { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceSubresources) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *CustomResourceValidation) DeepCopyInto(out *CustomResourceValidation) { | ||||
| 	*out = *in | ||||
| 	if in.OpenAPIV3Schema != nil { | ||||
| 		in, out := &in.OpenAPIV3Schema, &out.OpenAPIV3Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CustomResourceValidation. | ||||
| func (in *CustomResourceValidation) DeepCopy() *CustomResourceValidation { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(CustomResourceValidation) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ExternalDocumentation) DeepCopyInto(out *ExternalDocumentation) { | ||||
| 	*out = *in | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ExternalDocumentation. | ||||
| func (in *ExternalDocumentation) DeepCopy() *ExternalDocumentation { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ExternalDocumentation) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in JSONSchemaDefinitions) DeepCopyInto(out *JSONSchemaDefinitions) { | ||||
| 	{ | ||||
| 		in := &in | ||||
| 		*out = make(JSONSchemaDefinitions, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDefinitions. | ||||
| func (in JSONSchemaDefinitions) DeepCopy() JSONSchemaDefinitions { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaDefinitions) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return *out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in JSONSchemaDependencies) DeepCopyInto(out *JSONSchemaDependencies) { | ||||
| 	{ | ||||
| 		in := &in | ||||
| 		*out = make(JSONSchemaDependencies, len(*in)) | ||||
| 		for key, val := range *in { | ||||
| 			(*out)[key] = *val.DeepCopy() | ||||
| 		} | ||||
| 		return | ||||
| 	} | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaDependencies. | ||||
| func (in JSONSchemaDependencies) DeepCopy() JSONSchemaDependencies { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaDependencies) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return *out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaProps) DeepCopyInto(out *JSONSchemaProps) { | ||||
| 	clone := in.DeepCopy() | ||||
| 	*out = *clone | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrArray) DeepCopyInto(out *JSONSchemaPropsOrArray) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	if in.JSONSchemas != nil { | ||||
| 		in, out := &in.JSONSchemas, &out.JSONSchemas | ||||
| 		*out = make([]JSONSchemaProps, len(*in)) | ||||
| 		for i := range *in { | ||||
| 			(*in)[i].DeepCopyInto(&(*out)[i]) | ||||
| 		} | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrArray. | ||||
| func (in *JSONSchemaPropsOrArray) DeepCopy() *JSONSchemaPropsOrArray { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrArray) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrBool) DeepCopyInto(out *JSONSchemaPropsOrBool) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrBool. | ||||
| func (in *JSONSchemaPropsOrBool) DeepCopy() *JSONSchemaPropsOrBool { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrBool) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *JSONSchemaPropsOrStringArray) DeepCopyInto(out *JSONSchemaPropsOrStringArray) { | ||||
| 	*out = *in | ||||
| 	if in.Schema != nil { | ||||
| 		in, out := &in.Schema, &out.Schema | ||||
| 		*out = (*in).DeepCopy() | ||||
| 	} | ||||
| 	if in.Property != nil { | ||||
| 		in, out := &in.Property, &out.Property | ||||
| 		*out = make([]string, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new JSONSchemaPropsOrStringArray. | ||||
| func (in *JSONSchemaPropsOrStringArray) DeepCopy() *JSONSchemaPropsOrStringArray { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(JSONSchemaPropsOrStringArray) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *ServiceReference) DeepCopyInto(out *ServiceReference) { | ||||
| 	*out = *in | ||||
| 	if in.Path != nil { | ||||
| 		in, out := &in.Path, &out.Path | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ServiceReference. | ||||
| func (in *ServiceReference) DeepCopy() *ServiceReference { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(ServiceReference) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
|  | ||||
| // DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil. | ||||
| func (in *WebhookClientConfig) DeepCopyInto(out *WebhookClientConfig) { | ||||
| 	*out = *in | ||||
| 	if in.URL != nil { | ||||
| 		in, out := &in.URL, &out.URL | ||||
| 		*out = new(string) | ||||
| 		**out = **in | ||||
| 	} | ||||
| 	if in.Service != nil { | ||||
| 		in, out := &in.Service, &out.Service | ||||
| 		*out = new(ServiceReference) | ||||
| 		(*in).DeepCopyInto(*out) | ||||
| 	} | ||||
| 	if in.CABundle != nil { | ||||
| 		in, out := &in.CABundle, &out.CABundle | ||||
| 		*out = make([]byte, len(*in)) | ||||
| 		copy(*out, *in) | ||||
| 	} | ||||
| 	return | ||||
| } | ||||
|  | ||||
| // DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new WebhookClientConfig. | ||||
| func (in *WebhookClientConfig) DeepCopy() *WebhookClientConfig { | ||||
| 	if in == nil { | ||||
| 		return nil | ||||
| 	} | ||||
| 	out := new(WebhookClientConfig) | ||||
| 	in.DeepCopyInto(out) | ||||
| 	return out | ||||
| } | ||||
		Reference in New Issue
	
	Block a user