Initial v1.0.0 commit

This commit is contained in:
Jakub Vavřík
2021-01-28 17:37:47 +01:00
commit 1481d27782
4164 changed files with 1264675 additions and 0 deletions

View File

@@ -0,0 +1,25 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
//go:generate bash ../../../vendor/github.com/gardener/controller-manager-library/hack/generate-crds
//go:generate bash ../../../hack/generate-code
// +kubebuilder:skip
package dns
const (
GroupName = "dns.gardener.cloud"
)

View File

@@ -0,0 +1,81 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSAnnotationList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSAnnotation `json:"items"`
}
// +kubebuilder:storageversion
// +kubebuilder:object:root=true
// +kubebuilder:resource:scope=Namespaced,path=dnsannotations,shortName=dnsa,singular=dnsannotation
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name=RefGroup,JSONPath=".spec.resourceRef.apiVersion",type=string
// +kubebuilder:printcolumn:name=RefKind,JSONPath=".spec.resourceRef.kind",type=string
// +kubebuilder:printcolumn:name=RefName,JSONPath=".spec.resourceRef.name",type=string
// +kubebuilder:printcolumn:name=RefNamespace,JSONPath=".spec.resourceRef.namespace",type=string
// +kubebuilder:printcolumn:name=Active,JSONPath=".status.active",type=boolean
// +kubebuilder:printcolumn:name=Age,JSONPath=".metadata.creationTimestamp",type=date
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSAnnotation struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSAnnotationSpec `json:"spec"`
// +optional
Status DNSAnnotationStatus `json:"status,omitempty"`
}
type DNSAnnotationSpec struct {
ResourceRef ResourceReference `json:"resourceRef"`
Annotations map[string]string `json:"annotations"`
}
type ResourceReference struct {
// API Version of the annotated object
APIVersion string `json:"apiVersion"`
// Kind of the annotated object
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
Kind string `json:"kind"`
// Name of the annotated object
// +optional
Name string `json:"name,omitempty"`
// Namspace of the annotated object
// Defaulted by the namespace of the containing resource.
// +optional
Namespace string `json:"namespace,omitempty"`
}
type DNSAnnotationStatus struct {
// Indicates that annotation is observed by a DNS sorce controller
// +optional
Active bool `json:"active,omitempty"`
// In case of a configuration problem this field describes the reason
// +optional
Message string `json:"message,omitempty"`
}

View File

@@ -0,0 +1,108 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSEntryList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSEntry `json:"items"`
}
// +kubebuilder:storageversion
// +kubebuilder:object:root=true
// +kubebuilder:resource:scope=Namespaced,path=dnsentries,shortName=dnse,singular=dnsentry
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name=DNS,description="FQDN of DNS Entry",JSONPath=".spec.dnsName",type=string
// +kubebuilder:printcolumn:name=OWNERID,JSONPath=".spec.ownerId",type=string
// +kubebuilder:printcolumn:name=TYPE,JSONPath=".status.providerType",type=string
// +kubebuilder:printcolumn:name=PROVIDER,JSONPath=".status.provider",type=string
// +kubebuilder:printcolumn:name=STATUS,JSONPath=".status.state",type=string
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSEntry struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSEntrySpec `json:"spec"`
// +optional
Status DNSEntryStatus `json:"status,omitempty"`
}
type DNSEntrySpec struct {
// full qualified domain name
DNSName string `json:"dnsName"`
// reference to base entry used to inherit attributes from
// +optional
Reference *EntryReference `json:"reference,omitempty"`
// owner id used to tag entries in external DNS system
// +optional
OwnerId *string `json:"ownerId,omitempty"`
// time to live for records in external DNS system
// +optional
TTL *int64 `json:"ttl,omitempty"`
// lookup interval for CNAMEs that must be resolved to IP addresses
// +optional
CNameLookupInterval *int64 `json:"cnameLookupInterval,omitempty"`
// text records, either text or targets must be specified
// +optional
Text []string `json:"text,omitempty"`
// target records (CNAME or A records), either text or targets must be specified
// +optional
Targets []string `json:"targets,omitempty"`
}
type DNSEntryStatus struct {
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// entry state
// +optional
State string `json:"state"`
// message describing the reason for the state
// +optional
Message *string `json:"message,omitempty"`
// provider type used for the entry
// +optional
ProviderType *string `json:"providerType,omitempty"`
// assigned provider
// +optional
Provider *string `json:"provider,omitempty"`
// zone used for the entry
// +optional
Zone *string `json:"zone,omitempty"`
// time to live used for the entry
// +optional
TTL *int64 `json:"ttl,omitempty"`
// effective targets generated for the entry
// +optional
Targets []string `json:"targets,omitempty"`
}
type EntryReference struct {
// name of the referenced DNSEntry object
Name string `json:"name"`
// namespace of the referenced DNSEntry object
// +optional
Namespace string `json:"namespace,omitempty"`
}

View File

@@ -0,0 +1,73 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
import (
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSOwnerList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSOwner `json:"items"`
}
// +kubebuilder:storageversion
// +kubebuilder:object:root=true
// +kubebuilder:resource:scope=Cluster,path=dnsowners,shortName=dnso,singular=dnsowner
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name=OwnerId,JSONPath=".spec.ownerId",type=string
// +kubebuilder:printcolumn:name=Active,JSONPath=".spec.active",type=boolean
// +kubebuilder:printcolumn:name=Usages,JSONPath=".status.amount",type=string
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSOwner struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSOwnerSpec `json:"spec"`
// +optional
Status DNSOwnerStatus `json:"status,omitempty"`
}
type DNSOwnerSpec struct {
// owner id used to tag entries in external DNS system
OwnerId string `json:"ownerId"`
// state of the ownerid for the DNS controller observing entry using this owner id
// (default:true)
// +optional
Active *bool `json:"active,omitempty"`
}
type DNSOwnerStatus struct {
// Entry statistic for this owner id
// +optional
Entries DNSOwnerStatusEntries `json:"entries,omitempty"`
}
type DNSOwnerStatusEntries struct {
// number of entries using this owner id
// +optional
Amount int `json:"amount"`
// number of entries per provider type
// +optional
ByType map[string]int `json:"types,omitempty"`
}

View File

@@ -0,0 +1,105 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
import (
corev1 "k8s.io/api/core/v1"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
)
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSProviderList struct {
metav1.TypeMeta `json:",inline"`
// Standard list metadata
// More info: http://releases.k8s.io/HEAD/docs/devel/api-conventions.md#metadata
metav1.ListMeta `json:"metadata,omitempty"`
Items []DNSProvider `json:"items"`
}
// +kubebuilder:storageversion
// +kubebuilder:object:root=true
// +kubebuilder:resource:scope=Namespaced,path=dnsproviders,shortName=dnspr,singular=dnsprovider
// +kubebuilder:subresource:status
// +kubebuilder:printcolumn:name=TYPE,JSONPath=".spec.type",type=string
// +kubebuilder:printcolumn:name=STATUS,JSONPath=".status.state",type=string
// +genclient
// +k8s:deepcopy-gen:interfaces=k8s.io/apimachinery/pkg/runtime.Object
type DNSProvider struct {
metav1.TypeMeta `json:",inline"`
metav1.ObjectMeta `json:"metadata,omitempty"`
Spec DNSProviderSpec `json:"spec"`
// +optional
Status DNSProviderStatus `json:"status,omitempty"`
}
type DNSProviderSpec struct {
// type of the provider (selecting the responsible type of DNS controller)
Type string `json:"type,omitempty"`
// optional additional provider specific configuration values
// +kubebuilder:validation:XPreserveUnknownFields
// +kubebuilder:pruning:PreserveUnknownFields
// +optional
ProviderConfig *runtime.RawExtension `json:"providerConfig,omitempty"`
// access credential for the external DNS system of the given type
SecretRef *corev1.SecretReference `json:"secretRef,omitempty"`
// desired selection of usable domains
// (by default all zones and domains in those zones will be served)
// +optional
Domains *DNSSelection `json:"domains,omitempty"`
// desired selection of usable domains
// the domain selection is used for served zones, only
// (by default all zones will be served)
// +optional
Zones *DNSSelection `json:"zones,omitempty"`
}
type DNSSelection struct {
// values that should be observed (domains or zones)
// + optional
Include []string `json:"include,omitempty"`
// values that should be ignored (domains or zones)
// + optional
Exclude []string `json:"exclude,omitempty"`
}
type DNSProviderStatus struct {
// +optional
ObservedGeneration int64 `json:"observedGeneration,omitempty"`
// state of the provider
// +optional
State string `json:"state"`
// message describing the reason for the actual state of the provider
Message *string `json:"message,omitempty"`
// actually served domain selection
// +optional
Domains DNSSelectionStatus `json:"domains"`
// actually served zones
// +optional
Zones DNSSelectionStatus `json:"zones"`
}
type DNSSelectionStatus struct {
// included values (domains or zones)
// + optional
Included []string `json:"included,omitempty"`
// Excluded values (domains or zones)
// + optional
Excluded []string `json:"excluded,omitempty"`
}

View File

@@ -0,0 +1,21 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
// +k8s:deepcopy-gen=package,register
// Package v1alpha1 is the v1alpha1 version of the API.
// +groupName=dns.gardener.cloud
package v1alpha1

View File

@@ -0,0 +1,75 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
import (
"github.com/gardener/external-dns-management/pkg/apis/dns"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
"k8s.io/apimachinery/pkg/runtime"
"k8s.io/apimachinery/pkg/runtime/schema"
)
const (
Version = "v1alpha1"
GroupName = dns.GroupName
DNSOwnerKind = "DNSOwner"
DNSOwnerPlural = "dnsowners"
DNSProviderKind = "DNSProvider"
DNSProviderPlural = "dnsproviders"
DNSEntryKind = "DNSEntry"
DNSEntryPlural = "dnsentries"
DNSAnnotationKind = "DNSAnnotation"
DNSAnnotationPlural = "dnsannotations"
)
// SchemeGroupVersion is group version used to register these objects
var SchemeGroupVersion = schema.GroupVersion{Group: dns.GroupName, Version: Version}
// 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 resources and returns 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 Scheme.
func addKnownTypes(scheme *runtime.Scheme) error {
scheme.AddKnownTypes(SchemeGroupVersion,
&DNSOwner{},
&DNSOwnerList{},
&DNSProvider{},
&DNSProviderList{},
&DNSEntry{},
&DNSEntryList{},
&DNSAnnotation{},
&DNSAnnotationList{},
)
metav1.AddToGroupVersion(scheme, SchemeGroupVersion)
return nil
}

View File

@@ -0,0 +1,24 @@
/*
* Copyright 2019 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
*
* 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
*
*/
package v1alpha1
const STATE_PENDING = "Pending"
const STATE_ERROR = "Error"
const STATE_INVALID = "Invalid"
const STATE_STALE = "Stale"
const STATE_READY = "Ready"
const STATE_DELETING = "Deleting"

View File

@@ -0,0 +1,606 @@
// +build !ignore_autogenerated
/*
Copyright (c) 2020 SAP SE or an SAP affiliate company. All rights reserved. This file is licensed under the Apache Software License, v. 2 except as noted otherwise in the LICENSE file
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 v1alpha1
import (
v1 "k8s.io/api/core/v1"
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 *DNSAnnotation) DeepCopyInto(out *DNSAnnotation) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ObjectMeta.DeepCopyInto(&out.ObjectMeta)
in.Spec.DeepCopyInto(&out.Spec)
out.Status = in.Status
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSAnnotation.
func (in *DNSAnnotation) DeepCopy() *DNSAnnotation {
if in == nil {
return nil
}
out := new(DNSAnnotation)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSAnnotation) 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 *DNSAnnotationList) DeepCopyInto(out *DNSAnnotationList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]DNSAnnotation, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSAnnotationList.
func (in *DNSAnnotationList) DeepCopy() *DNSAnnotationList {
if in == nil {
return nil
}
out := new(DNSAnnotationList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSAnnotationList) 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 *DNSAnnotationSpec) DeepCopyInto(out *DNSAnnotationSpec) {
*out = *in
out.ResourceRef = in.ResourceRef
if in.Annotations != nil {
in, out := &in.Annotations, &out.Annotations
*out = make(map[string]string, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSAnnotationSpec.
func (in *DNSAnnotationSpec) DeepCopy() *DNSAnnotationSpec {
if in == nil {
return nil
}
out := new(DNSAnnotationSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSAnnotationStatus) DeepCopyInto(out *DNSAnnotationStatus) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSAnnotationStatus.
func (in *DNSAnnotationStatus) DeepCopy() *DNSAnnotationStatus {
if in == nil {
return nil
}
out := new(DNSAnnotationStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSEntry) DeepCopyInto(out *DNSEntry) {
*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 DNSEntry.
func (in *DNSEntry) DeepCopy() *DNSEntry {
if in == nil {
return nil
}
out := new(DNSEntry)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSEntry) 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 *DNSEntryList) DeepCopyInto(out *DNSEntryList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]DNSEntry, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntryList.
func (in *DNSEntryList) DeepCopy() *DNSEntryList {
if in == nil {
return nil
}
out := new(DNSEntryList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSEntryList) 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 *DNSEntrySpec) DeepCopyInto(out *DNSEntrySpec) {
*out = *in
if in.Reference != nil {
in, out := &in.Reference, &out.Reference
*out = new(EntryReference)
**out = **in
}
if in.OwnerId != nil {
in, out := &in.OwnerId, &out.OwnerId
*out = new(string)
**out = **in
}
if in.TTL != nil {
in, out := &in.TTL, &out.TTL
*out = new(int64)
**out = **in
}
if in.CNameLookupInterval != nil {
in, out := &in.CNameLookupInterval, &out.CNameLookupInterval
*out = new(int64)
**out = **in
}
if in.Text != nil {
in, out := &in.Text, &out.Text
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Targets != nil {
in, out := &in.Targets, &out.Targets
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntrySpec.
func (in *DNSEntrySpec) DeepCopy() *DNSEntrySpec {
if in == nil {
return nil
}
out := new(DNSEntrySpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSEntryStatus) DeepCopyInto(out *DNSEntryStatus) {
*out = *in
if in.Message != nil {
in, out := &in.Message, &out.Message
*out = new(string)
**out = **in
}
if in.ProviderType != nil {
in, out := &in.ProviderType, &out.ProviderType
*out = new(string)
**out = **in
}
if in.Provider != nil {
in, out := &in.Provider, &out.Provider
*out = new(string)
**out = **in
}
if in.Zone != nil {
in, out := &in.Zone, &out.Zone
*out = new(string)
**out = **in
}
if in.TTL != nil {
in, out := &in.TTL, &out.TTL
*out = new(int64)
**out = **in
}
if in.Targets != nil {
in, out := &in.Targets, &out.Targets
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSEntryStatus.
func (in *DNSEntryStatus) DeepCopy() *DNSEntryStatus {
if in == nil {
return nil
}
out := new(DNSEntryStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSOwner) DeepCopyInto(out *DNSOwner) {
*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 DNSOwner.
func (in *DNSOwner) DeepCopy() *DNSOwner {
if in == nil {
return nil
}
out := new(DNSOwner)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSOwner) 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 *DNSOwnerList) DeepCopyInto(out *DNSOwnerList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]DNSOwner, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOwnerList.
func (in *DNSOwnerList) DeepCopy() *DNSOwnerList {
if in == nil {
return nil
}
out := new(DNSOwnerList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSOwnerList) 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 *DNSOwnerSpec) DeepCopyInto(out *DNSOwnerSpec) {
*out = *in
if in.Active != nil {
in, out := &in.Active, &out.Active
*out = new(bool)
**out = **in
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOwnerSpec.
func (in *DNSOwnerSpec) DeepCopy() *DNSOwnerSpec {
if in == nil {
return nil
}
out := new(DNSOwnerSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSOwnerStatus) DeepCopyInto(out *DNSOwnerStatus) {
*out = *in
in.Entries.DeepCopyInto(&out.Entries)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOwnerStatus.
func (in *DNSOwnerStatus) DeepCopy() *DNSOwnerStatus {
if in == nil {
return nil
}
out := new(DNSOwnerStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSOwnerStatusEntries) DeepCopyInto(out *DNSOwnerStatusEntries) {
*out = *in
if in.ByType != nil {
in, out := &in.ByType, &out.ByType
*out = make(map[string]int, len(*in))
for key, val := range *in {
(*out)[key] = val
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSOwnerStatusEntries.
func (in *DNSOwnerStatusEntries) DeepCopy() *DNSOwnerStatusEntries {
if in == nil {
return nil
}
out := new(DNSOwnerStatusEntries)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSProvider) DeepCopyInto(out *DNSProvider) {
*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 DNSProvider.
func (in *DNSProvider) DeepCopy() *DNSProvider {
if in == nil {
return nil
}
out := new(DNSProvider)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSProvider) 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 *DNSProviderList) DeepCopyInto(out *DNSProviderList) {
*out = *in
out.TypeMeta = in.TypeMeta
in.ListMeta.DeepCopyInto(&out.ListMeta)
if in.Items != nil {
in, out := &in.Items, &out.Items
*out = make([]DNSProvider, len(*in))
for i := range *in {
(*in)[i].DeepCopyInto(&(*out)[i])
}
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderList.
func (in *DNSProviderList) DeepCopy() *DNSProviderList {
if in == nil {
return nil
}
out := new(DNSProviderList)
in.DeepCopyInto(out)
return out
}
// DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
func (in *DNSProviderList) 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 *DNSProviderSpec) DeepCopyInto(out *DNSProviderSpec) {
*out = *in
if in.ProviderConfig != nil {
in, out := &in.ProviderConfig, &out.ProviderConfig
*out = new(runtime.RawExtension)
(*in).DeepCopyInto(*out)
}
if in.SecretRef != nil {
in, out := &in.SecretRef, &out.SecretRef
*out = new(v1.SecretReference)
**out = **in
}
if in.Domains != nil {
in, out := &in.Domains, &out.Domains
*out = new(DNSSelection)
(*in).DeepCopyInto(*out)
}
if in.Zones != nil {
in, out := &in.Zones, &out.Zones
*out = new(DNSSelection)
(*in).DeepCopyInto(*out)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderSpec.
func (in *DNSProviderSpec) DeepCopy() *DNSProviderSpec {
if in == nil {
return nil
}
out := new(DNSProviderSpec)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSProviderStatus) DeepCopyInto(out *DNSProviderStatus) {
*out = *in
if in.Message != nil {
in, out := &in.Message, &out.Message
*out = new(string)
**out = **in
}
in.Domains.DeepCopyInto(&out.Domains)
in.Zones.DeepCopyInto(&out.Zones)
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSProviderStatus.
func (in *DNSProviderStatus) DeepCopy() *DNSProviderStatus {
if in == nil {
return nil
}
out := new(DNSProviderStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSSelection) DeepCopyInto(out *DNSSelection) {
*out = *in
if in.Include != nil {
in, out := &in.Include, &out.Include
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Exclude != nil {
in, out := &in.Exclude, &out.Exclude
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSelection.
func (in *DNSSelection) DeepCopy() *DNSSelection {
if in == nil {
return nil
}
out := new(DNSSelection)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *DNSSelectionStatus) DeepCopyInto(out *DNSSelectionStatus) {
*out = *in
if in.Included != nil {
in, out := &in.Included, &out.Included
*out = make([]string, len(*in))
copy(*out, *in)
}
if in.Excluded != nil {
in, out := &in.Excluded, &out.Excluded
*out = make([]string, len(*in))
copy(*out, *in)
}
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new DNSSelectionStatus.
func (in *DNSSelectionStatus) DeepCopy() *DNSSelectionStatus {
if in == nil {
return nil
}
out := new(DNSSelectionStatus)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *EntryReference) DeepCopyInto(out *EntryReference) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new EntryReference.
func (in *EntryReference) DeepCopy() *EntryReference {
if in == nil {
return nil
}
out := new(EntryReference)
in.DeepCopyInto(out)
return out
}
// DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (in *ResourceReference) DeepCopyInto(out *ResourceReference) {
*out = *in
return
}
// DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ResourceReference.
func (in *ResourceReference) DeepCopy() *ResourceReference {
if in == nil {
return nil
}
out := new(ResourceReference)
in.DeepCopyInto(out)
return out
}