diff --git a/provider/cloudflare/cloudflare.go b/provider/cloudflare/cloudflare.go index c32026b0a..d910226fc 100644 --- a/provider/cloudflare/cloudflare.go +++ b/provider/cloudflare/cloudflare.go @@ -210,7 +210,7 @@ func (p *CloudFlareProvider) ApplyChanges(ctx context.Context, changes *plan.Cha for i, desired := range changes.UpdateNew { current := changes.UpdateOld[i] - add, remove, leave := difference(current.Targets, desired.Targets) + add, remove, leave := provider.Difference(current.Targets, desired.Targets) for _, a := range add { cloudflareChanges = append(cloudflareChanges, p.newCloudFlareChange(cloudFlareCreate, desired, a)) diff --git a/provider/provider.go b/provider/provider.go index 29debdb5c..74f691164 100644 --- a/provider/provider.go +++ b/provider/provider.go @@ -53,7 +53,7 @@ func EnsureTrailingDot(hostname string) string { // Tells which entries need to be respectively // added, removed, or left untouched for "current" to be transformed to "desired" -func difference(current, desired []string) (add []string, remove []string, leave []string) { +func Difference(current, desired []string) (add []string, remove []string, leave []string) { index := make(map[string]struct{}, len(current)) for _, x := range current { index[x] = struct{}{} diff --git a/provider/provider_test.go b/provider/provider_test.go index e9f8deb9b..57d48e70e 100644 --- a/provider/provider_test.go +++ b/provider/provider_test.go @@ -50,7 +50,7 @@ func TestEnsureTrailingDot(t *testing.T) { func TestDifference(t *testing.T) { current := []string{"foo", "bar"} desired := []string{"bar", "baz"} - add, remove, leave := difference(current, desired) + add, remove, leave := Difference(current, desired) assert.Equal(t, add, []string{"baz"}) assert.Equal(t, remove, []string{"foo"}) assert.Equal(t, leave, []string{"bar"})