Documentation ¶
Overview ¶
+k8s:openapi-gen=true +k8s:deepcopy-gen=package,register +k8s:conversion-gen=github.com/kubernetes-sigs/federation-v2/pkg/apis/multiclusterdns +k8s:defaulter-gen=TypeMeta +groupName=multiclusterdns.federation.k8s.io
Copyright 2018 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.
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder = runtime.NewSchemeBuilder(addKnownTypes) AddToScheme = SchemeBuilder.AddToScheme )
var ( // Define CRDs for resources MultiClusterServiceDNSRecordCRD = v1beta1.CustomResourceDefinition{ ObjectMeta: metav1.ObjectMeta{ Name: "multiclusterservicednsrecords.multiclusterdns.federation.k8s.io", }, Spec: v1beta1.CustomResourceDefinitionSpec{ Group: "multiclusterdns.federation.k8s.io", Version: "v1alpha1", Names: v1beta1.CustomResourceDefinitionNames{ Kind: "MultiClusterServiceDNSRecord", Plural: "multiclusterservicednsrecords", }, Scope: "Namespaced", Validation: &v1beta1.CustomResourceValidation{ OpenAPIV3Schema: &v1beta1.JSONSchemaProps{ Properties: map[string]v1beta1.JSONSchemaProps{ "apiVersion": v1beta1.JSONSchemaProps{ Type: "string", }, "kind": v1beta1.JSONSchemaProps{ Type: "string", }, "metadata": v1beta1.JSONSchemaProps{ Type: "object", }, "spec": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "dnsSuffix": v1beta1.JSONSchemaProps{ Type: "string", }, "federationName": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, "status": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "dns": v1beta1.JSONSchemaProps{ Type: "array", Items: &v1beta1.JSONSchemaPropsOrArray{ Schema: &v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{ "cluster": v1beta1.JSONSchemaProps{ Type: "string", }, "loadBalancer": v1beta1.JSONSchemaProps{ Type: "object", Properties: map[string]v1beta1.JSONSchemaProps{}, }, "region": v1beta1.JSONSchemaProps{ Type: "string", }, "zone": v1beta1.JSONSchemaProps{ Type: "string", }, }, }, }, }, }, }, }, }, }, Subresources: &v1beta1.CustomResourceSubresources{ Status: &v1beta1.CustomResourceSubresourceStatus{}, }, }, } )
var SchemeGroupVersion = schema.GroupVersion{Group: "multiclusterdns.federation.k8s.io", Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ClusterDNS ¶
type ClusterDNS struct { // Cluster name Cluster string `json:"cluster,omitempty"` // LoadBalancer for the corresponding service LoadBalancer corev1.LoadBalancerStatus `json:"loadBalancer,omitempty"` // Zone to which the cluster belongs Zone string `json:"zone,omitempty"` // Region to which the cluster belongs Region string `json:"region,omitempty"` }
ClusterDNS defines the observed status of LoadBalancer within a cluster.
func (*ClusterDNS) DeepCopy ¶
func (in *ClusterDNS) DeepCopy() *ClusterDNS
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ClusterDNS.
func (*ClusterDNS) DeepCopyInto ¶
func (in *ClusterDNS) DeepCopyInto(out *ClusterDNS)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiClusterServiceDNSRecord ¶
type MultiClusterServiceDNSRecord struct { metav1.TypeMeta `json:",inline"` metav1.ObjectMeta `json:"metadata,omitempty"` Spec MultiClusterServiceDNSRecordSpec `json:"spec,omitempty"` Status MultiClusterServiceDNSRecordStatus `json:"status,omitempty"` }
MultiClusterServiceDNSRecord +k8s:openapi-gen=true +kubebuilder:resource:path=multiclusterservicednsrecords +kubebuilder:subresource:status
func (*MultiClusterServiceDNSRecord) DeepCopy ¶
func (in *MultiClusterServiceDNSRecord) DeepCopy() *MultiClusterServiceDNSRecord
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceDNSRecord.
func (*MultiClusterServiceDNSRecord) DeepCopyInto ¶
func (in *MultiClusterServiceDNSRecord) DeepCopyInto(out *MultiClusterServiceDNSRecord)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MultiClusterServiceDNSRecord) DeepCopyObject ¶
func (in *MultiClusterServiceDNSRecord) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MultiClusterServiceDNSRecordList ¶
type MultiClusterServiceDNSRecordList struct { metav1.TypeMeta `json:",inline"` metav1.ListMeta `json:"metadata,omitempty"` Items []MultiClusterServiceDNSRecord `json:"items"` }
func (*MultiClusterServiceDNSRecordList) DeepCopy ¶
func (in *MultiClusterServiceDNSRecordList) DeepCopy() *MultiClusterServiceDNSRecordList
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceDNSRecordList.
func (*MultiClusterServiceDNSRecordList) DeepCopyInto ¶
func (in *MultiClusterServiceDNSRecordList) DeepCopyInto(out *MultiClusterServiceDNSRecordList)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*MultiClusterServiceDNSRecordList) DeepCopyObject ¶
func (in *MultiClusterServiceDNSRecordList) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type MultiClusterServiceDNSRecordSpec ¶
type MultiClusterServiceDNSRecordSpec struct { // FederationName is the name of the federation to which the corresponding federated service belongs FederationName string `json:"federationName,omitempty"` // DNSSuffix is the suffix (domain) to append to DNS names DNSSuffix string `json:"dnsSuffix,omitempty"` }
MultiClusterServiceDNSRecordSpec defines the desired state of MultiClusterServiceDNSRecord
func (*MultiClusterServiceDNSRecordSpec) DeepCopy ¶
func (in *MultiClusterServiceDNSRecordSpec) DeepCopy() *MultiClusterServiceDNSRecordSpec
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceDNSRecordSpec.
func (*MultiClusterServiceDNSRecordSpec) DeepCopyInto ¶
func (in *MultiClusterServiceDNSRecordSpec) DeepCopyInto(out *MultiClusterServiceDNSRecordSpec)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type MultiClusterServiceDNSRecordStatus ¶
type MultiClusterServiceDNSRecordStatus struct {
DNS []ClusterDNS `json:"dns,omitempty"`
}
MultiClusterServiceDNSRecordStatus defines the observed state of MultiClusterServiceDNSRecord
func (*MultiClusterServiceDNSRecordStatus) DeepCopy ¶
func (in *MultiClusterServiceDNSRecordStatus) DeepCopy() *MultiClusterServiceDNSRecordStatus
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new MultiClusterServiceDNSRecordStatus.
func (*MultiClusterServiceDNSRecordStatus) DeepCopyInto ¶
func (in *MultiClusterServiceDNSRecordStatus) DeepCopyInto(out *MultiClusterServiceDNSRecordStatus)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.