@@ -12,20 +12,25 @@ import (
1212
1313// ApplyChanges applies a given set of changes in a given zone.
1414func (d * StackitDNSProvider ) ApplyChanges (ctx context.Context , changes * plan.Changes ) error {
15+ zones , err := d .zoneFetcherClient .zones (ctx )
16+ if err != nil {
17+ return err
18+ }
19+
1520 // create rr set. POST /v1/projects/{projectId}/zones/{zoneId}/rrsets
16- err : = d .createRRSets (ctx , changes .Create )
21+ err = d .createRRSets (ctx , zones , changes .Create )
1722 if err != nil {
1823 return err
1924 }
2025
2126 // update rr set. PATCH /v1/projects/{projectId}/zones/{zoneId}/rrsets/{rrSetId}
22- err = d .updateRRSets (ctx , changes .UpdateNew )
27+ err = d .updateRRSets (ctx , zones , changes .UpdateNew )
2328 if err != nil {
2429 return err
2530 }
2631
2732 // delete rr set. DELETE /v1/projects/{projectId}/zones/{zoneId}/rrsets/{rrSetId}
28- err = d .deleteRRSets (ctx , changes .Delete )
33+ err = d .deleteRRSets (ctx , zones , changes .Delete )
2934 if err != nil {
3035 return err
3136 }
@@ -37,42 +42,35 @@ func (d *StackitDNSProvider) ApplyChanges(ctx context.Context, changes *plan.Cha
3742// creation field.
3843func (d * StackitDNSProvider ) createRRSets (
3944 ctx context.Context ,
45+ zones []stackitdnsclient.Zone ,
4046 endpoints []* endpoint.Endpoint ,
4147) error {
4248 if len (endpoints ) == 0 {
4349 return nil
4450 }
4551
46- zones , err := d .zoneFetcherClient .zones (ctx )
47- if err != nil {
48- return err
49- }
50-
5152 return d .handleRRSetWithWorkers (ctx , endpoints , zones , CREATE )
5253}
5354
5455// updateRRSets patches (overrides) contents in the record sets in the stackitprovider for the given
5556// endpoints that are in the update new field.
5657func (d * StackitDNSProvider ) updateRRSets (
5758 ctx context.Context ,
59+ zones []stackitdnsclient.Zone ,
5860 endpoints []* endpoint.Endpoint ,
5961) error {
6062 if len (endpoints ) == 0 {
6163 return nil
6264 }
6365
64- zones , err := d .zoneFetcherClient .zones (ctx )
65- if err != nil {
66- return err
67- }
68-
6966 return d .handleRRSetWithWorkers (ctx , endpoints , zones , UPDATE )
7067}
7168
7269// deleteRRSets deletes record sets in the stackitprovider for the given endpoints that are in the
7370// deletion field.
7471func (d * StackitDNSProvider ) deleteRRSets (
7572 ctx context.Context ,
73+ zones []stackitdnsclient.Zone ,
7674 endpoints []* endpoint.Endpoint ,
7775) error {
7876 if len (endpoints ) == 0 {
@@ -83,11 +81,6 @@ func (d *StackitDNSProvider) deleteRRSets(
8381
8482 d .logger .Info ("records to delete" , zap .String ("records" , fmt .Sprintf ("%v" , endpoints )))
8583
86- zones , err := d .zoneFetcherClient .zones (ctx )
87- if err != nil {
88- return err
89- }
90-
9184 return d .handleRRSetWithWorkers (ctx , endpoints , zones , DELETE )
9285}
9386
0 commit comments