Documentation ¶
Overview ¶
+k8s:deepcopy-gen=package,register +groupName=apiresource.kcp.dev +k8s:openapi-gen=true
Index ¶
- Constants
- Variables
- func IsAPIResourceImportConditionEquivalent(lhs, rhs *APIResourceImportCondition) bool
- func IsNegotiatedAPIResourceConditionEquivalent(lhs, rhs *NegotiatedAPIResourceCondition) bool
- func Kind(kind string) schema.GroupKind
- func Resource(resource string) schema.GroupResource
- type APIResourceImport
- func (in *APIResourceImport) DeepCopy() *APIResourceImport
- func (in *APIResourceImport) DeepCopyInto(out *APIResourceImport)
- func (in *APIResourceImport) DeepCopyObject() runtime.Object
- func (apiResourceImport *APIResourceImport) FindCondition(conditionType APIResourceImportConditionType) *APIResourceImportCondition
- func (apiResourceImport *APIResourceImport) GVR() metav1.GroupVersionResource
- func (apiResourceImport *APIResourceImport) IsConditionFalse(conditionType APIResourceImportConditionType) bool
- func (apiResourceImport *APIResourceImport) IsConditionPresentAndEqual(conditionType APIResourceImportConditionType, status metav1.ConditionStatus) bool
- func (apiResourceImport *APIResourceImport) IsConditionTrue(conditionType APIResourceImportConditionType) bool
- func (apiResourceImport *APIResourceImport) RemoveCondition(conditionType APIResourceImportConditionType)
- func (apiResourceImport *APIResourceImport) SetCondition(newCondition APIResourceImportCondition)
- type APIResourceImportCondition
- type APIResourceImportConditionType
- type APIResourceImportList
- type APIResourceImportSpec
- type APIResourceImportStatus
- type ColumnDefinition
- type ColumnDefinitions
- func (in ColumnDefinitions) DeepCopy() ColumnDefinitions
- func (in ColumnDefinitions) DeepCopyInto(out *ColumnDefinitions)
- func (cd *ColumnDefinitions) ImportFromCRDVersion(crdVersion *apiextensionsv1.CustomResourceDefinitionVersion) *ColumnDefinitions
- func (cds *ColumnDefinitions) ToCustomResourceColumnDefinitions() []apiextensionsv1.CustomResourceColumnDefinition
- type CommonAPIResourceSpec
- func (in *CommonAPIResourceSpec) DeepCopy() *CommonAPIResourceSpec
- func (in *CommonAPIResourceSpec) DeepCopyInto(out *CommonAPIResourceSpec)
- func (spec *CommonAPIResourceSpec) GetSchema() (*apiextensionsv1.JSONSchemaProps, error)
- func (spec *CommonAPIResourceSpec) SetSchema(s *apiextensionsv1.JSONSchemaProps) error
- type GroupVersion
- type NegotiatedAPIResource
- func (in *NegotiatedAPIResource) DeepCopy() *NegotiatedAPIResource
- func (in *NegotiatedAPIResource) DeepCopyInto(out *NegotiatedAPIResource)
- func (in *NegotiatedAPIResource) DeepCopyObject() runtime.Object
- func (negotiatedApiResource *NegotiatedAPIResource) FindCondition(conditionType NegotiatedAPIResourceConditionType) *NegotiatedAPIResourceCondition
- func (negotiatedApiResource *NegotiatedAPIResource) GVR() metav1.GroupVersionResource
- func (negotiatedApiResource *NegotiatedAPIResource) IsConditionFalse(conditionType NegotiatedAPIResourceConditionType) bool
- func (negotiatedApiResource *NegotiatedAPIResource) IsConditionPresentAndEqual(conditionType NegotiatedAPIResourceConditionType, ...) bool
- func (negotiatedApiResource *NegotiatedAPIResource) IsConditionTrue(conditionType NegotiatedAPIResourceConditionType) bool
- func (negotiatedApiResource *NegotiatedAPIResource) RemoveCondition(conditionType NegotiatedAPIResourceConditionType)
- func (negotiatedApiResource *NegotiatedAPIResource) SetCondition(newCondition NegotiatedAPIResourceCondition)
- type NegotiatedAPIResourceCondition
- type NegotiatedAPIResourceConditionType
- type NegotiatedAPIResourceList
- type NegotiatedAPIResourceSpec
- type NegotiatedAPIResourceStatus
- type SchemaUpdateStrategyType
- type SubResource
- type SubResources
Constants ¶
const ( ScaleSubResourceName string = "scale" StatusSubResourceName string = "status" )
const APIVersionAnnotation = "apiresource.kcp.dev/apiVersion"
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: apiresource.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func IsAPIResourceImportConditionEquivalent ¶
func IsAPIResourceImportConditionEquivalent(lhs, rhs *APIResourceImportCondition) bool
IsAPIResourceImportConditionEquivalent returns true if the lhs and rhs are equivalent except for times.
func IsNegotiatedAPIResourceConditionEquivalent ¶
func IsNegotiatedAPIResourceConditionEquivalent(lhs, rhs *NegotiatedAPIResourceCondition) bool
IsNegotiatedAPIResourceConditionEquivalent returns true if the lhs and rhs are equivalent except for times.
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type APIResourceImport ¶
type APIResourceImport struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec APIResourceImportSpec `json:"spec,omitempty"` // +optional Status APIResourceImportStatus `json:"status,omitempty"` }
APIResourceImport describes an API resource imported from external clusters (either physical or logical) for a given GVR.
+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=kcp +kubebuilder:printcolumn:name="Location",type="string",JSONPath=`.spec.location`,priority=1 +kubebuilder:printcolumn:name="Schema update strategy",type="string",JSONPath=`.spec.schemaUpdateStrategy`,priority=2 +kubebuilder:printcolumn:name="API Version",type="string",JSONPath=`.metadata.annotations.apiresource\.kcp\.dev/apiVersion`,priority=3 +kubebuilder:printcolumn:name="API Resource",type="string",JSONPath=`.spec.plural`,priority=4 +kubebuilder:printcolumn:name="Compatible",type="string",JSONPath=`.status.conditions[?(@.type=="Compatible")].status`,priority=5 +kubebuilder:printcolumn:name="Available",type="string",JSONPath=`.status.conditions[?(@.type=="Available")].status`,priority=6
func (*APIResourceImport) DeepCopy ¶
func (in *APIResourceImport) DeepCopy() *APIResourceImport
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceImport.
func (*APIResourceImport) DeepCopyInto ¶
func (in *APIResourceImport) DeepCopyInto(out *APIResourceImport)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIResourceImport) DeepCopyObject ¶
func (in *APIResourceImport) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*APIResourceImport) FindCondition ¶
func (apiResourceImport *APIResourceImport) FindCondition(conditionType APIResourceImportConditionType) *APIResourceImportCondition
FindCondition returns the condition you're looking for or nil.
func (*APIResourceImport) GVR ¶
func (apiResourceImport *APIResourceImport) GVR() metav1.GroupVersionResource
GVR returns the GVR that this APIResourceImport represents.
func (*APIResourceImport) IsConditionFalse ¶
func (apiResourceImport *APIResourceImport) IsConditionFalse(conditionType APIResourceImportConditionType) bool
IsConditionFalse indicates if the condition is present and false.
func (*APIResourceImport) IsConditionPresentAndEqual ¶
func (apiResourceImport *APIResourceImport) IsConditionPresentAndEqual(conditionType APIResourceImportConditionType, status metav1.ConditionStatus) bool
IsConditionPresentAndEqual indicates if the condition is present and equal to the given status.
func (*APIResourceImport) IsConditionTrue ¶
func (apiResourceImport *APIResourceImport) IsConditionTrue(conditionType APIResourceImportConditionType) bool
IsConditionTrue indicates if the condition is present and strictly true.
func (*APIResourceImport) RemoveCondition ¶
func (apiResourceImport *APIResourceImport) RemoveCondition(conditionType APIResourceImportConditionType)
RemoveCondition removes the status condition.
func (*APIResourceImport) SetCondition ¶
func (apiResourceImport *APIResourceImport) SetCondition(newCondition APIResourceImportCondition)
SetCondition sets the status condition. It either overwrites the existing one or creates a new one.
type APIResourceImportCondition ¶
type APIResourceImportCondition struct { // Type is the type of the condition. Types include Compatible. Type APIResourceImportConditionType `json:"type"` // Status is the status of the condition. // Can be True, False, Unknown. Status metav1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Unique, one-word, CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human-readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
APIResourceImportCondition contains details for the current condition of this negotiated api resource.
func (*APIResourceImportCondition) DeepCopy ¶
func (in *APIResourceImportCondition) DeepCopy() *APIResourceImportCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceImportCondition.
func (*APIResourceImportCondition) DeepCopyInto ¶
func (in *APIResourceImportCondition) DeepCopyInto(out *APIResourceImportCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIResourceImportConditionType ¶
type APIResourceImportConditionType string
APIResourceImportConditionType is a valid value for APIResourceImportCondition.Type
const ( // Compatible means that this API Resource import is compatible with the current // Negotiated API Resource Compatible APIResourceImportConditionType = "Compatible" // Available means that this API Resource import is compatible with the current // Negotiated API Resource, which has been published as a CRD Available APIResourceImportConditionType = "Available" )
type APIResourceImportList ¶
type APIResourceImportList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []APIResourceImport `json:"items"` }
APIResourceImportList is a list of APIResourceImport resources
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*APIResourceImportList) DeepCopy ¶
func (in *APIResourceImportList) DeepCopy() *APIResourceImportList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceImportList.
func (*APIResourceImportList) DeepCopyInto ¶
func (in *APIResourceImportList) DeepCopyInto(out *APIResourceImportList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*APIResourceImportList) DeepCopyObject ¶
func (in *APIResourceImportList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type APIResourceImportSpec ¶
type APIResourceImportSpec struct { CommonAPIResourceSpec `json:",inline"` // SchemaUpdateStrategy defines the schema update strategy for this API Resource import. // Default value is UpdateUnpublished // // +optional SchemaUpdateStrategy SchemaUpdateStrategyType `json:"schemaUpdateStrategy,omitempty"` // Locaton the API resource is imported from // This field is required Location string `json:"location"` }
APIResourceImportSpec holds the desired state of the APIResourceImport (from the client).
func (*APIResourceImportSpec) DeepCopy ¶
func (in *APIResourceImportSpec) DeepCopy() *APIResourceImportSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceImportSpec.
func (*APIResourceImportSpec) DeepCopyInto ¶
func (in *APIResourceImportSpec) DeepCopyInto(out *APIResourceImportSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type APIResourceImportStatus ¶
type APIResourceImportStatus struct {
Conditions []APIResourceImportCondition `json:"conditions,omitempty"`
}
APIResourceImportStatus communicates the observed state of the APIResourceImport (from the controller).
func (*APIResourceImportStatus) DeepCopy ¶
func (in *APIResourceImportStatus) DeepCopy() *APIResourceImportStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new APIResourceImportStatus.
func (*APIResourceImportStatus) DeepCopyInto ¶
func (in *APIResourceImportStatus) DeepCopyInto(out *APIResourceImportStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ColumnDefinition ¶
type ColumnDefinition struct { metav1.TableColumnDefinition `json:",inline"` JSONPath *string `json:"jsonPath"` }
func (*ColumnDefinition) DeepCopy ¶
func (in *ColumnDefinition) DeepCopy() *ColumnDefinition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColumnDefinition.
func (*ColumnDefinition) DeepCopyInto ¶
func (in *ColumnDefinition) DeepCopyInto(out *ColumnDefinition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ColumnDefinitions ¶
type ColumnDefinitions []ColumnDefinition
func (ColumnDefinitions) DeepCopy ¶
func (in ColumnDefinitions) DeepCopy() ColumnDefinitions
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ColumnDefinitions.
func (ColumnDefinitions) DeepCopyInto ¶
func (in ColumnDefinitions) DeepCopyInto(out *ColumnDefinitions)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ColumnDefinitions) ImportFromCRDVersion ¶
func (cd *ColumnDefinitions) ImportFromCRDVersion(crdVersion *apiextensionsv1.CustomResourceDefinitionVersion) *ColumnDefinitions
func (*ColumnDefinitions) ToCustomResourceColumnDefinitions ¶
func (cds *ColumnDefinitions) ToCustomResourceColumnDefinitions() []apiextensionsv1.CustomResourceColumnDefinition
type CommonAPIResourceSpec ¶
type CommonAPIResourceSpec struct { GroupVersion GroupVersion `json:"groupVersion"` Scope apiextensionsv1.ResourceScope `json:"scope"` apiextensionsv1.CustomResourceDefinitionNames `json:",inline"` // +required // +kubebuilder:pruning:PreserveUnknownFields // +structType=atomic OpenAPIV3Schema runtime.RawExtension `json:"openAPIV3Schema"` // +patchMergeKey=name // +patchStrategy=merge // +optional SubResources SubResources `json:"subResources,omitempty" patchStrategy:"merge" patchMergeKey:"name"` // +patchMergeKey=name // +patchStrategy=merge // +optional ColumnDefinitions ColumnDefinitions `json:"columnDefinitions,omitempty" patchStrategy:"merge" patchMergeKey:"name"` }
CommonAPIResourceSpec holds the common content of both NegotiatedAPIResourceSpec and APIResourceImportSpec.
func (*CommonAPIResourceSpec) DeepCopy ¶
func (in *CommonAPIResourceSpec) DeepCopy() *CommonAPIResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new CommonAPIResourceSpec.
func (*CommonAPIResourceSpec) DeepCopyInto ¶
func (in *CommonAPIResourceSpec) DeepCopyInto(out *CommonAPIResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*CommonAPIResourceSpec) GetSchema ¶
func (spec *CommonAPIResourceSpec) GetSchema() (*apiextensionsv1.JSONSchemaProps, error)
func (*CommonAPIResourceSpec) SetSchema ¶
func (spec *CommonAPIResourceSpec) SetSchema(s *apiextensionsv1.JSONSchemaProps) error
type GroupVersion ¶
type GroupVersion struct { // +optional Group string `json:"group,omitempty"` Version string `json:"version"` }
func (GroupVersion) APIGroup ¶
func (v GroupVersion) APIGroup() string
func (GroupVersion) APIVersion ¶
func (v GroupVersion) APIVersion() string
func (*GroupVersion) DeepCopy ¶
func (in *GroupVersion) DeepCopy() *GroupVersion
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new GroupVersion.
func (*GroupVersion) DeepCopyInto ¶
func (in *GroupVersion) DeepCopyInto(out *GroupVersion)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NegotiatedAPIResource ¶
type NegotiatedAPIResource struct { metav1.TypeMeta `json:",inline"` // +optional metav1.ObjectMeta `json:"metadata,omitempty"` // +optional Spec NegotiatedAPIResourceSpec `json:"spec,omitempty"` // +optional Status NegotiatedAPIResourceStatus `json:"status,omitempty"` }
NegotiatedAPIResource describes the result of either the normalization of any number of imports of an API resource from external clusters (either physical or logical), or the the manual application of a CRD version for the corresponding GVR.
+crd +genclient +genclient:nonNamespaced +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object +kubebuilder:subresource:status +kubebuilder:resource:scope=Cluster,categories=kcp +kubebuilder:printcolumn:name="Publish",type="boolean",JSONPath=`.spec.publish`,priority=1 +kubebuilder:printcolumn:name="API Version",type="string",JSONPath=`.metadata.annotations.apiresource\.kcp\.dev/apiVersion`,priority=3 +kubebuilder:printcolumn:name="API Resource",type="string",JSONPath=`.spec.plural`,priority=4 +kubebuilder:printcolumn:name="Published",type="string",JSONPath=`.status.conditions[?(@.type=="Published")].status`,priority=5 +kubebuilder:printcolumn:name="Enforced",type="string",JSONPath=`.status.conditions[?(@.type=="Enforced")].status`,priority=6
func (*NegotiatedAPIResource) DeepCopy ¶
func (in *NegotiatedAPIResource) DeepCopy() *NegotiatedAPIResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegotiatedAPIResource.
func (*NegotiatedAPIResource) DeepCopyInto ¶
func (in *NegotiatedAPIResource) DeepCopyInto(out *NegotiatedAPIResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NegotiatedAPIResource) DeepCopyObject ¶
func (in *NegotiatedAPIResource) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (*NegotiatedAPIResource) FindCondition ¶
func (negotiatedApiResource *NegotiatedAPIResource) FindCondition(conditionType NegotiatedAPIResourceConditionType) *NegotiatedAPIResourceCondition
FindCondition returns the condition you're looking for or nil.
func (*NegotiatedAPIResource) GVR ¶
func (negotiatedApiResource *NegotiatedAPIResource) GVR() metav1.GroupVersionResource
GVR returns the GVR that this NegotiatedAPIResource represents.
func (*NegotiatedAPIResource) IsConditionFalse ¶
func (negotiatedApiResource *NegotiatedAPIResource) IsConditionFalse(conditionType NegotiatedAPIResourceConditionType) bool
IsConditionFalse indicates if the condition is present and false.
func (*NegotiatedAPIResource) IsConditionPresentAndEqual ¶
func (negotiatedApiResource *NegotiatedAPIResource) IsConditionPresentAndEqual(conditionType NegotiatedAPIResourceConditionType, status metav1.ConditionStatus) bool
IsConditionPresentAndEqual indicates if the condition is present and equal to the given status.
func (*NegotiatedAPIResource) IsConditionTrue ¶
func (negotiatedApiResource *NegotiatedAPIResource) IsConditionTrue(conditionType NegotiatedAPIResourceConditionType) bool
IsConditionTrue indicates if the condition is present and strictly true.
func (*NegotiatedAPIResource) RemoveCondition ¶
func (negotiatedApiResource *NegotiatedAPIResource) RemoveCondition(conditionType NegotiatedAPIResourceConditionType)
RemoveCondition removes the status condition.
func (*NegotiatedAPIResource) SetCondition ¶
func (negotiatedApiResource *NegotiatedAPIResource) SetCondition(newCondition NegotiatedAPIResourceCondition)
SetCondition sets the status condition. It either overwrites the existing one or creates a new one.
type NegotiatedAPIResourceCondition ¶
type NegotiatedAPIResourceCondition struct { // Type is the type of the condition. Types include Submitted, Published, Refused and Enforced. Type NegotiatedAPIResourceConditionType `json:"type"` // Status is the status of the condition. // Can be True, False, Unknown. Status metav1.ConditionStatus `json:"status"` // Last time the condition transitioned from one status to another. // +optional LastTransitionTime metav1.Time `json:"lastTransitionTime,omitempty"` // Unique, one-word, CamelCase reason for the condition's last transition. // +optional Reason string `json:"reason,omitempty"` // Human-readable message indicating details about last transition. // +optional Message string `json:"message,omitempty"` }
NegotiatedAPIResourceCondition contains details for the current condition of this negotiated api resource.
func (*NegotiatedAPIResourceCondition) DeepCopy ¶
func (in *NegotiatedAPIResourceCondition) DeepCopy() *NegotiatedAPIResourceCondition
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegotiatedAPIResourceCondition.
func (*NegotiatedAPIResourceCondition) DeepCopyInto ¶
func (in *NegotiatedAPIResourceCondition) DeepCopyInto(out *NegotiatedAPIResourceCondition)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NegotiatedAPIResourceConditionType ¶
type NegotiatedAPIResourceConditionType string
NegotiatedAPIResourceConditionType is a valid value for NegotiatedAPIResourceCondition.Type
const ( // Submitted means that this negotiated API Resource has been submitted // to the logical cluster as an applied CRD Submitted NegotiatedAPIResourceConditionType = "Submitted" // Published means that this negotiated API Resource has been published // to the logical cluster as an installed and accepted CRD // If the API Resource has been submitted // to the logical cluster as an applied CRD, but the CRD could not be published // correctly due to various reasons (non-structural schema, non-accepted names, ...) // then the Published condition will be false Published NegotiatedAPIResourceConditionType = "Published" // Enforced means that a CRD version for the same GVR has been manually applied, // so that the current schema of the negotiated api resource has been forcbly // replaced by the schema of the manually-applied CRD. // In such a condition, changes in `APIResourceImport`s would not, by any mean, // impact the negotiated schema: no LCD will be used, and the schema comparison will only // serve to known whether the schema of an API Resource import would be compatible with the // enforced CRD schema, and flag the API Resource import (and possibly the corresponding cluster location) // accordingly. Enforced NegotiatedAPIResourceConditionType = "Enforced" )
type NegotiatedAPIResourceList ¶
type NegotiatedAPIResourceList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata"` Items []NegotiatedAPIResource `json:"items"` }
NegotiatedAPIResourceList is a list of NegotiatedAPIResource resources
+k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
func (*NegotiatedAPIResourceList) DeepCopy ¶
func (in *NegotiatedAPIResourceList) DeepCopy() *NegotiatedAPIResourceList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegotiatedAPIResourceList.
func (*NegotiatedAPIResourceList) DeepCopyInto ¶
func (in *NegotiatedAPIResourceList) DeepCopyInto(out *NegotiatedAPIResourceList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*NegotiatedAPIResourceList) DeepCopyObject ¶
func (in *NegotiatedAPIResourceList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type NegotiatedAPIResourceSpec ¶
type NegotiatedAPIResourceSpec struct { CommonAPIResourceSpec `json:",inline"` Publish bool `json:"publish,omitempty"` }
NegotiatedAPIResourceSpec holds the desired state of the NegotiatedAPIResource (from the client).
func (*NegotiatedAPIResourceSpec) DeepCopy ¶
func (in *NegotiatedAPIResourceSpec) DeepCopy() *NegotiatedAPIResourceSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegotiatedAPIResourceSpec.
func (*NegotiatedAPIResourceSpec) DeepCopyInto ¶
func (in *NegotiatedAPIResourceSpec) DeepCopyInto(out *NegotiatedAPIResourceSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type NegotiatedAPIResourceStatus ¶
type NegotiatedAPIResourceStatus struct {
Conditions []NegotiatedAPIResourceCondition `json:"conditions,omitempty"`
}
NegotiatedAPIResourceStatus communicates the observed state of the NegotiatedAPIResource (from the controller).
func (*NegotiatedAPIResourceStatus) DeepCopy ¶
func (in *NegotiatedAPIResourceStatus) DeepCopy() *NegotiatedAPIResourceStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new NegotiatedAPIResourceStatus.
func (*NegotiatedAPIResourceStatus) DeepCopyInto ¶
func (in *NegotiatedAPIResourceStatus) DeepCopyInto(out *NegotiatedAPIResourceStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SchemaUpdateStrategyType ¶
type SchemaUpdateStrategyType string
SchemaUpdateStrategy defines the strategy for updating the correspondoing negotiated API resource based on the schema of this API Resource Import
const ( // UpdateNever means that the corresponding negotiated API Resource will never be modified // to take in account the schema of the API resource import. // No LCD will be used, and the schema comparison will only // serve to known whether the schema of an API Resource import would be compatible with the // enforced CRD schema, and flag the API Resource import (and possibly the corresponding cluster location) // accordingly. UpdateNever SchemaUpdateStrategyType = "UpdateNever" // UpdateUnpublished means that the corresponding negotiated API Resource will be modified // to take in account the schema of the API resource import, but only for unpublished // negotiated API resources. // The modifications to the negotiated API resource will be based (if possible) on a LCD schema between // the schema of the resource import and the schema of the already-existing negotiated API resource. // Of course this is not valid if the negotiated API resource has been "enforced" by applying a CRD for // the same GVR manually UpdateUnpublished SchemaUpdateStrategyType = "UpdateUnpublished" // UpdateUnpublished means that the corresponding negotiated API Resource will be modified // to take in account the schema of the API resource import, even if the already-existing // negotiated API resource has already been published (as a CRD). // The modifications to the negotiated API resource will be based (if possible) on a LCD schema between // the schema of the resource import and the schema of the already-existing negotiated API resource. // Of course this is not valid if the negotiated API resource has been "enforced" by applying a CRD for // the same GVR manually UpdatePublished SchemaUpdateStrategyType = "UpdatePublished" )
func (SchemaUpdateStrategyType) CanUpdate ¶
func (strategy SchemaUpdateStrategyType) CanUpdate(negotiatedAPIResourceIsPublished bool) bool
type SubResource ¶
type SubResource struct {
Name string `json:"name"`
}
func (*SubResource) DeepCopy ¶
func (in *SubResource) DeepCopy() *SubResource
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubResource.
func (*SubResource) DeepCopyInto ¶
func (in *SubResource) DeepCopyInto(out *SubResource)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type SubResources ¶
type SubResources []SubResource
func (*SubResources) Contains ¶
func (sr *SubResources) Contains(name string) bool
func (SubResources) DeepCopy ¶
func (in SubResources) DeepCopy() SubResources
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new SubResources.
func (SubResources) DeepCopyInto ¶
func (in SubResources) DeepCopyInto(out *SubResources)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*SubResources) ImportFromCRDVersion ¶
func (sr *SubResources) ImportFromCRDVersion(crdVersion *apiextensionsv1.CustomResourceDefinitionVersion) *SubResources