-
Notifications
You must be signed in to change notification settings - Fork 67
/
utils.go
62 lines (51 loc) · 1.29 KB
/
utils.go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
// SPDX-FileCopyrightText: 2024 SAP SE or an SAP affiliate company and Gardener contributors
//
// SPDX-License-Identifier: Apache-2.0
package provider
import (
"fmt"
"reflect"
"github.com/gardener/controller-manager-library/pkg/resources"
api "github.com/gardener/external-dns-management/pkg/apis/dns/v1alpha1"
"github.com/gardener/external-dns-management/pkg/dns"
)
type NullMetrics struct{}
var _ Metrics = &NullMetrics{}
func (m *NullMetrics) AddGenericRequests(_ string, _ int) {
}
func (m *NullMetrics) AddZoneRequests(_, _ string, _ int) {
}
func copyZones(src map[dns.ZoneID]*dnsHostedZone) dnsHostedZones {
dst := dnsHostedZones{}
for k, v := range src {
dst[k] = v
}
return dst
}
func errorValue(format string, err error) string {
if err == nil {
return ""
}
return fmt.Sprintf(format, err.Error())
}
func filterZoneByProvider(zones []*dnsHostedZone, provider DNSProvider) *dnsHostedZone {
if provider != nil {
for _, zone := range zones {
if provider.IncludesZone(zone.Id()) {
return zone
}
}
}
return nil
}
func assureRateLimit(mod *resources.ModificationState, t **api.RateLimit, s *api.RateLimit) {
if s == nil && *t != nil {
*t = nil
mod.Modify(true)
} else if s != nil {
if *t == nil || !reflect.DeepEqual(**t, *s) {
*t = s
mod.Modify(true)
}
}
}